diff --git a/webserver/webserver.py b/webserver/webserver.py
index a867467..945db46 100755
--- a/webserver/webserver.py
+++ b/webserver/webserver.py
@@ -1665,6 +1665,8 @@ def settings():
modbus_port = str(row[1])
elif (row[0] == "Dnp3_port"):
dnp3_port = str(row[1])
+ elif (row[0] == "Start_run_mode"):
+ start_run = str(row[1])
if (modbus_port == 'disabled'):
return_str += """
@@ -1702,6 +1704,25 @@ def settings():
"
+
+ return_str += """
+
+
+
+ """
+ else:
+ return_str += """
+
+
+ """
+
return_str += pages.settings_tail
except Error as e:
@@ -1714,6 +1735,7 @@ def settings():
elif (flask.request.method == 'POST'):
modbus_port = flask.request.form.get('modbus_server_port')
dnp3_port = flask.request.form.get('dnp3_server_port')
+ start_run = flask.request.form.get('auto_run_text')
database = "openplc.db"
conn = create_connection(database)
@@ -1734,6 +1756,13 @@ def settings():
cur.execute("UPDATE Settings SET Value = ? WHERE Key = 'Dnp3_port'", (str(dnp3_port),))
conn.commit()
+ if (start_run == 'true'):
+ cur.execute("UPDATE Settings SET Value = 'true' WHERE Key = 'Start_run_mode'")
+ conn.commit()
+ else:
+ cur.execute("UPDATE Settings SET Value = 'false' WHERE Key = 'Start_run_mode'")
+ conn.commit()
+
cur.close()
conn.close()
configure_runtime()
@@ -1796,9 +1825,22 @@ if __name__ == '__main__':
openplc_runtime.project_name = str(row[1])
openplc_runtime.project_description = str(row[2])
openplc_runtime.project_file = str(row[3])
+
+ cur.execute("SELECT * FROM Settings")
+ rows = cur.fetchall()
cur.close()
conn.close()
+ for row in rows:
+ if (row[0] == "Start_run_mode"):
+ start_run = str(row[1])
+
+ if (start_run == 'true'):
+ print("Initializing OpenPLC in RUN mode...")
+ openplc_runtime.start_runtime()
+ time.sleep(1)
+ configure_runtime()
+
app.run(debug=False, host='0.0.0.0', threaded=True, port=8080)
except Error as e: