98 lines
3.4 KiB
Markdown
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.
|