- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.