Actualización del registro de eventos en application_events.json con nuevos eventos relacionados con la activación y desactivación de conjuntos de datos, así como la conexión y desconexión de PLC. Se mejoró la gestión de rutas de recursos en main.py para asegurar la correcta carga de archivos en diferentes entornos. Se actualizó la fecha de última modificación en plc_datasets.json, system_state.json y se eliminó el archivo plc_streamer.lock, que ya no es necesario.

This commit is contained in:
Miguel 2025-07-18 11:15:05 +02:00
parent 3d4c2b3d42
commit 01d5df1c86
5 changed files with 173 additions and 10 deletions

View File

@ -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
}

22
main.py
View File

@ -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}

View File

@ -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"
}

View File

@ -1 +0,0 @@
37704

View File

@ -7,5 +7,5 @@
]
},
"auto_recovery_enabled": true,
"last_update": "2025-07-17T18:20:09.918278"
"last_update": "2025-07-18T10:02:33.096712"
}