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
18f6cdaa4f
feat: Update TIA Portal version support and enhance export functionality in x1.py and x4.py; remove obsolete test scripts
2025-08-23 16:49:30 +02:00
Miguel
48e25282d6
Add path validation and sanitization tests
...
- Implemented `test_path_validation.py` to test filename sanitization, path sanitization, and export path validation functions.
- Added comprehensive test cases for various problematic block names and paths to ensure proper handling of invalid characters and whitespace.
- Created `test_sanitization.py` to specifically address problematic block names with updated sanitization logic, including special cases for "I/O access error" and "Time error interrupt".
- Enhanced filename sanitization to replace specific problematic characters and patterns, ensuring consistent output for known issues.
2025-08-23 16:24:58 +02:00
Miguel
586e3cc9b3
Add test script for verifying SIMATIC SD compatibility detection
...
- Implemented a new test script `test_simatic_sd_compatibility.py` to check the availability of SIMATIC SD format in TIA Scripting.
- Included detailed analysis of SIMATIC SD requirements based on official Siemens documentation.
- Provided feedback on supported and unsupported programming languages and block types.
- Added error handling for TIA Scripting import and environment variable checks.
2025-08-23 13:53:13 +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
5da864abe0
refactor: Simplify configuration and improve code readability in x4.py
2025-08-23 10:52:02 +02:00
Miguel
5ed4d9391e
feat: Implement script execution and stopping functionality
...
- Added a new method to stop running scripts in the ScriptExecutor class, allowing graceful termination of scripts.
- Updated the ConfigurationManager class to handle script stopping requests and manage running processes.
- Enhanced the frontend JavaScript to include stop buttons for scripts, updating their state based on execution status.
- Introduced a mechanism to track running scripts and update UI elements accordingly.
- Improved logging for script execution and stopping events.
2025-08-23 10:51:38 +02:00
Miguel
fdc48375ad
Se añadió la propiedad `cronologia_file` en `esquema_work.json` para especificar el nombre del archivo de cronología en formato Markdown. Se actualizó `script_config.json` para reflejar el nuevo nombre del archivo de cronología en la configuración de nivel 3. Además, se ajustó la lógica en `x1.py` para utilizar el nuevo nombre de archivo y se modificó la extensión del archivo de salida a `.md`. Se optimizó el log para mostrar correctamente el nombre del archivo generado.
2025-08-11 15:35:43 +02:00
Miguel
7f815307ad
Actualizadas las rutas de directorios en `script_config.json` y `work_dir.json` para reflejar la nueva estructura de proyectos. Se mejoró la lógica de manejo de `rowspan` y `colspan` en `email_parser.py` para asegurar valores válidos. Se añadió un nuevo registro en `launcher_history.json` para el script `main.py`, y se optimizó el log en `log.txt` para reflejar la nueva configuración y mensajes procesados.
2025-08-11 15:27:16 +02:00
Miguel
9d9a1bba24
Se añadió un nuevo script `x2.py` para gestionar un editor web de reglas de embellecimiento en `beautify_rules.json`, permitiendo operaciones CRUD y validación de reglas. Se actualizaron las descripciones en `scripts_description.json` y se documentaron los cambios en `MemoriaDeEvolucion.md`. Además, se mejoró la lógica de procesamiento de imágenes en `email_parser.py` para conservar un ancho máximo de 800px al incrustar imágenes en Markdown.
2025-08-08 16:59:13 +02:00
Miguel
fc85347a43
Se añadió la creación del directorio `adjuntos/cronologia` en `x1.py` para almacenar imágenes de correos electrónicos. Se actualizó la función `procesar_eml` para manejar imágenes inline y adjuntas, y se refactorizó el código en `email_parser.py` para incluir la lógica de incrustación de imágenes en Markdown. Además, se mejoró la documentación en `MemoriaDeEvolucion.md` para reflejar estos cambios y se optimizó el manejo de errores en varias funciones.
2025-08-08 15:07:32 +02:00
Miguel
59cb4f4063
Se invirtieron los directorios de entrada y salida en la configuración del script de cronología. Se renombró `output_directory` a `input_directory` en `esquema_work.json` y se actualizaron las descripciones correspondientes. En `script_config.json` y `work_dir.json`, se ajustaron las rutas para reflejar los nuevos directorios. Además, se mejoró la documentación y se corrigieron lints en `x1.py` sin alterar la lógica del script.
2025-08-08 12:05:17 +02:00
Miguel
1fda6e656d
Se añadió una nueva ruta API `/api/update-backend-setup` para actualizar todos los archivos `backend_setup.md` en subdirectorios `.doc` copiando el contenido desde un archivo fuente. Se implementó la lógica para manejar errores y reportar el estado de la actualización. Además, se incorporó un botón en la interfaz de usuario para facilitar esta acción. Se realizaron mejoras en la documentación de `backend_setup.md` y se ajustaron los mensajes de salida para mayor claridad.
2025-08-08 11:25:52 +02:00
Miguel
784f7c59e2
Se añadió un nuevo registro en `launcher_history.json` para el script `main.py`, incluyendo detalles de ejecución como el estado y el PID. Además, se actualizaron los metadatos de los scripts en `launcher_script_metadata.json` y se incorporó un nuevo script "IPChangerNG" en `launcher_scripts.json`. Se realizó una limpieza en `log.txt`, eliminando entradas obsoletas y optimizando el formato del log.
2025-08-08 10:33:33 +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
4d1de71990
Se añadió la funcionalidad para convertir un archivo Excel de IO desde un esquema eléctrico a formato Markdown en el script `x3_excel_to_md.py`. Se implementó una nueva función `convert_io_excel_to_markdown()` que utiliza la configuración `io_excel_file_from_ediagram` para obtener la ruta del archivo. Además, se actualizó la documentación en `MemoriaDeEvolucion.md` para reflejar estos cambios y se mejoró el manejo de errores durante la conversión. También se unificó la ejecución de ambas conversiones en una función principal `main()` para una mejor organización del flujo de trabajo.
2025-07-14 16:54:55 +02:00
Miguel
c37e485fd3
Se añadió una nueva ruta API para buscar archivos mediante un diálogo de selección, permitiendo al usuario elegir archivos desde su sistema. Además, se actualizaron los archivos de configuración JSON para incluir nuevos parámetros relacionados con el directorio de Obsidian y se mejoró la interfaz de usuario para manejar la selección de archivos, integrando un nuevo botón de búsqueda en los campos de entrada.
2025-07-14 10:55:08 +02:00
Miguel
c8141deb63
Se actualizaron los archivos de configuración JSON para reflejar nuevos parámetros de directorios de exportación, incluyendo "aml_exp_directory" y "resultados_exp_directory". Además, se realizaron mejoras en el script `x1_export_CAx.py`, optimizando la gestión de directorios de salida y la detección de archivos de proyecto TIA. Se ajustaron los mensajes de depuración y se mejoró la estructura del código para mayor claridad.
2025-07-14 10:29:47 +02:00
Miguel
2297e217c7
Se añadió un nuevo parámetro "siemens_tia_project" en el archivo de configuración JSON para especificar la ubicación del proyecto Tia Portal. Además, se eliminaron varios archivos de log obsoletos relacionados con la ejecución de scripts, optimizando así la estructura del proyecto.
2025-07-10 16:50:00 +02:00
Miguel
e6b875aac1
Se actualizaron los archivos de configuración JSON para incluir nuevos parámetros de directorios relacionados con las exportaciones de Tia. Además, se mejoró la documentación en el archivo backend_setup.md, añadiendo una sección sobre servicios de Modelos de Lenguaje Grandes (LLM) y su configuración. Se realizaron cambios en la interfaz de usuario en index.html, renombrando secciones para mayor claridad.
2025-07-10 16:44:20 +02:00
Miguel
7afdbca03a
Se añadió una nueva sección en la documentación del backend para describir el uso de servicios compartidos, incluyendo ejemplos de implementación para el `ExcelService`, servicios de detección de idioma y servicios de Modelos de Lenguaje Grandes (LLM). Además, se eliminaron los scripts `x2_io_adaptation_script.py` y `x3_code_snippets_generator.py`, que ya no son necesarios, y se actualizaron los logs para reflejar estos cambios.
2025-07-10 16:10:13 +02:00
Miguel
164667bc2f
Se modificó el script `x1_lad_converter.py` para cambiar el manejo de los objetivos de red, pasando de un solo objetivo a una lista de objetivos. Se implementaron mejoras en la lógica de análisis de redes, permitiendo la recopilación de múltiples salidas y optimizando la generación de código SCL. Además, se actualizaron los mensajes de depuración y se mejoró la estructura del código para una mayor claridad y mantenimiento.
2025-07-10 12:20:54 +02:00
Miguel
ffc686e140
Se añadieron requisitos de codificación de salida en el archivo de configuración del backend, especificando que la salida estándar debe ser en UTF-8 para evitar problemas de caracteres corruptos. Además, se realizaron mejoras en el script `x1_lad_converter.py`, incluyendo la implementación de clases para gestionar funciones y bloques de funciones, así como la recopilación de interfaces de funciones en la primera pasada del convertidor. Se actualizaron los logs para reflejar la ejecución y los resultados del proceso de conversión.
2025-07-10 11:24:11 +02:00
Miguel
b4959e772f
Se agregó una nueva ruta en el archivo de configuración del workspace de TwinCat y se realizaron mejoras en el script `x1_lad_converter.py`. Se añadió un nuevo directorio para exportaciones y se optimizó el manejo de expresiones en el convertidor, mejorando la legibilidad y la eficiencia del código. Además, se actualizaron los logs para reflejar la ejecución del script de documentación completa de IOs, incluyendo un resumen de las variables analizadas y los archivos generados.
2025-07-09 16:42:45 +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
def0f0b2d7
Eliminación del archivo README.md del convertidor LAD a pseudocódigo estructurado, optimizando la estructura del proyecto y reduciendo la confusión en la documentación. Se mantiene la funcionalidad principal del convertidor sin cambios.
2025-06-19 22:47:32 +02:00
Miguel
b74db36cf9
Version Funcionante
2025-06-19 20:55:40 +02:00
Miguel
26bc892243
Actualización de directorios de trabajo y logs en el script de obtención de IO de TIA Portal
...
- 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_x1.txt` y `log_x4.txt` para reflejar las nuevas fechas, duraciones y resultados de los procesos de exportación.
- Se registraron errores en `log_x4.txt` relacionados con el acceso al proyecto, indicando que ya estaba abierto por otro usuario.
2025-06-19 19:07:49 +02:00
Miguel
99e3628955
Eliminación de archivos de ejemplo en el convertidor LAD de TwinCAT. Se han eliminado múltiples archivos .EXP que ya no son necesarios, optimizando así la estructura del proyecto y reduciendo la confusión en la gestión de ejemplos. Se mantiene la funcionalidad principal del convertidor en `x1_lad_converter.py` para la conversión de archivos .EXP a .SCL.
2025-06-19 18:39:04 +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
5da7dcad06
Mejora en el convertidor LAD de TwinCAT con integración de SymPy para optimización de expresiones lógicas. Se añadieron nuevas funcionalidades para el manejo de variables y ACTIONs, así como mejoras en la estructura del código SCL generado.
2025-06-19 15:13:24 +02:00
Miguel
205e1f4c8d
Mejorado de la conversion LAD de Twincat
2025-06-19 14:45:27 +02:00
Miguel
c597eaa28f
Primera Version TwinCat Converter
2025-06-19 14:30:15 +02:00