From 5ea9e51cd4803260366a7a67328f3d40bd154ab2 Mon Sep 17 00:00:00 2001 From: Miguel Date: Sun, 20 Jul 2025 19:46:48 +0200 Subject: [PATCH] =?UTF-8?q?Actualizaci=C3=B3n=20de=20la=20documentaci?= =?UTF-8?q?=C3=B3n=20en=20MemoriaDeEvolucion.md=20para=20incluir=20una=20d?= =?UTF-8?q?escripci=C3=B3n=20funcional=20detallada=20de=20la=20aplicaci?= =?UTF-8?q?=C3=B3n,=20sus=20principales=20funciones=20y=20el=20manejo=20de?= =?UTF-8?q?=20variables=20y=20conjuntos=20de=20datos.=20Se=20a=C3=B1adi?= =?UTF-8?q?=C3=B3=20informaci=C3=B3n=20sobre=20la=20transmisi=C3=B3n=20en?= =?UTF-8?q?=20tiempo=20real,=20el=20monitoreo=20en=20vivo=20y=20la=20persi?= =?UTF-8?q?stencia=20de=20la=20aplicaci=C3=B3n=20tras=20reinicios.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .doc/MemoriaDeEvolucion.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/.doc/MemoriaDeEvolucion.md b/.doc/MemoriaDeEvolucion.md index fd3e6e6..8ebd47d 100644 --- a/.doc/MemoriaDeEvolucion.md +++ b/.doc/MemoriaDeEvolucion.md @@ -2,7 +2,29 @@ ## PLC S7-315 Streamer & Logger +Functional Description of the Application +This application is a web server (created with the Flask framework in Python) that acts as an intermediary to monitor and record data in CSV format from a PLC Siemens S7 with the SNAP7 library to be used on a low-resource PC connected to the PLC. +It must be as simple as possible to allow the pack using PyInstaller + +#### Its key functions are: + +Variables are defined in DataSets or groups with different polling times. DataSets enable data exchange between machines as they are JSON files that allow setting various polling times. CSV files are also created with a suffix from the DataSet, making it easier to use the data externally. + +* DataSets can be active or inactive, which determines if they are saved in the corresponding CSV. +* Variables can be active or inactive for streaming. + +Real-Time Transmission (Streaming): Sends data in real time using the UDP protocol, allowing applications like PlotJuggler to receive and visualize data live. +For streaming, there is an update interval for the data, but this interval only updates available data. It does not mean the data is read at that speed. Streaming uses only a reading cache of active variables. If variables are not active, they are not included in streaming. + +Live Monitoring: The web interface displays current variable values and system status, updating in real time. +Frontend monitoring also uses only the cache of active variables. + +In summary, variables are read from the PLC only if they are active and at the speed set in their DataSet. Each read variable is stored in a memory cache. JSON streaming and frontend monitoring have their own intervals and read values only from this cache, which helps protect the PLC from overload. + +The application is designed to be persistent across restarts, restoring the previous state as much as possible. This includes reconnecting to the PLC, reactivating DataSets, and resuming streaming if they were active before. + +## Modifications ### Latest Modifications (Current Session)