Diese Klasse beherbergt alle Inputs, Outputs und Mems als RevPiIO-Objekte, welche von der Klasse RevPiIOBase abgeleitet werden.
Klassen, die von RevPiDevice erben:
- Diese Klasse wird direkt verwendet für DIO / DI / DO Module.
- RevPiCore bildet das RevPi Core Modul ab.
- RevPiGateway bildet je ein Gateway Modul ab.
Alle hier genannten Attribute und Funktionen sind auch in den erbenden Klassen verfügbar.
class RevPiDevice(dict_device, **kwargs)
dict_deviceDevice Dictionary mit allen IO/mems aus der piCtory KonfigurationkwargsFolgende optionale Keyword-Parameter können übergeben werden:autoupdateDevicedaten werden aus Prozessabbild mit aktualisiert, wenn dies über RevPiDeviceList veranlasst wird.simulatorLäd das Modul als Simulator und vertauscht IOs
Alle Werte werden von der RevPiDeviceList-Klasse übergeben.
Folgende Attribute werden bereitgestellt:
autoupdate
Dieser Wert bestimmt, ob die Prozessabbildaktualisierung dieses Devices durch den zentralen Aufruf von readprocimg(), updateprocimg(), writeprocimg() oder syncoutputs() der Klasse RevPiDevicelist durchgeführt werden soll. Der Standardwert zur Instanziierung ist True.
length
Gibt die Bytelänge des Devices im Prozessabbild zurück
name
Gibt den Devicename aus piCtory zurück
position
Gibt die piCtory Position zurück
Folgende Funktionen werden bereitgestellt:
get_inps()
Gibt eine Liste aller Inputs auf diesem Device zurück
get_iobyabsaddress(address)
Gibt eine Liste zurück, die alle IO-Objekte an dem angegebenen Byte enthält. Dabei ist das nullte Byte, auch das nullte Byte im gesamten Prozessabbild!
WICHTIG: Siehe auch get_iobyaddress()!
addressByteadresse im Prozessabbild
get_iobyaddress(address)
Gibt eine Liste zurück, die alle IO-Objekte an dem angegebenen Byte enthält. Dabei ist das nullte Byte, auch das nullte Byte auf diesem Device!
WICHTIG: Die Liste kann leer sein, wenn an dem Byte kein IO liegt, z.B. ist sie auch leer, wenn sich ein IO über mehrere Bytes erstreckt und das angegebene Byte eine der überspannten Bytes ist. Sie kann genau ein Elemente enthalten, welches auch mehrere Bytes lang sein kann. Sie kann genau 8 Einträge enthalten, wenn auf dem Byte Bits definiert sind. Dabei sind definierte Bits ein RevPiIOBase-Objekt und nicht definierte Bits ein None()-Objekt!
addressByteadresse auf dem Device
get_iobyname(name)
Gibt das IO-Objekt mit angegebenen Namen zurück
nameName für das IO-Objekt
get_mems()
Gibt eine Liste aller Mems auf diesem Device zurück
get_outs()
Gibt eine Liste aller Outputs auf diesem Device zurück
reg_event(inp_name, func, **kwargs)
Registriert eine Funktion, die bei Änderung des angegebenen Inputs ausgelöst werden soll. Das Eventhandling findet nur statt, wenn das Programm sich im RevPiDevicelist.mainloop() befindet.
inp_nameName des Inputs als str(), der überwacht werden sollfuncFunktion, die ausgelöst wird, wenn sich der Intputwert ändertkwargsFolgende optionale Keyword-Parameter können übergeben werden:as_threadFührt die Funktion als RevPiCallback-Thread ausedgeAusführen bei RISING, FALLING oder BOTH Wertänderung (nur für BIT Inputs)
unreg_event(inp_name, [func, edge])
Entfernt den Input aus dem Eventhandling und ruft dessen Funktion bei Datenänderung nicht mehr auf
inp_nameName des Inputs als str(), dessen Überwachung deaktiviert werden soll.funcNur Events mit angegebener Funktion löschenedgeNur Events mit angegebener Funktion und angegebener Edge löschen
