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: