Starke Leistungsverbesserung bei device.get_*s()

auto_refresh in autorefresh überall umbenannt
ioerror Zähler auch in RevPiModIO eingebaut
_adjwait wird bei Umstellung gleich mit DIFF gesetzt
_ba_devdata wird nach IOs vollständig erstellt
StructIO Instantiierung vereinfacht / byteorder, signed automatisch
This commit is contained in:
2017-08-16 17:14:36 +02:00
parent ddc93c9b9e
commit e124da758f
10 changed files with 443 additions and 275 deletions

View File

@@ -22,7 +22,7 @@ Classes</h3>
<td>Klasse fuer den RevPi Core.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#Device">Device</a></td>
<td>Basisklasse fuer alle Device-Objekte der RevPiDevicelist()-Klasse.</td>
<td>Basisklasse fuer alle Device-Objekte.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#DeviceList">DeviceList</a></td>
<td>Basisklasse fuer direkten Zugriff auf Device Objekte.</td>
@@ -344,13 +344,11 @@ True, wenn IO Modul nicht konfiguriert
<a NAME="Device" ID="Device"></a>
<h2 style="background-color:#FFFFFF;color:#0000FF">Device</h2>
<p>
Basisklasse fuer alle Device-Objekte der RevPiDevicelist()-Klasse.
Basisklasse fuer alle Device-Objekte.
</p><p>
Die Basisfunktionalitaet generiert bei Instantiierung alle IOs und
erweitert den Prozessabbildpuffer um die benoetigten Bytes. Ueber diese
Klasse oder von dieser abgeleiteten Klassen, werden alle IOs angesprochen.
Sie verwaltet ihren Prozessabbildpuffer und sorgt fuer die Aktualisierung
der IO-Werte.
erweitert den Prozessabbildpuffer um die benoetigten Bytes. Sie verwaltet
ihren Prozessabbildpuffer und sorgt fuer die Aktualisierung der IO-Werte.
</p><p>
</p>
@@ -398,11 +396,11 @@ Methods</h3>
<td><a style="color:#0000FF" href="#Device._devconfigure">_devconfigure</a></td>
<td>Funktion zum ueberschreiben von abgeleiteten Klassen.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#Device.auto_refresh">auto_refresh</a></td>
<td>Registriert ein Device fuer die automatische Synchronisierung.</td>
<td><a style="color:#0000FF" href="#Device.autorefresh">autorefresh</a></td>
<td>Registriert dieses Device fuer die automatische Synchronisierung.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#Device.get_allios">get_allios</a></td>
<td>Gibt eine Liste aller Inputs und Outputs zurueck.</td>
<td>Gibt eine Liste aller Inputs und Outputs zurueck, keine MEMs.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#Device.get_inps">get_inps</a></td>
<td>Gibt eine Liste aller Inputs zurueck.</td>
@@ -436,7 +434,7 @@ dict() fuer dieses Device aus piCotry Konfiguration
<dd>
Weitere Parameter:
- autoupdate: Wenn True fuehrt dieses Device Arbeiten am
Prozessabbild bei Aufruf der RevPiDevicelist-Funktionen aus
Prozessabbild bei Aufruf der read- writeprocimg Funktionen aus
- simulator: Laed das Modul als Simulator und vertauscht IOs
</dd>
</dl><a NAME="Device.__bytes__" ID="Device.__bytes__"></a>
@@ -535,12 +533,12 @@ Device._devconfigure</h3>
<b>_devconfigure</b>(<i></i>)
<p>
Funktion zum ueberschreiben von abgeleiteten Klassen.
</p><a NAME="Device.auto_refresh" ID="Device.auto_refresh"></a>
</p><a NAME="Device.autorefresh" ID="Device.autorefresh"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Device.auto_refresh</h3>
<b>auto_refresh</b>(<i>remove=False</i>)
Device.autorefresh</h3>
<b>autorefresh</b>(<i>remove=False</i>)
<p>
Registriert ein Device fuer die automatische Synchronisierung.
Registriert dieses Device fuer die automatische Synchronisierung.
</p><dl>
<dt><i>remove</i></dt>
<dd>
@@ -551,7 +549,7 @@ bool() True entfernt Device aus Synchronisierung
Device.get_allios</h3>
<b>get_allios</b>(<i></i>)
<p>
Gibt eine Liste aller Inputs und Outputs zurueck.
Gibt eine Liste aller Inputs und Outputs zurueck, keine MEMs.
</p><dl>
<dt>Returns:</dt>
<dd>

View File

@@ -318,7 +318,7 @@ Thread
<h3 style="background-color:#FFFFFF;color:#FF0000">
Class Attributes</h3>
<table>
<tr><td>refresh</td></tr>
<tr><td>ioerrors</td></tr><tr><td>maxioerrors</td></tr><tr><td>refresh</td></tr>
</table>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Class Methods</h3>
@@ -332,8 +332,14 @@ Methods</h3>
<td><a style="color:#0000FF" href="#ProcimgWriter.__init__">ProcimgWriter</a></td>
<td>Init ProcimgWriter class.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#ProcimgWriter._get_ioerrors">_get_ioerrors</a></td>
<td>Ruft aktuelle Anzahl der Fehler ab.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#ProcimgWriter._gotioerror">_gotioerror</a></td>
<td>IOError Verwaltung fuer auto_refresh.</td>
<td>IOError Verwaltung fuer autorefresh.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#ProcimgWriter.get_maxioerrors">get_maxioerrors</a></td>
<td>Gibt die Anzahl der maximal erlaubten Fehler zurueck.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#ProcimgWriter.get_refresh">get_refresh</a></td>
<td>Gibt Zykluszeit zurueck.</td>
@@ -341,6 +347,9 @@ Methods</h3>
<td><a style="color:#0000FF" href="#ProcimgWriter.run">run</a></td>
<td>Startet die automatische Prozessabbildsynchronisierung.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#ProcimgWriter.set_maxioerrors">set_maxioerrors</a></td>
<td>Setzt die Anzahl der maximal erlaubten Fehler.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#ProcimgWriter.set_refresh">set_refresh</a></td>
<td>Setzt die Zykluszeit in Millisekunden.</td>
</tr><tr>
@@ -364,13 +373,35 @@ Init ProcimgWriter class.
<dd>
Parent Object
</dd>
</dl><a NAME="ProcimgWriter._get_ioerrors" ID="ProcimgWriter._get_ioerrors"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
ProcimgWriter._get_ioerrors</h3>
<b>_get_ioerrors</b>(<i></i>)
<p>
Ruft aktuelle Anzahl der Fehler ab.
</p><dl>
<dt>Returns:</dt>
<dd>
Aktuelle Fehleranzahl
</dd>
</dl><a NAME="ProcimgWriter._gotioerror" ID="ProcimgWriter._gotioerror"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
ProcimgWriter._gotioerror</h3>
<b>_gotioerror</b>(<i></i>)
<p>
IOError Verwaltung fuer auto_refresh.
</p><a NAME="ProcimgWriter.get_refresh" ID="ProcimgWriter.get_refresh"></a>
IOError Verwaltung fuer autorefresh.
</p><a NAME="ProcimgWriter.get_maxioerrors" ID="ProcimgWriter.get_maxioerrors"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
ProcimgWriter.get_maxioerrors</h3>
<b>get_maxioerrors</b>(<i></i>)
<p>
Gibt die Anzahl der maximal erlaubten Fehler zurueck.
</p><dl>
<dt>Returns:</dt>
<dd>
Anzahl erlaubte Fehler
</dd>
</dl><a NAME="ProcimgWriter.get_refresh" ID="ProcimgWriter.get_refresh"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
ProcimgWriter.get_refresh</h3>
<b>get_refresh</b>(<i></i>)
@@ -387,7 +418,18 @@ ProcimgWriter.run</h3>
<b>run</b>(<i></i>)
<p>
Startet die automatische Prozessabbildsynchronisierung.
</p><a NAME="ProcimgWriter.set_refresh" ID="ProcimgWriter.set_refresh"></a>
</p><a NAME="ProcimgWriter.set_maxioerrors" ID="ProcimgWriter.set_maxioerrors"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
ProcimgWriter.set_maxioerrors</h3>
<b>set_maxioerrors</b>(<i>value</i>)
<p>
Setzt die Anzahl der maximal erlaubten Fehler.
</p><dl>
<dt><i>value</i></dt>
<dd>
Anzahl erlaubte Fehler
</dd>
</dl><a NAME="ProcimgWriter.set_refresh" ID="ProcimgWriter.set_refresh"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
ProcimgWriter.set_refresh</h3>
<b>set_refresh</b>(<i>value</i>)

View File

@@ -58,7 +58,7 @@ object
<h3 style="background-color:#FFFFFF;color:#FF0000">
Class Attributes</h3>
<table>
<tr><td>address</td></tr><tr><td>length</td></tr><tr><td>name</td></tr><tr><td>value</td></tr>
<tr><td>address</td></tr><tr><td>byteorder</td></tr><tr><td>length</td></tr><tr><td>name</td></tr><tr><td>value</td></tr>
</table>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Class Methods</h3>
@@ -81,16 +81,16 @@ Methods</h3>
<td><a style="color:#0000FF" href="#IOBase.__str__">__str__</a></td>
<td>str()-wert der Klasse.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#IOBase._get_address">_get_address</a></td>
<td>Gibt die absolute Byteadresse im Prozessabbild zurueck.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#IOBase._get_byteorder">_get_byteorder</a></td>
<td>Gibt konfigurierte Byteorder zurueck.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#IOBase.get_address">get_address</a></td>
<td>Gibt die absolute Byteadresse im Prozessabbild zurueck.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#IOBase.get_length">get_length</a></td>
<td><a style="color:#0000FF" href="#IOBase._get_length">_get_length</a></td>
<td>Gibt die Bytelaenge des IO zurueck.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#IOBase.get_name">get_name</a></td>
<td><a style="color:#0000FF" href="#IOBase._get_name">_get_name</a></td>
<td>Gibt den Namen des IOs zurueck.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#IOBase.get_value">get_value</a></td>
@@ -120,7 +120,7 @@ Static Methods</h3>
<a NAME="IOBase.__init__" ID="IOBase.__init__"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
IOBase (Constructor)</h3>
<b>IOBase</b>(<i>parentdevice, valuelist, iotype, byteorder</i>)
<b>IOBase</b>(<i>parentdevice, valuelist, iotype, byteorder, signed</i>)
<p>
Instantiierung der IOBase()-Klasse.
</p><dl>
@@ -136,6 +136,9 @@ IOType() Wert
</dd><dt><i>byteorder</i></dt>
<dd>
Byteorder 'little' / 'big' fuer int() Berechnung
</dd><dt><i>sigend</i></dt>
<dd>
Intberechnung mit Vorzeichen durchfuehren
</dd>
</dl><a NAME="IOBase.__bool__" ID="IOBase.__bool__"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
@@ -170,6 +173,17 @@ str()-wert der Klasse.
<dd>
Namen des IOs
</dd>
</dl><a NAME="IOBase._get_address" ID="IOBase._get_address"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
IOBase._get_address</h3>
<b>_get_address</b>(<i></i>)
<p>
Gibt die absolute Byteadresse im Prozessabbild zurueck.
</p><dl>
<dt>Returns:</dt>
<dd>
Absolute Byteadresse
</dd>
</dl><a NAME="IOBase._get_byteorder" ID="IOBase._get_byteorder"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
IOBase._get_byteorder</h3>
@@ -181,21 +195,10 @@ Gibt konfigurierte Byteorder zurueck.
<dd>
str() Byteorder
</dd>
</dl><a NAME="IOBase.get_address" ID="IOBase.get_address"></a>
</dl><a NAME="IOBase._get_length" ID="IOBase._get_length"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
IOBase.get_address</h3>
<b>get_address</b>(<i></i>)
<p>
Gibt die absolute Byteadresse im Prozessabbild zurueck.
</p><dl>
<dt>Returns:</dt>
<dd>
Absolute Byteadresse
</dd>
</dl><a NAME="IOBase.get_length" ID="IOBase.get_length"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
IOBase.get_length</h3>
<b>get_length</b>(<i></i>)
IOBase._get_length</h3>
<b>_get_length</b>(<i></i>)
<p>
Gibt die Bytelaenge des IO zurueck.
</p><dl>
@@ -203,10 +206,10 @@ Gibt die Bytelaenge des IO zurueck.
<dd>
Bytelaenge des IO
</dd>
</dl><a NAME="IOBase.get_name" ID="IOBase.get_name"></a>
</dl><a NAME="IOBase._get_name" ID="IOBase._get_name"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
IOBase.get_name</h3>
<b>get_name</b>(<i></i>)
IOBase._get_name</h3>
<b>_get_name</b>(<i></i>)
<p>
Gibt den Namen des IOs zurueck.
</p><dl>
@@ -304,7 +307,7 @@ IOBase.wait</h3>
Wartet auf Wertaenderung eines IOs.
</p><p>
Die Wertaenderung wird immer uerberprueft, wenn fuer Devices
in Devicelist.auto_refresh() neue Daten gelesen wurden.
mit aktiviertem autorefresh neue Daten gelesen wurden.
</p><p>
Bei Wertaenderung, wird das Warten mit 0 als Rueckgabewert beendet.
</p><p>
@@ -324,7 +327,7 @@ Wartet auf Wertaenderung eines IOs.
</p><p>
Der Timeoutwert bricht beim Erreichen das Warten sofort mit
Wert 2 Rueckgabewert ab. (Das Timeout wird ueber die Zykluszeit
der auto_refresh Funktion berechnet, entspricht also nicht exact den
der autorefresh Funktion berechnet, entspricht also nicht exact den
angegeben Millisekunden! Es wird immer nach oben gerundet!)
</p><dl>
<dt><i>edge</i></dt>
@@ -387,7 +390,7 @@ Methods</h3>
<td>Entfernt angegebenen IO.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#IOList.__getattr__">__getattr__</a></td>
<td>Verwaltet geloeschte IOs.</td>
<td>Verwaltet geloeschte IOs (Attribute, die nicht existieren).</td>
</tr><tr>
<td><a style="color:#0000FF" href="#IOList.__getitem__">__getitem__</a></td>
<td>Ruft angegebenen IO ab.</td>
@@ -395,7 +398,7 @@ Methods</h3>
<td><a style="color:#0000FF" href="#IOList.__iter__">__iter__</a></td>
<td>Gibt Iterator aller IOs zurueck.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#IOList.__replace_oldio_with_newio">__replace_oldio_with_newio</a></td>
<td><a style="color:#0000FF" href="#IOList.__private_replace_oldio_with_newio">__private_replace_oldio_with_newio</a></td>
<td>Ersetzt bestehende IOs durch den neu Registrierten.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#IOList.__setattr__">__setattr__</a></td>
@@ -404,7 +407,10 @@ Methods</h3>
<td><a style="color:#0000FF" href="#IOList.__setitem__">__setitem__</a></td>
<td>Setzt IO Wert.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#IOList._register_new_io_object">_register_new_io_object</a></td>
<td><a style="color:#0000FF" href="#IOList._getdict">_getdict</a></td>
<td></td>
</tr><tr>
<td><a style="color:#0000FF" href="#IOList._private_register_new_io_object">_private_register_new_io_object</a></td>
<td>Registriert neues IO Objekt unabhaenging von __setattr__.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#IOList._testme">_testme</a></td>
@@ -454,7 +460,7 @@ IO zum entfernen
IOList.__getattr__</h3>
<b>__getattr__</b>(<i>key</i>)
<p>
Verwaltet geloeschte IOs.
Verwaltet geloeschte IOs (Attribute, die nicht existieren).
</p><dl>
<dt><i>key</i></dt>
<dd>
@@ -492,10 +498,10 @@ Gibt Iterator aller IOs zurueck.
<dd>
Iterator aller IOs
</dd>
</dl><a NAME="IOList.__replace_oldio_with_newio" ID="IOList.__replace_oldio_with_newio"></a>
</dl><a NAME="IOList.__private_replace_oldio_with_newio" ID="IOList.__private_replace_oldio_with_newio"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
IOList.__replace_oldio_with_newio</h3>
<b>__replace_oldio_with_newio</b>(<i>io</i>)
IOList.__private_replace_oldio_with_newio</h3>
<b>__private_replace_oldio_with_newio</b>(<i>io</i>)
<p>
Ersetzt bestehende IOs durch den neu Registrierten.
</p><dl>
@@ -531,10 +537,14 @@ IO Name oder Byte
<dd>
Wert, auf den der IO gesetzt wird
</dd>
</dl><a NAME="IOList._register_new_io_object" ID="IOList._register_new_io_object"></a>
</dl><a NAME="IOList._getdict" ID="IOList._getdict"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
IOList._register_new_io_object</h3>
<b>_register_new_io_object</b>(<i>new_io</i>)
IOList._getdict</h3>
<b>_getdict</b>(<i></i>)
<a NAME="IOList._private_register_new_io_object" ID="IOList._private_register_new_io_object"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
IOList._private_register_new_io_object</h3>
<b>_private_register_new_io_object</b>(<i>new_io</i>)
<p>
Registriert neues IO Objekt unabhaenging von __setattr__.
</p><dl>
@@ -694,7 +704,7 @@ IOBase
<h3 style="background-color:#FFFFFF;color:#FF0000">
Class Attributes</h3>
<table>
<tr><td>byteorder</td></tr><tr><td>value</td></tr>
<tr><td>signed</td></tr><tr><td>value</td></tr>
</table>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Class Methods</h3>
@@ -708,6 +718,9 @@ Methods</h3>
<td><a style="color:#0000FF" href="#StructIO.__init__">StructIO</a></td>
<td>Erstellt einen IO mit struct-Formatierung.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#StructIO._get_signed">_get_signed</a></td>
<td>Ruft ab, ob der Wert Vorzeichenbehaftet behandelt werden soll.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#StructIO.get_structvalue">get_structvalue</a></td>
<td>Gibt den Wert mit struct Formatierung zurueck.</td>
</tr><tr>
@@ -723,7 +736,7 @@ Static Methods</h3>
<a NAME="StructIO.__init__" ID="StructIO.__init__"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
StructIO (Constructor)</h3>
<b>StructIO</b>(<i>parentio, name, iotype, byteorder, frm, **kwargs</i>)
<b>StructIO</b>(<i>parentio, name, frm, **kwargs</i>)
<p>
Erstellt einen IO mit struct-Formatierung.
</p><dl>
@@ -733,12 +746,6 @@ ParentIO Objekt, welches ersetzt wird
</dd><dt><i>name</i></dt>
<dd>
Name des neuen IO
</dd><dt><i>iotype</i></dt>
<dd>
IOType() Wert
</dd><dt><i>byteorder</i></dt>
<dd>
Byteorder 'little' / 'big' fuer int() Berechnung
</dd><dt><i>frm</i></dt>
<dd>
struct() formatierung (1 Zeichen)
@@ -747,8 +754,20 @@ struct() formatierung (1 Zeichen)
Weitere Parameter:
- bmk: Bezeichnung fuer Output
- bit: Registriert Outputs als bool() am angegebenen Bit im Byte
- byteorder: Byteorder fuer den Input, Standardwert=little
- defaultvalue: Standardwert fuer Output, Standard ist 0
</dd>
</dl><a NAME="StructIO._get_signed" ID="StructIO._get_signed"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
StructIO._get_signed</h3>
<b>_get_signed</b>(<i></i>)
<p>
Ruft ab, ob der Wert Vorzeichenbehaftet behandelt werden soll.
</p><dl>
<dt>Returns:</dt>
<dd>
True, wenn Vorzeichenbehaftet
</dd>
</dl><a NAME="StructIO.get_structvalue" ID="StructIO.get_structvalue"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
StructIO.get_structvalue</h3>

View File

@@ -54,7 +54,7 @@ object
<h3 style="background-color:#FFFFFF;color:#FF0000">
Class Attributes</h3>
<table>
<tr><td>configrsc</td></tr><tr><td>cycletime</td></tr><tr><td>length</td></tr><tr><td>monitoring</td></tr><tr><td>procimg</td></tr><tr><td>simulator</td></tr>
<tr><td>configrsc</td></tr><tr><td>cycletime</td></tr><tr><td>ioerrors</td></tr><tr><td>length</td></tr><tr><td>maxioerrors</td></tr><tr><td>monitoring</td></tr><tr><td>procimg</td></tr><tr><td>simulator</td></tr>
</table>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Class Methods</h3>
@@ -86,9 +86,15 @@ Methods</h3>
<td><a style="color:#0000FF" href="#RevPiModIO._get_cycletime">_get_cycletime</a></td>
<td>Gibt Aktualisierungsrate in ms der Prozessabbildsynchronisierung aus.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#RevPiModIO._get_ioerrors">_get_ioerrors</a></td>
<td>Getter function.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#RevPiModIO._get_length">_get_length</a></td>
<td>Getter function.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#RevPiModIO._get_maxioerrors">_get_maxioerrors</a></td>
<td>Getter function.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#RevPiModIO._get_monitoring">_get_monitoring</a></td>
<td>Getter function.</td>
</tr><tr>
@@ -98,23 +104,26 @@ Methods</h3>
<td><a style="color:#0000FF" href="#RevPiModIO._get_simulator">_get_simulator</a></td>
<td>Getter function.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#RevPiModIO._gotioerror">_gotioerror</a></td>
<td>IOError Verwaltung fuer Prozessabbildzugriff.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#RevPiModIO._set_cycletime">_set_cycletime</a></td>
<td>Setzt Aktualisierungsrate der Prozessabbild-Synchronisierung.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#RevPiModIO.auto_refresh_maxioerrors">auto_refresh_maxioerrors</a></td>
<td>Maximale IO Fehler fuer auto_refresh.</td>
<td><a style="color:#0000FF" href="#RevPiModIO._set_maxioerrors">_set_maxioerrors</a></td>
<td>Setzt Anzahl der maximal erlaubten Fehler bei Prozessabbildzugriff.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#RevPiModIO.auto_refresh_resetioerrors">auto_refresh_resetioerrors</a></td>
<td>Setzt aktuellen IOError-Zaehler auf 0 zurueck.</td>
<td><a style="color:#0000FF" href="#RevPiModIO.autorefresh_all">autorefresh_all</a></td>
<td>Setzt alle Devices in autorefresh Funktion.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#RevPiModIO.cleanup">cleanup</a></td>
<td>Beendet auto_refresh und alle Threads.</td>
<td>Beendet autorefresh und alle Threads.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#RevPiModIO.cycleloop">cycleloop</a></td>
<td>Startet den Cycleloop.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#RevPiModIO.exit">exit</a></td>
<td>Beendet mainloop() und optional auto_refresh.</td>
<td>Beendet mainloop() und optional autorefresh.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#RevPiModIO.get_jconfigrsc">get_jconfigrsc</a></td>
<td>Laed die piCotry Konfiguration und erstellt ein dict().</td>
@@ -128,6 +137,9 @@ Methods</h3>
<td><a style="color:#0000FF" href="#RevPiModIO.readprocimg">readprocimg</a></td>
<td>Einlesen aller Inputs aller/eines Devices vom Prozessabbild.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#RevPiModIO.resetioerrors">resetioerrors</a></td>
<td>Setzt aktuellen IOError-Zaehler auf 0 zurueck.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#RevPiModIO.setdefaultvalues">setdefaultvalues</a></td>
<td>Alle Outputbuffer werden auf die piCtory default Werte gesetzt.</td>
</tr><tr>
@@ -156,7 +168,7 @@ Instantiiert die Grundfunktionen.
<dt><i>kwargs</i></dt>
<dd>
Weitere Parameter:
- auto_refresh: Wenn True, alle Devices zu auto_refresh hinzufuegen
- autorefresh: Wenn True, alle Devices zu autorefresh hinzufuegen
- configrsc: Pfad zur piCtory Konfigurationsdatei
- procimg: Pfad zum Prozessabbild
- monitoring: In- und Outputs werden gelesen, niemals geschrieben
@@ -218,6 +230,17 @@ Gibt Aktualisierungsrate in ms der Prozessabbildsynchronisierung aus.
<dd>
Millisekunden
</dd>
</dl><a NAME="RevPiModIO._get_ioerrors" ID="RevPiModIO._get_ioerrors"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
RevPiModIO._get_ioerrors</h3>
<b>_get_ioerrors</b>(<i></i>)
<p>
Getter function.
</p><dl>
<dt>Returns:</dt>
<dd>
Aktuelle Anzahl gezaehlter Fehler
</dd>
</dl><a NAME="RevPiModIO._get_length" ID="RevPiModIO._get_length"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
RevPiModIO._get_length</h3>
@@ -229,6 +252,17 @@ Getter function.
<dd>
Laenge in Bytes der Devices
</dd>
</dl><a NAME="RevPiModIO._get_maxioerrors" ID="RevPiModIO._get_maxioerrors"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
RevPiModIO._get_maxioerrors</h3>
<b>_get_maxioerrors</b>(<i></i>)
<p>
Getter function.
</p><dl>
<dt>Returns:</dt>
<dd>
Anzahl erlaubte Fehler
</dd>
</dl><a NAME="RevPiModIO._get_monitoring" ID="RevPiModIO._get_monitoring"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
RevPiModIO._get_monitoring</h3>
@@ -262,7 +296,13 @@ Getter function.
<dd>
True, wenn als Simulator gestartet
</dd>
</dl><a NAME="RevPiModIO._set_cycletime" ID="RevPiModIO._set_cycletime"></a>
</dl><a NAME="RevPiModIO._gotioerror" ID="RevPiModIO._gotioerror"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
RevPiModIO._gotioerror</h3>
<b>_gotioerror</b>(<i>action</i>)
<p>
IOError Verwaltung fuer Prozessabbildzugriff.
</p><a NAME="RevPiModIO._set_cycletime" ID="RevPiModIO._set_cycletime"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
RevPiModIO._set_cycletime</h3>
<b>_set_cycletime</b>(<i>milliseconds</i>)
@@ -273,34 +313,29 @@ Setzt Aktualisierungsrate der Prozessabbild-Synchronisierung.
<dd>
int() in Millisekunden
</dd>
</dl><a NAME="RevPiModIO.auto_refresh_maxioerrors" ID="RevPiModIO.auto_refresh_maxioerrors"></a>
</dl><a NAME="RevPiModIO._set_maxioerrors" ID="RevPiModIO._set_maxioerrors"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
RevPiModIO.auto_refresh_maxioerrors</h3>
<b>auto_refresh_maxioerrors</b>(<i>value=None</i>)
RevPiModIO._set_maxioerrors</h3>
<b>_set_maxioerrors</b>(<i>value</i>)
<p>
Maximale IO Fehler fuer auto_refresh.
Setzt Anzahl der maximal erlaubten Fehler bei Prozessabbildzugriff.
</p><dl>
<dt><i>value</i></dt>
<dd>
Setzt maximale Anzahl bis exception ausgeloest wird
Anzahl erlaubte Fehler
</dd>
</dl><dl>
<dt>Returns:</dt>
<dd>
Maximale Anzahl bis exception ausgeloest wird
</dd>
</dl><a NAME="RevPiModIO.auto_refresh_resetioerrors" ID="RevPiModIO.auto_refresh_resetioerrors"></a>
</dl><a NAME="RevPiModIO.autorefresh_all" ID="RevPiModIO.autorefresh_all"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
RevPiModIO.auto_refresh_resetioerrors</h3>
<b>auto_refresh_resetioerrors</b>(<i></i>)
RevPiModIO.autorefresh_all</h3>
<b>autorefresh_all</b>(<i></i>)
<p>
Setzt aktuellen IOError-Zaehler auf 0 zurueck.
Setzt alle Devices in autorefresh Funktion.
</p><a NAME="RevPiModIO.cleanup" ID="RevPiModIO.cleanup"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
RevPiModIO.cleanup</h3>
<b>cleanup</b>(<i></i>)
<p>
Beendet auto_refresh und alle Threads.
Beendet autorefresh und alle Threads.
</p><a NAME="RevPiModIO.cycleloop" ID="RevPiModIO.cycleloop"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
RevPiModIO.cycleloop</h3>
@@ -321,19 +356,18 @@ Startet den Cycleloop.
revpimodio.exit().
</p><p>
HINWEIS: Die Aktualisierungszeit und die Laufzeit der Funktion duerfen
die eingestellte auto_refresh Zeit, bzw. uebergebene cycletime nicht
die eingestellte autorefresh Zeit, bzw. uebergebene cycletime nicht
ueberschreiten!
</p><p>
Ueber den Parameter cycletime kann die Aktualisierungsrate fuer das
Prozessabbild gesetzt werden (selbe Funktion wie
set_refreshtime(milliseconds)).
Ueber das Attribut cycletime kann die Aktualisierungsrate fuer das
Prozessabbild gesetzt werden.
</p><dl>
<dt><i>func</i></dt>
<dd>
Funktion, die ausgefuehrt werden soll
</dd><dt><i>cycletime</i></dt>
<dd>
auto_refresh Wert in Millisekunden
autorefresh Wert in Millisekunden
</dd>
</dl><dl>
<dt>Returns:</dt>
@@ -345,18 +379,18 @@ None
RevPiModIO.exit</h3>
<b>exit</b>(<i>full=True</i>)
<p>
Beendet mainloop() und optional auto_refresh.
Beendet mainloop() und optional autorefresh.
</p><p>
Wenn sich das Programm im mainloop() befindet, wird durch Aufruf
von exit() die Kontrolle wieder an das Hauptprogramm zurueckgegeben.
</p><p>
Der Parameter full ist mit True vorbelegt und entfernt alle Devices aus
dem auto_refresh. Der Thread fuer die Prozessabbildsynchronisierung
dem autorefresh. Der Thread fuer die Prozessabbildsynchronisierung
wird dann gestoppt und das Programm kann sauber beendet werden.
</p><dl>
<dt><i>full</i></dt>
<dd>
Entfernt auch alle Devices aus auto_refresh
Entfernt auch alle Devices aus autorefresh
</dd>
</dl><a NAME="RevPiModIO.get_jconfigrsc" ID="RevPiModIO.get_jconfigrsc"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
@@ -452,7 +486,13 @@ nur auf einzelnes Device anwenden
<dd>
True, wenn Arbeiten an allen Devices erfolgreich waren
</dd>
</dl><a NAME="RevPiModIO.setdefaultvalues" ID="RevPiModIO.setdefaultvalues"></a>
</dl><a NAME="RevPiModIO.resetioerrors" ID="RevPiModIO.resetioerrors"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
RevPiModIO.resetioerrors</h3>
<b>resetioerrors</b>(<i></i>)
<p>
Setzt aktuellen IOError-Zaehler auf 0 zurueck.
</p><a NAME="RevPiModIO.setdefaultvalues" ID="RevPiModIO.setdefaultvalues"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
RevPiModIO.setdefaultvalues</h3>
<b>setdefaultvalues</b>(<i>force=False, device=None</i>)