mirror of
https://github.com/naruxde/revpicommander.git
synced 2025-11-08 16:43:53 +01:00
Add option for software watchdog and driver reset action
This commit is contained in:
@@ -11,7 +11,7 @@ from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
class Ui_diag_options(object):
|
||||
def setupUi(self, diag_options):
|
||||
diag_options.setObjectName("diag_options")
|
||||
diag_options.resize(452, 503)
|
||||
diag_options.resize(416, 522)
|
||||
self.verticalLayout = QtWidgets.QVBoxLayout(diag_options)
|
||||
self.verticalLayout.setObjectName("verticalLayout")
|
||||
self.gb_plc = QtWidgets.QGroupBox(diag_options)
|
||||
@@ -21,29 +21,24 @@ class Ui_diag_options(object):
|
||||
self.lbl_replace_io = QtWidgets.QLabel(self.gb_plc)
|
||||
self.lbl_replace_io.setObjectName("lbl_replace_io")
|
||||
self.gridLayout.addWidget(self.lbl_replace_io, 6, 0, 1, 1)
|
||||
self.sbx_autoreloaddelay = QtWidgets.QSpinBox(self.gb_plc)
|
||||
self.sbx_autoreloaddelay.setMinimum(5)
|
||||
self.sbx_autoreloaddelay.setMaximum(120)
|
||||
self.sbx_autoreloaddelay.setObjectName("sbx_autoreloaddelay")
|
||||
self.gridLayout.addWidget(self.sbx_autoreloaddelay, 2, 2, 1, 1)
|
||||
self.cbx_zeroonexit = QtWidgets.QCheckBox(self.gb_plc)
|
||||
self.cbx_zeroonexit.setObjectName("cbx_zeroonexit")
|
||||
self.gridLayout.addWidget(self.cbx_zeroonexit, 4, 1, 1, 2)
|
||||
self.cbx_zeroonerror = QtWidgets.QCheckBox(self.gb_plc)
|
||||
self.cbx_zeroonerror.setObjectName("cbx_zeroonerror")
|
||||
self.gridLayout.addWidget(self.cbx_zeroonerror, 5, 1, 1, 2)
|
||||
self.cbx_autostart = QtWidgets.QCheckBox(self.gb_plc)
|
||||
self.cbx_autostart.setObjectName("cbx_autostart")
|
||||
self.gridLayout.addWidget(self.cbx_autostart, 0, 0, 1, 3)
|
||||
self.cbx_autoreload = QtWidgets.QCheckBox(self.gb_plc)
|
||||
self.cbx_autoreload.setObjectName("cbx_autoreload")
|
||||
self.gridLayout.addWidget(self.cbx_autoreload, 1, 0, 1, 3)
|
||||
self.cbb_reset_driver_action = QtWidgets.QComboBox(self.gb_plc)
|
||||
self.cbb_reset_driver_action.setObjectName("cbb_reset_driver_action")
|
||||
self.cbb_reset_driver_action.addItem("")
|
||||
self.cbb_reset_driver_action.addItem("")
|
||||
self.cbb_reset_driver_action.addItem("")
|
||||
self.gridLayout.addWidget(self.cbb_reset_driver_action, 8, 1, 1, 2)
|
||||
self.lbl_reset_driver_action = QtWidgets.QLabel(self.gb_plc)
|
||||
self.lbl_reset_driver_action.setObjectName("lbl_reset_driver_action")
|
||||
self.gridLayout.addWidget(self.lbl_reset_driver_action, 8, 0, 1, 1)
|
||||
self.lbl_plc_zero = QtWidgets.QLabel(self.gb_plc)
|
||||
self.lbl_plc_zero.setObjectName("lbl_plc_zero")
|
||||
self.gridLayout.addWidget(self.lbl_plc_zero, 3, 0, 1, 3)
|
||||
self.txt_replace_io = QtWidgets.QLineEdit(self.gb_plc)
|
||||
self.txt_replace_io.setObjectName("txt_replace_io")
|
||||
self.gridLayout.addWidget(self.txt_replace_io, 7, 1, 1, 2)
|
||||
self.cbb_replace_io = QtWidgets.QComboBox(self.gb_plc)
|
||||
self.cbb_replace_io.setObjectName("cbb_replace_io")
|
||||
self.cbb_replace_io.addItem("")
|
||||
@@ -51,9 +46,26 @@ class Ui_diag_options(object):
|
||||
self.cbb_replace_io.addItem("")
|
||||
self.cbb_replace_io.addItem("")
|
||||
self.gridLayout.addWidget(self.cbb_replace_io, 6, 1, 1, 2)
|
||||
self.cbx_zeroonexit = QtWidgets.QCheckBox(self.gb_plc)
|
||||
self.cbx_zeroonexit.setObjectName("cbx_zeroonexit")
|
||||
self.gridLayout.addWidget(self.cbx_zeroonexit, 4, 1, 1, 2)
|
||||
self.lbl_plc_delay = QtWidgets.QLabel(self.gb_plc)
|
||||
self.lbl_plc_delay.setObjectName("lbl_plc_delay")
|
||||
self.gridLayout.addWidget(self.lbl_plc_delay, 2, 0, 1, 2)
|
||||
self.sbx_autoreloaddelay = QtWidgets.QSpinBox(self.gb_plc)
|
||||
self.sbx_autoreloaddelay.setMinimum(5)
|
||||
self.sbx_autoreloaddelay.setMaximum(120)
|
||||
self.sbx_autoreloaddelay.setObjectName("sbx_autoreloaddelay")
|
||||
self.gridLayout.addWidget(self.sbx_autoreloaddelay, 2, 2, 1, 1)
|
||||
self.cbx_autoreload = QtWidgets.QCheckBox(self.gb_plc)
|
||||
self.cbx_autoreload.setObjectName("cbx_autoreload")
|
||||
self.gridLayout.addWidget(self.cbx_autoreload, 1, 0, 1, 3)
|
||||
self.txt_replace_io = QtWidgets.QLineEdit(self.gb_plc)
|
||||
self.txt_replace_io.setObjectName("txt_replace_io")
|
||||
self.gridLayout.addWidget(self.txt_replace_io, 7, 1, 1, 2)
|
||||
self.lbl_lbl_reset_driver_action = QtWidgets.QLabel(self.gb_plc)
|
||||
self.lbl_lbl_reset_driver_action.setObjectName("lbl_lbl_reset_driver_action")
|
||||
self.gridLayout.addWidget(self.lbl_lbl_reset_driver_action, 9, 0, 1, 3)
|
||||
self.verticalLayout.addWidget(self.gb_plc)
|
||||
self.gb_server = QtWidgets.QGroupBox(diag_options)
|
||||
self.gb_server.setObjectName("gb_server")
|
||||
@@ -110,16 +122,21 @@ class Ui_diag_options(object):
|
||||
diag_options.setWindowTitle(_translate("diag_options", "RevPi Python PLC Options"))
|
||||
self.gb_plc.setTitle(_translate("diag_options", "Start / Stop behavior of PLC program"))
|
||||
self.lbl_replace_io.setText(_translate("diag_options", "Replace IO file:"))
|
||||
self.cbx_zeroonexit.setText(_translate("diag_options", "... sucessfully without error"))
|
||||
self.cbx_zeroonerror.setText(_translate("diag_options", "... after exception and errors"))
|
||||
self.cbx_autostart.setText(_translate("diag_options", "Start PLC program automatically"))
|
||||
self.cbx_autoreload.setText(_translate("diag_options", "Restart PLC program after exit or crash"))
|
||||
self.cbb_reset_driver_action.setItemText(0, _translate("diag_options", "Do nothing"))
|
||||
self.cbb_reset_driver_action.setItemText(1, _translate("diag_options", "Restart after piCtory changed"))
|
||||
self.cbb_reset_driver_action.setItemText(2, _translate("diag_options", "Always restart the PLC program"))
|
||||
self.lbl_reset_driver_action.setText(_translate("diag_options", "Driver reset action:"))
|
||||
self.lbl_plc_zero.setText(_translate("diag_options", "Set process image to NULL if program terminates..."))
|
||||
self.cbb_replace_io.setItemText(0, _translate("diag_options", "Do not use replace io file"))
|
||||
self.cbb_replace_io.setItemText(1, _translate("diag_options", "Use static file from RevPiPyLoad"))
|
||||
self.cbb_replace_io.setItemText(2, _translate("diag_options", "Use dynamic file from work directory"))
|
||||
self.cbb_replace_io.setItemText(3, _translate("diag_options", "Give own path and filename"))
|
||||
self.cbx_zeroonexit.setText(_translate("diag_options", "... sucessfully without error"))
|
||||
self.lbl_plc_delay.setText(_translate("diag_options", "Restart delay in seconds:"))
|
||||
self.cbx_autoreload.setText(_translate("diag_options", "Restart PLC program after exit or crash"))
|
||||
self.lbl_lbl_reset_driver_action.setText(_translate("diag_options", "PLC program behavior after piCtory driver reset clicked"))
|
||||
self.gb_server.setTitle(_translate("diag_options", "RevPiPyLoad server services"))
|
||||
self.btn_aclplcslave.setText(_translate("diag_options", "Edit ACL"))
|
||||
self.cbx_mqtt.setText(_translate("diag_options", "MQTT process image publisher"))
|
||||
|
||||
@@ -11,37 +11,44 @@ from PyQt5 import QtCore, QtGui, QtWidgets
|
||||
class Ui_diag_program(object):
|
||||
def setupUi(self, diag_program):
|
||||
diag_program.setObjectName("diag_program")
|
||||
diag_program.resize(488, 500)
|
||||
diag_program.resize(400, 501)
|
||||
self.verticalLayout = QtWidgets.QVBoxLayout(diag_program)
|
||||
self.verticalLayout.setObjectName("verticalLayout")
|
||||
self.gb_plc = QtWidgets.QGroupBox(diag_program)
|
||||
self.gb_plc.setObjectName("gb_plc")
|
||||
self.gridLayout = QtWidgets.QGridLayout(self.gb_plc)
|
||||
self.gridLayout.setObjectName("gridLayout")
|
||||
self.rbn_pythonversion_2 = QtWidgets.QRadioButton(self.gb_plc)
|
||||
self.rbn_pythonversion_2.setObjectName("rbn_pythonversion_2")
|
||||
self.gridLayout.addWidget(self.rbn_pythonversion_2, 3, 1, 1, 1)
|
||||
self.txt_plcarguments = QtWidgets.QLineEdit(self.gb_plc)
|
||||
self.txt_plcarguments.setObjectName("txt_plcarguments")
|
||||
self.gridLayout.addWidget(self.txt_plcarguments, 2, 1, 1, 2)
|
||||
self.rbn_pythonversion_3 = QtWidgets.QRadioButton(self.gb_plc)
|
||||
self.rbn_pythonversion_3.setObjectName("rbn_pythonversion_3")
|
||||
self.gridLayout.addWidget(self.rbn_pythonversion_3, 3, 2, 1, 1)
|
||||
self.lbl_plcprogram = QtWidgets.QLabel(self.gb_plc)
|
||||
self.lbl_plcprogram.setObjectName("lbl_plcprogram")
|
||||
self.gridLayout.addWidget(self.lbl_plcprogram, 0, 0, 1, 3)
|
||||
self.cbx_plcworkdir_set_uid = QtWidgets.QCheckBox(self.gb_plc)
|
||||
self.cbx_plcworkdir_set_uid.setObjectName("cbx_plcworkdir_set_uid")
|
||||
self.gridLayout.addWidget(self.cbx_plcworkdir_set_uid, 4, 0, 1, 3)
|
||||
self.cbb_plcprogram = QtWidgets.QComboBox(self.gb_plc)
|
||||
self.cbb_plcprogram.setObjectName("cbb_plcprogram")
|
||||
self.gridLayout.addWidget(self.cbb_plcprogram, 1, 0, 1, 3)
|
||||
self.rbn_pythonversion_3 = QtWidgets.QRadioButton(self.gb_plc)
|
||||
self.rbn_pythonversion_3.setObjectName("rbn_pythonversion_3")
|
||||
self.gridLayout.addWidget(self.rbn_pythonversion_3, 3, 2, 1, 1)
|
||||
self.cbx_plcworkdir_set_uid = QtWidgets.QCheckBox(self.gb_plc)
|
||||
self.cbx_plcworkdir_set_uid.setObjectName("cbx_plcworkdir_set_uid")
|
||||
self.gridLayout.addWidget(self.cbx_plcworkdir_set_uid, 4, 0, 1, 3)
|
||||
self.lbl_plcprogram = QtWidgets.QLabel(self.gb_plc)
|
||||
self.lbl_plcprogram.setObjectName("lbl_plcprogram")
|
||||
self.gridLayout.addWidget(self.lbl_plcprogram, 0, 0, 1, 3)
|
||||
self.lbl_pythonversion = QtWidgets.QLabel(self.gb_plc)
|
||||
self.lbl_pythonversion.setObjectName("lbl_pythonversion")
|
||||
self.gridLayout.addWidget(self.lbl_pythonversion, 3, 0, 1, 1)
|
||||
self.rbn_pythonversion_2 = QtWidgets.QRadioButton(self.gb_plc)
|
||||
self.rbn_pythonversion_2.setObjectName("rbn_pythonversion_2")
|
||||
self.gridLayout.addWidget(self.rbn_pythonversion_2, 3, 1, 1, 1)
|
||||
self.lbl_plcarguments = QtWidgets.QLabel(self.gb_plc)
|
||||
self.lbl_plcarguments.setObjectName("lbl_plcarguments")
|
||||
self.gridLayout.addWidget(self.lbl_plcarguments, 2, 0, 1, 1)
|
||||
self.txt_plcarguments = QtWidgets.QLineEdit(self.gb_plc)
|
||||
self.txt_plcarguments.setObjectName("txt_plcarguments")
|
||||
self.gridLayout.addWidget(self.txt_plcarguments, 2, 1, 1, 2)
|
||||
self.sbx_plcprogram_watchdog = QtWidgets.QSpinBox(self.gb_plc)
|
||||
self.sbx_plcprogram_watchdog.setMaximum(600)
|
||||
self.sbx_plcprogram_watchdog.setObjectName("sbx_plcprogram_watchdog")
|
||||
self.gridLayout.addWidget(self.sbx_plcprogram_watchdog, 5, 2, 1, 1)
|
||||
self.lbl_plcprogram_watchdog = QtWidgets.QLabel(self.gb_plc)
|
||||
self.lbl_plcprogram_watchdog.setObjectName("lbl_plcprogram_watchdog")
|
||||
self.gridLayout.addWidget(self.lbl_plcprogram_watchdog, 5, 0, 1, 2)
|
||||
self.verticalLayout.addWidget(self.gb_plc)
|
||||
self.cb_transfair = QtWidgets.QGroupBox(diag_program)
|
||||
self.cb_transfair.setObjectName("cb_transfair")
|
||||
@@ -115,12 +122,14 @@ class Ui_diag_program(object):
|
||||
_translate = QtCore.QCoreApplication.translate
|
||||
diag_program.setWindowTitle(_translate("diag_program", "PLC program"))
|
||||
self.gb_plc.setTitle(_translate("diag_program", "PLC program"))
|
||||
self.rbn_pythonversion_2.setText(_translate("diag_program", "Python 2"))
|
||||
self.rbn_pythonversion_3.setText(_translate("diag_program", "Python 3"))
|
||||
self.lbl_plcprogram.setText(_translate("diag_program", "Python PLC start program:"))
|
||||
self.cbx_plcworkdir_set_uid.setText(_translate("diag_program", "Set write permissions for plc program to workdirectory"))
|
||||
self.lbl_plcprogram.setText(_translate("diag_program", "Python PLC start program:"))
|
||||
self.lbl_pythonversion.setText(_translate("diag_program", "Python version:"))
|
||||
self.rbn_pythonversion_2.setText(_translate("diag_program", "Python 2"))
|
||||
self.lbl_plcarguments.setText(_translate("diag_program", "Program arguments:"))
|
||||
self.sbx_plcprogram_watchdog.setSuffix(_translate("diag_program", " sec."))
|
||||
self.lbl_plcprogram_watchdog.setText(_translate("diag_program", "Software watchdog (0=disabled):"))
|
||||
self.cb_transfair.setTitle(_translate("diag_program", "Transfair PLC program"))
|
||||
self.cbb_format.setItemText(0, _translate("diag_program", "ZIP archive"))
|
||||
self.cbb_format.setItemText(1, _translate("diag_program", "TGZ archive"))
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>452</width>
|
||||
<height>503</height>
|
||||
<width>416</width>
|
||||
<height>522</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
@@ -27,23 +27,6 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="2">
|
||||
<widget class="QSpinBox" name="sbx_autoreloaddelay">
|
||||
<property name="minimum">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>120</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1" colspan="2">
|
||||
<widget class="QCheckBox" name="cbx_zeroonexit">
|
||||
<property name="text">
|
||||
<string>... sucessfully without error</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="1" colspan="2">
|
||||
<widget class="QCheckBox" name="cbx_zeroonerror">
|
||||
<property name="text">
|
||||
@@ -58,10 +41,29 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="3">
|
||||
<widget class="QCheckBox" name="cbx_autoreload">
|
||||
<item row="8" column="1" colspan="2">
|
||||
<widget class="QComboBox" name="cbb_reset_driver_action">
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Restart PLC program after exit or crash</string>
|
||||
<string>Do nothing</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Restart after piCtory changed</string>
|
||||
</property>
|
||||
</item>
|
||||
<item>
|
||||
<property name="text">
|
||||
<string>Always restart the PLC program</string>
|
||||
</property>
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="0">
|
||||
<widget class="QLabel" name="lbl_reset_driver_action">
|
||||
<property name="text">
|
||||
<string>Driver reset action:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
@@ -72,9 +74,6 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="1" colspan="2">
|
||||
<widget class="QLineEdit" name="txt_replace_io"/>
|
||||
</item>
|
||||
<item row="6" column="1" colspan="2">
|
||||
<widget class="QComboBox" name="cbb_replace_io">
|
||||
<item>
|
||||
@@ -99,6 +98,13 @@
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="1" colspan="2">
|
||||
<widget class="QCheckBox" name="cbx_zeroonexit">
|
||||
<property name="text">
|
||||
<string>... sucessfully without error</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0" colspan="2">
|
||||
<widget class="QLabel" name="lbl_plc_delay">
|
||||
<property name="text">
|
||||
@@ -106,6 +112,33 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="2">
|
||||
<widget class="QSpinBox" name="sbx_autoreloaddelay">
|
||||
<property name="minimum">
|
||||
<number>5</number>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>120</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="3">
|
||||
<widget class="QCheckBox" name="cbx_autoreload">
|
||||
<property name="text">
|
||||
<string>Restart PLC program after exit or crash</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="1" colspan="2">
|
||||
<widget class="QLineEdit" name="txt_replace_io"/>
|
||||
</item>
|
||||
<item row="9" column="0" colspan="3">
|
||||
<widget class="QLabel" name="lbl_lbl_reset_driver_action">
|
||||
<property name="text">
|
||||
<string>PLC program behavior after piCtory driver reset clicked</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
<rect>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<width>488</width>
|
||||
<height>500</height>
|
||||
<width>400</width>
|
||||
<height>501</height>
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
@@ -20,15 +20,8 @@
|
||||
<string>PLC program</string>
|
||||
</property>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="3" column="1">
|
||||
<widget class="QRadioButton" name="rbn_pythonversion_2">
|
||||
<property name="text">
|
||||
<string>Python 2</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1" colspan="2">
|
||||
<widget class="QLineEdit" name="txt_plcarguments"/>
|
||||
<item row="1" column="0" colspan="3">
|
||||
<widget class="QComboBox" name="cbb_plcprogram"/>
|
||||
</item>
|
||||
<item row="3" column="2">
|
||||
<widget class="QRadioButton" name="rbn_pythonversion_3">
|
||||
@@ -37,13 +30,6 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="0" column="0" colspan="3">
|
||||
<widget class="QLabel" name="lbl_plcprogram">
|
||||
<property name="text">
|
||||
<string>Python PLC start program:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="0" colspan="3">
|
||||
<widget class="QCheckBox" name="cbx_plcworkdir_set_uid">
|
||||
<property name="text">
|
||||
@@ -51,8 +37,12 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0" colspan="3">
|
||||
<widget class="QComboBox" name="cbb_plcprogram"/>
|
||||
<item row="0" column="0" colspan="3">
|
||||
<widget class="QLabel" name="lbl_plcprogram">
|
||||
<property name="text">
|
||||
<string>Python PLC start program:</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="lbl_pythonversion">
|
||||
@@ -61,6 +51,13 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="1">
|
||||
<widget class="QRadioButton" name="rbn_pythonversion_2">
|
||||
<property name="text">
|
||||
<string>Python 2</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="0">
|
||||
<widget class="QLabel" name="lbl_plcarguments">
|
||||
<property name="text">
|
||||
@@ -68,6 +65,26 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1" colspan="2">
|
||||
<widget class="QLineEdit" name="txt_plcarguments"/>
|
||||
</item>
|
||||
<item row="5" column="2">
|
||||
<widget class="QSpinBox" name="sbx_plcprogram_watchdog">
|
||||
<property name="suffix">
|
||||
<string> sec.</string>
|
||||
</property>
|
||||
<property name="maximum">
|
||||
<number>600</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="0" colspan="2">
|
||||
<widget class="QLabel" name="lbl_plcprogram_watchdog">
|
||||
<property name="text">
|
||||
<string>Software watchdog (0=disabled):</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
|
||||
@@ -134,15 +134,25 @@ Unsaved changes will be lost</source>
|
||||
<context>
|
||||
<name>DebugIos</name>
|
||||
<message>
|
||||
<location filename="../debugios.py" line="190"/>
|
||||
<location filename="../debugios.py" line="204"/>
|
||||
<source>signed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../debugios.py" line="195"/>
|
||||
<location filename="../debugios.py" line="209"/>
|
||||
<source>big_endian</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../debugios.py" line="198"/>
|
||||
<source>as text</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../debugios.py" line="200"/>
|
||||
<source>as number</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MqttManager</name>
|
||||
@@ -437,7 +447,7 @@ Select 'Yes' to override, 'No' to download only missing file
|
||||
<context>
|
||||
<name>RevPiOption</name>
|
||||
<message>
|
||||
<location filename="../revpioption.py" line="301"/>
|
||||
<location filename="../revpioption.py" line="302"/>
|
||||
<source>Question</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -449,74 +459,74 @@ ACL changes and service settings are applied immediately.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpioption.py" line="197"/>
|
||||
<location filename="../revpioption.py" line="198"/>
|
||||
<source>Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpioption.py" line="197"/>
|
||||
<location filename="../revpioption.py" line="198"/>
|
||||
<source>The settings could not be saved on the Revolution Pi!
|
||||
Try to save the values one mor time and check the log files of RevPiPyLoad if the error rises again.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpioption.py" line="207"/>
|
||||
<location filename="../revpioption.py" line="208"/>
|
||||
<source>Do you really want to quit?
|
||||
Unsaved changes will be lost.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpioption.py" line="250"/>
|
||||
<location filename="../revpioption.py" line="251"/>
|
||||
<source>running</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpioption.py" line="250"/>
|
||||
<location filename="../revpioption.py" line="251"/>
|
||||
<source>stopped</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpioption.py" line="241"/>
|
||||
<location filename="../revpioption.py" line="242"/>
|
||||
<source>The MQTT service is not available on your RevPiPyLoad version.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpioption.py" line="281"/>
|
||||
<location filename="../revpioption.py" line="282"/>
|
||||
<source>read only</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpioption.py" line="281"/>
|
||||
<location filename="../revpioption.py" line="282"/>
|
||||
<source>read and write</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpioption.py" line="301"/>
|
||||
<location filename="../revpioption.py" line="302"/>
|
||||
<source>Are you sure you want to deactivate the XML-RPC server? You will NOT be able to access the Revolution Pi with this program after saving the options!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpioption.py" line="313"/>
|
||||
<location filename="../revpioption.py" line="314"/>
|
||||
<source>Start/Stop PLC program and read logs</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpioption.py" line="313"/>
|
||||
<location filename="../revpioption.py" line="314"/>
|
||||
<source>+ read IOs in watch mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpioption.py" line="313"/>
|
||||
<location filename="../revpioption.py" line="314"/>
|
||||
<source>+ read properties and download PLC program</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpioption.py" line="313"/>
|
||||
<location filename="../revpioption.py" line="314"/>
|
||||
<source>+ upload PLC program</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpioption.py" line="313"/>
|
||||
<location filename="../revpioption.py" line="314"/>
|
||||
<source>+ set properties</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -543,258 +553,258 @@ Unsaved changes will be lost.</source>
|
||||
<context>
|
||||
<name>RevPiProgram</name>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="690"/>
|
||||
<location filename="../revpiprogram.py" line="693"/>
|
||||
<source>Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="110"/>
|
||||
<location filename="../revpiprogram.py" line="112"/>
|
||||
<source>You have to select a start program, before uploading the settings.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="152"/>
|
||||
<location filename="../revpiprogram.py" line="155"/>
|
||||
<source>Question</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="118"/>
|
||||
<location filename="../revpiprogram.py" line="120"/>
|
||||
<source>The settings will be set on the Revolution Pi now.
|
||||
|
||||
If you made changes on the 'PCL Program' section, your plc program will restart now!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="142"/>
|
||||
<location filename="../revpiprogram.py" line="145"/>
|
||||
<source>The settings could not be saved on the Revolution Pi!
|
||||
Try to save the values one mor time and check the log files of RevPiPyLoad if the error rises again.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="152"/>
|
||||
<location filename="../revpiprogram.py" line="155"/>
|
||||
<source>Do you really want to quit?
|
||||
Unsaved changes will be lost.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="192"/>
|
||||
<location filename="../revpiprogram.py" line="195"/>
|
||||
<source>Reset driver...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="192"/>
|
||||
<location filename="../revpiprogram.py" line="195"/>
|
||||
<source>Reset piControl driver after successful uploading new piCtory configuration?
|
||||
The process image will be interrupted for a short time!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="207"/>
|
||||
<location filename="../revpiprogram.py" line="210"/>
|
||||
<source>Got an network error while send data to Revolution Pi.
|
||||
Please try again.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="700"/>
|
||||
<location filename="../revpiprogram.py" line="703"/>
|
||||
<source>Success</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="216"/>
|
||||
<location filename="../revpiprogram.py" line="219"/>
|
||||
<source>The transfer of the piCtory configuration and the reset of piControl have been successfully executed.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="224"/>
|
||||
<location filename="../revpiprogram.py" line="227"/>
|
||||
<source>The piCtory configuration was successfully transferred.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="231"/>
|
||||
<location filename="../revpiprogram.py" line="234"/>
|
||||
<source>Can not process the transferred file.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="237"/>
|
||||
<location filename="../revpiprogram.py" line="240"/>
|
||||
<source>Can not find main elements in piCtory file.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="243"/>
|
||||
<location filename="../revpiprogram.py" line="246"/>
|
||||
<source>Contained devices could not be found on Revolution Pi. The configuration may be from a newer piCtory version!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="250"/>
|
||||
<location filename="../revpiprogram.py" line="253"/>
|
||||
<source>Could not load RAP catalog on Revolution Pi.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="256"/>
|
||||
<location filename="../revpiprogram.py" line="259"/>
|
||||
<source>The piCtory configuration could not be written on the Revolution Pi.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="263"/>
|
||||
<location filename="../revpiprogram.py" line="266"/>
|
||||
<source>Warning</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="263"/>
|
||||
<location filename="../revpiprogram.py" line="266"/>
|
||||
<source>The piCtroy configuration has been saved successfully.
|
||||
An error occurred on piControl reset!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="330"/>
|
||||
<location filename="../revpiprogram.py" line="333"/>
|
||||
<source>Save ZIP archive...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="428"/>
|
||||
<location filename="../revpiprogram.py" line="431"/>
|
||||
<source>ZIP archive (*.zip);;All files (*.*)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="351"/>
|
||||
<location filename="../revpiprogram.py" line="354"/>
|
||||
<source>Save TGZ archive...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="351"/>
|
||||
<location filename="../revpiprogram.py" line="354"/>
|
||||
<source>TGZ archive (*.tgz);;All files (*.*)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="381"/>
|
||||
<location filename="../revpiprogram.py" line="384"/>
|
||||
<source>Could not load PLC program from Revolution Pi.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="394"/>
|
||||
<location filename="../revpiprogram.py" line="397"/>
|
||||
<source>Coud not save the archive or extract the files!
|
||||
Please retry.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="400"/>
|
||||
<location filename="../revpiprogram.py" line="403"/>
|
||||
<source>Transfer successfully completed.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="428"/>
|
||||
<location filename="../revpiprogram.py" line="431"/>
|
||||
<source>Upload content of ZIP archive...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="453"/>
|
||||
<location filename="../revpiprogram.py" line="456"/>
|
||||
<source>The selected file ist not a ZIP archive.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="462"/>
|
||||
<location filename="../revpiprogram.py" line="465"/>
|
||||
<source>Upload content of TAR archive...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="462"/>
|
||||
<location filename="../revpiprogram.py" line="465"/>
|
||||
<source>TAR archive (*.tgz);;All files (*.*)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="487"/>
|
||||
<location filename="../revpiprogram.py" line="490"/>
|
||||
<source>The selected file ist not a TAR archive.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="496"/>
|
||||
<location filename="../revpiprogram.py" line="499"/>
|
||||
<source>No files to upload...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="496"/>
|
||||
<location filename="../revpiprogram.py" line="499"/>
|
||||
<source>Found no files to upload in given location or archive.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="507"/>
|
||||
<location filename="../revpiprogram.py" line="510"/>
|
||||
<source>There was an error deleting the files on the Revolution Pi.
|
||||
Upload aborted! Please try again.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="553"/>
|
||||
<location filename="../revpiprogram.py" line="556"/>
|
||||
<source>The PLC program was transferred successfully.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="561"/>
|
||||
<location filename="../revpiprogram.py" line="564"/>
|
||||
<source>Information</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="561"/>
|
||||
<location filename="../revpiprogram.py" line="564"/>
|
||||
<source>Could not find the selected PLC start program in uploaded files.
|
||||
This is not an error, if the file was already on the Revolution Pi. Check PLC start program field</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="574"/>
|
||||
<location filename="../revpiprogram.py" line="577"/>
|
||||
<source>There is no piCtory configuration in this archive.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="581"/>
|
||||
<location filename="../revpiprogram.py" line="584"/>
|
||||
<source>The Revolution Pi could not process some parts of the transmission.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="588"/>
|
||||
<location filename="../revpiprogram.py" line="591"/>
|
||||
<source>Errors occurred during transmission.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="607"/>
|
||||
<location filename="../revpiprogram.py" line="610"/>
|
||||
<source>Save piCtory file...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="648"/>
|
||||
<location filename="../revpiprogram.py" line="651"/>
|
||||
<source>piCtory file (*.rsc);;All files (*.*)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="626"/>
|
||||
<location filename="../revpiprogram.py" line="629"/>
|
||||
<source>Could not load piCtory file from Revolution Pi.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="636"/>
|
||||
<location filename="../revpiprogram.py" line="639"/>
|
||||
<source>piCtory configuration successfully loaded and saved to:
|
||||
{0}.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="648"/>
|
||||
<location filename="../revpiprogram.py" line="651"/>
|
||||
<source>Upload piCtory file...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="669"/>
|
||||
<location filename="../revpiprogram.py" line="672"/>
|
||||
<source>Save piControl file...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="669"/>
|
||||
<location filename="../revpiprogram.py" line="672"/>
|
||||
<source>Process image file (*.img);;All files (*.*)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="690"/>
|
||||
<location filename="../revpiprogram.py" line="693"/>
|
||||
<source>Could not load process image from Revolution Pi.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../revpiprogram.py" line="700"/>
|
||||
<location filename="../revpiprogram.py" line="703"/>
|
||||
<source>Process image successfully loaded and saved to:
|
||||
{0}.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@@ -1024,100 +1034,125 @@ Publish values with topic: [basetopic]/set/[outputname]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="43"/>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="104"/>
|
||||
<source>... sucessfully without error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="50"/>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="33"/>
|
||||
<source>... after exception and errors</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="57"/>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="40"/>
|
||||
<source>Start PLC program automatically</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="64"/>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="128"/>
|
||||
<source>Restart PLC program after exit or crash</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="71"/>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="73"/>
|
||||
<source>Set process image to NULL if program terminates...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="82"/>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="81"/>
|
||||
<source>Do not use replace io file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="87"/>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="86"/>
|
||||
<source>Use static file from RevPiPyLoad</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="92"/>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="91"/>
|
||||
<source>Use dynamic file from work directory</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="97"/>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="96"/>
|
||||
<source>Give own path and filename</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="105"/>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="111"/>
|
||||
<source>Restart delay in seconds:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="115"/>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="148"/>
|
||||
<source>RevPiPyLoad server services</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="189"/>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="222"/>
|
||||
<source>Edit ACL</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="128"/>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="161"/>
|
||||
<source>MQTT process image publisher</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="135"/>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="168"/>
|
||||
<source>Start RevPi piControl server</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="162"/>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="195"/>
|
||||
<source>status</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="152"/>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="185"/>
|
||||
<source>piControl server is:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="172"/>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="205"/>
|
||||
<source>MQTT publish service is:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="182"/>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="215"/>
|
||||
<source>Settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="196"/>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="229"/>
|
||||
<source>Activate XML-RPC for RevPiPyControl</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="48"/>
|
||||
<source>Do nothing</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="53"/>
|
||||
<source>Restart after piCtory changed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="58"/>
|
||||
<source>Always restart the PLC program</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="66"/>
|
||||
<source>Driver reset action:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpioption.ui" line="138"/>
|
||||
<source>PLC program behavior after piCtory driver reset clicked</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>diag_program</name>
|
||||
@@ -1127,12 +1162,12 @@ Publish values with topic: [basetopic]/set/[outputname]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpiprogram.ui" line="26"/>
|
||||
<location filename="../../include/ui_dev/revpiprogram.ui" line="57"/>
|
||||
<source>Python 2</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpiprogram.ui" line="36"/>
|
||||
<location filename="../../include/ui_dev/revpiprogram.ui" line="29"/>
|
||||
<source>Python 3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -1142,75 +1177,85 @@ Publish values with topic: [basetopic]/set/[outputname]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpiprogram.ui" line="50"/>
|
||||
<location filename="../../include/ui_dev/revpiprogram.ui" line="36"/>
|
||||
<source>Set write permissions for plc program to workdirectory</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpiprogram.ui" line="60"/>
|
||||
<location filename="../../include/ui_dev/revpiprogram.ui" line="50"/>
|
||||
<source>Python version:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpiprogram.ui" line="67"/>
|
||||
<location filename="../../include/ui_dev/revpiprogram.ui" line="64"/>
|
||||
<source>Program arguments:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpiprogram.ui" line="77"/>
|
||||
<location filename="../../include/ui_dev/revpiprogram.ui" line="94"/>
|
||||
<source>Transfair PLC program</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpiprogram.ui" line="84"/>
|
||||
<location filename="../../include/ui_dev/revpiprogram.ui" line="101"/>
|
||||
<source>ZIP archive</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpiprogram.ui" line="89"/>
|
||||
<location filename="../../include/ui_dev/revpiprogram.ui" line="106"/>
|
||||
<source>TGZ archive</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpiprogram.ui" line="155"/>
|
||||
<location filename="../../include/ui_dev/revpiprogram.ui" line="172"/>
|
||||
<source>Upload</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpiprogram.ui" line="148"/>
|
||||
<location filename="../../include/ui_dev/revpiprogram.ui" line="165"/>
|
||||
<source>Download</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpiprogram.ui" line="111"/>
|
||||
<location filename="../../include/ui_dev/revpiprogram.ui" line="128"/>
|
||||
<source>Transfair format:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpiprogram.ui" line="118"/>
|
||||
<location filename="../../include/ui_dev/revpiprogram.ui" line="135"/>
|
||||
<source>Including piCtory configuration</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpiprogram.ui" line="125"/>
|
||||
<location filename="../../include/ui_dev/revpiprogram.ui" line="142"/>
|
||||
<source>Remove all files on Revolution Pi before upload</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpiprogram.ui" line="135"/>
|
||||
<location filename="../../include/ui_dev/revpiprogram.ui" line="152"/>
|
||||
<source>Control files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpiprogram.ui" line="162"/>
|
||||
<location filename="../../include/ui_dev/revpiprogram.ui" line="179"/>
|
||||
<source>piCtory configuraiton</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpiprogram.ui" line="169"/>
|
||||
<location filename="../../include/ui_dev/revpiprogram.ui" line="186"/>
|
||||
<source>Process image from piControl0</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpiprogram.ui" line="74"/>
|
||||
<source> sec.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../../include/ui_dev/revpiprogram.ui" line="84"/>
|
||||
<source>Software watchdog (0=disabled):</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>diag_revpiinfo</name>
|
||||
|
||||
@@ -82,8 +82,7 @@ class RevPiOption(QtWidgets.QDialog, Ui_diag_options):
|
||||
int(self.cbx_zeroonexit.isChecked()) != self.dc.get("zeroonexit", 0) or
|
||||
int(self.cbx_zeroonerror.isChecked()) != self.dc.get("zeroonerror", 0) or
|
||||
self.txt_replace_io.text() != self.dc.get("replace_ios", "") or
|
||||
# todo: self.dc.get("plcprogram_watchdog", 0)
|
||||
# todo: self.dc.get("reset_driver_action", 2)
|
||||
self.cbb_reset_driver_action.currentIndex() != self.dc.get("reset_driver_action", 2) or
|
||||
# todo: self.dc.get("rtlevel", 2)
|
||||
|
||||
int(self.cbx_plcslave.isChecked()) != self.dc.get("plcslave", 0) or
|
||||
@@ -120,6 +119,7 @@ class RevPiOption(QtWidgets.QDialog, Ui_diag_options):
|
||||
self.cbx_zeroonexit.setChecked(bool(self.dc.get("zeroonexit", 0)))
|
||||
self.cbx_zeroonerror.setChecked(bool(self.dc.get("zeroonerror", 0)))
|
||||
self.txt_replace_io.setText(self.dc.get("replace_ios", ""))
|
||||
self.cbb_reset_driver_action.setCurrentIndex(self.dc.get("reset_driver_action", 2))
|
||||
self.cbx_plcslave.setChecked(bool(self.dc.get("plcslave", 0)))
|
||||
self.acl_plcslave = self.dc.get("plcslaveacl", "")
|
||||
self.cbx_mqtt.setChecked(bool(self.dc.get("mqtt", 0)))
|
||||
@@ -159,6 +159,7 @@ class RevPiOption(QtWidgets.QDialog, Ui_diag_options):
|
||||
self.dc["autostart"] = int(self.cbx_autostart.isChecked())
|
||||
self.dc["autoreload"] = int(self.cbx_autoreload.isChecked())
|
||||
self.dc["autoreloaddelay"] = self.sbx_autoreloaddelay.value()
|
||||
self.dc["reset_driver_action"] = self.cbb_reset_driver_action.currentIndex()
|
||||
self.dc["zeroonexit"] = int(self.cbx_zeroonexit.isChecked())
|
||||
self.dc["zeroonerror"] = int(self.cbx_zeroonerror.isChecked())
|
||||
self.dc["replace_ios"] = self.txt_replace_io.text()
|
||||
|
||||
@@ -63,7 +63,8 @@ class RevPiProgram(QtWidgets.QDialog, Ui_diag_program):
|
||||
self.txt_plcarguments.text() != self.dc.get("plcarguments", "") or \
|
||||
self.rbn_pythonversion_2.isChecked() != (self.dc.get("pythonversion", 3) == 2) or \
|
||||
self.rbn_pythonversion_3.isChecked() != (self.dc.get("pythonversion", 3) == 3) or \
|
||||
int(self.cbx_plcworkdir_set_uid.isChecked()) != self.dc.get("plcworkdir_set_uid", 0)
|
||||
int(self.cbx_plcworkdir_set_uid.isChecked()) != self.dc.get("plcworkdir_set_uid", 0) or \
|
||||
self.sbx_plcprogram_watchdog.value() != self.dc.get("plcprogram_watchdog", 0)
|
||||
|
||||
def _load_settings(self, files_only=False):
|
||||
"""Load values to GUI widgets."""
|
||||
@@ -98,6 +99,7 @@ class RevPiProgram(QtWidgets.QDialog, Ui_diag_program):
|
||||
self.rbn_pythonversion_2.setChecked(self.dc.get("pythonversion", 3) == 2)
|
||||
self.rbn_pythonversion_3.setChecked(self.dc.get("pythonversion", 3) == 3)
|
||||
self.cbx_plcworkdir_set_uid.setChecked(bool(self.dc.get("plcworkdir_set_uid", 0)))
|
||||
self.sbx_plcprogram_watchdog.setValue(self.dc.get("plcprogram_watchdog", 0))
|
||||
|
||||
def accept(self) -> None:
|
||||
# todo: After upload ask for restart pcl program?
|
||||
@@ -129,6 +131,7 @@ class RevPiProgram(QtWidgets.QDialog, Ui_diag_program):
|
||||
self.dc["plcarguments"] = self.txt_plcarguments.text()
|
||||
self.dc["pythonversion"] = 2 if self.rbn_pythonversion_2.isChecked() else 3
|
||||
self.dc["plcworkdir_set_uid"] = int(self.cbx_plcworkdir_set_uid.isChecked())
|
||||
self.dc["plcprogram_watchdog"] = self.sbx_plcprogram_watchdog.value()
|
||||
|
||||
saved = helper.cm.call_remote_function(
|
||||
"set_config", self.dc, ask,
|
||||
|
||||
Reference in New Issue
Block a user