revpimodio2.device

Modul fuer die Verwaltung der Devices.

Global Attributes

__author__
__copyright__
__license__

Classes

Base Klasse fuer alle Base-Devices wie Core / Connect usw.
Connect Klasse fuer den RevPi Connect.
Core Klasse fuer den RevPi Core.
Device Basisklasse fuer alle Device-Objekte.
DeviceList Basisklasse fuer direkten Zugriff auf Device Objekte.
DioModule Stellt ein DIO / DI / DO Modul dar.
Gateway Klasse fuer die RevPi Gateway-Devices.
Virtual Klasse fuer die RevPi Virtual-Devices.

Functions

None


Base

Klasse fuer alle Base-Devices wie Core / Connect usw.

Derived from

Device

Class Attributes

__slots__

Class Methods

None

Methods

None

Static Methods

None
Up


Connect

Klasse fuer den RevPi Connect.

Stellt Funktionen fuer die LEDs, Watchdog und den Status zur Verfuegung.

Derived from

Core

Class Attributes

A3
__slots__
wdautotoggle

Class Methods

None

Methods

__setattr__ Verhindert Ueberschreibung der LEDs.
__wdtoggle WD Ausgang alle 10 Sekunden automatisch toggeln.
_devconfigure Connect-Klasse vorbereiten.
_get_leda3 Gibt den Zustand der LED A3 vom Connect zurueck.
_get_wdtoggle Ruft den Wert fuer Autowatchdog ab.
_set_leda3 Setzt den Zustand der LED A3 vom Connect.
_set_wdtoggle Setzt den Wert fuer Autowatchdog.

Static Methods

None

Connect.__setattr__

__setattr__(key, value)

Verhindert Ueberschreibung der LEDs.

Connect.__wdtoggle

__wdtoggle()

WD Ausgang alle 10 Sekunden automatisch toggeln.

Connect._devconfigure

_devconfigure()

Connect-Klasse vorbereiten.

Connect._get_leda3

_get_leda3()

Gibt den Zustand der LED A3 vom Connect zurueck.

Returns:
0=aus, 1=gruen, 2=rot

Connect._get_wdtoggle

_get_wdtoggle()

Ruft den Wert fuer Autowatchdog ab.

Returns:
True, wenn Autowatchdog aktiv ist

Connect._set_leda3

_set_leda3(value)

Setzt den Zustand der LED A3 vom Connect.

value
0=aus, 1=gruen, 2=rot

Connect._set_wdtoggle

_set_wdtoggle(value)

Setzt den Wert fuer Autowatchdog.

Wird dieser Wert auf True gesetzt, wechselt im Hintergrund das noetige Bit zum toggeln des Watchdogs alle 10 Sekunden zwichen True und False. Dieses Bit wird bei autorefresh=True natuerlich automatisch in das Prozessabbild geschrieben.

WICHTIG: Sollte autorefresh=False sein, muss zyklisch .writeprocimg() aufgerufen werden, um den Wert in das Prozessabbild zu schreiben!!!

value
True zum aktivieren, Fals zum beenden
Up


Core

Klasse fuer den RevPi Core.

Stellt Funktionen fuer die LEDs und den Status zur Verfuegung.

Derived from

Base

Class Attributes

A1
A2
__slots__
status

Class Methods

None

Methods

__errorlimit Verwaltet das Schreiben der ErrorLimits.
__setattr__ Verhindert Ueberschreibung der LEDs.
_devconfigure Core-Klasse vorbereiten.
_get_leda1 Gibt den Zustand der LED A1 vom Core zurueck.
_get_leda2 Gibt den Zustand der LED A2 vom Core zurueck.
_get_status Gibt den RevPi Core Status zurueck.
_set_calculatedled Berechnet und setzt neuen Bytewert fuer LED byte.
_set_leda1 Setzt den Zustand der LED A1 vom Core.
_set_leda2 Setzt den Zustand der LED A2 vom Core.
errorlimit1 Setzt RS485 ErrorLimit1 auf neuen Wert.
errorlimit2 Setzt RS485 ErrorLimit2 auf neuen Wert.
frequency Gibt CPU Taktfrequenz zurueck.
iocycle Gibt Zykluszeit der Prozessabbildsynchronisierung zurueck.
ioerrorcount Gibt Fehleranzahl auf RS485 piBridge Bus zurueck.
leftgate Statusbit links vom RevPi ist ein piGate Modul angeschlossen.
missingdeviceorgate Statusbit fuer ein IO-Modul fehlt oder piGate konfiguriert.
overunderflow Statusbit Modul belegt mehr oder weniger Speicher als konfiguriert.
picontrolrunning Statusbit fuer piControl-Treiber laeuft.
rightgate Statusbit rechts vom RevPi ist ein piGate Modul angeschlossen.
temperature Gibt CPU-Temperatur zurueck.
unconfdevice Statusbit fuer ein IO-Modul nicht mit PiCtory konfiguriert.

Static Methods

None

Core.__errorlimit

__errorlimit(slc_io, errorlimit)

Verwaltet das Schreiben der ErrorLimits.

slc_io
Byte Slice vom ErrorLimit
Returns:
Aktuellen ErrorLimit oder None wenn nicht verfuegbar

Core.__setattr__

__setattr__(key, value)

Verhindert Ueberschreibung der LEDs.

Core._devconfigure

_devconfigure()

Core-Klasse vorbereiten.

Core._get_leda1

_get_leda1()

Gibt den Zustand der LED A1 vom Core zurueck.

Returns:
0=aus, 1=gruen, 2=rot

Core._get_leda2

_get_leda2()

Gibt den Zustand der LED A2 vom Core zurueck.

Returns:
0=aus, 1=gruen, 2=rot

Core._get_status

_get_status()

Gibt den RevPi Core Status zurueck.

Returns:
Status als

Core._set_calculatedled

_set_calculatedled(addresslist, shifted_value)

Berechnet und setzt neuen Bytewert fuer LED byte.

addresslist
Liste der Vergleicher
shifed_value
Bits vergleichen

Core._set_leda1

_set_leda1(value)

Setzt den Zustand der LED A1 vom Core.

value
0=aus, 1=gruen, 2=rot

Core._set_leda2

_set_leda2(value)

Setzt den Zustand der LED A2 vom Core.

value
0=aus, 1=gruen, 2=rot

Core.errorlimit1

errorlimit1(value)

Setzt RS485 ErrorLimit1 auf neuen Wert.

value
Neuer ErrorLimit1 Wert

Core.errorlimit2

errorlimit2(value)

Setzt RS485 ErrorLimit2 auf neuen Wert.

value
Neuer ErrorLimit2 Wert

Core.frequency

frequency()

Gibt CPU Taktfrequenz zurueck.

Returns:
CPU Taktfrequenz in MHz

Core.iocycle

iocycle()

Gibt Zykluszeit der Prozessabbildsynchronisierung zurueck.

Returns:
Zykluszeit in ms

Core.ioerrorcount

ioerrorcount()

Gibt Fehleranzahl auf RS485 piBridge Bus zurueck.

Returns:
Fehleranzahl der piBridge

Core.leftgate

leftgate()

Statusbit links vom RevPi ist ein piGate Modul angeschlossen.

Returns:
True, wenn piGate links existiert

Core.missingdeviceorgate

missingdeviceorgate()

Statusbit fuer ein IO-Modul fehlt oder piGate konfiguriert.

Returns:
True, wenn IO-Modul fehlt oder piGate konfiguriert

Core.overunderflow

overunderflow()

Statusbit Modul belegt mehr oder weniger Speicher als konfiguriert.

Returns:
True, wenn falscher Speicher belegt ist

Core.picontrolrunning

picontrolrunning()

Statusbit fuer piControl-Treiber laeuft.

Returns:
True, wenn Treiber laeuft

Core.rightgate

rightgate()

Statusbit rechts vom RevPi ist ein piGate Modul angeschlossen.

Returns:
True, wenn piGate rechts existiert

Core.temperature

temperature()

Gibt CPU-Temperatur zurueck.

Returns:
CPU-Temperatur in Celsius

Core.unconfdevice

unconfdevice()

Statusbit fuer ein IO-Modul nicht mit PiCtory konfiguriert.

Returns:
True, wenn IO Modul nicht konfiguriert
Up


Device

Basisklasse fuer alle Device-Objekte.

Die Basisfunktionalitaet generiert bei Instantiierung alle IOs und erweitert den Prozessabbildpuffer um die benoetigten Bytes. Sie verwaltet ihren Prozessabbildpuffer und sorgt fuer die Aktualisierung der IO-Werte.

Derived from

object

Class Attributes

__slots__
length
name
offset
position
producttype

Class Methods

None

Methods

Device Instantiierung der Device-Klasse.
__bytes__ Gibt alle Daten des Devices als zurueck.
__contains__ Prueft ob IO auf diesem Device liegt.
__getioiter Gibt mit allen IOs zurueck.
__getitem__ Gibt IO an angegebener Stelle zurueck.
__int__ Gibt die Positon im RevPi Bus zurueck.
__iter__ Gibt Iterator aller IOs zurueck.
__len__ Gibt Anzahl der Bytes zurueck, die dieses Device belegt.
__str__ Gibt den Namen des Devices zurueck.
_buildio Erstellt aus der piCtory-Liste die IOs fuer dieses Device.
_devconfigure Funktion zum ueberschreiben von abgeleiteten Klassen.
_get_offset Gibt den Deviceoffset im Prozessabbild zurueck.
_get_producttype Gibt den Produkttypen des device zurueck.
_update_my_io_list Erzeugt eine neue IO Liste fuer schnellen Zugriff.
autorefresh Registriert dieses Device fuer die automatische Synchronisierung.
get_allios Gibt eine Liste aller Inputs und Outputs zurueck, keine MEMs.
get_inputs Gibt eine Liste aller Inputs zurueck.
get_memories Gibt eine Liste aller Memoryobjekte zurueck.
get_outputs Gibt eine Liste aller Outputs zurueck.
readprocimg Alle Inputs fuer dieses Device vom Prozessabbild einlesen.
setdefaultvalues Alle Outputbuffer fuer dieses Device auf default Werte setzen.
syncoutputs Lesen aller Outputs im Prozessabbild fuer dieses Device.
writeprocimg Schreiben aller Outputs dieses Devices ins Prozessabbild.

Static Methods

None

Device (Constructor)

Device(parentmodio, dict_device, simulator=False)

Instantiierung der Device-Klasse.

parent
RevpiModIO parent object
dict_device
fuer dieses Device aus piCotry
simulator:
Laedt das Modul als Simulator und vertauscht IOs

Device.__bytes__

__bytes__()

Gibt alle Daten des Devices als zurueck.

Returns:
Devicedaten als

Device.__contains__

__contains__(key)

Prueft ob IO auf diesem Device liegt.

key
IO-Name / IO-Bytenummer
Returns:
True, wenn IO auf Device vorhanden

Device.__getioiter

__getioiter(ioslc, export)

Gibt mit allen IOs zurueck.

ioslc
IO Abschnitt
export
Filter fuer 'Export' Flag in piCtory
Returns:
IOs als Iterator

Device.__getitem__

__getitem__(key)

Gibt IO an angegebener Stelle zurueck.

key
Index des IOs auf dem device als
Returns:
Gefundenes IO-Objekt

Device.__int__

__int__()

Gibt die Positon im RevPi Bus zurueck.

Returns:
Positionsnummer

Device.__iter__

__iter__()

Gibt Iterator aller IOs zurueck.

Returns:
aller IOs

Device.__len__

__len__()

Gibt Anzahl der Bytes zurueck, die dieses Device belegt.

Returns:

Device.__str__

__str__()

Gibt den Namen des Devices zurueck.

Returns:
Devicename

Device._buildio

_buildio(dict_io, iotype)

Erstellt aus der piCtory-Liste die IOs fuer dieses Device.

dict_io
-Objekt aus piCtory Konfiguration
iotype
Wert
Returns:
mit Start und Stop Position dieser IOs

Device._devconfigure

_devconfigure()

Funktion zum ueberschreiben von abgeleiteten Klassen.

Device._get_offset

_get_offset()

Gibt den Deviceoffset im Prozessabbild zurueck.

Returns:
Deviceoffset

Device._get_producttype

_get_producttype()

Gibt den Produkttypen des device zurueck.

Returns:
Deviceprodukttyp

Device._update_my_io_list

_update_my_io_list()

Erzeugt eine neue IO Liste fuer schnellen Zugriff.

Device.autorefresh

autorefresh(activate=True)

Registriert dieses Device fuer die automatische Synchronisierung.

activate
Default True fuegt Device zur Synchronisierung hinzu

Device.get_allios

get_allios(export=None)

Gibt eine Liste aller Inputs und Outputs zurueck, keine MEMs.

Bleibt Parameter 'export' auf None werden alle Inputs und Outputs zurueckgegeben. Wird 'export' auf True/False gesetzt, werden nur Inputs und Outputs zurueckgegeben, bei denen der Wert 'Export' in piCtory uebereinstimmt.

export
Nur In-/Outputs mit angegebenen 'Export' Wert in piCtory
Returns:
Input und Output, keine MEMs

Device.get_inputs

get_inputs(export=None)

Gibt eine Liste aller Inputs zurueck.

Bleibt Parameter 'export' auf None werden alle Inputs zurueckgegeben. Wird 'export' auf True/False gesetzt, werden nur Inputs zurueckgegeben, bei denen der Wert 'Export' in piCtory uebereinstimmt.

export
Nur Inputs mit angegebenen 'Export' Wert in piCtory
Returns:
Inputs

Device.get_memories

get_memories(export=None)

Gibt eine Liste aller Memoryobjekte zurueck.

Bleibt Parameter 'export' auf None werden alle Mems zurueckgegeben. Wird 'export' auf True/False gesetzt, werden nur Mems zurueckgegeben, bei denen der Wert 'Export' in piCtory uebereinstimmt.

export
Nur Mems mit angegebenen 'Export' Wert in piCtory
Returns:
Mems

Device.get_outputs

get_outputs(export=None)

Gibt eine Liste aller Outputs zurueck.

Bleibt Parameter 'export' auf None werden alle Outputs zurueckgegeben. Wird 'export' auf True/False gesetzt, werden nur Outputs zurueckgegeben, bei denen der Wert 'Export' in piCtory uebereinstimmt.

export
Nur Outputs mit angegebenen 'Export' Wert in piCtory
Returns:
Outputs

Device.readprocimg

readprocimg()

Alle Inputs fuer dieses Device vom Prozessabbild einlesen.

Returns:
True, wenn erfolgreich ausgefuehrt
See Also:
RevPiModIO.readprocimg()

Device.setdefaultvalues

setdefaultvalues()

Alle Outputbuffer fuer dieses Device auf default Werte setzen.

Returns:
True, wenn erfolgreich ausgefuehrt
See Also:
RevPiModIO.setdefaultvalues()

Device.syncoutputs

syncoutputs()

Lesen aller Outputs im Prozessabbild fuer dieses Device.

Returns:
True, wenn erfolgreich ausgefuehrt
See Also:
RevPiModIO.syncoutputs()

Device.writeprocimg

writeprocimg()

Schreiben aller Outputs dieses Devices ins Prozessabbild.

Returns:
True, wenn erfolgreich ausgefuehrt
See Also:
RevPiModIO.writeprocimg()
Up


DeviceList

Basisklasse fuer direkten Zugriff auf Device Objekte.

Derived from

object

Class Attributes

None

Class Methods

None

Methods

DeviceList Init DeviceList class.
__contains__ Prueft ob Device existiert.
__delattr__ Entfernt angegebenes Device.
__delitem__ Entfernt Device an angegebener Position.
__getitem__ Gibt angegebenes Device zurueck.
__iter__ Gibt Iterator aller Devices zurueck.
__len__ Gibt Anzahl der Devices zurueck.
__setattr__ Setzt Attribute nur wenn Device.

Static Methods

None

DeviceList (Constructor)

DeviceList()

Init DeviceList class.

DeviceList.__contains__

__contains__(key)

Prueft ob Device existiert.

key
DeviceName / Positionsnummer
Returns:
True, wenn Device vorhanden

DeviceList.__delattr__

__delattr__(key, delcomplete=True)

Entfernt angegebenes Device.

key
Device zum entfernen
delcomplete
Wenn True wird Device komplett entfernt

DeviceList.__delitem__

__delitem__(key)

Entfernt Device an angegebener Position.

key
Deviceposition zum entfernen

DeviceList.__getitem__

__getitem__(key)

Gibt angegebenes Device zurueck.

key
DeviceName / Positionsnummer
Returns:
Gefundenes -Objekt

DeviceList.__iter__

__iter__()

Gibt Iterator aller Devices zurueck.

Die Reihenfolge ist nach Position im Prozessabbild sortiert und nicht nach Positionsnummer (Dies entspricht der Positionierung aus piCtory)!

Returns:
aller Devices

DeviceList.__len__

__len__()

Gibt Anzahl der Devices zurueck. return Anzahl der Devices

DeviceList.__setattr__

__setattr__(key, value)

Setzt Attribute nur wenn Device.

key
Attributname
value
Attributobjekt
Up


DioModule

Stellt ein DIO / DI / DO Modul dar.

Derived from

Device

Class Attributes

__slots__

Class Methods

None

Methods

DioModule Erweitert Device-Klasse zum Erkennen von IntIOCounter.

Static Methods

None

DioModule (Constructor)

DioModule(parentmodio, dict_device, simulator=False)

Erweitert Device-Klasse zum Erkennen von IntIOCounter.

See Also:
Device.__init__(...)
Up


Gateway

Klasse fuer die RevPi Gateway-Devices.

Stellt neben den Funktionen von RevPiDevice weitere Funktionen fuer die Gateways bereit. IOs auf diesem Device stellen die replace_io Funktion zur verfuegung, ueber die eigene IOs definiert werden, die ein RevPiStructIO-Objekt abbilden. Dieser IO-Typ kann Werte ueber mehrere Bytes verarbeiten und zurueckgeben.

See Also:
replace_io(...)

Derived from

Device

Class Attributes

__slots__

Class Methods

None

Methods

Gateway Erweitert Device-Klasse um get_rawbytes-Funktionen.
get_rawbytes Gibt die Bytes aus, die dieses Device verwendet.

Static Methods

None

Gateway (Constructor)

Gateway(parent, dict_device, simulator=False)

Erweitert Device-Klasse um get_rawbytes-Funktionen.

See Also:
Device.__init__(...)

Gateway.get_rawbytes

get_rawbytes()

Gibt die Bytes aus, die dieses Device verwendet.

Returns:
des Devices
Up


Virtual

Klasse fuer die RevPi Virtual-Devices.

Stellt die selben Funktionen wie Gateway zur Verfuegung. Es koennen ueber die reg_*-Funktionen eigene IOs definiert werden, die ein RevPiStructIO-Objekt abbilden. Dieser IO-Typ kann Werte ueber mehrere Bytes verarbeiten und zurueckgeben.

See Also:
Gateway

Derived from

Gateway

Class Attributes

__slots__

Class Methods

None

Methods

writeinputdefaults Schreibt fuer ein virtuelles Device piCtory Defaultinputwerte.

Static Methods

None

Virtual.writeinputdefaults

writeinputdefaults()

Schreibt fuer ein virtuelles Device piCtory Defaultinputwerte.

Sollten in piCtory Defaultwerte fuer Inputs eines virtuellen Devices angegeben sein, werden diese nur beim Systemstart oder einem piControl Reset gesetzt. Sollte danach das Prozessabbild mit NULL ueberschrieben, gehen diese Werte verloren. Diese Funktion kann nur auf virtuelle Devices angewendet werden!

Returns:
True, wenn Arbeiten am virtuellen Device erfolgreich waren
Up