Objekt .device

Diese Klasse bietet direkten Zugriff auf die Devices des Revolution Pi.

revpimodio2.device.DeviceList()
Klassenobjekte

Diese Klasse bietet alle Devices als Attribute an. Die Namen der Attribute werden aus der piCtory Konfiguration entnommen.

Wird in piCtory ein Device mit dem Namen „dio01“ konfiguriert, kann mit Python folgendermaßen auf dessen Attribute und Funktionen zugegriffen werden:
.device.dio01.autorefresh()

Hinweis 1: Für die Namensvergabe in piCtory müssen die Pythonregeln für Namensvergaben eingehalten werden (keine Leerstellen!). Sollte dies nicht möglich sein, ist ein Zugriff nur über Stringangaben (.device["§chlecht'r Name"].autorefresh()) oder dessen Positionsnummer (.device[33].autorefresh())möglich.

Hinweis 2: Da bei der Hardwarekonfiguration in piCtory Devices des selben Typen, auch den selben Namen bekommen, empfehlen wir DRINGEND auf eindeutige Namensvergaben zu achten. Bei Doppelten Namen ist ein Zugriff nur über die Positionsnummer (.device[33].autorefresh())möglich.


Alle Attributobjekte haben generell folgende Eigenschaften:

Klassenattribute

  • .bmk
    Gibt den Text als <class ’str‘> aus Feld „BMK“ des „Value Editors“ in piCtory zurück.

  • .comment
    Gibt den Text als <class ’str‘> aus Feld „Comment“ des „Value Editors“ in piCtory zurück.

  • .length
    Gibt Anzahl der Bytes zurück, die dieses Device belegt.

  • .name
    Gibt den Namen des Devices zurück – Entspricht Namen in piCtory.

  • .offset
    Gibt den Deviceoffset im Prozessabbild zurück.

  • .positon
    Gibt die Positonsnummer vom Device im RevPi Bus zurück.

Weitere interne piCtory Werte
  • .catalogNr
    Gibt die Kunbus Produktname des Device zurück, z.B. „RevPiDO“

  • .id
    Gibt den Namen der .rap Datei zurück, die bei piCtory Konfiguration für dieses Device verwendet wurde.

  • .producttype
    Gibt die Produktnummer des Devices zurück.

  • .type
    Gibt den Device Typen zurück, z.B. „LEFT_RIGHT“

Klassenfunktionen

.autorefresh(activate=True)

Wird für ein Device .autorefresh() aufgerufen, wird es in die zyklische AutoRefresh Routine hinzugefügt. Dadurch werden alle IOs automatisch mit dem Prozessabbild synchronisiert.
Es wird empfohlen schon das RevPiModIO Modul mit autorefresh=True zu instantiieren – Alle Devices werden dann beim Start in das AutoRefresh hinzugefügt.

  • activate
    Wird dieser Parameter mit False belegt, wird das Device aus dem AutoRefresh entfernt.
.get_allios()

Gibt eine Liste vom Typen <class ‚list‘> mit allen Ein- und Ausgängen zurück, die sich auf diesem Device befinden. Diese Liste enthält KEINE Memories.


.get_inputs()

Gibt eine Liste vom Typen <class ‚list‘> mit allen Eingängen zurück, die sich auf diesem Device befinden.


.get_memories()

Gibt eine Liste vom Typen <class ‚list‘> mit allen Memories zurück, die sich auf diesem Device befinden.


.get_outputs()

Gibt eine Liste vom Typen <class ‚list‘> mit allen Ausgängen zurück, die sich auf diesem Device befinden.


RevPiModIO Hauptfunktion für einzelne Devices (nur wenn zwingend nötig ist verwenden!)

.readprocimg()

Einlesen aller Inputs, die sich auf diesem Device befinden, vom Prozessabbild.

Hinweis: Nicht möglich, wenn Device im AutoRefresh ist.

  • Rückgabewert ist True, wenn Arbeiten erfolgreich waren.

.setdefaultvalues()

Alle Outputs, die sich auf diesem Device befinden, werden auf die piCtory default Werte gesetzt.

Hinweis: Sollte autorefresh nicht aktiv sein, müssen alle Outputwerte über .writeprocimg() in das Prozessabbild geschrieben werden.


.syncoutputs()

Einlesen aller aktuellen Outputwerte, die sich auf diesem Device befinden, aus dem Prozessabbild. Kann für Erstsynchronisierung genutzt werden, sollte bei Instantiierung syncoutputs=False gewesen sein.

Hinweis: Nicht möglich, wenn Device im AutoRefresh ist.

  • Rückgabewert ist True, wenn Arbeiten erfolgreich waren.

.writeprocimg()

Schreiben aller Outputwerte, die sich auf diesem Device befinden, in das Prozessabbild.

Hinweis: Nicht möglich, wenn Device im AutoRefresh ist.

  • Rückgabewert ist True, wenn Arbeiten erfolgreich waren.