diff --git a/doc/procimgserver.html b/doc/procimgserver.html index 4c37d09..12a44e9 100644 --- a/doc/procimgserver.html +++ b/doc/procimgserver.html @@ -146,7 +146,12 @@ ProcimgServer.loadrevpimodio loadrevpimodio()

Instantiiert das RevPiModIO Modul. -

+

+
Returns:
+
+True, wenn erfolgreich, sonst False +
+

ProcimgServer.setvalue

setvalue(device, io, value) @@ -174,7 +179,12 @@ ProcimgServer.start start()

Registriert XML Funktionen. -

+

+
Returns:
+
+True, wenn erfolgreich +
+

ProcimgServer.stop

stop() diff --git a/revpipyload.e4p b/revpipyload.e4p index cbbcf57..eff7f78 100644 --- a/revpipyload.e4p +++ b/revpipyload.e4p @@ -1,7 +1,7 @@ - + en_US @@ -9,7 +9,7 @@ Python3 Console Dieser Loader wird über das Init-System geladen und führt das angegebene Pythonprogramm aus. Es ist für den RevolutionPi gedacht um automatisch das SPS-Programm zu starten. - 0.4.1 + 0.4.2 Sven Sager akira@narux.de diff --git a/revpipyload/procimgserver.py b/revpipyload/procimgserver.py index 06f4c71..c135843 100644 --- a/revpipyload/procimgserver.py +++ b/revpipyload/procimgserver.py @@ -98,18 +98,26 @@ class ProcimgServer(): return Binary(pickle.dumps(dict_ios)) def loadrevpimodio(self): - """Instantiiert das RevPiModIO Modul.""" + """Instantiiert das RevPiModIO Modul. + @return True, wenn erfolgreich, sonst False""" # RevPiModIO-Modul Instantiieren if self.rpi is not None: self.rpi.cleanup() self.logger.debug("create revpimodio class") - self.rpi = revpimodio.RevPiModIO( - configrsc=self.configrsc, - procimg=self.procimg, - ) + try: + self.rpi = revpimodio.RevPiModIO( + configrsc=self.configrsc, + procimg=self.procimg, + ) + except: + self.rpi = None + self.logger.error("piCtory configuration not loadable") + return False + self.rpi.devices.syncoutputs(device=0) self.logger.debug("created revpimodio class") + return True def setvalue(self, device, io, value): """Setzt einen Wert auf dem RevPi. @@ -161,19 +169,27 @@ class ProcimgServer(): return None def start(self): - """Registriert XML Funktionen.""" + """Registriert XML Funktionen. + @return True, wenn erfolgreich""" self.logger.debug("enter ProcimgServer.start()") + ec = False - # Registriere Funktionen - for xmlfunc in self.xmlreadfuncs: - self.xmlsrv.register_function(self.xmlreadfuncs[xmlfunc], xmlfunc) - if self.acl >= 3: - for xmlfunc in self.xmlwritefuncs: + if self.rpi is not None: + + # Registriere Funktionen + for xmlfunc in self.xmlreadfuncs: self.xmlsrv.register_function( - self.xmlwritefuncs[xmlfunc], xmlfunc + self.xmlreadfuncs[xmlfunc], xmlfunc ) + if self.acl >= 3: + for xmlfunc in self.xmlwritefuncs: + self.xmlsrv.register_function( + self.xmlwritefuncs[xmlfunc], xmlfunc + ) + ec = True self.logger.debug("leave ProcimgServer.start()") + return ec def stop(self): """Entfernt XML-Funktionen.""" diff --git a/revpipyload/revpipyload.py b/revpipyload/revpipyload.py index 437c0b6..15938a4 100755 --- a/revpipyload/revpipyload.py +++ b/revpipyload/revpipyload.py @@ -53,7 +53,7 @@ from xmlrpc.server import SimpleXMLRPCServer configrsc = None picontrolreset = "/opt/KUNBUS/piControlReset" procimg = "/dev/piControl0" -pyloadverion = "0.4.1" +pyloadverion = "0.4.2" rapcatalog = None @@ -1069,8 +1069,7 @@ class RevPiPyLoad(): """Startet den Prozessabbildserver. @return True, wenn start erfolgreich""" if self.xml_ps is not None: - self.xml_ps.start() - return True + return self.xml_ps.start() else: return False diff --git a/setup.py b/setup.py index e0a6495..64cce8f 100644 --- a/setup.py +++ b/setup.py @@ -27,7 +27,7 @@ setup( license="LGPLv3", name="revpipyload", - version="0.4.1", + version="0.4.2", scripts=["data/revpipyload"], @@ -42,12 +42,12 @@ setup( description="PLC Loader für Python-Projekte auf den RevolutionPi", long_description="" - "Dieses Programm startet beim Systemstart ein angegebenes Python PLC\n" - "Programm. Es überwacht das Programm und startet es im Fehlerfall neu.\n" - "Bei Absturz kann das gesamte /dev/piControl0 auf 0x00 gesetzt werden.\n" - "Außerdem stellt es einen XML-RPC Server bereit, über den die Software\n" - "auf den RevPi geladen werden kann. Das Prozessabbild kann über ein Tool\n" - "zur Laufzeit überwacht werden.", + "Dieses Programm startet beim Systemstart ein angegebenes Python PLC \n" + "Programm. Es überwacht das Programm und startet es im Fehlerfall neu. \n" + "Bei Absturz kann das gesamte /dev/piControl0 auf 0x00 gesetzt werden. \n" + "Außerdem stellt es einen XML-RPC Server bereit, über den die Software \n" + "auf den RevPi geladen werden kann. Das Prozessabbild kann über ein \n" + "Tool zur Laufzeit überwacht werden.", classifiers=[ "License :: OSI Approved :: "