RevPiDevice

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_device
    dict_device
    Device Dictionary mit allen IO/mems aus der piCtory Konfiguration
  • kwargs
    kwargs
    Folgende optionale Keyword-Parameter können übergeben werden:
    • autoupdate
      autoupdate
      Devicedaten werden aus Prozessabbild mit aktualisiert, wenn dies über RevPiDeviceList veranlasst wird.
    • simulator
      simulator
      Läd das Modul als Simulator und vertauscht IOs

Alle Werte werden von der RevPiDeviceList-Klasse übergeben.

Folgende Attribute werden bereitgestellt:

autoupdate
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
length

Gibt die Bytelänge des Devices im Prozessabbild zurück


name
name

Gibt den Devicename aus piCtory zurück


position
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()
get_iobyaddress()!

  • address
    address
    Byteadresse 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!

  • address
    address
    Byteadresse auf dem Device

get_iobyname(name)

Gibt das IO-Objekt mit angegebenen Namen zurück

  • name
    name
    Name 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_name
    inp_name
    Name des Inputs als str(), der überwacht werden soll
  • func
    func
    Funktion, die ausgelöst wird, wenn sich der Intputwert ändert
  • kwargs
    kwargs
    Folgende optionale Keyword-Parameter können übergeben werden:
    • as_thread
      as_thread
      Führt die Funktion als RevPiCallback-Thread aus
    • edge
      edge
      Ausfü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_name
    inp_name
    Name des Inputs als str(), dessen Überwachung deaktiviert werden soll.
  • func
    func
    Nur Events mit angegebener Funktion löschen
  • edge
    edge
    Nur Events mit angegebener Funktion und angegebener Edge löschen