115 lines
4.0 KiB
Markdown
115 lines
4.0 KiB
Markdown
# 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 |