4.0 KiB
4.0 KiB
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 TwinCATTiaPortal/
- Directorio con archivos.md
de TIA Portal
Archivos generados:
resultados/IO_Detailed_Analysis_Report.md
- Reporte con tablas markdownresultados/io_adaptation_data.json
- Datos estructurados para análisisresultados/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 1TwinCat/
- Directorio con archivos.scl
TiaPortal/
- Directorio con archivos.md
Archivos generados:
resultados/IO_Code_Snippets_Report.md
- Snippets de código con contextoresultados/IO_Usage_Statistics.md
- Estadísticas de uso
🚀 Uso
Paso 1: Ejecutar análisis de correlación
python x1_io_adaptation_script.py
Paso 2: Generar snippets de código
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
pandas
pathlib (incluida en Python 3.4+)
json (incluida en Python estándar)
re (incluida en Python estándar)
📝 Notas Importantes
- Orden de ejecución: Ejecutar siempre el Script 1 antes que el Script 2
- Archivos fuente: Verificar que existan los directorios TwinCat/ y TiaPortal/
- Codificación: Los scripts manejan archivos con encoding UTF-8
- 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