Return PLC program exitcode on crash, Watchdog in MQTT for all Cores, no debug-message on internal revpimodio

This commit is contained in:
2020-05-03 13:39:16 +02:00
parent a40b39eb22
commit 724d785a12
3 changed files with 28 additions and 22 deletions

View File

@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
"""Stellt die MQTT Uebertragung fuer IoT-Zwecke bereit."""
__author__ = "Sven Sager"
__copyright__ = "Copyright (C) 2018 Sven Sager"
__copyright__ = "Copyright (C) 2020 Sven Sager"
__license__ = "GPLv3"
import proginit
import revpimodio2
@@ -141,6 +141,7 @@ class MqttServer(Thread):
replace_io_file=self._replace_ios,
shared_procimg=True,
)
self._rpi.debug = -1
if self._replace_ios:
proginit.logger.info("loaded replace_ios to MQTT")
@@ -155,6 +156,7 @@ class MqttServer(Thread):
procimg=proginit.pargs.procimg,
shared_procimg=True,
)
self._rpi.debug = -1
proginit.logger.warning(
"replace_ios_file not loadable for MQTT - using "
"defaults now | {0}".format(e)
@@ -175,27 +177,28 @@ class MqttServer(Thread):
# CoreIOs prüfen und zu export hinzufügen
lst_coreio = []
if self._rpi.core.a1green.export:
lst_coreio.append(self._rpi.core.a1green)
if self._rpi.core.a1red.export:
lst_coreio.append(self._rpi.core.a1red)
if self._rpi.core.a2green.export:
lst_coreio.append(self._rpi.core.a2green)
if self._rpi.core.a2red.export:
lst_coreio.append(self._rpi.core.a2red)
# Connect-IOs anhängen
if type(self._rpi.core) == revpimodio2.device.Connect:
if self._rpi.core.a3green.export:
lst_coreio.append(self._rpi.core.a3green)
if self._rpi.core.a3red.export:
lst_coreio.append(self._rpi.core.a3red)
if self._rpi.core:
if self._rpi.core.a1green.export:
lst_coreio.append(self._rpi.core.a1green)
if self._rpi.core.a1red.export:
lst_coreio.append(self._rpi.core.a1red)
if self._rpi.core.a2green.export:
lst_coreio.append(self._rpi.core.a2green)
if self._rpi.core.a2red.export:
lst_coreio.append(self._rpi.core.a2red)
if self._rpi.core.wd.export:
lst_coreio.append(self._rpi.core.wd)
if self._rpi.core.x2in.export:
lst_coreio.append(self._rpi.core.x2in)
if self._rpi.core.x2out.export:
lst_coreio.append(self._rpi.core.x2out)
# Connect-IOs anhängen
if type(self._rpi.core) == revpimodio2.device.Connect:
if self._rpi.core.a3green.export:
lst_coreio.append(self._rpi.core.a3green)
if self._rpi.core.a3red.export:
lst_coreio.append(self._rpi.core.a3red)
if self._rpi.core.x2in.export:
lst_coreio.append(self._rpi.core.x2in)
if self._rpi.core.x2out.export:
lst_coreio.append(self._rpi.core.x2out)
# IOs exportieren und Events anmelden
for io in lst_coreio:

View File

@@ -6,7 +6,7 @@ IO-Check bei Inbetriebname durchzufuehren.
"""
__author__ = "Sven Sager"
__copyright__ = "Copyright (C) 2018 Sven Sager"
__copyright__ = "Copyright (C) 2020 Sven Sager"
__license__ = "GPLv3"
import pickle
import proginit
@@ -109,6 +109,7 @@ class ProcimgServer():
replace_io_file=self.replace_ios,
shared_procimg=True,
)
self.rpi.debug = -1
if self.replace_ios:
proginit.logger.info("loaded replace_ios to ProcimgServer")
@@ -120,6 +121,7 @@ class ProcimgServer():
procimg=proginit.pargs.procimg,
shared_procimg=True,
)
self.rpi.debug = -1
proginit.logger.warning(
"replace_ios_file not loadable for ProcimgServer - using "
"defaults now | {0}".format(e)

View File

@@ -1076,11 +1076,12 @@ class RevPiPyLoad():
-1 laeuft noch
-2 Datei nicht gefunden
-3 Lief nie
-9 Killed by watchdog or os
"""
if self.plc is None:
return -2
elif self.plc.is_alive():
elif self.plc.exitcode is None and self.plc.is_alive():
return -1
else:
return -3 if self.plc.exitcode is None else self.plc.exitcode