revpimodio2.netio

RevPiModIO Hauptklasse fuer Netzwerkzugriff.

Global Attributes

HASH_FAIL
__author__
__copyright__
__license__
_sysdeldirty
_sysexit
_sysflush
_syspictory
_syspictoryh
_sysreplaceio
_sysreplaceioh
_syssync

Classes

AclException Probleme mit Berechtigungen.
ConfigChanged Aenderung der piCtory oder replace_ios Datei.
NetFH Netzwerk File Handler fuer das Prozessabbild.
RevPiNetIO Klasse fuer die Verwaltung der piCtory Konfiguration ueber das Netzwerk.
RevPiNetIODriver Klasse um eigene Treiber fuer die virtuellen Devices zu erstellen.
RevPiNetIOSelected Klasse fuer die Verwaltung einzelner Devices aus piCtory.

Functions

None


AclException

Probleme mit Berechtigungen.

Derived from

Exception

Class Attributes

None

Class Methods

None

Methods

None

Static Methods

None
Up


ConfigChanged

Aenderung der piCtory oder replace_ios Datei.

Derived from

Exception

Class Attributes

None

Class Methods

None

Methods

None

Static Methods

None
Up


NetFH

Netzwerk File Handler fuer das Prozessabbild.

Dieses FileObject-like Object verwaltet das Lesen und Schriben des Prozessabbilds ueber das Netzwerk. Ein entfernter Revolution Pi kann so gesteuert werden.

Derived from

Thread

Class Attributes

__slots__
closed
config_changed
name
reconnecting
timeout

Class Methods

None

Methods

NetFH Init NetFH-class.
__check_acl Pueft ob ACL auf RevPi den Vorgang erlaubt oder wirft exception.
__del__ NetworkFileHandler beenden.
__set_systimeout Systemfunktion fuer Timeoutberechnung.
_connect Stellt die Verbindung zu einem RevPiSlave her.
_direct_send Fuer debugging direktes Senden von Daten.
clear_dirtybytes Entfernt die konfigurierten Dirtybytes vom RevPi Slave.
close Verbindung trennen.
flush Schreibpuffer senden.
get_closed Pruefen ob Verbindung geschlossen ist.
get_config_changed Pruefen ob RevPi Konfiguration geaendert wurde.
get_name Verbindugnsnamen zurueckgeben.
get_reconnecting Interner reconnect aktiv wegen Netzwerkfehlern.
get_timeout Gibt aktuellen Timeout zurueck.
ioctl IOCTL Befehle ueber das Netzwerk senden.
read Daten ueber das Netzwerk lesen.
readpictory Ruft die piCtory Konfiguration ab.
readreplaceio Ruft die replace_io Konfiguration ab.
run Handler fuer Synchronisierung.
seek Springt an angegebene Position.
set_dirtybytes Konfiguriert Dirtybytes fuer Prozessabbild bei Verbindungsfehler.
set_timeout Setzt Timeoutwert fuer Verbindung.
tell Gibt aktuelle Position zurueck.
write Daten ueber das Netzwerk schreiben.

Static Methods

None

NetFH (Constructor)

NetFH(address, check_replace_ios, timeout=500)

Init NetFH-class.

address
IP Adresse, Port des RevPi als
check_replace_ios
Prueft auf Veraenderungen der Datei
timeout
Timeout in Millisekunden der Verbindung

NetFH.__check_acl

__check_acl(bytecode)

Pueft ob ACL auf RevPi den Vorgang erlaubt oder wirft exception.

NetFH.__del__

__del__()

NetworkFileHandler beenden.

NetFH.__set_systimeout

__set_systimeout(value)

Systemfunktion fuer Timeoutberechnung.

value
Timeout in Millisekunden 100 - 60000

NetFH._connect

_connect()

Stellt die Verbindung zu einem RevPiSlave her.

NetFH._direct_send

_direct_send(send_bytes, recv_count)

Fuer debugging direktes Senden von Daten.

send_bytes
Bytes, die gesendet werden sollen
recv_count
Anzahl der Empfangsbytes
Returns:
Empfangende Bytes

NetFH.clear_dirtybytes

clear_dirtybytes(position=None)

Entfernt die konfigurierten Dirtybytes vom RevPi Slave.

position
Startposition der Dirtybytes

NetFH.close

close()

Verbindung trennen.

NetFH.flush

flush()

Schreibpuffer senden.

NetFH.get_closed

get_closed()

Pruefen ob Verbindung geschlossen ist.

Returns:
True, wenn Verbindung geschlossen ist

NetFH.get_config_changed

get_config_changed()

Pruefen ob RevPi Konfiguration geaendert wurde.

Returns:
True, wenn RevPi Konfiguration geaendert ist

NetFH.get_name

get_name()

Verbindugnsnamen zurueckgeben.

Returns:
IP:PORT

NetFH.get_reconnecting

get_reconnecting()

Interner reconnect aktiv wegen Netzwerkfehlern.

Returns:
True, wenn reconnect aktiv

NetFH.get_timeout

get_timeout()

Gibt aktuellen Timeout zurueck.

Returns:
in Millisekunden

NetFH.ioctl

ioctl(request, arg=b'')

IOCTL Befehle ueber das Netzwerk senden.

request
Request as
arg
Argument as

NetFH.read

read(length)

Daten ueber das Netzwerk lesen.

length
Anzahl der Bytes
Returns:
Gelesene

NetFH.readpictory

readpictory()

Ruft die piCtory Konfiguration ab.

Returns:
piCtory Datei

NetFH.readreplaceio

readreplaceio()

Ruft die replace_io Konfiguration ab.

Returns:
replace_io_file

NetFH.run

run()

Handler fuer Synchronisierung.

NetFH.seek

seek(position)

Springt an angegebene Position.

position
An diese Position springen

NetFH.set_dirtybytes

set_dirtybytes(position, dirtybytes)

Konfiguriert Dirtybytes fuer Prozessabbild bei Verbindungsfehler.

positon
Startposition zum Schreiben
dirtybytes
die geschrieben werden sollen

NetFH.set_timeout

set_timeout(value)

Setzt Timeoutwert fuer Verbindung.

value
Timeout in Millisekunden

NetFH.tell

tell()

Gibt aktuelle Position zurueck.

Returns:
int aktuelle Position

NetFH.write

write(bytebuff)

Daten ueber das Netzwerk schreiben.

bytebuff
Bytes zum schreiben
Returns:
Anzahl geschriebener bytes
Up


RevPiNetIO

Klasse fuer die Verwaltung der piCtory Konfiguration ueber das Netzwerk.

Diese Klasse uebernimmt die gesamte Konfiguration aus piCtory und bilded die Devices und IOs ab. Sie uebernimmt die exklusive Verwaltung des Prozessabbilds und stellt sicher, dass die Daten synchron sind. Sollten nur einzelne Devices gesteuert werden, verwendet man RevPiModIOSelected() und uebergibt bei Instantiierung eine Liste mit Device Positionen oder Device Namen.

Derived from

_RevPiModIO

Class Attributes

__slots__
config_changed
reconnecting

Class Methods

None

Methods

RevPiNetIO Instantiiert die Grundfunktionen.
_create_myfh Erstellt NetworkFileObject.
_get_cpreplaceio Laed die replace_io Konfiguration ueber das Netzwerk.
disconnect Trennt Verbindungen und beendet autorefresh inkl.
exit Beendet mainloop() und optional autorefresh.
get_config_changed Pruefen ob RevPi Konfiguration geaendert wurde.
get_jconfigrsc Laedt die piCotry Konfiguration und erstellt ein .
get_reconnecting Interner reconnect aktiv wegen Netzwerkfehlern.
net_cleardefaultvalues Loescht Defaultwerte vom PLC Slave.
net_setdefaultvalues Konfiguriert den PLC Slave mit den piCtory Defaultwerten.

Static Methods

None

RevPiNetIO (Constructor)

RevPiNetIO(address, autorefresh=False, monitoring=False, syncoutputs=True, simulator=False, debug=True, replace_io_file=None, direct_output=False)

Instantiiert die Grundfunktionen.

address:
IP-Adresse / (IP, Port)
autorefresh
Wenn True, alle Devices zu autorefresh hinzufuegen
monitoring
In- und Outputs werden gelesen, niemals geschrieben
syncoutputs
Aktuell gesetzte Outputs vom Prozessabbild einlesen
simulator
Laedt das Modul als Simulator und vertauscht IOs
debug
Gibt bei allen Fehlern komplette Meldungen aus
replace_io_file
Replace IO Konfiguration aus Datei laden
direct_output
Write outputs immediately to process image (slow)

RevPiNetIO._create_myfh

_create_myfh()

Erstellt NetworkFileObject. return FileObject

RevPiNetIO._get_cpreplaceio

_get_cpreplaceio()

Laed die replace_io Konfiguration ueber das Netzwerk.

Returns:
der replace io daten

RevPiNetIO.disconnect

disconnect()

Trennt Verbindungen und beendet autorefresh inkl. alle Threads.

RevPiNetIO.exit

exit(full=True)

Beendet mainloop() und optional autorefresh.

See Also:
#RevPiModIO.exit(...)

RevPiNetIO.get_config_changed

get_config_changed()

Pruefen ob RevPi Konfiguration geaendert wurde.

In diesem Fall ist die Verbindung geschlossen und RevPiNetIO muss neu instanziert werden.

Returns:
True, wenn RevPi Konfiguration geaendert ist

RevPiNetIO.get_jconfigrsc

get_jconfigrsc()

Laedt die piCotry Konfiguration und erstellt ein .

Returns:
der piCtory Konfiguration

RevPiNetIO.get_reconnecting

get_reconnecting()

Interner reconnect aktiv wegen Netzwerkfehlern.

Das Modul versucht intern die Verbindung neu herzustellen. Es ist kein weiteres Zutun noetig.

Returns:
True, wenn reconnect aktiv

RevPiNetIO.net_cleardefaultvalues

net_cleardefaultvalues(device=None)

Loescht Defaultwerte vom PLC Slave.

device
nur auf einzelnes Device anwenden, sonst auf Alle

RevPiNetIO.net_setdefaultvalues

net_setdefaultvalues(device=None)

Konfiguriert den PLC Slave mit den piCtory Defaultwerten.

device
nur auf einzelnes Device anwenden, sonst auf Alle
Up


RevPiNetIODriver

Klasse um eigene Treiber fuer die virtuellen Devices zu erstellen.

Mit dieser Klasse werden nur angegebene Virtuelle Devices mit RevPiModIO verwaltet. Bei Instantiierung werden automatisch die Inputs und Outputs verdreht, um das Schreiben der Inputs zu ermoeglichen. Die Daten koennen dann ueber logiCAD an den Devices abgerufen werden.

Derived from

RevPiNetIOSelected

Class Attributes

__slots__

Class Methods

None

Methods

RevPiNetIODriver Instantiiert die Grundfunktionen.

Static Methods

None

RevPiNetIODriver (Constructor)

RevPiNetIODriver(address, virtdev, autorefresh=False, monitoring=False, syncoutputs=True, debug=True, replace_io_file=None, direct_output=False)

Instantiiert die Grundfunktionen.

Parameter 'monitoring' und 'simulator' stehen hier nicht zur Verfuegung, da diese automatisch gesetzt werden.

address:
IP-Adresse / (IP, Port)
virtdev
Virtuelles Device oder mehrere als
See Also:
RevPiModIO.__init__(...)
Up


RevPiNetIOSelected

Klasse fuer die Verwaltung einzelner Devices aus piCtory.

Diese Klasse uebernimmt nur angegebene Devices der piCtory Konfiguration und bilded sie inkl. IOs ab. Sie uebernimmt die exklusive Verwaltung des Adressbereichs im Prozessabbild an dem sich die angegebenen Devices befinden und stellt sicher, dass die Daten synchron sind.

Derived from

RevPiNetIO

Class Attributes

__slots__

Class Methods

None

Methods

RevPiNetIOSelected Instantiiert nur fuer angegebene Devices die Grundfunktionen.

Static Methods

None

RevPiNetIOSelected (Constructor)

RevPiNetIOSelected(address, deviceselection, autorefresh=False, monitoring=False, syncoutputs=True, simulator=False, debug=True, replace_io_file=None, direct_output=False)

Instantiiert nur fuer angegebene Devices die Grundfunktionen.

Der Parameter deviceselection kann eine einzelne Device Position / einzelner Device Name sein oder eine Liste mit mehreren Positionen / Namen

address:
IP-Adresse / (IP, Port)
deviceselection
Positionsnummer oder Devicename
See Also:
RevPiNetIO.__init__(...)
Up