MaselliSimulatorApp/.doc/CAMBIOS.md

98 lines
3.4 KiB
Markdown

# Resumen de Cambios y Nueva Estructura
## Estructura Modular Creada
El proyecto ha sido dividido en los siguientes módulos:
### Módulos Principales:
1. **main.py** - Punto de entrada de la aplicación
2. **maselli_app.py** - Aplicación principal y coordinación de la GUI
3. **protocol_handler.py** - Manejo del protocolo ADAM/Maselli
4. **connection_manager.py** - Gestión unificada de conexiones (Serial/TCP/UDP)
5. **config_manager.py** - Gestión de configuración y persistencia
6. **utils.py** - Utilidades comunes
### Módulos de Tabs:
1. **tabs/simulator_tab.py** - Lógica del simulador
2. **tabs/trace_tab.py** - Lógica del trace
3. **tabs/netcom_tab.py** - Nueva funcionalidad de gateway
## Nuevas Características Implementadas:
### 1. Tiempo de Ciclo Completo (Simulador)
- Reemplaza el período entre muestras por un tiempo total de ciclo más intuitivo
- Campo "Tiempo Ciclo (s)" configura la duración total de un ciclo completo
- Campo "Muestras/ciclo" permite ajustar la resolución
- El período entre muestras se calcula automáticamente
### 2. Gráfico de Trace Mejorado
- Ahora muestra tanto Brix (eje Y izquierdo, azul) como mA (eje Y derecho, rojo)
- Marcadores diferentes para cada línea (círculos para Brix, cuadrados para mA)
- Actualización en tiempo real de ambos valores
### 3. Modo NetCom (Gateway)
- Nueva pestaña para funcionalidad de bridge/gateway
- Conecta un puerto COM físico con una conexión TCP/UDP
- Log tipo sniffer que muestra:
- Dirección del tráfico (COM→NET o NET→COM)
- Datos raw con caracteres de control visibles
- Parseo opcional de mensajes ADAM
- Estadísticas de transferencias
- Filtros configurables para el log
- Colores diferenciados por tipo de mensaje
## Mejoras Adicionales:
1. **Mejor Organización del Código**
- Separación clara de responsabilidades
- Código más mantenible y extensible
- Fácil agregar nuevas funcionalidades
2. **Gestión de Configuración Mejorada**
- Validación de parámetros
- Migración automática de configuraciones antiguas
- Valores por defecto sensatos
3. **Manejo de Conexiones Unificado**
- Clase ConnectionManager centraliza toda la lógica de comunicación
- Soporte consistente para Serial, TCP y UDP
- Mejor manejo de errores y timeouts
4. **Interfaz de Usuario Mejorada**
- Configuración compartida visible en todo momento
- Estados visuales claros (colores en NetCom)
- Estadísticas en tiempo real
## Archivos de Soporte:
- **README.md** - Documentación completa actualizada
- **requirements.txt** - Dependencias del proyecto
- **.gitignore** - Para control de versiones
- **run.bat** - Script de inicio fácil para Windows
- **maselli_simulator_config.json** - Configuración de ejemplo
## Cómo Ejecutar:
1. Navegar al directorio del proyecto:
```
cd D:\Proyectos\Scripts\Siemens\MaselliSimulatorApp
```
2. Instalar dependencias (solo la primera vez):
```
pip install -r requirements.txt
```
3. Ejecutar la aplicación:
```
python main.py
```
O simplemente doble clic en `run.bat`
## Notas de Migración:
- La configuración existente se migrará automáticamente
- El campo "period" se convierte a "cycle_time"
- Los valores de configuración de NetCom tienen valores por defecto
La aplicación mantiene toda la funcionalidad original y agrega las nuevas características solicitadas de manera integrada.