diff --git a/application_events.json b/application_events.json index 430b1ec..5226adf 100644 --- a/application_events.json +++ b/application_events.json @@ -7066,8 +7066,778 @@ "resumed_datasets": 1, "total_attempted": 1 } + }, + { + "timestamp": "2025-08-08T18:32:36.930843", + "level": "info", + "event_type": "datasets_resumed_after_reconnection", + "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", + "details": { + "resumed_datasets": 1, + "total_attempted": 1 + } + }, + { + "timestamp": "2025-08-08T18:33:41.856796", + "level": "info", + "event_type": "datasets_resumed_after_reconnection", + "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", + "details": { + "resumed_datasets": 1, + "total_attempted": 1 + } + }, + { + "timestamp": "2025-08-08T18:35:08.610009", + "level": "info", + "event_type": "datasets_resumed_after_reconnection", + "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", + "details": { + "resumed_datasets": 1, + "total_attempted": 1 + } + }, + { + "timestamp": "2025-08-08T18:35:47.523446", + "level": "info", + "event_type": "datasets_resumed_after_reconnection", + "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", + "details": { + "resumed_datasets": 1, + "total_attempted": 1 + } + }, + { + "timestamp": "2025-08-08T18:37:16.496562", + "level": "info", + "event_type": "datasets_resumed_after_reconnection", + "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", + "details": { + "resumed_datasets": 1, + "total_attempted": 1 + } + }, + { + "timestamp": "2025-08-08T18:37:49.163502", + "level": "info", + "event_type": "datasets_resumed_after_reconnection", + "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", + "details": { + "resumed_datasets": 1, + "total_attempted": 1 + } + }, + { + "timestamp": "2025-08-08T18:38:14.360918", + "level": "info", + "event_type": "datasets_resumed_after_reconnection", + "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", + "details": { + "resumed_datasets": 1, + "total_attempted": 1 + } + }, + { + "timestamp": "2025-08-08T18:38:34.474496", + "level": "info", + "event_type": "datasets_resumed_after_reconnection", + "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", + "details": { + "resumed_datasets": 1, + "total_attempted": 1 + } + }, + { + "timestamp": "2025-08-08T18:38:43.051794", + "level": "info", + "event_type": "datasets_resumed_after_reconnection", + "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", + "details": { + "resumed_datasets": 1, + "total_attempted": 1 + } + }, + { + "timestamp": "2025-08-08T18:39:45.490511", + "level": "info", + "event_type": "datasets_resumed_after_reconnection", + "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", + "details": { + "resumed_datasets": 1, + "total_attempted": 1 + } + }, + { + "timestamp": "2025-08-08T18:40:29.253027", + "level": "info", + "event_type": "datasets_resumed_after_reconnection", + "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", + "details": { + "resumed_datasets": 1, + "total_attempted": 1 + } + }, + { + "timestamp": "2025-08-08T18:41:55.120326", + "level": "info", + "event_type": "datasets_resumed_after_reconnection", + "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", + "details": { + "resumed_datasets": 1, + "total_attempted": 1 + } + }, + { + "timestamp": "2025-08-08T18:42:02.777019", + "level": "info", + "event_type": "application_started", + "message": "Application initialization completed successfully", + "details": {} + }, + { + "timestamp": "2025-08-08T18:42:08.483137", + "level": "info", + "event_type": "dataset_activated", + "message": "Dataset activated: DAR", + "details": { + "dataset_id": "DAR", + "variables_count": 2, + "streaming_count": 2, + "prefix": "gateway_phoenix" + } + }, + { + "timestamp": "2025-08-08T18:42:08.496321", + "level": "info", + "event_type": "csv_recording_started", + "message": "CSV recording started: 1 datasets activated", + "details": { + "activated_datasets": 1, + "total_datasets": 1 + } + }, + { + "timestamp": "2025-08-08T18:42:08.508057", + "level": "info", + "event_type": "plc_connection", + "message": "Successfully connected to PLC 10.1.33.11 and auto-started CSV recording for 1 datasets", + "details": { + "ip": "10.1.33.11", + "rack": 0, + "slot": 2, + "auto_started_recording": true, + "recording_datasets": 1, + "dataset_names": [ + "DAR" + ] + } + }, + { + "timestamp": "2025-08-08T18:42:30.275070", + "level": "info", + "event_type": "datasets_resumed_after_reconnection", + "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", + "details": { + "resumed_datasets": 1, + "total_attempted": 1 + } + }, + { + "timestamp": "2025-08-08T18:42:57.450910", + "level": "info", + "event_type": "datasets_resumed_after_reconnection", + "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", + "details": { + "resumed_datasets": 1, + "total_attempted": 1 + } + }, + { + "timestamp": "2025-08-08T18:43:28.802654", + "level": "info", + "event_type": "datasets_resumed_after_reconnection", + "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", + "details": { + "resumed_datasets": 1, + "total_attempted": 1 + } + }, + { + "timestamp": "2025-08-08T18:43:57.553329", + "level": "info", + "event_type": "datasets_resumed_after_reconnection", + "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", + "details": { + "resumed_datasets": 1, + "total_attempted": 1 + } + }, + { + "timestamp": "2025-08-08T18:44:32.188355", + "level": "info", + "event_type": "datasets_resumed_after_reconnection", + "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", + "details": { + "resumed_datasets": 1, + "total_attempted": 1 + } + }, + { + "timestamp": "2025-08-08T18:46:03.356965", + "level": "info", + "event_type": "datasets_resumed_after_reconnection", + "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", + "details": { + "resumed_datasets": 1, + "total_attempted": 1 + } + }, + { + "timestamp": "2025-08-08T18:47:01.606975", + "level": "info", + "event_type": "datasets_resumed_after_reconnection", + "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", + "details": { + "resumed_datasets": 1, + "total_attempted": 1 + } + }, + { + "timestamp": "2025-08-08T18:47:07.809192", + "level": "info", + "event_type": "application_started", + "message": "Application initialization completed successfully", + "details": {} + }, + { + "timestamp": "2025-08-08T18:47:10.182054", + "level": "info", + "event_type": "dataset_activated", + "message": "Dataset activated: DAR", + "details": { + "dataset_id": "DAR", + "variables_count": 2, + "streaming_count": 2, + "prefix": "gateway_phoenix" + } + }, + { + "timestamp": "2025-08-08T18:47:10.195870", + "level": "info", + "event_type": "csv_recording_started", + "message": "CSV recording started: 1 datasets activated", + "details": { + "activated_datasets": 1, + "total_datasets": 1 + } + }, + { + "timestamp": "2025-08-08T18:47:10.203036", + "level": "info", + "event_type": "plc_connection", + "message": "Successfully connected to PLC 10.1.33.11 and auto-started CSV recording for 1 datasets", + "details": { + "ip": "10.1.33.11", + "rack": 0, + "slot": 2, + "auto_started_recording": true, + "recording_datasets": 1, + "dataset_names": [ + "DAR" + ] + } + }, + { + "timestamp": "2025-08-08T18:47:34.880687", + "level": "info", + "event_type": "datasets_resumed_after_reconnection", + "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", + "details": { + "resumed_datasets": 1, + "total_attempted": 1 + } + }, + { + "timestamp": "2025-08-08T18:48:08.125088", + "level": "info", + "event_type": "datasets_resumed_after_reconnection", + "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", + "details": { + "resumed_datasets": 1, + "total_attempted": 1 + } + }, + { + "timestamp": "2025-08-08T18:49:07.206807", + "level": "info", + "event_type": "datasets_resumed_after_reconnection", + "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", + "details": { + "resumed_datasets": 1, + "total_attempted": 1 + } + }, + { + "timestamp": "2025-08-08T18:49:48.588727", + "level": "info", + "event_type": "datasets_resumed_after_reconnection", + "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", + "details": { + "resumed_datasets": 1, + "total_attempted": 1 + } + }, + { + "timestamp": "2025-08-08T18:50:05.383732", + "level": "info", + "event_type": "datasets_resumed_after_reconnection", + "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", + "details": { + "resumed_datasets": 1, + "total_attempted": 1 + } + }, + { + "timestamp": "2025-08-08T18:50:32.372196", + "level": "info", + "event_type": "datasets_resumed_after_reconnection", + "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", + "details": { + "resumed_datasets": 1, + "total_attempted": 1 + } + }, + { + "timestamp": "2025-08-08T18:51:08.441123", + "level": "info", + "event_type": "datasets_resumed_after_reconnection", + "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", + "details": { + "resumed_datasets": 1, + "total_attempted": 1 + } + }, + { + "timestamp": "2025-08-08T18:51:41.836369", + "level": "info", + "event_type": "datasets_resumed_after_reconnection", + "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", + "details": { + "resumed_datasets": 1, + "total_attempted": 1 + } + }, + { + "timestamp": "2025-08-08T18:52:52.094018", + "level": "info", + "event_type": "datasets_resumed_after_reconnection", + "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", + "details": { + "resumed_datasets": 1, + "total_attempted": 1 + } + }, + { + "timestamp": "2025-08-08T18:54:06.230888", + "level": "info", + "event_type": "datasets_resumed_after_reconnection", + "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", + "details": { + "resumed_datasets": 1, + "total_attempted": 1 + } + }, + { + "timestamp": "2025-08-08T19:04:04.996795", + "level": "info", + "event_type": "application_started", + "message": "Application initialization completed successfully", + "details": {} + }, + { + "timestamp": "2025-08-08T19:04:12.344518", + "level": "error", + "event_type": "plc_connection_failed", + "message": "Failed to connect to PLC 10.1.33.11", + "details": { + "ip": "10.1.33.11", + "rack": 0, + "slot": 2, + "error": "b' TCP : Unreachable peer'" + } + }, + { + "timestamp": "2025-08-08T19:04:22.846057", + "level": "error", + "event_type": "plc_connection_failed", + "message": "Failed to connect to PLC 10.1.33.11", + "details": { + "ip": "10.1.33.11", + "rack": 0, + "slot": 2, + "error": "b' TCP : Unreachable peer'" + } + }, + { + "timestamp": "2025-08-08T19:04:52.850501", + "level": "error", + "event_type": "plc_connection_failed", + "message": "Failed to connect to PLC 10.1.33.11", + "details": { + "ip": "10.1.33.11", + "rack": 0, + "slot": 2, + "error": "b' TCP : Unreachable peer'" + } + }, + { + "timestamp": "2025-08-08T19:05:02.848724", + "level": "error", + "event_type": "plc_connection_failed", + "message": "Failed to connect to PLC 10.1.33.11", + "details": { + "ip": "10.1.33.11", + "rack": 0, + "slot": 2, + "error": "b' TCP : Unreachable peer'" + } + }, + { + "timestamp": "2025-08-08T19:05:07.349816", + "level": "error", + "event_type": "plc_connection_failed", + "message": "Failed to connect to PLC 10.1.33.11", + "details": { + "ip": "10.1.33.11", + "rack": 0, + "slot": 2, + "error": "b' TCP : Unreachable peer'" + } + }, + { + "timestamp": "2025-08-08T19:05:28.849056", + "level": "error", + "event_type": "plc_connection_failed", + "message": "Failed to connect to PLC 10.1.33.11", + "details": { + "ip": "10.1.33.11", + "rack": 0, + "slot": 2, + "error": "b' TCP : Unreachable peer'" + } + }, + { + "timestamp": "2025-08-08T19:05:33.354319", + "level": "error", + "event_type": "plc_connection_failed", + "message": "Failed to connect to PLC 10.1.33.11", + "details": { + "ip": "10.1.33.11", + "rack": 0, + "slot": 2, + "error": "b' TCP : Unreachable peer'" + } + }, + { + "timestamp": "2025-08-08T19:05:39.502498", + "level": "info", + "event_type": "dataset_activated", + "message": "Dataset activated: DAR", + "details": { + "dataset_id": "DAR", + "variables_count": 2, + "streaming_count": 2, + "prefix": "gateway_phoenix" + } + }, + { + "timestamp": "2025-08-08T19:05:39.521504", + "level": "info", + "event_type": "csv_recording_started", + "message": "CSV recording started: 1 datasets activated", + "details": { + "activated_datasets": 1, + "total_datasets": 1 + } + }, + { + "timestamp": "2025-08-08T19:05:39.540484", + "level": "info", + "event_type": "plc_connection", + "message": "Successfully connected to PLC 10.1.33.11 and auto-started CSV recording for 1 datasets", + "details": { + "ip": "10.1.33.11", + "rack": 0, + "slot": 2, + "auto_started_recording": true, + "recording_datasets": 1, + "dataset_names": [ + "DAR" + ] + } + }, + { + "timestamp": "2025-08-08T19:06:51.117994", + "level": "info", + "event_type": "datasets_resumed_after_reconnection", + "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", + "details": { + "resumed_datasets": 1, + "total_attempted": 1 + } + }, + { + "timestamp": "2025-08-08T19:07:04.570720", + "level": "info", + "event_type": "datasets_resumed_after_reconnection", + "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", + "details": { + "resumed_datasets": 1, + "total_attempted": 1 + } + }, + { + "timestamp": "2025-08-08T19:11:35.101004", + "level": "info", + "event_type": "datasets_resumed_after_reconnection", + "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", + "details": { + "resumed_datasets": 1, + "total_attempted": 1 + } + }, + { + "timestamp": "2025-08-08T19:12:02.495213", + "level": "info", + "event_type": "datasets_resumed_after_reconnection", + "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", + "details": { + "resumed_datasets": 1, + "total_attempted": 1 + } + }, + { + "timestamp": "2025-08-08T19:12:34.481986", + "level": "info", + "event_type": "datasets_resumed_after_reconnection", + "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", + "details": { + "resumed_datasets": 1, + "total_attempted": 1 + } + }, + { + "timestamp": "2025-08-08T19:13:27.619818", + "level": "info", + "event_type": "datasets_resumed_after_reconnection", + "message": "Automatically resumed streaming for 1 datasets after PLC reconnection", + "details": { + "resumed_datasets": 1, + "total_attempted": 1 + } + }, + { + "timestamp": "2025-08-08T19:19:40.215752", + "level": "info", + "event_type": "application_started", + "message": "Application initialization completed successfully", + "details": {} + }, + { + "timestamp": "2025-08-08T19:19:40.280935", + "level": "info", + "event_type": "dataset_activated", + "message": "Dataset activated: DAR", + "details": { + "dataset_id": "DAR", + "variables_count": 2, + "streaming_count": 2, + "prefix": "gateway_phoenix" + } + }, + { + "timestamp": "2025-08-08T19:19:40.290333", + "level": "info", + "event_type": "csv_recording_started", + "message": "CSV recording started: 1 datasets activated", + "details": { + "activated_datasets": 1, + "total_datasets": 1 + } + }, + { + "timestamp": "2025-08-08T19:23:06.249068", + "level": "info", + "event_type": "dataset_csv_file_created", + "message": "New CSV file created after variable modification for dataset 'DAR': gateway_phoenix_19_23_06.csv", + "details": { + "dataset_id": "DAR", + "file_path": "records\\08-08-2025\\gateway_phoenix_19_23_06.csv", + "variables_count": 1, + "reason": "variable_modification" + } + }, + { + "timestamp": "2025-08-08T19:23:06.257427", + "level": "info", + "event_type": "variable_removed", + "message": "Variable removed from dataset 'DAR': UR29_Brix", + "details": { + "dataset_id": "DAR", + "name": "UR29_Brix", + "removed_config": { + "area": "db", + "offset": 40, + "type": "real", + "streaming": true, + "db": 2123 + } + } + }, + { + "timestamp": "2025-08-08T19:23:06.591207", + "level": "info", + "event_type": "dataset_csv_file_created", + "message": "New CSV file created after variable modification for dataset 'DAR': gateway_phoenix_19_23_06.csv", + "details": { + "dataset_id": "DAR", + "file_path": "records\\08-08-2025\\gateway_phoenix_19_23_06.csv", + "variables_count": 2, + "reason": "variable_modification" + } + }, + { + "timestamp": "2025-08-08T19:23:06.600691", + "level": "info", + "event_type": "variable_added", + "message": "Variable added to dataset 'DAR': UR29_Brix -> DB1011.1322 (real)", + "details": { + "dataset_id": "DAR", + "name": "UR29_Brix", + "area": "db", + "db": 1011, + "offset": 1322, + "bit": null, + "type": "real", + "streaming": false + } + }, + { + "timestamp": "2025-08-08T19:23:17.990119", + "level": "info", + "event_type": "dataset_csv_file_created", + "message": "New CSV file created after variable modification for dataset 'DAR': gateway_phoenix_19_23_17.csv", + "details": { + "dataset_id": "DAR", + "file_path": "records\\08-08-2025\\gateway_phoenix_19_23_17.csv", + "variables_count": 1, + "reason": "variable_modification" + } + }, + { + "timestamp": "2025-08-08T19:23:17.999136", + "level": "info", + "event_type": "variable_removed", + "message": "Variable removed from dataset 'DAR': UR29_ma", + "details": { + "dataset_id": "DAR", + "name": "UR29_ma", + "removed_config": { + "area": "db", + "offset": 36, + "type": "real", + "streaming": true, + "db": 2123 + } + } + }, + { + "timestamp": "2025-08-08T19:23:18.334515", + "level": "info", + "event_type": "dataset_csv_file_created", + "message": "New CSV file created after variable modification for dataset 'DAR': gateway_phoenix_19_23_18.csv", + "details": { + "dataset_id": "DAR", + "file_path": "records\\08-08-2025\\gateway_phoenix_19_23_18.csv", + "variables_count": 2, + "reason": "variable_modification" + } + }, + { + "timestamp": "2025-08-08T19:23:18.342533", + "level": "info", + "event_type": "variable_added", + "message": "Variable added to dataset 'DAR': UR29_ma -> DB1011.1296 (real)", + "details": { + "dataset_id": "DAR", + "name": "UR29_ma", + "area": "db", + "db": 1011, + "offset": 1296, + "bit": null, + "type": "real", + "streaming": false + } + }, + { + "timestamp": "2025-08-08T19:29:29.647644", + "level": "info", + "event_type": "application_started", + "message": "Application initialization completed successfully", + "details": {} + }, + { + "timestamp": "2025-08-08T19:29:29.730896", + "level": "info", + "event_type": "dataset_activated", + "message": "Dataset activated: DAR", + "details": { + "dataset_id": "DAR", + "variables_count": 2, + "streaming_count": 2, + "prefix": "gateway_phoenix" + } + }, + { + "timestamp": "2025-08-08T19:29:29.749218", + "level": "info", + "event_type": "csv_recording_started", + "message": "CSV recording started: 1 datasets activated", + "details": { + "activated_datasets": 1, + "total_datasets": 1 + } + }, + { + "timestamp": "2025-08-08T19:35:31.385846", + "level": "info", + "event_type": "application_started", + "message": "Application initialization completed successfully", + "details": {} + }, + { + "timestamp": "2025-08-08T19:35:31.438174", + "level": "info", + "event_type": "dataset_activated", + "message": "Dataset activated: DAR", + "details": { + "dataset_id": "DAR", + "variables_count": 2, + "streaming_count": 2, + "prefix": "gateway_phoenix" + } + }, + { + "timestamp": "2025-08-08T19:35:31.446174", + "level": "info", + "event_type": "csv_recording_started", + "message": "CSV recording started: 1 datasets activated", + "details": { + "activated_datasets": 1, + "total_datasets": 1 + } } ], - "last_updated": "2025-08-08T18:30:01.498578", - "total_entries": 671 + "last_updated": "2025-08-08T19:35:31.446174", + "total_entries": 742 } \ No newline at end of file diff --git a/plc_datasets.json b/plc_datasets.json index 5828eb1..ddbf3df 100644 --- a/plc_datasets.json +++ b/plc_datasets.json @@ -6,17 +6,17 @@ "variables": { "UR29_Brix": { "area": "db", - "offset": 40, + "offset": 1322, "type": "real", "streaming": true, - "db": 2123 + "db": 1011 }, "UR29_ma": { "area": "db", - "offset": 36, + "offset": 1296, "type": "real", "streaming": true, - "db": 2123 + "db": 1011 } }, "streaming_variables": [ @@ -33,5 +33,5 @@ ], "current_dataset_id": "DAR", "version": "1.0", - "last_update": "2025-08-08T17:13:42.321147" + "last_update": "2025-08-08T19:35:31.435189" } \ No newline at end of file diff --git a/static/js/plotting.js b/static/js/plotting.js index 7d90b86..7ffbb8b 100644 --- a/static/js/plotting.js +++ b/static/js/plotting.js @@ -19,7 +19,8 @@ class PlotManager { this.updateInterval = null; this.statusUpdateInterval = null; // 🔑 NUEVO: Para updates de status this.isInitialized = false; - this.refreshRates = new Map(); // Para mantener el refresh rate de cada sesión + // El render lo maneja el plugin a ~30 FPS; no exponemos refresh rate en UI + this.refreshRates = new Map(); // aún usado internamente para onRefresh // Colores para las variables this.colors = [ @@ -141,15 +142,7 @@ class PlotManager { -