S7_snap7_Stremer_n_Recorder/.tests
Miguel fce7928a7f Verificacion de Lecturas con Test de sistema Legacy y Optimizado 2025-08-22 11:15:50 +02:00
..
PERFORMANCE_MONITORING.md Add comprehensive tests for snap7 v2 functionality 2025-08-21 20:30:41 +02:00
README.md Verificacion de Lecturas con Test de sistema Legacy y Optimizado 2025-08-22 11:15:50 +02:00
data_integrity_simple_20250821_201829.json Add comprehensive tests for snap7 v2 functionality 2025-08-21 20:30:41 +02:00
data_integrity_simple_20250821_201919.json Add comprehensive tests for snap7 v2 functionality 2025-08-21 20:30:41 +02:00
db1001_verification_report_20250822_110058.json Verificacion de Lecturas con Test de sistema Legacy y Optimizado 2025-08-22 11:15:50 +02:00
run_tests.py Add comprehensive tests for snap7 v2 functionality 2025-08-21 20:30:41 +02:00
setup_performance_test.py Add comprehensive tests for snap7 v2 functionality 2025-08-21 20:30:41 +02:00
setup_report_20250821_164320.json Add comprehensive tests for snap7 v2 functionality 2025-08-21 20:30:41 +02:00
setup_report_20250821_164652.json Add comprehensive tests for snap7 v2 functionality 2025-08-21 20:30:41 +02:00
snap7v2_test_report_20250821_171732.json Add comprehensive tests for snap7 v2 functionality 2025-08-21 20:30:41 +02:00
snap7v2_test_report_20250821_172424.json Add comprehensive tests for snap7 v2 functionality 2025-08-21 20:30:41 +02:00
snap7v2_test_report_20250821_173608.json Add comprehensive tests for snap7 v2 functionality 2025-08-21 20:30:41 +02:00
snap7v2_test_report_20250821_174150.json Add comprehensive tests for snap7 v2 functionality 2025-08-21 20:30:41 +02:00
test_db1001_specific_values.py Verificacion de Lecturas con Test de sistema Legacy y Optimizado 2025-08-22 11:15:50 +02:00
test_simple_data_integrity.py Add comprehensive tests for snap7 v2 functionality 2025-08-21 20:30:41 +02:00
test_snap7v2_comprehensive.py Add comprehensive tests for snap7 v2 functionality 2025-08-21 20:30:41 +02:00

README.md

🧪 TESTS - Scripts de Verificación Snap7 V2

Este directorio contiene los scripts de test esenciales para validar el sistema de optimización snap7 v2.

📋 Scripts Principales

🚀 test_snap7v2_comprehensive.py

Función: Control de diferencias de velocidad y performance entre métodos legacy y optimizado

  • Comparación de rendimiento con diferentes tamaños de datasets (5, 10, 100 variables)
  • Stress testing con múltiples iteraciones
  • Medición de mejoras de performance (hasta 96% de optimización)
  • Generación de reportes detallados de rendimiento
  • Validación de todas las áreas de memoria (DB, M, E)

🔍 test_simple_data_integrity.py

Función: Control de integridad de datos usando sistema de 2 fases

  • Verificación de que ambos métodos lean exactamente los mismos valores
  • Sistema de doble pasada para descartar variables cambiantes
  • Detección automática de variables que cambien durante las pruebas
  • Validación de consistencia entre lecturas
  • Reporte de integridad con 100% de precisión

🎯 test_db1001_specific_values.py

Función: Verificación de valores hexadecimales específicos en DB1001

  • Validación de 17 valores hexadecimales específicos predefinidos
  • Comparación exacta entre métodos legacy y optimizado
  • Verificación de tipos WORD (16-bit unsigned)
  • Control de precisión hexadecimal exacta
  • Validación de chunking automático

📊 Archivos de Reporte

Reportes JSON

  • snap7v2_test_report_*.json - Reportes de performance comprehensivos
  • data_integrity_simple_*.json - Reportes de integridad de datos
  • setup_report_*.json - Reportes de configuración de tests

Documentación

  • PERFORMANCE_MONITORING.md - Guía de monitoreo de performance

🎯 Casos de Uso

Para Validar Performance

python test_snap7v2_comprehensive.py
  • Mide diferencias de velocidad
  • Genera reportes de mejora de rendimiento
  • Valida escalabilidad del sistema

Para Validar Integridad de Datos

python test_simple_data_integrity.py
  • Verifica que ambos métodos lean valores idénticos
  • Usa doble pasada para mayor confiabilidad
  • Detecta variables cambiantes automáticamente

Para Validar Valores Específicos

python test_db1001_specific_values.py
  • Verifica valores hexadecimales exactos
  • Valida lectura correcta de tipos WORD
  • Control de precisión bit-level

Estado de Validación

Todos los tests han sido ejecutados exitosamente con los siguientes resultados:

  • 🚀 Performance: Mejora de hasta 96% en datasets grandes
  • 🔍 Integridad: 100% de precisión en lectura de datos
  • 🎯 Valores Específicos: 100% de exactitud en valores hexadecimales

🔧 Configuración

Los tests utilizan la configuración PLC definida en config/data/plc_config.json:

  • PLC: Siemens S7-315
  • IP: 10.1.33.11
  • Rack: 0, Slot: 2

📝 Notas Técnicas

  • Chunking Automático: Los tests validan el límite de 20 variables por llamada read_multi_vars
  • Buffer Management: Verificación correcta de allocación de buffers ctypes
  • Error Handling: Manejo robusto de errores con fallback automático
  • Threading Safety: Validación de operaciones thread-safe