revpimodio2.helper

RevPiModIO Helperklassen und Tools.

Global Attributes

__author__
__copyright__
__license__

Classes

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

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

__slots__

Class Methods

None

Methods

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

Static Methods

None

Cycletools (Constructor)

Cycletools(cycletime)

Init Cycletools class.

Cycletools._docycle

_docycle()

Zyklusarbeiten.

Cycletools.get_tof

get_tof(name)

Wert der Ausschaltverzoegerung.

name
Eindeutiger Name des Timers
Returns:
Wert der Ausschaltverzoegerung

Cycletools.get_tofc

get_tofc(name)

Wert der Ausschaltverzoegerung.

name
Eindeutiger Name des Timers
Returns:
Wert der Ausschaltverzoegerung

Cycletools.get_ton

get_ton(name)

Einschaltverzoegerung.

name
Eindeutiger Name des Timers
Returns:
Wert der Einschaltverzoegerung

Cycletools.get_tonc

get_tonc(name)

Einschaltverzoegerung.

name
Eindeutiger Name des Timers
Returns:
Wert der Einschaltverzoegerung

Cycletools.get_tp

get_tp(name)

Impulstimer.

name
Eindeutiger Name des Timers
Returns:
Wert des Impulses

Cycletools.get_tpc

get_tpc(name)

Impulstimer.

name
Eindeutiger Name des Timers
Returns:
Wert des Impulses

Cycletools.set_tof

set_tof(name, milliseconds)

Startet bei Aufruf einen ausschaltverzoegerten Timer.

name
Eindeutiger Name fuer Zugriff auf Timer
milliseconds
Verzoegerung in Millisekunden

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_ton

set_ton(name, milliseconds)

Startet einen einschaltverzoegerten Timer.

name
Eindeutiger Name fuer Zugriff auf Timer
milliseconds
Millisekunden, der Verzoegerung wenn 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_tp

set_tp(name, milliseconds)

Startet einen Impuls Timer.

name
Eindeutiger Name fuer Zugriff auf Timer
milliseconds
Millisekunden, die der Impuls anstehen soll

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

__slots__

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

__slots__
refresh

Class Methods

None

Methods

ProcimgWriter Init ProcimgWriter class.
__check_change Findet Aenderungen fuer die Eventueberwachung.
__exec_th Laeuft als Thread, der Events als Thread startet.
_collect_events Aktiviert oder Deaktiviert die Eventueberwachung.
get_refresh Gibt Zykluszeit zurueck.
run Startet die automatische Prozessabbildsynchronisierung.
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.__check_change

__check_change(dev)

Findet Aenderungen fuer die Eventueberwachung.

ProcimgWriter.__exec_th

__exec_th()

Laeuft als Thread, der Events als Thread startet.

ProcimgWriter._collect_events

_collect_events(value)

Aktiviert oder Deaktiviert die Eventueberwachung.

value
True aktiviert / False deaktiviert
Returns:
True, wenn Anforderung erfolgreich war

ProcimgWriter.get_refresh

get_refresh()

Gibt Zykluszeit zurueck.

Returns:
Zykluszeit in Millisekunden

ProcimgWriter.run

run()

Startet die automatische Prozessabbildsynchronisierung.

ProcimgWriter.set_refresh

set_refresh(value)

Setzt die Zykluszeit in Millisekunden.

value
Millisekunden

ProcimgWriter.stop

stop()

Beendet die automatische Prozessabbildsynchronisierung.

Up


Var

Derived from

None

Class Attributes

None

Class Methods

None

Methods

None

Static Methods

None
Up