From 01d5df1c8615afc68b92e7267281a5a08608e947 Mon Sep 17 00:00:00 2001 From: Miguel Date: Fri, 18 Jul 2025 11:15:05 +0200 Subject: [PATCH] =?UTF-8?q?Actualizaci=C3=B3n=20del=20registro=20de=20even?= =?UTF-8?q?tos=20en=20application=5Fevents.json=20con=20nuevos=20eventos?= =?UTF-8?q?=20relacionados=20con=20la=20activaci=C3=B3n=20y=20desactivaci?= =?UTF-8?q?=C3=B3n=20de=20conjuntos=20de=20datos,=20as=C3=AD=20como=20la?= =?UTF-8?q?=20conexi=C3=B3n=20y=20desconexi=C3=B3n=20de=20PLC.=20Se=20mejo?= =?UTF-8?q?r=C3=B3=20la=20gesti=C3=B3n=20de=20rutas=20de=20recursos=20en?= =?UTF-8?q?=20main.py=20para=20asegurar=20la=20correcta=20carga=20de=20arc?= =?UTF-8?q?hivos=20en=20diferentes=20entornos.=20Se=20actualiz=C3=B3=20la?= =?UTF-8?q?=20fecha=20de=20=C3=BAltima=20modificaci=C3=B3n=20en=20plc=5Fda?= =?UTF-8?q?tasets.json,=20system=5Fstate.json=20y=20se=20elimin=C3=B3=20el?= =?UTF-8?q?=20archivo=20plc=5Fstreamer.lock,=20que=20ya=20no=20es=20necesa?= =?UTF-8?q?rio.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application_events.json | 156 +++++++++++++++++++++++++++++++++++++++- main.py | 22 ++++-- plc_datasets.json | 2 +- plc_streamer.lock | 1 - system_state.json | 2 +- 5 files changed, 173 insertions(+), 10 deletions(-) delete mode 100644 plc_streamer.lock diff --git a/application_events.json b/application_events.json index d156ca7..6addc8e 100644 --- a/application_events.json +++ b/application_events.json @@ -1259,8 +1259,160 @@ "streaming_count": 4, "prefix": "dar" } + }, + { + "timestamp": "2025-07-18T09:39:20.220724", + "level": "info", + "event_type": "dataset_activated", + "message": "Dataset activated: DAR", + "details": { + "dataset_id": "dar", + "variables_count": 4, + "streaming_count": 3, + "prefix": "dar" + } + }, + { + "timestamp": "2025-07-18T09:39:20.226708", + "level": "info", + "event_type": "streaming_started", + "message": "Multi-dataset streaming started: 1 datasets activated", + "details": { + "activated_datasets": 1, + "total_datasets": 2, + "udp_host": "127.0.0.1", + "udp_port": 9870 + } + }, + { + "timestamp": "2025-07-18T09:40:58.642342", + "level": "info", + "event_type": "dataset_deactivated", + "message": "Dataset deactivated: DAR", + "details": { + "dataset_id": "dar" + } + }, + { + "timestamp": "2025-07-18T09:40:58.644338", + "level": "info", + "event_type": "streaming_stopped", + "message": "Multi-dataset streaming stopped: 1 datasets deactivated", + "details": {} + }, + { + "timestamp": "2025-07-18T09:40:58.647328", + "level": "info", + "event_type": "plc_disconnection", + "message": "Disconnected from PLC 10.1.33.11", + "details": {} + }, + { + "timestamp": "2025-07-18T09:40:59.418507", + "level": "info", + "event_type": "plc_connection", + "message": "Successfully connected to PLC 10.1.33.11", + "details": { + "ip": "10.1.33.11", + "rack": 0, + "slot": 2 + } + }, + { + "timestamp": "2025-07-18T09:42:43.386224", + "level": "info", + "event_type": "dataset_activated", + "message": "Dataset activated: DAR", + "details": { + "dataset_id": "dar", + "variables_count": 4, + "streaming_count": 3, + "prefix": "dar" + } + }, + { + "timestamp": "2025-07-18T09:42:43.390403", + "level": "info", + "event_type": "streaming_started", + "message": "Multi-dataset streaming started: 1 datasets activated", + "details": { + "activated_datasets": 1, + "total_datasets": 2, + "udp_host": "127.0.0.1", + "udp_port": 9870 + } + }, + { + "timestamp": "2025-07-18T10:02:11.249474", + "level": "info", + "event_type": "dataset_deactivated", + "message": "Dataset deactivated: DAR", + "details": { + "dataset_id": "dar" + } + }, + { + "timestamp": "2025-07-18T10:02:11.263769", + "level": "info", + "event_type": "streaming_stopped", + "message": "Multi-dataset streaming stopped: 1 datasets deactivated", + "details": {} + }, + { + "timestamp": "2025-07-18T10:02:12.294672", + "level": "info", + "event_type": "dataset_activated", + "message": "Dataset activated: DAR", + "details": { + "dataset_id": "dar", + "variables_count": 4, + "streaming_count": 3, + "prefix": "dar" + } + }, + { + "timestamp": "2025-07-18T10:02:12.299571", + "level": "info", + "event_type": "streaming_started", + "message": "Multi-dataset streaming started: 1 datasets activated", + "details": { + "activated_datasets": 1, + "total_datasets": 2, + "udp_host": "127.0.0.1", + "udp_port": 9870 + } + }, + { + "timestamp": "2025-07-18T10:02:33.056115", + "level": "info", + "event_type": "Application started", + "message": "Application initialization completed successfully", + "details": {} + }, + { + "timestamp": "2025-07-18T10:02:33.084877", + "level": "info", + "event_type": "plc_connection", + "message": "Successfully connected to PLC 10.1.33.11", + "details": { + "ip": "10.1.33.11", + "rack": 0, + "slot": 2 + } + }, + { + "timestamp": "2025-07-18T10:02:33.093596", + "level": "info", + "event_type": "dataset_activated", + "message": "Dataset activated: DAR", + "details": { + "dataset_id": "dar", + "variables_count": 4, + "streaming_count": 3, + "prefix": "dar" + } } ], - "last_updated": "2025-07-17T18:20:09.917270", - "total_entries": 113 + "last_updated": "2025-07-18T10:02:33.093596", + "total_entries": 128 } \ No newline at end of file diff --git a/main.py b/main.py index c536c88..f43f560 100644 --- a/main.py +++ b/main.py @@ -27,16 +27,28 @@ import sys app = Flask(__name__) app.secret_key = "plc_streamer_secret_key" +def resource_path(relative_path): + """ Get absolute path to resource, works for dev and for PyInstaller """ + try: + # PyInstaller creates a temp folder and stores path in _MEIPASS + base_path = sys._MEIPASS + except Exception: + # Not running in a bundle + base_path = os.path.abspath(".") + + return os.path.join(base_path, relative_path) + class PLCDataStreamer: def __init__(self): """Initialize the PLC data streamer""" # Configuration file paths - self.config_file = "plc_config.json" - self.variables_file = "plc_variables.json" - self.datasets_file = "plc_datasets.json" # New file for multiple datasets - self.state_file = "system_state.json" - self.events_log_file = "application_events.json" + # Use resource_path to handle bundled and script paths correctly + self.config_file = resource_path("plc_config.json") + self.variables_file = resource_path("plc_variables.json") + self.datasets_file = resource_path("plc_datasets.json") + self.state_file = resource_path("system_state.json") + self.events_log_file = resource_path("application_events.json") # Default configuration self.plc_config = {"ip": "192.168.1.100", "rack": 0, "slot": 2} diff --git a/plc_datasets.json b/plc_datasets.json index 65e57f5..9320e13 100644 --- a/plc_datasets.json +++ b/plc_datasets.json @@ -56,5 +56,5 @@ ], "current_dataset_id": "dar", "version": "1.0", - "last_update": "2025-07-17T18:21:25.684433" + "last_update": "2025-07-18T10:02:33.090888" } \ No newline at end of file diff --git a/plc_streamer.lock b/plc_streamer.lock deleted file mode 100644 index 8f3e3c1..0000000 --- a/plc_streamer.lock +++ /dev/null @@ -1 +0,0 @@ -37704 \ No newline at end of file diff --git a/system_state.json b/system_state.json index 867dada..c3ae23c 100644 --- a/system_state.json +++ b/system_state.json @@ -7,5 +7,5 @@ ] }, "auto_recovery_enabled": true, - "last_update": "2025-07-17T18:20:09.918278" + "last_update": "2025-07-18T10:02:33.096712" } \ No newline at end of file