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.
.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 instanziieren – Alle Devices werden dann beim Start in das AutoRefresh hinzugefügt.
activate
Wird dieser Parameter mitFalse
belegt, wird das Device aus dem AutoRefresh entfernt.
.get_allios([export=None])
Gibt eine Liste vom Typ <class ‚list‘> mit allen Ein- und Ausgängen zurück, die sich auf diesem Device befinden. Diese Liste enthält KEINE Memories.
export=None
Wird Parameter ‚export‘ nicht angegeben, werden alle Inputs und Outputs
zurückgegeben. Wird ‚export‘ auf True/False gesetzt, werden nur Inputs
und Outputs zurückgegeben, bei denen der Wert ‚Export‘ in piCtory
übereinstimmt.
.get_inputs([export=None])
Gibt eine Liste vom Typ <class ‚list‘> mit allen Eingängen zurück, die sich auf diesem Device befinden.
export=None
Wird Parameter ‚export‘ nicht angegeben, werden alle Inputs zurückgegeben. Wird ‚export‘ auf True/False gesetzt, werden nur Inputs zurückgegeben, bei denen der Wert ‚Export‘ in piCtory
übereinstimmt.
.get_memories([export=None])
Gibt eine Liste vom Typ <class ‚list‘> mit allen Memories zurück, die sich auf diesem Device befinden.
export=None
Wird Parameter ‚export‘ nicht angegeben, werden alle Memories zurückgegeben. Wird ‚export‘ auf True/False gesetzt, werden nur Memories
zurückgegeben, bei denen der Wert ‚Export‘ in piCtory
übereinstimmt.
.get_outputs([export=None])
Gibt eine Liste vom Typ <class ‚list‘> mit allen Ausgängen zurück, die sich auf diesem Device befinden.
export=None
Wird Parameter ‚export‘ nicht angegeben, werden alle Outputs
zurückgegeben. Wird ‚export‘ auf True/False gesetzt, werden nur Outputs zurückgegeben, bei denen der Wert ‚Export‘ in piCtory
übereinstimmt.
Einlesen aller Inputs, die sich auf diesem Device befinden, vom Prozessabbild. Hinweis: Nicht möglich, wenn Device im AutoRefresh ist. 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. Einlesen aller aktuellen Outputwerte, die sich auf diesem Device befinden, aus dem Prozessabbild. Kann für Erstsynchronisierung genutzt werden, sollte bei Instanziierung syncoutputs=False gewesen sein. Hinweis: Nicht möglich, wenn Device im AutoRefresh ist. Schreiben aller Outputwerte, die sich auf diesem Device befinden, in das Prozessabbild. Hinweis: Nicht möglich, wenn Device im AutoRefresh ist.
.readprocimg()
.setdefaultvalues()
.syncoutputs()
.writeprocimg()