mirror of
https://github.com/naruxde/revpimodio2.git
synced 2025-11-08 22:03:53 +01:00
FileHandler nicht bei __init__ Anlegen um Vererbung zu ermöglichen
._configure bekommt JSON als Parameter übergeben RS485 Fehler nicht im Simulatormodus schreiben
This commit is contained in:
@@ -204,7 +204,7 @@ Signalframe
|
|||||||
</dl><a NAME="RevPiModIO._configure" ID="RevPiModIO._configure"></a>
|
</dl><a NAME="RevPiModIO._configure" ID="RevPiModIO._configure"></a>
|
||||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||||
RevPiModIO._configure</h3>
|
RevPiModIO._configure</h3>
|
||||||
<b>_configure</b>(<i></i>)
|
<b>_configure</b>(<i>jconfigrsc</i>)
|
||||||
<p>
|
<p>
|
||||||
Verarbeitet die piCtory Konfigurationsdatei.
|
Verarbeitet die piCtory Konfigurationsdatei.
|
||||||
</p><a NAME="RevPiModIO._create_myfh" ID="RevPiModIO._create_myfh"></a>
|
</p><a NAME="RevPiModIO._create_myfh" ID="RevPiModIO._create_myfh"></a>
|
||||||
|
|||||||
@@ -125,7 +125,7 @@ revpimodio2.io.StructIO?1(parentio, name, frm, **kwargs)
|
|||||||
revpimodio2.io.Type.INP?7
|
revpimodio2.io.Type.INP?7
|
||||||
revpimodio2.io.Type.MEM?7
|
revpimodio2.io.Type.MEM?7
|
||||||
revpimodio2.io.Type.OUT?7
|
revpimodio2.io.Type.OUT?7
|
||||||
revpimodio2.modio.RevPiModIO._configure?5()
|
revpimodio2.modio.RevPiModIO._configure?5(jconfigrsc)
|
||||||
revpimodio2.modio.RevPiModIO._create_myfh?5()
|
revpimodio2.modio.RevPiModIO._create_myfh?5()
|
||||||
revpimodio2.modio.RevPiModIO._get_configrsc?5()
|
revpimodio2.modio.RevPiModIO._get_configrsc?5()
|
||||||
revpimodio2.modio.RevPiModIO._get_cycletime?5()
|
revpimodio2.modio.RevPiModIO._get_cycletime?5()
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE Project SYSTEM "Project-5.1.dtd">
|
<!DOCTYPE Project SYSTEM "Project-5.1.dtd">
|
||||||
<!-- eric project file for project revpimodio2 -->
|
<!-- eric project file for project revpimodio2 -->
|
||||||
<!-- Saved: 2017-09-03, 06:59:32 -->
|
<!-- Saved: 2017-09-11, 10:48:24 -->
|
||||||
<!-- Copyright (C) 2017 Sven Sager, akira@narux.de -->
|
<!-- Copyright (C) 2017 Sven Sager, akira@narux.de -->
|
||||||
<Project version="5.1">
|
<Project version="5.1">
|
||||||
<Language>en_US</Language>
|
<Language>en_US</Language>
|
||||||
@@ -9,7 +9,7 @@
|
|||||||
<ProgLanguage mixed="0">Python3</ProgLanguage>
|
<ProgLanguage mixed="0">Python3</ProgLanguage>
|
||||||
<ProjectType>Console</ProjectType>
|
<ProjectType>Console</ProjectType>
|
||||||
<Description>Das Modul stellt alle Devices und IOs aus der piCtory Konfiguration in Python3 zur Verfügung. Es ermöglicht den direkten Zugriff auf die Werte über deren vergebenen Namen. Lese- und Schreibaktionen mit dem Prozessabbild werden von dem Modul selbst verwaltet, ohne dass sich der Programmierer um Offsets und Adressen kümmern muss. Für die Gatewaymodule wie ModbusTCP oder Profinet sind eigene 'Inputs' und 'Outputs' über einen bestimmten Adressbereich definierbar. Auf diese IOs kann mit Python3 über den Namen direkt auf die Werte zugegriffen werden.</Description>
|
<Description>Das Modul stellt alle Devices und IOs aus der piCtory Konfiguration in Python3 zur Verfügung. Es ermöglicht den direkten Zugriff auf die Werte über deren vergebenen Namen. Lese- und Schreibaktionen mit dem Prozessabbild werden von dem Modul selbst verwaltet, ohne dass sich der Programmierer um Offsets und Adressen kümmern muss. Für die Gatewaymodule wie ModbusTCP oder Profinet sind eigene 'Inputs' und 'Outputs' über einen bestimmten Adressbereich definierbar. Auf diese IOs kann mit Python3 über den Namen direkt auf die Werte zugegriffen werden.</Description>
|
||||||
<Version>2.0.3</Version>
|
<Version>2.0.4</Version>
|
||||||
<Author>Sven Sager</Author>
|
<Author>Sven Sager</Author>
|
||||||
<Email>akira@narux.de</Email>
|
<Email>akira@narux.de</Email>
|
||||||
<Eol index="1"/>
|
<Eol index="1"/>
|
||||||
@@ -180,7 +180,6 @@
|
|||||||
<value>
|
<value>
|
||||||
<list>
|
<list>
|
||||||
<string>setup.py</string>
|
<string>setup.py</string>
|
||||||
<string>net.py</string>
|
|
||||||
</list>
|
</list>
|
||||||
</value>
|
</value>
|
||||||
<key>
|
<key>
|
||||||
@@ -227,7 +226,6 @@
|
|||||||
<value>
|
<value>
|
||||||
<list>
|
<list>
|
||||||
<string>setup.py</string>
|
<string>setup.py</string>
|
||||||
<string>net.py</string>
|
|
||||||
</list>
|
</list>
|
||||||
</value>
|
</value>
|
||||||
<key>
|
<key>
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ __all__ = ["RevPiModIO", "RevPiModIOSelected", "RevPiModIODriver"]
|
|||||||
__author__ = "Sven Sager <akira@revpimodio.org>"
|
__author__ = "Sven Sager <akira@revpimodio.org>"
|
||||||
__name__ = "revpimodio2"
|
__name__ = "revpimodio2"
|
||||||
__package__ = "revpimodio2"
|
__package__ = "revpimodio2"
|
||||||
__version__ = "2.0.3"
|
__version__ = "2.0.4"
|
||||||
|
|
||||||
# Global package values
|
# Global package values
|
||||||
OFF = 0
|
OFF = 0
|
||||||
|
|||||||
@@ -395,7 +395,7 @@ class Core(Device):
|
|||||||
self._ioerrorlimit1 = 6
|
self._ioerrorlimit1 = 6
|
||||||
self._ioerrorlimit2 = 7
|
self._ioerrorlimit2 = 7
|
||||||
|
|
||||||
if not self._modio._monitoring:
|
if not (self._modio._monitoring or self._modio._simulator):
|
||||||
# Für RS485 errors defaults laden sollte procimg NULL sein
|
# Für RS485 errors defaults laden sollte procimg NULL sein
|
||||||
if self._ioerrorlimit1 is not None:
|
if self._ioerrorlimit1 is not None:
|
||||||
self.__lst_io[self._ioerrorlimit1].set_value(
|
self.__lst_io[self._ioerrorlimit1].set_value(
|
||||||
|
|||||||
@@ -67,6 +67,7 @@ class RevPiModIO(object):
|
|||||||
self._lst_devselect = []
|
self._lst_devselect = []
|
||||||
self._lst_refresh = []
|
self._lst_refresh = []
|
||||||
self._maxioerrors = 0
|
self._maxioerrors = 0
|
||||||
|
self._myfh = None
|
||||||
self._th_mainloop = None
|
self._th_mainloop = None
|
||||||
self._waitexit = Event()
|
self._waitexit = Event()
|
||||||
|
|
||||||
@@ -79,12 +80,9 @@ class RevPiModIO(object):
|
|||||||
self.io = None
|
self.io = None
|
||||||
self.summary = None
|
self.summary = None
|
||||||
|
|
||||||
# Filehandler öffnen
|
|
||||||
self._myfh = self._create_myfh()
|
|
||||||
|
|
||||||
# Nur Konfigurieren, wenn nicht vererbt
|
# Nur Konfigurieren, wenn nicht vererbt
|
||||||
if type(self) == RevPiModIO:
|
if type(self) == RevPiModIO:
|
||||||
self._configure()
|
self._configure(self.get_jconfigrsc())
|
||||||
|
|
||||||
def __del__(self):
|
def __del__(self):
|
||||||
"""Zerstoert alle Klassen um aufzuraeumen."""
|
"""Zerstoert alle Klassen um aufzuraeumen."""
|
||||||
@@ -104,9 +102,12 @@ class RevPiModIO(object):
|
|||||||
self.__cleanupfunc()
|
self.__cleanupfunc()
|
||||||
self.writeprocimg()
|
self.writeprocimg()
|
||||||
|
|
||||||
def _configure(self):
|
def _configure(self, jconfigrsc):
|
||||||
"""Verarbeitet die piCtory Konfigurationsdatei."""
|
"""Verarbeitet die piCtory Konfigurationsdatei."""
|
||||||
jconfigrsc = self.get_jconfigrsc()
|
|
||||||
|
# Filehandler konfigurieren, wenn er noch nicht existiert
|
||||||
|
if self._myfh is None:
|
||||||
|
self._myfh = self._create_myfh()
|
||||||
|
|
||||||
# App Klasse instantiieren
|
# App Klasse instantiieren
|
||||||
self.app = appmodule.App(jconfigrsc["App"])
|
self.app = appmodule.App(jconfigrsc["App"])
|
||||||
@@ -857,7 +858,7 @@ class RevPiModIOSelected(RevPiModIO):
|
|||||||
"<class 'str'>"
|
"<class 'str'>"
|
||||||
)
|
)
|
||||||
|
|
||||||
self._configure()
|
self._configure(self.get_jconfigrsc())
|
||||||
|
|
||||||
if len(self.device) == 0:
|
if len(self.device) == 0:
|
||||||
if type(self) == RevPiModIODriver:
|
if type(self) == RevPiModIODriver:
|
||||||
|
|||||||
2
setup.py
2
setup.py
@@ -16,7 +16,7 @@ setup(
|
|||||||
|
|
||||||
license="LGPLv3",
|
license="LGPLv3",
|
||||||
name="revpimodio2",
|
name="revpimodio2",
|
||||||
version="2.0.3",
|
version="2.0.4",
|
||||||
|
|
||||||
packages=["revpimodio2"],
|
packages=["revpimodio2"],
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user