triggerwatchdog darf nicht in monitoring oder simulator mode verwendet werden

This commit is contained in:
2018-08-01 17:49:18 +02:00
parent c9301f423d
commit 7e5787421d
4 changed files with 14 additions and 4 deletions

View File

@@ -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: 2018-08-01, 12:41:53 --> <!-- Saved: 2018-08-01, 17:40:40 -->
<!-- Copyright (C) 2018 Sven Sager, akira@narux.de --> <!-- Copyright (C) 2018 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.2.0</Version> <Version>2.2.1</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"/>

View File

@@ -25,7 +25,7 @@ __all__ = [
__author__ = "Sven Sager <akira@revpimodio.org>" __author__ = "Sven Sager <akira@revpimodio.org>"
__name__ = "revpimodio2" __name__ = "revpimodio2"
__package__ = "revpimodio2" __package__ = "revpimodio2"
__version__ = "2.2.0" __version__ = "2.2.1"
# Global package values # Global package values
OFF = 0 OFF = 0

View File

@@ -721,10 +721,20 @@ class Connect(Core):
Prozessabbild zu schreiben!!! Prozessabbild zu schreiben!!!
@param value True zum aktivieren, Fals zum beenden""" @param value True zum aktivieren, Fals zum beenden"""
if self._modio._monitoring:
raise RuntimeError(
"can not trigger watchdog, while system is in monitoring mode"
)
if self._modio._simulator:
raise RuntimeError(
"can not trigger watchdog, while system is in simulator mode"
)
if not value: if not value:
self.__evt_wdtrigger.set() self.__evt_wdtrigger.set()
elif not self._get_wdtrigger(): elif not self._get_wdtrigger():
# Watchdogtrigger erstellen
self.__evt_wdtrigger.clear() self.__evt_wdtrigger.clear()
self.__th_wdtrigger = Thread(target=self.__wdtrigger, daemon=True) self.__th_wdtrigger = Thread(target=self.__wdtrigger, daemon=True)
self.__th_wdtrigger.start() self.__th_wdtrigger.start()

View File

@@ -16,7 +16,7 @@ setup(
license="LGPLv3", license="LGPLv3",
name="revpimodio2", name="revpimodio2",
version="2.2.0", version="2.2.1",
packages=["revpimodio2"], packages=["revpimodio2"],
python_requires="~=3.2", python_requires="~=3.2",