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