3.4 KiB
3.4 KiB
Resumen de Cambios y Nueva Estructura
Estructura Modular Creada
El proyecto ha sido dividido en los siguientes módulos:
Módulos Principales:
- main.py - Punto de entrada de la aplicación
- maselli_app.py - Aplicación principal y coordinación de la GUI
- protocol_handler.py - Manejo del protocolo ADAM/Maselli
- connection_manager.py - Gestión unificada de conexiones (Serial/TCP/UDP)
- config_manager.py - Gestión de configuración y persistencia
- utils.py - Utilidades comunes
Módulos de Tabs:
- tabs/simulator_tab.py - Lógica del simulador
- tabs/trace_tab.py - Lógica del trace
- 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:
-
Mejor Organización del Código
- Separación clara de responsabilidades
- Código más mantenible y extensible
- Fácil agregar nuevas funcionalidades
-
Gestión de Configuración Mejorada
- Validación de parámetros
- Migración automática de configuraciones antiguas
- Valores por defecto sensatos
-
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
-
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:
-
Navegar al directorio del proyecto:
cd D:\Proyectos\Scripts\Siemens\MaselliSimulatorApp
-
Instalar dependencias (solo la primera vez):
pip install -r requirements.txt
-
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.