RevPiModIO Helperklassen und Tools.
| __author__ |
| __copyright__ |
| __license__ |
| Cycletools | Werkzeugkasten fuer Cycleloop-Funktion. |
| EventCallback | Thread fuer das interne Aufrufen von Event-Funktionen. |
| ProcimgWriter | Klasse fuer Synchroniseriungs-Thread. |
| None |
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.
| None |
| None |
| 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. |
| None |
Init Cycletools class.
Zyklusarbeiten.
Wert der Ausschaltverzoegerung.
Wert der Ausschaltverzoegerung.
Einschaltverzoegerung.
Einschaltverzoegerung.
Impulstimer.
Impulstimer.
Startet bei Aufruf einen ausschaltverzoegerten Timer.
Startet bei Aufruf einen ausschaltverzoegerten Timer.
Startet einen einschaltverzoegerten Timer.
Startet einen einschaltverzoegerten Timer.
Startet einen Impuls Timer.
Startet einen Impuls Timer.
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)
| None |
| None |
| EventCallback | Init EventCallback class. |
| run | Ruft die registrierte Funktion auf. |
| stop | Setzt das exit-Event mit dem die Funktion beendet werden kann. |
| None |
Init EventCallback class.
Ruft die registrierte Funktion auf.
Setzt das exit-Event mit dem die Funktion beendet werden kann.
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.
| ioerrors |
| maxioerrors |
| refresh |
| None |
| 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_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. |
| None |
Init ProcimgWriter class.
Findet Aenderungen fuer die Eventueberwachung.
Laeuft als Thread, der Events als Thread startet.
Aktiviert oder Deaktiviert die Eventueberwachung.
Ruft aktuelle Anzahl der Fehler ab.
IOError Verwaltung fuer autorefresh.
Gibt die Anzahl der maximal erlaubten Fehler zurueck.
Gibt Zykluszeit zurueck.
Startet die automatische Prozessabbildsynchronisierung.
Setzt die Anzahl der maximal erlaubten Fehler.
Setzt die Zykluszeit in Millisekunden.
Beendet die automatische Prozessabbildsynchronisierung.