mirror of
https://github.com/naruxde/revpipycontrol.git
synced 2025-11-08 15:43:52 +01:00
docstrings angepasst
This commit is contained in:
@@ -38,7 +38,7 @@ Hängt root-dir der Anwendung vor Dateinamen.
|
||||
Je nach Ausführungsart der Anwendung muss das root-dir über
|
||||
andere Arten abgerufen werden.
|
||||
</p><dl>
|
||||
<dt><i>filename:</i></dt>
|
||||
<dt><i>filename</i></dt>
|
||||
<dd>
|
||||
Datei oder Ordnername
|
||||
</dd>
|
||||
|
||||
@@ -125,10 +125,10 @@ RevPiCheckClient.__hidewin</h3>
|
||||
<p>
|
||||
Verbergt übergebenes Fenster.
|
||||
</p><dl>
|
||||
<dt><i>win:</i></dt>
|
||||
<dt><i>win</i></dt>
|
||||
<dd>
|
||||
Fenster zum verbergen
|
||||
</dd><dt><i>event:</i></dt>
|
||||
</dd><dt><i>event</i></dt>
|
||||
<dd>
|
||||
Tkinter Event
|
||||
</dd>
|
||||
@@ -145,7 +145,7 @@ RevPiCheckClient.__showwin</h3>
|
||||
<p>
|
||||
Zeigt oder verbergt übergebenes Fenster.
|
||||
</p><dl>
|
||||
<dt><i>win:</i></dt>
|
||||
<dt><i>win</i></dt>
|
||||
<dd>
|
||||
Fenster zum anzeigen/verbergen
|
||||
</dd>
|
||||
@@ -156,13 +156,30 @@ RevPiCheckClient.__spinboxkey</h3>
|
||||
<p>
|
||||
Prüft die Eingabe auf plausibilität.
|
||||
</p><dl>
|
||||
<dt><i>event:</i></dt>
|
||||
<dt><i>event</i></dt>
|
||||
<dd>
|
||||
tkinter Event
|
||||
</dd><dt><i>io:</i></dt>
|
||||
</dd><dt><i>io</i></dt>
|
||||
<dd>
|
||||
IO Liste mit tkinter Variable
|
||||
</dd>
|
||||
</dl><a NAME="RevPiCheckClient._createiogroup" ID="RevPiCheckClient._createiogroup"></a>
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
RevPiCheckClient._createiogroup</h3>
|
||||
<b>_createiogroup</b>(<i>device, frame, iotype</i>)
|
||||
<p>
|
||||
Erstellt IO-Gruppen.
|
||||
</p><dl>
|
||||
<dt><i>device</i></dt>
|
||||
<dd>
|
||||
Deviceposition
|
||||
</dd><dt><i>frame</i></dt>
|
||||
<dd>
|
||||
tkinter Frame
|
||||
</dd><dt><i>iotype</i></dt>
|
||||
<dd>
|
||||
'inp' oder 'out' als str()
|
||||
</dd>
|
||||
</dl><a NAME="RevPiCheckClient._createwidgets" ID="RevPiCheckClient._createwidgets"></a>
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
RevPiCheckClient._createwidgets</h3>
|
||||
@@ -176,7 +193,7 @@ RevPiCheckClient._onfrmconf</h3>
|
||||
<p>
|
||||
Erstellt Fenster in einem Canvas.
|
||||
</p><dl>
|
||||
<dt><i>canvas:</i></dt>
|
||||
<dt><i>canvas</i></dt>
|
||||
<dd>
|
||||
Canvas in dem Objekte erstellt werden sollen
|
||||
</dd>
|
||||
@@ -198,10 +215,10 @@ RevPiCheckClient._workvalues</h3>
|
||||
<p>
|
||||
Alle Werte der Inputs und Outputs abrufen.
|
||||
</p><dl>
|
||||
<dt><i>io_dicts:</i></dt>
|
||||
<dt><i>io_dicts</i></dt>
|
||||
<dd>
|
||||
Arbeit nur für dieses Dict()
|
||||
</dd><dt><i>writeout:</i></dt>
|
||||
</dd><dt><i>writeout</i></dt>
|
||||
<dd>
|
||||
Änderungen auf RevPi schreiben
|
||||
</dd>
|
||||
@@ -242,7 +259,7 @@ RevPiCheckClient.validatereturn</h3>
|
||||
<p>
|
||||
Überprüft die Rückgaben der setvalue Funktion.
|
||||
</p><dl>
|
||||
<dt><i>returnlist:</i></dt>
|
||||
<dt><i>returnlist</i></dt>
|
||||
<dd>
|
||||
list() der xml Rückgabe
|
||||
</dd>
|
||||
|
||||
@@ -77,7 +77,7 @@ RevPiInfo._checkclose</h3>
|
||||
<p>
|
||||
Prüft ob Fenster beendet werden soll.
|
||||
</p><dl>
|
||||
<dt><i>event:</i></dt>
|
||||
<dt><i>event</i></dt>
|
||||
<dd>
|
||||
tkinter-Event
|
||||
</dd>
|
||||
|
||||
@@ -89,7 +89,7 @@ RevPiLogfile._checkclose</h3>
|
||||
<p>
|
||||
Prüft ob Fenster beendet werden soll.
|
||||
</p><dl>
|
||||
<dt><i>event:</i></dt>
|
||||
<dt><i>event</i></dt>
|
||||
<dd>
|
||||
tkinter-Event
|
||||
</dd>
|
||||
@@ -106,16 +106,16 @@ RevPiLogfile._load_log</h3>
|
||||
<p>
|
||||
Läd die angegebenen Logfiles herunter.
|
||||
</p><dl>
|
||||
<dt><i>textwidget:</i></dt>
|
||||
<dt><i>textwidget</i></dt>
|
||||
<dd>
|
||||
Widget in das Logs eingefügt werden sollen
|
||||
</dd><dt><i>xmlcall:</i></dt>
|
||||
</dd><dt><i>xmlcall</i></dt>
|
||||
<dd>
|
||||
xmlrpc Funktion zum Abrufen der Logdaten
|
||||
</dd><dt><i>startposition:</i></dt>
|
||||
</dd><dt><i>startposition</i></dt>
|
||||
<dd>
|
||||
Startposition ab der Logdaten kommen sollen
|
||||
</dd><dt><i>full:</i></dt>
|
||||
</dd><dt><i>full</i></dt>
|
||||
<dd>
|
||||
Komplettes Logbuch laden
|
||||
</dd>
|
||||
@@ -143,7 +143,7 @@ RevPiLogfile.get_applog</h3>
|
||||
<p>
|
||||
Ruft App Logbuch ab.
|
||||
</p><dl>
|
||||
<dt><i>full:</i></dt>
|
||||
<dt><i>full</i></dt>
|
||||
<dd>
|
||||
Ganzes Logbuch laden
|
||||
</dd>
|
||||
@@ -154,7 +154,7 @@ RevPiLogfile.get_plclog</h3>
|
||||
<p>
|
||||
Ruft PLC Logbuch ab.
|
||||
</p><dl>
|
||||
<dt><i>full:</i></dt>
|
||||
<dt><i>full</i></dt>
|
||||
<dd>
|
||||
Ganzes Logbuch laden
|
||||
</dd>
|
||||
|
||||
@@ -105,7 +105,7 @@ RevPiOption._checkclose</h3>
|
||||
<p>
|
||||
Prüft ob Fenster beendet werden soll.
|
||||
</p><dl>
|
||||
<dt><i>event:</i></dt>
|
||||
<dt><i>event</i></dt>
|
||||
<dd>
|
||||
tkinter-Event
|
||||
</dd>
|
||||
|
||||
@@ -65,22 +65,22 @@ Methods</h3>
|
||||
<td>Füllt Verbindungsliste.</td>
|
||||
</tr><tr>
|
||||
<td><a style="color:#0000FF" href="#RevPiPlcList.evt_btnadd">evt_btnadd</a></td>
|
||||
<td></td>
|
||||
<td>Verbindungseinstellungen übernehmen.</td>
|
||||
</tr><tr>
|
||||
<td><a style="color:#0000FF" href="#RevPiPlcList.evt_btnnew">evt_btnnew</a></td>
|
||||
<td></td>
|
||||
<td>Neue Verbindung erstellen.</td>
|
||||
</tr><tr>
|
||||
<td><a style="color:#0000FF" href="#RevPiPlcList.evt_btnremove">evt_btnremove</a></td>
|
||||
<td></td>
|
||||
<td>Verbindung löschen.</td>
|
||||
</tr><tr>
|
||||
<td><a style="color:#0000FF" href="#RevPiPlcList.evt_btnsave">evt_btnsave</a></td>
|
||||
<td></td>
|
||||
<td>Alle Verbindungen speichern.</td>
|
||||
</tr><tr>
|
||||
<td><a style="color:#0000FF" href="#RevPiPlcList.evt_keypress">evt_keypress</a></td>
|
||||
<td></td>
|
||||
<td>Passt bei Tastendruck den Status der Buttons an.</td>
|
||||
</tr><tr>
|
||||
<td><a style="color:#0000FF" href="#RevPiPlcList.evt_listconn">evt_listconn</a></td>
|
||||
<td></td>
|
||||
<td>Übernimmt Einstellungen in Eingabefelder.</td>
|
||||
</tr>
|
||||
</table>
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
@@ -95,7 +95,7 @@ RevPiPlcList (Constructor)</h3>
|
||||
<p>
|
||||
Init RevPiPlcList-class.
|
||||
</p><dl>
|
||||
<dt><i>master:</i></dt>
|
||||
<dt><i>master</i></dt>
|
||||
<dd>
|
||||
tkinter master
|
||||
</dd>
|
||||
@@ -106,7 +106,7 @@ RevPiPlcList._checkclose</h3>
|
||||
<p>
|
||||
Prüft ob Fenster beendet werden soll.
|
||||
</p><dl>
|
||||
<dt><i>event:</i></dt>
|
||||
<dt><i>event</i></dt>
|
||||
<dd>
|
||||
tkinter-Event
|
||||
</dd>
|
||||
@@ -122,7 +122,12 @@ RevPiPlcList._saveappdata</h3>
|
||||
<b>_saveappdata</b>(<i></i>)
|
||||
<p>
|
||||
Speichert Verbindungen im home Dir.
|
||||
</p><a NAME="RevPiPlcList.build_listconn" ID="RevPiPlcList.build_listconn"></a>
|
||||
</p><dl>
|
||||
<dt>Returns:</dt>
|
||||
<dd>
|
||||
True, bei erfolgreicher Verarbeitung
|
||||
</dd>
|
||||
</dl><a NAME="RevPiPlcList.build_listconn" ID="RevPiPlcList.build_listconn"></a>
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
RevPiPlcList.build_listconn</h3>
|
||||
<b>build_listconn</b>(<i></i>)
|
||||
@@ -132,27 +137,39 @@ Füllt Verbindungsliste.
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
RevPiPlcList.evt_btnadd</h3>
|
||||
<b>evt_btnadd</b>(<i></i>)
|
||||
<a NAME="RevPiPlcList.evt_btnnew" ID="RevPiPlcList.evt_btnnew"></a>
|
||||
<p>
|
||||
Verbindungseinstellungen übernehmen.
|
||||
</p><a NAME="RevPiPlcList.evt_btnnew" ID="RevPiPlcList.evt_btnnew"></a>
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
RevPiPlcList.evt_btnnew</h3>
|
||||
<b>evt_btnnew</b>(<i></i>)
|
||||
<a NAME="RevPiPlcList.evt_btnremove" ID="RevPiPlcList.evt_btnremove"></a>
|
||||
<p>
|
||||
Neue Verbindung erstellen.
|
||||
</p><a NAME="RevPiPlcList.evt_btnremove" ID="RevPiPlcList.evt_btnremove"></a>
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
RevPiPlcList.evt_btnremove</h3>
|
||||
<b>evt_btnremove</b>(<i></i>)
|
||||
<a NAME="RevPiPlcList.evt_btnsave" ID="RevPiPlcList.evt_btnsave"></a>
|
||||
<p>
|
||||
Verbindung löschen.
|
||||
</p><a NAME="RevPiPlcList.evt_btnsave" ID="RevPiPlcList.evt_btnsave"></a>
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
RevPiPlcList.evt_btnsave</h3>
|
||||
<b>evt_btnsave</b>(<i></i>)
|
||||
<a NAME="RevPiPlcList.evt_keypress" ID="RevPiPlcList.evt_keypress"></a>
|
||||
<p>
|
||||
Alle Verbindungen speichern.
|
||||
</p><a NAME="RevPiPlcList.evt_keypress" ID="RevPiPlcList.evt_keypress"></a>
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
RevPiPlcList.evt_keypress</h3>
|
||||
<b>evt_keypress</b>(<i>evt=None</i>)
|
||||
<a NAME="RevPiPlcList.evt_listconn" ID="RevPiPlcList.evt_listconn"></a>
|
||||
<p>
|
||||
Passt bei Tastendruck den Status der Buttons an.
|
||||
</p><a NAME="RevPiPlcList.evt_listconn" ID="RevPiPlcList.evt_listconn"></a>
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
RevPiPlcList.evt_listconn</h3>
|
||||
<b>evt_listconn</b>(<i>evt=None</i>)
|
||||
|
||||
<p>
|
||||
Übernimmt Einstellungen in Eingabefelder.
|
||||
</p>
|
||||
<div align="right"><a style="color:#0000FF" href="#top">Up</a></div>
|
||||
<hr /><hr />
|
||||
<a NAME="get_connections" ID="get_connections"></a>
|
||||
@@ -160,7 +177,12 @@ RevPiPlcList.evt_listconn</h3>
|
||||
<b>get_connections</b>(<i></i>)
|
||||
<p>
|
||||
Verbindungen aus Datei laden.
|
||||
</p>
|
||||
</p><dl>
|
||||
<dt>Returns:</dt>
|
||||
<dd>
|
||||
dict() mit Verbindungen
|
||||
</dd>
|
||||
</dl>
|
||||
<div align="right"><a style="color:#0000FF" href="#top">Up</a></div>
|
||||
<hr />
|
||||
</body></html>
|
||||
@@ -50,19 +50,19 @@ Methods</h3>
|
||||
<td>Init RevPiProgram-Class.</td>
|
||||
</tr><tr>
|
||||
<td><a style="color:#0000FF" href="#RevPiProgram._checkclose">_checkclose</a></td>
|
||||
<td></td>
|
||||
<td>Prüft ob Fenster beendet werden soll.</td>
|
||||
</tr><tr>
|
||||
<td><a style="color:#0000FF" href="#RevPiProgram._createwidgets">_createwidgets</a></td>
|
||||
<td></td>
|
||||
<td>Erstellt alle Widgets.</td>
|
||||
</tr><tr>
|
||||
<td><a style="color:#0000FF" href="#RevPiProgram._evt_optdown">_evt_optdown</a></td>
|
||||
<td></td>
|
||||
<td>Passt je nach gewählter Option den Status der Widgets an.</td>
|
||||
</tr><tr>
|
||||
<td><a style="color:#0000FF" href="#RevPiProgram._evt_optup">_evt_optup</a></td>
|
||||
<td></td>
|
||||
<td>Passt je nach gewählter Option den Status der Widgets an.</td>
|
||||
</tr><tr>
|
||||
<td><a style="color:#0000FF" href="#RevPiProgram._loaddefault">_loaddefault</a></td>
|
||||
<td>Uebernimmt fuer den Pi die letzen Pfade.</td>
|
||||
<td>Übernimmt für den Pi die letzen Pfade.</td>
|
||||
</tr><tr>
|
||||
<td><a style="color:#0000FF" href="#RevPiProgram._savedefaults">_savedefaults</a></td>
|
||||
<td>Schreibt fuer den Pi die letzen Pfade.</td>
|
||||
@@ -103,35 +103,68 @@ RevPiProgram (Constructor)</h3>
|
||||
<b>RevPiProgram</b>(<i>master, xmlcli, xmlmode, revpi</i>)
|
||||
<p>
|
||||
Init RevPiProgram-Class.
|
||||
</p><a NAME="RevPiProgram._checkclose" ID="RevPiProgram._checkclose"></a>
|
||||
</p><dl>
|
||||
<dt>Returns:</dt>
|
||||
<dd>
|
||||
None
|
||||
</dd>
|
||||
</dl><a NAME="RevPiProgram._checkclose" ID="RevPiProgram._checkclose"></a>
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
RevPiProgram._checkclose</h3>
|
||||
<b>_checkclose</b>(<i>event=None</i>)
|
||||
<a NAME="RevPiProgram._createwidgets" ID="RevPiProgram._createwidgets"></a>
|
||||
<p>
|
||||
Prüft ob Fenster beendet werden soll.
|
||||
</p><dl>
|
||||
<dt><i>event</i></dt>
|
||||
<dd>
|
||||
tkinter-Event
|
||||
</dd>
|
||||
</dl><a NAME="RevPiProgram._createwidgets" ID="RevPiProgram._createwidgets"></a>
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
RevPiProgram._createwidgets</h3>
|
||||
<b>_createwidgets</b>(<i></i>)
|
||||
<a NAME="RevPiProgram._evt_optdown" ID="RevPiProgram._evt_optdown"></a>
|
||||
<p>
|
||||
Erstellt alle Widgets.
|
||||
</p><a NAME="RevPiProgram._evt_optdown" ID="RevPiProgram._evt_optdown"></a>
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
RevPiProgram._evt_optdown</h3>
|
||||
<b>_evt_optdown</b>(<i>text=""</i>)
|
||||
<a NAME="RevPiProgram._evt_optup" ID="RevPiProgram._evt_optup"></a>
|
||||
<p>
|
||||
Passt je nach gewählter Option den Status der Widgets an.
|
||||
</p><a NAME="RevPiProgram._evt_optup" ID="RevPiProgram._evt_optup"></a>
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
RevPiProgram._evt_optup</h3>
|
||||
<b>_evt_optup</b>(<i>text=""</i>)
|
||||
<a NAME="RevPiProgram._loaddefault" ID="RevPiProgram._loaddefault"></a>
|
||||
<p>
|
||||
Passt je nach gewählter Option den Status der Widgets an.
|
||||
</p><a NAME="RevPiProgram._loaddefault" ID="RevPiProgram._loaddefault"></a>
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
RevPiProgram._loaddefault</h3>
|
||||
<b>_loaddefault</b>(<i>full=False</i>)
|
||||
<p>
|
||||
Uebernimmt fuer den Pi die letzen Pfade.
|
||||
</p><a NAME="RevPiProgram._savedefaults" ID="RevPiProgram._savedefaults"></a>
|
||||
Übernimmt für den Pi die letzen Pfade.
|
||||
</p><dl>
|
||||
<dt><i>full</i></dt>
|
||||
<dd>
|
||||
Einstellungen für alle Verbindungen laden
|
||||
</dd>
|
||||
</dl><dl>
|
||||
<dt>Returns:</dt>
|
||||
<dd>
|
||||
dict() mit Einstellungen
|
||||
</dd>
|
||||
</dl><a NAME="RevPiProgram._savedefaults" ID="RevPiProgram._savedefaults"></a>
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
RevPiProgram._savedefaults</h3>
|
||||
<b>_savedefaults</b>(<i></i>)
|
||||
<p>
|
||||
Schreibt fuer den Pi die letzen Pfade.
|
||||
</p><a NAME="RevPiProgram.check_replacedir" ID="RevPiProgram.check_replacedir"></a>
|
||||
</p><dl>
|
||||
<dt>Returns:</dt>
|
||||
<dd>
|
||||
True, bei erfolgreicher Verarbeitung
|
||||
</dd>
|
||||
</dl><a NAME="RevPiProgram.check_replacedir" ID="RevPiProgram.check_replacedir"></a>
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
RevPiProgram.check_replacedir</h3>
|
||||
<b>check_replacedir</b>(<i>rootdir</i>)
|
||||
@@ -141,7 +174,7 @@ Gibt das rootdir von einem entpackten Verzeichnis zurueck.
|
||||
Dabei wird geprueft, ob es sich um einen einzelnen Ordner handelt
|
||||
und ob es eine piCtory Konfiguration im rootdir gibt.
|
||||
</p><dl>
|
||||
<dt><i>rootdir:</i></dt>
|
||||
<dt><i>rootdir</i></dt>
|
||||
<dd>
|
||||
Verzeichnis fuer Pruefung
|
||||
</dd>
|
||||
@@ -157,7 +190,7 @@ RevPiProgram.create_filelist</h3>
|
||||
<p>
|
||||
Erstellt eine Dateiliste von einem Verzeichnis.
|
||||
</p><dl>
|
||||
<dt><i>rootdir:</i></dt>
|
||||
<dt><i>rootdir</i></dt>
|
||||
<dd>
|
||||
Verzeichnis fuer das eine Liste erstellt werden soll
|
||||
</dd>
|
||||
@@ -196,7 +229,12 @@ RevPiProgram.plcupload</h3>
|
||||
<b>plcupload</b>(<i></i>)
|
||||
<p>
|
||||
Lädt das angegebene Projekt auf den RevPi.
|
||||
</p><a NAME="RevPiProgram.setpictoryrsc" ID="RevPiProgram.setpictoryrsc"></a>
|
||||
</p><dl>
|
||||
<dt>Returns:</dt>
|
||||
<dd>
|
||||
True, bei erfolgreicher Verarbeitung
|
||||
</dd>
|
||||
</dl><a NAME="RevPiProgram.setpictoryrsc" ID="RevPiProgram.setpictoryrsc"></a>
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
RevPiProgram.setpictoryrsc</h3>
|
||||
<b>setpictoryrsc</b>(<i>filename=None</i>)
|
||||
|
||||
@@ -68,7 +68,7 @@ Methods</h3>
|
||||
<td>Generiert Menüeinträge.</td>
|
||||
</tr><tr>
|
||||
<td><a style="color:#0000FF" href="#RevPiPyControl._opt_conn">_opt_conn</a></td>
|
||||
<td></td>
|
||||
<td>Stellt eine neue Verbindung zu RevPiPyLoad her.</td>
|
||||
</tr><tr>
|
||||
<td><a style="color:#0000FF" href="#RevPiPyControl.infowindow">infowindow</a></td>
|
||||
<td>Öffnet das Fenster für die Info.</td>
|
||||
@@ -104,7 +104,7 @@ Methods</h3>
|
||||
<td>Setzt alles zurück für neue Verbindungen.</td>
|
||||
</tr><tr>
|
||||
<td><a style="color:#0000FF" href="#RevPiPyControl.tmr_plcrunning">tmr_plcrunning</a></td>
|
||||
<td></td>
|
||||
<td>Timer der den Status des PLC Programms prüft.</td>
|
||||
</tr><tr>
|
||||
<td><a style="color:#0000FF" href="#RevPiPyControl.visitwebsite">visitwebsite</a></td>
|
||||
<td>Öffnet auf dem System einen Webbrowser zur Projektseite.</td>
|
||||
@@ -122,7 +122,7 @@ RevPiPyControl (Constructor)</h3>
|
||||
<p>
|
||||
Init RevPiPyControl-Class.
|
||||
</p><dl>
|
||||
<dt><i>master:</i></dt>
|
||||
<dt><i>master</i></dt>
|
||||
<dd>
|
||||
tkinter master
|
||||
</dd>
|
||||
@@ -145,7 +145,7 @@ RevPiPyControl._closeapp</h3>
|
||||
<p>
|
||||
Räumt auf und beendet Programm.
|
||||
</p><dl>
|
||||
<dt><i>event:</i></dt>
|
||||
<dt><i>event</i></dt>
|
||||
<dd>
|
||||
tkinter Event
|
||||
</dd>
|
||||
@@ -171,7 +171,14 @@ Generiert Menüeinträge.
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
RevPiPyControl._opt_conn</h3>
|
||||
<b>_opt_conn</b>(<i>text</i>)
|
||||
<a NAME="RevPiPyControl.infowindow" ID="RevPiPyControl.infowindow"></a>
|
||||
<p>
|
||||
Stellt eine neue Verbindung zu RevPiPyLoad her.
|
||||
</p><dl>
|
||||
<dt><i>text</i></dt>
|
||||
<dd>
|
||||
Verbindungsname
|
||||
</dd>
|
||||
</dl><a NAME="RevPiPyControl.infowindow" ID="RevPiPyControl.infowindow"></a>
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
RevPiPyControl.infowindow</h3>
|
||||
<b>infowindow</b>(<i></i>)
|
||||
@@ -195,7 +202,12 @@ RevPiPyControl.plclogs</h3>
|
||||
<b>plclogs</b>(<i></i>)
|
||||
<p>
|
||||
Öffnet das Fenster für Logdateien.
|
||||
</p><a NAME="RevPiPyControl.plcoptions" ID="RevPiPyControl.plcoptions"></a>
|
||||
</p><dl>
|
||||
<dt>Returns:</dt>
|
||||
<dd>
|
||||
None
|
||||
</dd>
|
||||
</dl><a NAME="RevPiPyControl.plcoptions" ID="RevPiPyControl.plcoptions"></a>
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
RevPiPyControl.plcoptions</h3>
|
||||
<b>plcoptions</b>(<i></i>)
|
||||
@@ -241,7 +253,9 @@ Setzt alles zurück für neue Verbindungen.
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
RevPiPyControl.tmr_plcrunning</h3>
|
||||
<b>tmr_plcrunning</b>(<i></i>)
|
||||
<a NAME="RevPiPyControl.visitwebsite" ID="RevPiPyControl.visitwebsite"></a>
|
||||
<p>
|
||||
Timer der den Status des PLC Programms prüft.
|
||||
</p><a NAME="RevPiPyControl.visitwebsite" ID="RevPiPyControl.visitwebsite"></a>
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
RevPiPyControl.visitwebsite</h3>
|
||||
<b>visitwebsite</b>(<i></i>)
|
||||
|
||||
@@ -18,8 +18,8 @@ def addroot(filename):
|
||||
Je nach Ausführungsart der Anwendung muss das root-dir über
|
||||
andere Arten abgerufen werden.
|
||||
|
||||
@param filename: Datei oder Ordnername
|
||||
@returns: root dir
|
||||
@param filename Datei oder Ordnername
|
||||
@return root dir
|
||||
|
||||
"""
|
||||
if getattr(sys, "frozen", False):
|
||||
|
||||
@@ -63,8 +63,8 @@ class RevPiCheckClient(tkinter.Frame):
|
||||
|
||||
def __hidewin(self, win, event=None):
|
||||
u"""Verbergt übergebenes Fenster.
|
||||
@param win: Fenster zum verbergen
|
||||
@param event: Tkinter Event"""
|
||||
@param win Fenster zum verbergen
|
||||
@param event Tkinter Event"""
|
||||
win.withdraw()
|
||||
|
||||
def __saveoldvalue(self, event, tkvar):
|
||||
@@ -78,7 +78,7 @@ class RevPiCheckClient(tkinter.Frame):
|
||||
|
||||
def __showwin(self, win):
|
||||
u"""Zeigt oder verbergt übergebenes Fenster.
|
||||
@param win: Fenster zum anzeigen/verbergen"""
|
||||
@param win Fenster zum anzeigen/verbergen"""
|
||||
if win.winfo_viewable():
|
||||
win.withdraw()
|
||||
else:
|
||||
@@ -86,8 +86,8 @@ class RevPiCheckClient(tkinter.Frame):
|
||||
|
||||
def __spinboxkey(self, device, io, event=None):
|
||||
u"""Prüft die Eingabe auf plausibilität.
|
||||
@param event: tkinter Event
|
||||
@param io: IO Liste mit tkinter Variable"""
|
||||
@param event tkinter Event
|
||||
@param io IO Liste mit tkinter Variable"""
|
||||
# io = [name,bytelen,byteaddr,bmk,bitaddress,(tkinter_var)]
|
||||
try:
|
||||
newvalue = io[5].get()
|
||||
@@ -112,9 +112,9 @@ class RevPiCheckClient(tkinter.Frame):
|
||||
def _createiogroup(self, device, frame, iotype):
|
||||
u"""Erstellt IO-Gruppen.
|
||||
|
||||
@param device: Deviceposition
|
||||
@param frame: tkinter Frame
|
||||
@iotype: 'inp' oder 'out' als str()
|
||||
@param device Deviceposition
|
||||
@param frame tkinter Frame
|
||||
@param iotype 'inp' oder 'out' als str()
|
||||
|
||||
"""
|
||||
# IO-Typen festlegen
|
||||
@@ -265,12 +265,12 @@ class RevPiCheckClient(tkinter.Frame):
|
||||
|
||||
def _onfrmconf(self, canvas):
|
||||
u"""Erstellt Fenster in einem Canvas.
|
||||
@param canvas: Canvas in dem Objekte erstellt werden sollen"""
|
||||
@param canvas Canvas in dem Objekte erstellt werden sollen"""
|
||||
canvas.configure(scrollregion=canvas.bbox("all"))
|
||||
|
||||
def _warnwrite(self):
|
||||
u"""Warnung für Benutzer über Schreibfunktion einmal fragen.
|
||||
@returns: True, wenn Warnung einmal mit OK bestätigt wurde"""
|
||||
@return True, wenn Warnung einmal mit OK bestätigt wurde"""
|
||||
if self.__checkwrite:
|
||||
self.__checkwrite = not tkmsg.askokcancel(
|
||||
_("Warning"),
|
||||
@@ -285,8 +285,8 @@ class RevPiCheckClient(tkinter.Frame):
|
||||
|
||||
def _workvalues(self, io_dicts=None, writeout=False):
|
||||
u"""Alle Werte der Inputs und Outputs abrufen.
|
||||
@param io_dicts: Arbeit nur für dieses Dict()
|
||||
@param writeout: Änderungen auf RevPi schreiben"""
|
||||
@param io_dicts Arbeit nur für dieses Dict()
|
||||
@param writeout Änderungen auf RevPi schreiben"""
|
||||
|
||||
# Abfragelisten vorbereiten
|
||||
if io_dicts is None:
|
||||
@@ -377,7 +377,7 @@ class RevPiCheckClient(tkinter.Frame):
|
||||
|
||||
def validatereturn(self, returnlist):
|
||||
u"""Überprüft die Rückgaben der setvalue Funktion.
|
||||
@param returnlist: list() der xml Rückgabe"""
|
||||
@param returnlist list() der xml Rückgabe"""
|
||||
if type(returnlist[0]) != list:
|
||||
returnlist = [returnlist]
|
||||
|
||||
|
||||
@@ -29,7 +29,7 @@ class RevPiInfo(tkinter.Frame):
|
||||
|
||||
def _checkclose(self, event=None):
|
||||
u"""Prüft ob Fenster beendet werden soll.
|
||||
@param event: tkinter-Event"""
|
||||
@param event tkinter-Event"""
|
||||
self.master.destroy()
|
||||
|
||||
def _createwidgets(self, extended=False):
|
||||
|
||||
@@ -31,7 +31,7 @@ class RevPiLogfile(tkinter.Frame):
|
||||
|
||||
def _checkclose(self, event=None):
|
||||
u"""Prüft ob Fenster beendet werden soll.
|
||||
@param event: tkinter-Event"""
|
||||
@param event tkinter-Event"""
|
||||
self.master.destroy()
|
||||
|
||||
def _createwidgets(self):
|
||||
@@ -91,7 +91,7 @@ class RevPiLogfile(tkinter.Frame):
|
||||
|
||||
def get_applog(self, full=False):
|
||||
u"""Ruft App Logbuch ab.
|
||||
@param full: Ganzes Logbuch laden"""
|
||||
@param full Ganzes Logbuch laden"""
|
||||
|
||||
# Logs abrufen und letzte Position merken
|
||||
self.mrkapp = self._load_log(
|
||||
@@ -103,7 +103,7 @@ class RevPiLogfile(tkinter.Frame):
|
||||
|
||||
def get_plclog(self, full=False):
|
||||
u"""Ruft PLC Logbuch ab.
|
||||
@param full: Ganzes Logbuch laden"""
|
||||
@param full Ganzes Logbuch laden"""
|
||||
|
||||
# Logs abrufen und letzte Position merken
|
||||
self.mrkplc = self._load_log(
|
||||
@@ -116,11 +116,11 @@ class RevPiLogfile(tkinter.Frame):
|
||||
def _load_log(self, textwidget, xmlcall, startposition, full):
|
||||
u"""Läd die angegebenen Logfiles herunter.
|
||||
|
||||
@param textwidget: Widget in das Logs eingefügt werden sollen
|
||||
@param xmlcall: xmlrpc Funktion zum Abrufen der Logdaten
|
||||
@param startposition: Startposition ab der Logdaten kommen sollen
|
||||
@param full: Komplettes Logbuch laden
|
||||
@returns: Ende der Datei (neue Startposition)
|
||||
@param textwidget Widget in das Logs eingefügt werden sollen
|
||||
@param xmlcall xmlrpc Funktion zum Abrufen der Logdaten
|
||||
@param startposition Startposition ab der Logdaten kommen sollen
|
||||
@param full Komplettes Logbuch laden
|
||||
@return Ende der Datei (neue Startposition)
|
||||
|
||||
"""
|
||||
roll = textwidget.yview()[1] == 1.0
|
||||
|
||||
@@ -17,7 +17,7 @@ class RevPiOption(tkinter.Frame):
|
||||
|
||||
def __init__(self, master, xmlcli, xmlmode):
|
||||
u"""Init RevPiOption-Class.
|
||||
@returns: None"""
|
||||
@return None"""
|
||||
if xmlmode < 2:
|
||||
return None
|
||||
|
||||
@@ -36,7 +36,7 @@ class RevPiOption(tkinter.Frame):
|
||||
|
||||
def _changesdone(self):
|
||||
u"""Prüft ob sich die Einstellungen geändert haben.
|
||||
@returns: True, wenn min. eine Einstellung geändert wurde"""
|
||||
@return True, wenn min. eine Einstellung geändert wurde"""
|
||||
return (
|
||||
self.var_start.get() != self.dc.get("autostart", "1")
|
||||
or self.var_reload.get() != self.dc.get("autoreload", "1")
|
||||
@@ -54,7 +54,7 @@ class RevPiOption(tkinter.Frame):
|
||||
|
||||
def _checkclose(self, event=None):
|
||||
u"""Prüft ob Fenster beendet werden soll.
|
||||
@param event: tkinter-Event"""
|
||||
@param event tkinter-Event"""
|
||||
ask = True
|
||||
if self._changesdone():
|
||||
ask = tkmsg.askyesno(
|
||||
|
||||
@@ -26,7 +26,8 @@ savefile = os.path.join(homedir, ".revpipyplc", "connections.dat")
|
||||
|
||||
|
||||
def get_connections():
|
||||
u"""Verbindungen aus Datei laden."""
|
||||
u"""Verbindungen aus Datei laden.
|
||||
@return dict() mit Verbindungen"""
|
||||
if os.path.exists(savefile):
|
||||
fh = open(savefile, "rb")
|
||||
connections = pickle.load(fh)
|
||||
@@ -39,7 +40,7 @@ class RevPiPlcList(tkinter.Frame):
|
||||
|
||||
def __init__(self, master):
|
||||
u"""Init RevPiPlcList-class.
|
||||
@param master: tkinter master"""
|
||||
@param master tkinter master"""
|
||||
super().__init__(master)
|
||||
self.master.bind("<KeyPress-Escape>", self._checkclose)
|
||||
self.pack()
|
||||
@@ -55,7 +56,7 @@ class RevPiPlcList(tkinter.Frame):
|
||||
|
||||
def _checkclose(self, event=None):
|
||||
u"""Prüft ob Fenster beendet werden soll.
|
||||
@param event: tkinter-Event"""
|
||||
@param event tkinter-Event"""
|
||||
ask = True
|
||||
if self.changes:
|
||||
ask = tkmsg.askyesno(
|
||||
@@ -134,7 +135,8 @@ class RevPiPlcList(tkinter.Frame):
|
||||
self.btn_close.grid(column=4, row=9, sticky="se")
|
||||
|
||||
def _saveappdata(self):
|
||||
u"""Speichert Verbindungen im home Dir."""
|
||||
u"""Speichert Verbindungen im home Dir.
|
||||
@return True, bei erfolgreicher Verarbeitung"""
|
||||
try:
|
||||
makedirs(os.path.dirname(savefile), exist_ok=True)
|
||||
fh = open(savefile, "wb")
|
||||
@@ -151,6 +153,7 @@ class RevPiPlcList(tkinter.Frame):
|
||||
self.list_conn.insert("end", *lst_conns)
|
||||
|
||||
def evt_btnadd(self):
|
||||
u"""Verbindungseinstellungen übernehmen."""
|
||||
# TODO: Daten prüfen
|
||||
self._connections[self.var_name.get()] = \
|
||||
(self.var_address.get(), self.var_port.get())
|
||||
@@ -160,6 +163,7 @@ class RevPiPlcList(tkinter.Frame):
|
||||
self.changes = True
|
||||
|
||||
def evt_btnnew(self):
|
||||
u"""Neue Verbindung erstellen."""
|
||||
self.list_conn.select_clear(0, "end")
|
||||
self.evt_listconn()
|
||||
|
||||
@@ -169,6 +173,7 @@ class RevPiPlcList(tkinter.Frame):
|
||||
self.var_port.set("55123")
|
||||
|
||||
def evt_btnremove(self):
|
||||
u"""Verbindung löschen."""
|
||||
item_index = self.list_conn.curselection()
|
||||
if len(item_index) == 1:
|
||||
item = self.list_conn.get(item_index[0])
|
||||
@@ -186,6 +191,7 @@ class RevPiPlcList(tkinter.Frame):
|
||||
self.changes = True
|
||||
|
||||
def evt_btnsave(self):
|
||||
u"""Alle Verbindungen speichern."""
|
||||
if self._saveappdata():
|
||||
ask = tkmsg.askyesno(
|
||||
_("Information"),
|
||||
@@ -202,6 +208,7 @@ class RevPiPlcList(tkinter.Frame):
|
||||
)
|
||||
|
||||
def evt_listconn(self, evt=None):
|
||||
u"""Übernimmt Einstellungen in Eingabefelder."""
|
||||
|
||||
item_index = self.list_conn.curselection()
|
||||
if len(item_index) == 1:
|
||||
@@ -219,6 +226,7 @@ class RevPiPlcList(tkinter.Frame):
|
||||
self.btn_remove["state"] = "disabled"
|
||||
|
||||
def evt_keypress(self, evt=None):
|
||||
u"""Passt bei Tastendruck den Status der Buttons an."""
|
||||
okvalue = "normal" if (
|
||||
self.var_address.get() != ""
|
||||
and self.var_name.get() != ""
|
||||
|
||||
@@ -35,7 +35,8 @@ savefile = os.path.join(homedir, ".revpipyplc", "programpath.dat")
|
||||
class RevPiProgram(tkinter.Frame):
|
||||
|
||||
def __init__(self, master, xmlcli, xmlmode, revpi):
|
||||
u"""Init RevPiProgram-Class."""
|
||||
u"""Init RevPiProgram-Class.
|
||||
@return None"""
|
||||
if xmlmode < 2:
|
||||
return None
|
||||
|
||||
@@ -60,6 +61,8 @@ class RevPiProgram(tkinter.Frame):
|
||||
self._evt_optup()
|
||||
|
||||
def _checkclose(self, event=None):
|
||||
u"""Prüft ob Fenster beendet werden soll.
|
||||
@param event tkinter-Event"""
|
||||
if self.uploaded:
|
||||
tkmsg.showinfo(
|
||||
_("Information"),
|
||||
@@ -71,6 +74,7 @@ class RevPiProgram(tkinter.Frame):
|
||||
self.master.destroy()
|
||||
|
||||
def _createwidgets(self):
|
||||
u"""Erstellt alle Widgets."""
|
||||
self.master.wm_title(_("RevPi Python PLC program"))
|
||||
self.master.wm_resizable(width=False, height=False)
|
||||
|
||||
@@ -217,6 +221,7 @@ class RevPiProgram(tkinter.Frame):
|
||||
btn.grid()
|
||||
|
||||
def _evt_optdown(self, text=""):
|
||||
u"""Passt je nach gewählter Option den Status der Widgets an."""
|
||||
if self.lst_typedown.index(self.var_typedown.get()) == 0:
|
||||
self.var_picdown.set(False)
|
||||
self.ckb_picdown["state"] = "disable"
|
||||
@@ -224,6 +229,7 @@ class RevPiProgram(tkinter.Frame):
|
||||
self.ckb_picdown["state"] = "normal"
|
||||
|
||||
def _evt_optup(self, text=""):
|
||||
u"""Passt je nach gewählter Option den Status der Widgets an."""
|
||||
if self.lst_typeup.index(self.var_typeup.get()) <= 1:
|
||||
self.var_picup.set(False)
|
||||
self.ckb_picup["state"] = "disable"
|
||||
@@ -231,7 +237,9 @@ class RevPiProgram(tkinter.Frame):
|
||||
self.ckb_picup["state"] = "normal"
|
||||
|
||||
def _loaddefault(self, full=False):
|
||||
"""Uebernimmt fuer den Pi die letzen Pfade."""
|
||||
u"""Übernimmt für den Pi die letzen Pfade.
|
||||
@param full Einstellungen für alle Verbindungen laden
|
||||
@return dict() mit Einstellungen"""
|
||||
if os.path.exists(savefile):
|
||||
fh = open(savefile, "rb")
|
||||
dict_all = pickle.load(fh)
|
||||
@@ -242,7 +250,8 @@ class RevPiProgram(tkinter.Frame):
|
||||
return {}
|
||||
|
||||
def _savedefaults(self):
|
||||
u"""Schreibt fuer den Pi die letzen Pfade."""
|
||||
u"""Schreibt fuer den Pi die letzen Pfade.
|
||||
@return True, bei erfolgreicher Verarbeitung"""
|
||||
try:
|
||||
makedirs(os.path.dirname(savefile), exist_ok=True)
|
||||
dict_all = self._loaddefault(full=True)
|
||||
@@ -256,8 +265,8 @@ class RevPiProgram(tkinter.Frame):
|
||||
|
||||
def create_filelist(self, rootdir):
|
||||
u"""Erstellt eine Dateiliste von einem Verzeichnis.
|
||||
@param rootdir: Verzeichnis fuer das eine Liste erstellt werden soll
|
||||
@returns: Dateiliste"""
|
||||
@param rootdir Verzeichnis fuer das eine Liste erstellt werden soll
|
||||
@return Dateiliste"""
|
||||
filelist = []
|
||||
for tup_dir in os.walk(rootdir):
|
||||
for fname in tup_dir[2]:
|
||||
@@ -269,8 +278,8 @@ class RevPiProgram(tkinter.Frame):
|
||||
|
||||
Dabei wird geprueft, ob es sich um einen einzelnen Ordner handelt
|
||||
und ob es eine piCtory Konfiguration im rootdir gibt.
|
||||
@param rootdir: Verzeichnis fuer Pruefung
|
||||
@returns: Abgeaendertes rootdir
|
||||
@param rootdir Verzeichnis fuer Pruefung
|
||||
@return Abgeaendertes rootdir
|
||||
|
||||
"""
|
||||
lst_dir = os.listdir(rootdir)
|
||||
@@ -558,7 +567,8 @@ class RevPiProgram(tkinter.Frame):
|
||||
fh.close()
|
||||
|
||||
def plcupload(self):
|
||||
u"""Lädt das angegebene Projekt auf den RevPi."""
|
||||
u"""Lädt das angegebene Projekt auf den RevPi.
|
||||
@return True, bei erfolgreicher Verarbeitung"""
|
||||
tup = self.lst_typeup.index(self.var_typeup.get())
|
||||
dirselect = ""
|
||||
dirtmp = None
|
||||
@@ -748,3 +758,5 @@ class RevPiProgram(tkinter.Frame):
|
||||
# Temp-Dir aufräumen
|
||||
if dirtmp is not None:
|
||||
rmtree(dirtmp)
|
||||
|
||||
return True
|
||||
|
||||
@@ -31,7 +31,7 @@ class RevPiPyControl(tkinter.Frame):
|
||||
|
||||
def __init__(self, master=None):
|
||||
u"""Init RevPiPyControl-Class.
|
||||
@param master: tkinter master"""
|
||||
@param master tkinter master"""
|
||||
super().__init__(master)
|
||||
self.master.protocol("WM_DELETE_WINDOW", self._closeapp)
|
||||
self.pack(fill="both", expand=True)
|
||||
@@ -84,7 +84,7 @@ class RevPiPyControl(tkinter.Frame):
|
||||
|
||||
def _closeapp(self, event=None):
|
||||
u"""Räumt auf und beendet Programm.
|
||||
@param event: tkinter Event"""
|
||||
@param event tkinter Event"""
|
||||
self._closeall()
|
||||
self.master.destroy()
|
||||
|
||||
@@ -183,6 +183,8 @@ class RevPiPyControl(tkinter.Frame):
|
||||
self.mbar.add_cascade(label=_("Connect"), menu=self.mconn)
|
||||
|
||||
def _opt_conn(self, text):
|
||||
u"""Stellt eine neue Verbindung zu RevPiPyLoad her.
|
||||
@param text Verbindungsname"""
|
||||
socket.setdefaulttimeout(2)
|
||||
sp = ServerProxy(
|
||||
"http://{}:{}".format(
|
||||
@@ -261,7 +263,8 @@ class RevPiPyControl(tkinter.Frame):
|
||||
self._fillconnbar()
|
||||
|
||||
def plclogs(self):
|
||||
u"""Öffnet das Fenster für Logdateien."""
|
||||
u"""Öffnet das Fenster für Logdateien.
|
||||
@return None"""
|
||||
if "load_plclog" not in self.xmlfuncs:
|
||||
tkmsg.showwarning(
|
||||
_("Warning"),
|
||||
@@ -345,6 +348,7 @@ class RevPiPyControl(tkinter.Frame):
|
||||
)
|
||||
|
||||
def tmr_plcrunning(self):
|
||||
u"""Timer der den Status des PLC Programms prüft."""
|
||||
self._btnstate()
|
||||
if self.cli is None:
|
||||
self.txt_status["readonlybackground"] = "lightblue"
|
||||
|
||||
Reference in New Issue
Block a user