Über das Netzwerk – revpimodio2

HINWEIS: Damit eine Verbindung zum Revolution Pi möglich ist, muss RevPiPyLoad installiert und mit aktiviertem plcslave = 1 Parameter laufen! Außerdem muss die IP vom zugreifenden Rechner in der /etc/revpipyload/aclplcslave.conf aufgeführt sein!

Hauptklasse, welche instanziiert wird und den gesamten Zugriff auf die IOs des Revolution Pi über das Netzwerk ermöglicht.

revpimodio2.RevPiNetIO(address, [autorefresh=False, monitoring=False, syncoutputs=True, debug=False, replace_io_file=None, direct_output=False])
Nur bestimmte Devices verwenden
revpimodio2.RevPiNetIOSelected(address, deviceselection, [autorefresh=False, monitoring=False, syncoutputs=True, debug=False, replace_io_file=None, direct_output=False])
  • deviceselection = Einzelnes oder Liste von Devices des RevPi-Core, welche verwaltet werden sollen.
    Dabei kann sowohl der Name <class ’str‘>, die Positionsnummer <class ‚int‘> oder eine Liste <class ‚list‘> mit Namen oder Positionsnummern übergeben werden.
Virtuelles Device zum Schreiben der daten in Inputs verwenden (Treiber)
revpimodio2.RevPiNetIODriver(address, virtdev, [autorefresh=False, syncoutputs=True, debug=False, replace_io_file=None, direct_output=False])
  • virtdev = Name oder Positionsnummer eines virtuellen Device als <class ’str‘> oder <class ‚int‘> oder eine Liste der Namen / Positionsnummern <class ‚list‘>. In diese virtuellen Devices können Daten in Inputs geschrieben und Outputs gelesen werden. Damit kann mit anderen Anwendungen über das Prozessabbild auf diese Daten zugegriffen werden.

HINWEIS: Parameter ‚monitoring‘ und ’simulator‘ stehen hier nicht zur Verfügung.

Instanziierungsparameter

Alle Parameter außer address sind identisch zu RevPiModIO – Dokumentation

  • address = IP-Adresse des Revolution Pi für Verbindung
    IP address or hostname as <class ’str‘>
  • replace_io_file
    Dieser Parameter ist gleich aufgebaut wie bei RevPiModIO, akzeptiert aber auch den Wert replace_io_file=":network:". Damit wird die Datei für replace_io über das Netzwerk von RevPiPyLoad geladen (Diese muss dort in der Konfiguration angegeben sein).

Zusätzliche Klassenattribute (Neben denen von RevPiModIO)
  • config_changed
    Dieser Wert ist True, wenn auf dem verbundenen Revolution Pi die piCtory oder replace_io Konfiguration geändert wurde. Eine Neuinstantiierung ist dann notwendig!
    Außerdem wird eine ConfigChanged Exception geworfen.
  • reconnecting
    Der Wert von  .reconnecting ist True, wenn es einen Netzwerkfehler gab und das Modul sich versucht mit RevPiPyLoad neu zu verbinden.
Zusätzliche Klassenfunktionen (neben denen von RevPiModIO)

.disconnect()

Trennt die Verbindung zum Revolution Pi sauber. Diese Funktion muss immer am Ende des Programms aufgerufen werden, um zu verhindern, dass die Default-Werte auf dem Revolution Pi geschrieben werden!


.net_cleardefaultvalues([device])

Löscht die zu schreibenden Default-Werte auf dem Revolution Pi.


.net_setdefaultvalues([device])

Setzt die zu schreibenden Default-Werte für den Fall eines Verbindungsabbruchs.