revpimodio2.helper

RevPiModIO Helperklassen und Tools.

Global Attributes

None

Classes

Cycletools Werkzeugkasten fuer Cycleloop-Funktion.
EventCallback Thread fuer das interne Aufrufen von Event-Funktionen.
ProcimgWriter Klasse fuer Synchroniseriungs-Thread.

Functions

None


Cycletools

Werkzeugkasten fuer Cycleloop-Funktion.

Diese Klasse enthaelt Werkzeuge fuer Zyklusfunktionen, wie Taktmerker und Flankenmerker. Zu beachten ist, dass die Flankenmerker beim ersten Zyklus alle den Wert True haben! Ueber den Merker Cycletools.first kann ermittelt werden, ob es sich um den ersten Zyklus handelt.

Taktmerker flag1c, flag5c, flag10c, usw. haben den als Zahl angegebenen Wert an Zyklen jeweils False und True. Beispiel: flag5c hat 5 Zyklen den Wert False und in den naechsten 5 Zyklen den Wert True.

Flankenmerker flank5c, flank10c, usw. haben immer im, als Zahl angebenen Zyklus fuer einen Zyklusdurchlauf den Wert True, sonst False. Beispiel: flank5c hat immer alle 5 Zyklen den Wert True.

Diese Merker koennen z.B. verwendet werden um, an Outputs angeschlossene, Lampen synchron blinken zu lassen.

Derived from

None

Class Attributes

None

Class Methods

None

Methods

Cycletools Init Cycletools class.
_docycle Zyklusarbeiten.
get_tofc Wert der Ausschaltverzoegerung.
get_tonc Einschaltverzoegerung.
get_tpc Impulstimer.
set_tofc Startet bei Aufruf einen ausschaltverzoegerten Timer.
set_tonc Startet einen einschaltverzoegerten Timer.
set_tpc Startet einen Impuls Timer.

Static Methods

None

Cycletools (Constructor)

Cycletools()

Init Cycletools class.

Cycletools._docycle

_docycle()

Zyklusarbeiten.

Cycletools.get_tofc

get_tofc(name)

Wert der Ausschaltverzoegerung.

name
Eindeutiger Name des Timers
Returns:
Wert der Ausschaltverzoegerung

Cycletools.get_tonc

get_tonc(name)

Einschaltverzoegerung.

name
Eindeutiger Name des Timers
Returns:
Wert der Einschaltverzoegerung

Cycletools.get_tpc

get_tpc(name)

Impulstimer.

name
Eindeutiger Name des Timers
Returns:
Wert der des Impulses

Cycletools.set_tofc

set_tofc(name, cycles)

Startet bei Aufruf einen ausschaltverzoegerten Timer.

name
Eindeutiger Name fuer Zugriff auf Timer
cycles
Zyklusanzahl, der Verzoegerung wenn nicht neu gestartet

Cycletools.set_tonc

set_tonc(name, cycles)

Startet einen einschaltverzoegerten Timer.

name
Eindeutiger Name fuer Zugriff auf Timer
cycles
Zyklusanzahl, der Verzoegerung wenn neu gestartet

Cycletools.set_tpc

set_tpc(name, cycles)

Startet einen Impuls Timer.

name
Eindeutiger Name fuer Zugriff auf Timer
cycles
Zyklusanzahl, die der Impuls anstehen soll
Up


EventCallback

Thread fuer das interne Aufrufen von Event-Funktionen.

Der Eventfunktion, welche dieser Thread aufruft, wird der Thread selber als Parameter uebergeben. Darauf muss bei der definition der Funktion geachtet werden z.B. "def event(th):". Bei umfangreichen Funktionen kann dieser ausgewertet werden um z.B. doppeltes Starten zu verhindern. Ueber EventCallback.ioname kann der Name des IO-Objekts abgerufen werden, welches das Event ausgeloest hast. EventCallback.iovalue gibt den Wert des IO-Objekts zum Ausloesezeitpunkt zurueck. Der Thread stellt das EventCallback.exit Event als Abbruchbedingung fuer die aufgerufene Funktion zur Verfuegung. Durch Aufruf der Funktion EventCallback.stop() wird das exit-Event gesetzt und kann bei Schleifen zum Abbrechen verwendet werden. Mit dem .exit() Event auch eine Wartefunktion realisiert werden: "th.exit.wait(0.5)" - Wartet 500ms oder bricht sofort ab, wenn fuer den Thread .stop() aufgerufen wird.

while not th.exit.is_set(): # IO-Arbeiten th.exit.wait(0.5)

Derived from

Thread

Class Attributes

None

Class Methods

None

Methods

EventCallback Init EventCallback class.
run Ruft die registrierte Funktion auf.
stop Setzt das exit-Event mit dem die Funktion beendet werden kann.

Static Methods

None

EventCallback (Constructor)

EventCallback(func, name, value)

Init EventCallback class.

func
Funktion die beim Start aufgerufen werden soll
name
IO-Name
value
IO-Value zum Zeitpunkt des Events

EventCallback.run

run()

Ruft die registrierte Funktion auf.

EventCallback.stop

stop()

Setzt das exit-Event mit dem die Funktion beendet werden kann.

Up


ProcimgWriter

Klasse fuer Synchroniseriungs-Thread.

Diese Klasse wird als Thread gestartet, wenn das Prozessabbild zyklisch synchronisiert werden soll. Diese Funktion wird hauptsaechlich fuer das Event-Handling verwendet.

Derived from

Thread

Class Attributes

ioerrors
maxioerrors
refresh

Class Methods

None

Methods

ProcimgWriter Init ProcimgWriter class.
_get_ioerrors Ruft aktuelle Anzahl der Fehler ab.
_gotioerror IOError Verwaltung fuer autorefresh.
get_maxioerrors Gibt die Anzahl der maximal erlaubten Fehler zurueck.
get_refresh Gibt Zykluszeit zurueck.
run Startet die automatische Prozessabbildsynchronisierung.
set_maxioerrors Setzt die Anzahl der maximal erlaubten Fehler.
set_refresh Setzt die Zykluszeit in Millisekunden.
stop Beendet die automatische Prozessabbildsynchronisierung.

Static Methods

None

ProcimgWriter (Constructor)

ProcimgWriter(parentmodio)

Init ProcimgWriter class.

parentmodio
Parent Object

ProcimgWriter._get_ioerrors

_get_ioerrors()

Ruft aktuelle Anzahl der Fehler ab.

Returns:
Aktuelle Fehleranzahl

ProcimgWriter._gotioerror

_gotioerror()

IOError Verwaltung fuer autorefresh.

ProcimgWriter.get_maxioerrors

get_maxioerrors()

Gibt die Anzahl der maximal erlaubten Fehler zurueck.

Returns:
Anzahl erlaubte Fehler

ProcimgWriter.get_refresh

get_refresh()

Gibt Zykluszeit zurueck.

Returns:
Zykluszeit in Millisekunden

ProcimgWriter.run

run()

Startet die automatische Prozessabbildsynchronisierung.

ProcimgWriter.set_maxioerrors

set_maxioerrors(value)

Setzt die Anzahl der maximal erlaubten Fehler.

value
Anzahl erlaubte Fehler

ProcimgWriter.set_refresh

set_refresh(value)

Setzt die Zykluszeit in Millisekunden.

value
Millisekunden

ProcimgWriter.stop

stop()

Beendet die automatische Prozessabbildsynchronisierung.

Up