# Análisis de Adaptación IO - TwinCAT ↔ TIA Portal Scripts de análisis automático para correlacionar variables IO entre plataformas TwinCAT y TIA Portal en el proyecto SIDEL E5.007560. ## 📋 Descripción General Este proyecto automatiza el análisis de adaptación de variables de entrada/salida (IO) entre: - **TIA Portal** (Siemens) - Sistema actual - **TwinCAT** (Beckhoff) - Sistema objetivo de migración ## 🔧 Scripts Incluidos ### 1. `x1_io_adaptation_script.py` - Análisis de Correlación IO **Propósito:** Encuentra y correlaciona variables IO entre ambas plataformas generando reportes detallados. **Archivos requeridos:** - `IO Adapted.md` - Tabla de adaptaciones TIA Portal (debe estar en directorio raíz) - `TwinCat/` - Directorio con archivos `.scl` de TwinCAT - `TiaPortal/` - Directorio con archivos `.md` de TIA Portal **Archivos generados:** - `resultados/IO_Detailed_Analysis_Report.md` - Reporte con tablas markdown - `resultados/io_adaptation_data.json` - Datos estructurados para análisis - `resultados/io_detailed_analysis.csv` - Datos tabulares ### 2. `x2_code_snippets_generator.py` - Generador de Snippets de Código **Propósito:** Genera snippets de código mostrando el uso real de cada variable en ambas plataformas. **Archivos requeridos:** - `resultados/io_adaptation_data.json` - Generado por el script 1 - `TwinCat/` - Directorio con archivos `.scl` - `TiaPortal/` - Directorio con archivos `.md` **Archivos generados:** - `resultados/IO_Code_Snippets_Report.md` - Snippets de código con contexto - `resultados/IO_Usage_Statistics.md` - Estadísticas de uso ## 🚀 Uso ### Paso 1: Ejecutar análisis de correlación ```bash python x1_io_adaptation_script.py ``` ### Paso 2: Generar snippets de código ```bash python x2_code_snippets_generator.py ``` ## 📁 Estructura de Directorios Requerida ``` proyecto/ ├── x1_io_adaptation_script.py ├── x2_code_snippets_generator.py ├── IO Adapted.md # Tabla de adaptaciones TIA ├── TwinCat/ # Archivos .scl TwinCAT │ ├── GLOBAL_VARIABLES_IN_OUT.scl │ ├── INPUT.scl │ └── ... (otros archivos .scl) ├── TiaPortal/ # Archivos .md TIA Portal │ ├── Input.md │ ├── Output.md │ └── ... (otros archivos .md) └── resultados/ # Directorio creado automáticamente ├── IO_Detailed_Analysis_Report.md ├── io_adaptation_data.json ├── io_detailed_analysis.csv ├── IO_Code_Snippets_Report.md └── IO_Usage_Statistics.md ``` ## 🔍 Funcionalidades Principales ### Script 1 - Análisis de Correlación - ✅ Convierte direcciones TIA Portal a formato TwinCAT - ✅ Busca variables por dirección exacta y similitud de nombres - ✅ Calcula nivel de confianza de correlaciones - ✅ Genera reportes en múltiples formatos (MD, JSON, CSV) ### Script 2 - Snippets de Código - ✅ Muestra hasta 3 usos por variable por plataforma - ✅ Contexto de 3 líneas (anterior, actual, siguiente) - ✅ Links markdown a archivos fuente - ✅ Estadísticas de uso y archivos más referenciados ## 📊 Resultados Típicos - **Variables procesadas:** ~90-100 adaptaciones IO - **Tasa de correlación:** ~70-80% de variables encontradas - **Confianza alta:** Correlaciones por dirección exacta - **Variable más usada:** Típicamente botones de reset/start/stop ## 🛠 Dependencias ```python pandas pathlib (incluida en Python 3.4+) json (incluida en Python estándar) re (incluida en Python estándar) ``` ## 📝 Notas Importantes 1. **Orden de ejecución:** Ejecutar siempre el Script 1 antes que el Script 2 2. **Archivos fuente:** Verificar que existan los directorios TwinCat/ y TiaPortal/ 3. **Codificación:** Los scripts manejan archivos con encoding UTF-8 4. **Rendimiento:** El Script 2 puede tardar algunos minutos procesando archivos grandes ## 👥 Proyecto **Proyecto SIDEL:** E5.007560 - Modifica O&U - SAE235 **Automatización:** Migración TIA Portal → TwinCAT