Commit Graph

49 Commits

Author SHA1 Message Date
Miguel ab99a1cee1 Implement hash-based change detection for XML files and enhance cross-reference parsing documentation
- Added HASH_DETECTION.md to document the new SHA256 hash-based change detection method for XML files, detailing its advantages over traditional methods.
- Introduced a new field `source_xml_hash` in JSON files to store the hash of the source XML, improving change detection accuracy.
- Updated `x0_main.py`, `x1_to_json.py`, and `x2_process.py` to implement hash calculation and usage in processing logic.
- Created xref_info.md to provide comprehensive technical documentation on parsing TIA Portal `_XRef.xml` files for call tree generation.
- Added debug scripts (`debug_find_network13.py`, `debug_sr_details.py`, `debug_sr_processed.py`, `debug_sr_xml.py`) for detailed analysis of network and instruction data in JSON and XML formats.
2025-09-02 15:53:49 +02:00
Miguel fab8c95038 Add Syrup Line MFM Prep DAR Function Block Implementation
- Implemented the "Syrup_Line_MFM_Prep_DAR" function block with optimized access.
- Defined input and output variables for the function block.
- Added various internal state variables and temporary variables for processing.
- Converted logic from LAD and STL to structured text for the syrup preparation process.
- Included fuzzy logic for syrup density checks and syrup line manual drain conditions.
- Integrated timeout handling and pump status management within the function block.
- Ensured compatibility with existing system variables and procedures.
2025-08-28 17:32:18 +02:00
Miguel c907112293 Implement SyrBrix Autocorrection Function Block and Syrup Line MFM Preparation Logic
- Added the SyrBrix Autocorrection function block (FB1809) to handle syrup brix and density measurements for sugar-based beverages.
- Implemented logic for syrup autocorrection requests, latching, and running states.
- Introduced a new function block for Syrup Line MFM Preparation (FB1813) to manage syrup line preparation and related timers.
- Enhanced network logic for syrup preparation, including handling of manual drain and fuzzy logic for syrup density checks.
- Updated variable handling and added necessary comments for clarity and maintainability.
2025-08-28 14:55:55 +02:00
Miguel b1ee3a0eae feat: Add duplicate UID handler and process_sr processor
- Implemented a new processor for handling duplicate UIDs in JSON data. The `duplicate_uid_handler.py` detects and resolves duplicate UIDs by renaming them with a suffix (_dup1, _dup2, etc.) and updates references accordingly.
- Added a new processor for Set/Reset flip-flop (Sr) in `process_sr.py`. This processor marks instructions as processed without generating specific code for cases with no connections, and flags errors for more complex cases.
2025-08-27 22:30:30 +02:00
Miguel f7d11c67c3 feat: Update workspace paths and enhance JSON output handling with relative paths for better portability 2025-08-27 21:05:53 +02:00
Miguel 480e831b7a Refactor code structure for improved readability and maintainability 2025-08-27 18:08:57 +02:00
Miguel 24a0ece0b4 feat: Implement SHA256 hash detection for XML changes to enhance file processing accuracy and efficiency. Update relevant scripts to calculate and store file hashes, improving change detection beyond traditional methods. 2025-08-24 21:35:21 +02:00
Miguel c0ef4cb12a Optimize tab switching, WebSocket initialization, and script loading for improved performance and user experience. Refactor form rendering and group change handling to reduce unnecessary operations and enhance code readability. Implement efficient DOM updates and error handling throughout the application. 2025-08-24 11:05:54 +02:00
Miguel e2c78fb63e feat: Add .flake8 configuration for code style enforcement and set maximum line length 2025-08-24 10:24:45 +02:00
Miguel 24ae05cc75 fix: Correct array index access in FB_HMI_Interlock and enhance debugging for array parsing 2025-08-24 10:10:14 +02:00
Miguel 75cdf080f5 Add XML parser script and example SCL function block for HMI interlock
- Created a new script to convert XML data to SCL format.
- Added a readme file with instructions for generating SCL from XML.
- Introduced an example SCL function block "FB_HMI_Interlock" with logic for managing HMI requests.
2025-08-24 10:06:45 +02:00
Miguel c3088e9957 Refactor code structure for improved readability and maintainability 2025-08-23 17:05:44 +02:00
Miguel affab8a646 Add XML block header parser and SCL header addition script
- Implemented `parse_block_header_from_xml` function to extract block information from TIA Portal XML files.
- Created `_extract_common_attributes` helper function to retrieve common attributes from block nodes.
- Added `generate_block_header_comment` function to format the header comment based on extracted block information.
- Introduced `get_block_header_comment_from_xml` for convenience in generating header comments directly from XML files.
- Developed `add_header_to_file` function in a new test script to read SCL files, check for existing headers, and prepend a generated header from the corresponding XML file.
- Included error handling and logging for better debugging and user feedback.
2025-08-23 13:14:18 +02:00
Miguel 64ef308a65 Eliminados los pyc 2025-08-02 10:39:00 +02:00
Miguel b67851e615 Se eliminó el archivo `README_x8_manual_gui.md` y se simplificó el script `x8_manual_gui.py`, transformándolo en un wrapper simple que utiliza cuadros de diálogo nativos de Windows para seleccionar archivos XML y directorios de destino. Se eliminaron ejemplos de archivos SCL y XML obsoletos, así como mejoras en la gestión de comentarios en el parser SCL. Se optimizó el manejo de errores y se actualizaron los logs para reflejar los cambios realizados. 2025-07-31 21:55:38 +02:00
Miguel 9e7e310384 Se actualizó el archivo `scripts_description.json` para ocultar el script "2: Procesar un archivo individual usando x4" y se añadió el script "2: Procesar un archivo individual" con su respectiva descripción. En `work_dir.json`, se simplificó la lista de directorios históricos eliminando entradas obsoletas. En `x0_main.py`, se mejoró la gestión de errores y se optimizó el manejo de directorios y archivos durante el proceso de limpieza. Se añadieron nuevos argumentos para permitir la conversión de un archivo XML específico a un archivo SCL específico. En `parse_scl.py`, se implementó el manejo de constantes locales en la reconstrucción de SCL. Se actualizaron los logs para reflejar los cambios realizados y se mejoró la claridad de los mensajes de error. 2025-07-31 18:08:01 +02:00
Miguel 57ca21ec76 Corregido error de indices de arrays en parsing SCL 2025-07-31 17:23:07 +02:00
Miguel 0ddee2e14a Se añadieron nuevas reglas de embellecimiento en `beautify_rules.json` para eliminar avisos de confidencialidad y responsabilidad en inglés y alemán, así como enlaces específicos de ALPLA. Además, se mejoró el script `email_parser.py` para asegurar que el contenido principal de los correos electrónicos se capture correctamente sin sobrescribirlo. Se actualizaron los directorios de trabajo en varios archivos de configuración JSON para reflejar nuevas rutas. Se eliminaron registros antiguos en `log.txt` y se optimizó el manejo de mensajes duplicados durante el procesamiento de correos electrónicos. 2025-07-31 09:47:47 +02:00
Miguel 4fa955f71b Mejorado del Log de Procesador de Emails a Cronología 2025-07-30 10:56:06 +02:00
Miguel f0f45df1b8 Se corrigio un error en la edicion de los Scripts del tab Python Scripts 2025-07-16 17:40:44 +02:00
Miguel 4a1b16117e Actualización de directorios de trabajo y logs en el script de análisis XML
- Se modificaron los directorios de trabajo en `script_config.json` y `work_dir.json` para apuntar a la nueva ubicación de los archivos del proyecto 98050.
- Se actualizaron los logs de ejecución en `log_x0_main.txt` y `log_98050_PLC.txt` para reflejar las nuevas fechas, duraciones y resultados de los procesos de exportación.
- Se corrigieron rutas en varios archivos de configuración para asegurar la correcta ejecución de los scripts.
2025-07-09 14:12:43 +02:00
Miguel 2cec16af0e Se implementó una nueva función para buscar archivos de workspace específicos en un directorio, mejorando la integración con editores como VSCode y Cursor. Además, se actualizaron las configuraciones del archivo de workspace para incluir asociaciones de archivos y recomendaciones de extensiones, optimizando la experiencia del usuario al trabajar con proyectos de Python. 2025-06-23 15:29:22 +02:00
Miguel 13ceda63ba Se agregó soporte para la gestión de proyectos y scripts de Python en la aplicación. Se implementaron nuevas rutas API para crear, obtener, actualizar y eliminar proyectos y scripts de Python. Además, se realizaron ajustes en la interfaz de usuario para incluir un panel de control para scripts de Python, mejorando la experiencia del usuario al interactuar con proyectos de Python. Se actualizaron los directorios de trabajo y se corrigieron rutas en varios archivos de configuración. 2025-06-20 20:04:30 +02:00
Miguel e196dca9c4 Se implementaron mejoras en el script de análisis XML para generar pines dinámicamente en compuertas lógicas basadas en la cardinalidad. Además, se corrigieron las rutas de búsqueda de elementos en el archivo parser_utils.py para asegurar la correcta extracción de valores de TemplateValue y Negated. 2025-06-20 17:28:25 +02:00
Miguel b74db36cf9 Version Funcionante 2025-06-19 20:55:40 +02:00
Miguel f57d0f21dc Actualización de directorios de trabajo y mejora en la gestión de logs
- Se modificaron los directorios de trabajo en `script_config.json` y `work_dir.json` para apuntar a la nueva ubicación de los archivos relacionados con el proyecto SIDEL.
- Se actualizaron los logs de ejecución en `log_x1.txt` y `log_x4.txt` para reflejar las nuevas fechas, duraciones y resultados de los procesos de exportación.
- Se implementó una nueva función de limpieza en `x0_main.py` para eliminar artefactos generados durante la ejecución de los scripts, mejorando la gestión de archivos temporales.
- Se realizaron ajustes en la interfaz de usuario para mejorar la experiencia al seleccionar y confirmar directorios de trabajo.
2025-06-19 18:05:47 +02:00
Miguel 7ab11a94ce Implementación del Launcher C# y mejoras en la interfaz de usuario
- Se añadió un nuevo launcher para proyectos C# que permite gestionar, ejecutar y categorizar aplicaciones compiladas.
- Se implementaron tres pestañas en la interfaz: "Scripts (Config)", "Launcher GUI (Python)" y "Launcher C#", mejorando la organización y accesibilidad.
- Se actualizaron los archivos de configuración y se mejoró la lógica de inicialización para soportar el nuevo sistema de C#.
- Se realizaron ajustes en la interfaz para incluir un panel de favoritos y un sistema de gestión de procesos en ejecución para C#.
- Se mejoró la documentación en `adicion_launcher4GUI.md` para reflejar las nuevas funcionalidades y estructura del proyecto.
2025-06-17 17:48:13 +02:00
Miguel bf30b2db52 Actualización de logs y mejora en la gestión de excepciones en el script de exportación
- Se actualizaron los registros de ejecución en `log_x4.txt` para reflejar nuevas fechas y duraciones de los procesos.
- Se implementó una nueva clase `PortalDisposedException` para manejar excepciones relacionadas con el cierre inesperado de TIA Portal.
- Se mejoró la lógica de re-apertura del portal en `x4.py`, permitiendo múltiples intentos en caso de errores de acceso a bloques.
- Se normalizaron los nombres de bloques para evitar omisiones en la exportación de referencias cruzadas.
- Se actualizaron los logs de ejecución en `log_x0_main.txt` para reflejar el aumento en el número de archivos XML procesados.
2025-06-13 13:01:29 +02:00
Miguel 734e6637bc Implementación de envío por lotes de logs y mejora en la gestión de conexiones WebSocket
- Se añadió un nuevo sistema para el envío por lotes de logs a través de WebSocket, permitiendo un vaciado del buffer cada 500 ms.
- Se implementó un hilo en segundo plano para gestionar el vaciado del buffer de logs, mejorando la eficiencia en el envío de mensajes.
- Se realizaron ajustes en la función de broadcast para acumular mensajes en un buffer antes de enviarlos, optimizando el rendimiento.
- Se actualizaron los logs de ejecución para reflejar los cambios en la gestión de logs y el nuevo comportamiento del sistema.
2025-06-13 11:16:52 +02:00
Miguel 6150c719ca Actualización de directorios de trabajo y mejora en la gestión de logs
- Se modificaron los directorios de trabajo en `script_config.json` y `work_dir.json` para apuntar a la nueva ubicación de los archivos relacionados con el proyecto SIDEL.
- Se actualizaron los logs de ejecución en `log_x1.txt` y `log_x4.txt` para reflejar las nuevas fechas, duraciones y resultados de los procesos de exportación.
- Se implementó una nueva función de limpieza en `x0_main.py` para eliminar artefactos generados durante la ejecución de los scripts, mejorando la gestión de archivos temporales.
- Se realizaron ajustes en la interfaz de usuario para mejorar la experiencia al seleccionar y confirmar directorios de trabajo.
2025-06-13 10:22:00 +02:00
Miguel 0488624d64 Mejorado para Tia 19 2025-06-12 22:18:54 +02:00
Miguel e70852ecf1 Actualización del script x0_main.py y mejora en la gestión de logs
- Se implementó un nuevo sistema de argumentos para permitir el procesamiento de múltiples PLCs desde un directorio de trabajo.
- Se mejoró la lógica de búsqueda de archivos XML, eliminando la dependencia de un subdirectorio específico.
- Se actualizaron los logs de ejecución para reflejar el estado exitoso del procesamiento y se añadieron detalles sobre los archivos encontrados y procesados.
- Se generaron nuevos archivos de salida en formato Markdown y se mejoró la estructura de los logs para facilitar la comprensión del proceso.
2025-06-12 21:44:58 +02:00
Miguel 04084e7289 Actualización de scripts de exportación y mejora en la gestión de versiones de TIA Portal
- Se modificó el script x1.py para soportar múltiples versiones de TIA Portal (18, 19 y 20) y se mejoró la detección de la versión a partir de la extensión del archivo del proyecto.
- Se actualizó la descripción del script en scripts_description.json para reflejar las nuevas versiones soportadas.
- Se realizaron ajustes en los logs de ejecución para reflejar las nuevas fechas y duraciones en el script x1.
- Se mejoró la gestión de directorios de exportación y se añadieron mensajes en español para una mejor comprensión del proceso de exportación.
2025-06-12 20:17:36 +02:00
Miguel be3b333491 Implementación de nuevas funcionalidades en la API y mejoras en la interfaz de usuario
- Se añadió una nueva ruta API para abrir la carpeta de un grupo en el explorador de archivos, mejorando la accesibilidad.
- Se implementaron botones en la interfaz para abrir la carpeta del grupo y copiar la ruta del grupo al portapapeles.
- Se mejoró la lógica de visualización de botones en la interfaz, permitiendo un mejor manejo de la visibilidad de los mismos.
- Se realizaron ajustes en los logs de ejecución para reflejar las nuevas funcionalidades y cambios en los directorios de trabajo.
2025-06-12 20:06:45 +02:00
Miguel c0a0a5e088 Actualización de logs y configuración para scripts de exportación en TIA Portal
- Se modificaron los logs de ejecución para reflejar nuevas fechas y duraciones en los scripts x1, x2, x4 y x7.
- Se ajustó el directorio de trabajo en `script_config.json` y `work_dir.json` para apuntar a la nueva ubicación de los archivos.
- Se eliminaron archivos obsoletos como `readme.md` y `siemens_tia_scripting.md`.
- Se mejoró la documentación y se añadieron nuevas descripciones para los scripts en `scripts_description.json`.
2025-06-03 11:04:04 +02:00
Miguel ffabf6b2b0 Add functionality to open current working directory in file explorer
- Implemented a new button in the UI to open the current working directory in the file explorer.
- Added event listener for the new button that triggers an API call to open the directory.
- Included validation to ensure a group is selected and the working directory is set before attempting to open the explorer.
- Created a new JSON description file for the CSharpCodeMerger script group.
2025-05-19 18:21:28 +02:00
Miguel 6e36186012 Creado nuevo grupo de scripts IO_adaptation 2025-05-14 18:04:17 +02:00
Miguel 88ff4a25a2 Add README and execution log for ObtainIOFromProjectTia and XML Parser to SCL
- Created a README file for the ObtainIOFromProjectTia script group detailing the directory structure and file organization.
- Added a detailed execution log for the x4_cross_reference.py script, including timestamps, output summaries, and error logs.
2025-05-12 12:05:14 +02:00
Miguel 1f64cdf448 Add technical documentation for parsing TIA Portal _XRef.xml files to generate call trees
- Introduced a comprehensive guide detailing the structure and interpretation of _XRef.xml files.
- Explained key XML elements necessary for constructing call trees, including SourceObject, ReferenceObject, and Location.
- Provided a step-by-step data extraction strategy for identifying caller-callee relationships.
- Included example Python code for parsing XML and aggregating call relationships.
- Addressed considerations for handling multiple files and variations across TIA Portal versions.
2025-05-05 12:33:30 +02:00
Miguel 625b639ff5 Se copian los archivos scl exportados del Tia Portal tambien para completar los archivos fuentes 2025-05-04 20:43:45 +02:00
Miguel 24cf3c670b Agregada la funcion de generar DB de Instancias 2025-05-04 00:01:00 +02:00
Miguel 89fc7f106b Mejorado de la descripcion larga de los scripts 2025-05-03 23:23:36 +02:00
Miguel a246c0265c Agregada la opcion de ver una descripcion mas detallada de cada script 2025-05-03 22:13:30 +02:00
Miguel c759a756be config_manager dividido en partes para que no sea tan grande 2025-05-03 21:03:33 +02:00
Miguel 6ffdec7a9a Agregada opcion de valores por defecto en level2 2025-05-03 17:18:41 +02:00
Miguel b38c26bee7 Intentando usar los parametros en X4 y X5 2025-05-03 16:59:00 +02:00
Miguel 6d021b8211 Corregido error de acentos para los script del LAD a SCL 2025-05-03 15:31:44 +02:00
Miguel eacce5d8bd Segundo paso para la integracion de Procesador de XML a SCL 2025-05-03 11:55:10 +02:00
Miguel d51a1bb13b Agregado del grupo de Scripts para convertir LAD a SCL - Falta adaptar a logica de directorios de trabajo 2025-05-03 00:06:04 +02:00