Wenn keine piCtory Konfiguration vorhanden ist, dennoch Modul laden

Bei RevPiModIO Instantiierung Rückgabewert False, sollte piCtory leer sein
description Text angepasst
This commit is contained in:
2017-07-06 12:50:26 +02:00
parent d3f3813ee7
commit 9f7e3cc5a4
5 changed files with 51 additions and 26 deletions

View File

@@ -146,7 +146,12 @@ ProcimgServer.loadrevpimodio</h3>
<b>loadrevpimodio</b>(<i></i>)
<p>
Instantiiert das RevPiModIO Modul.
</p><a NAME="ProcimgServer.setvalue" ID="ProcimgServer.setvalue"></a>
</p><dl>
<dt>Returns:</dt>
<dd>
True, wenn erfolgreich, sonst False
</dd>
</dl><a NAME="ProcimgServer.setvalue" ID="ProcimgServer.setvalue"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
ProcimgServer.setvalue</h3>
<b>setvalue</b>(<i>device, io, value</i>)
@@ -174,7 +179,12 @@ ProcimgServer.start</h3>
<b>start</b>(<i></i>)
<p>
Registriert XML Funktionen.
</p><a NAME="ProcimgServer.stop" ID="ProcimgServer.stop"></a>
</p><dl>
<dt>Returns:</dt>
<dd>
True, wenn erfolgreich
</dd>
</dl><a NAME="ProcimgServer.stop" ID="ProcimgServer.stop"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
ProcimgServer.stop</h3>
<b>stop</b>(<i></i>)

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Project SYSTEM "Project-5.1.dtd">
<!-- eric project file for project revpipyload -->
<!-- Saved: 2017-07-02, 21:15:03 -->
<!-- Saved: 2017-07-06, 12:34:30 -->
<!-- Copyright (C) 2017 Sven Sager, akira@narux.de -->
<Project version="5.1">
<Language>en_US</Language>
@@ -9,7 +9,7 @@
<ProgLanguage mixed="0">Python3</ProgLanguage>
<ProjectType>Console</ProjectType>
<Description>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.</Description>
<Version>0.4.1</Version>
<Version>0.4.2</Version>
<Author>Sven Sager</Author>
<Email>akira@narux.de</Email>
<Eol index="-1"/>

View File

@@ -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."""

View File

@@ -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

View File

@@ -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 :: "