MaselliSimulatorApp/.doc/CAMBIOS.md

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:

  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.