PLC Test Harness
TDD para Automatización Industrial
Defina escenarios de prueba, ejecútelos contra PLCSim Advanced y obtenga veredictos PASS/FAIL instantáneos. Pruebas unitarias para lógica PLC, de la misma manera que los ingenieros de software prueban su código.
Las Pruebas de PLC Siguen Siendo Manuales
Cada cambio de código es una apuesta sin pruebas automatizadas
Sin Pruebas de Regresión
Modifica un bloque de función y reza para que nada más se rompa. Sin pruebas automatizadas, cada cambio corre el riesgo de introducir errores silenciosos que solo aparecen en la planta de producción.
Verificación Manual
Probar significa forzar manualmente las entradas en el PLC o PLCSim, observar cómo cambian las salidas y verificar los valores a mano. Tedioso, propenso a errores e imposible de repetir de manera consistente.
Sin Documentación de Pruebas
¿Cómo demuestra que su programa funciona correctamente? Los procedimientos de prueba existen en documentos de Word o en la cabeza de un ingeniero. No hay especificaciones de prueba estandarizadas y ejecutables que viajen con el proyecto.
La IA No Puede Verificar su Propio Código
La IA genera código PLC, pero ¿cómo sabe si funciona? Sin pruebas automatizadas, el código generado por IA entra en producción sin ser probado. El Test Harness cierra el ciclo.
Cómo Funciona PLC Test Harness
Un marco de pruebas estructurado para lógica PLC, accesible a través de MCP, Copilot y REST API
Defina Escenarios de Prueba
Cada prueba es una secuencia de pasos: establecer entradas, esperar a que el PLC reaccione y luego verificar que las salidas coincidan con las expectativas. Las pruebas se guardan como archivos .test.json junto a su proyecto de TIA Portal.
4 Tipos de Aserciones
Coincidencia exacta para booleanos y enteros. Tolerancia para valores de coma flotante (±0.1). Rango para verificaciones mín/máx. 'No igual' para verificar que un valor ha cambiado. Cubre todos los tipos de datos de PLC.
Setup y Teardown
Cada prueba comienza con una fase de setup (inicializar tags a un estado conocido) y termina con un teardown (restablecer tags a cero), incluso si la prueba falla. Estado limpio garantizado.
Ejecutar Una o Todas
Ejecute una sola prueba por nombre, pase una prueba en línea o use el comodín (*) para ejecutar toda la suite de pruebas. Los resultados se guardan en last-results.json para su revisión.
Pista de Auditoría Completa
Cada ejecución de prueba genera un informe detallado: qué pasos pasaron, cuáles fallaron, valores esperados frente a reales y marcas de tiempo de ejecución. Exporte o consulte los resultados en cualquier momento.
Ciclo TDD Impulsado por IA
Un LLM conectado puede escribir código, crear pruebas, compilar, descargar en PLCSim, ejecutar pruebas y corregir fallos, todo de forma autónoma. Red → Green → Refactor, para PLC.
El Ciclo TDD para PLC
Desde la definición de la prueba hasta la lógica PLC validada
1. Escriba la Prueba
Defina el comportamiento esperado: cuando se presiona Start_Button, Motor_Running debe ser verdadero en 500ms. Cree la prueba con plc_test_create.
2. Ejecute contra PLCSim
Ejecute la prueba con plc_test_run. T-IA Connect escribe las entradas en PLCSim, espera el retardo especificado y luego lee y verifica las salidas. Veredicto: PASS o FAIL.
3. Corrija e Itere
Si un paso falla, verá exactamente qué salió mal: se esperaba Motor_Running = true, se obtuvo false. Corrija el programa PLC, recompile, descargue y ejecute la prueba nuevamente.
4. Construya su Suite de Pruebas
Acumule pruebas a medida que desarrolla. Ejecute la suite completa después de cada cambio para detectar regresiones. Las pruebas viajan con el proyecto en .tia-connect/tests/.
Tipos de Aserción en Detalle
Cubriendo cada tipo de datos de PLC con la comparación adecuada
Coincidencia Exacta
Para booleanos y enteros. Motor_Running debe ser exactamente true. El contador debe ser exactamente 5. Sin margen de error.
Tolerancia (±)
Para valores REAL y LREAL. La velocidad debe ser 50.0 ± 0.1. Tiene en cuenta la precisión de coma flotante y el ruido de medición analógica.
Rango (mín/máx)
El valor debe estar dentro de un rango definido. Temperatura entre 10.0 y 100.0. Perfecto para entradas analógicas y valores de proceso.
No Igual
Verifique que un valor ha cambiado de su estado inicial. El contador no debe ser igual a 0, confirmando que la lógica de conteo realmente se ejecutó.
5 Herramientas en 3 Canales
Disponible a través de MCP, Copilot (asistente integrado) y REST API
plc_test_create
Guarde una definición de caso de prueba con setup, pasos (entradas → retardo → aserciones) y teardown. Se almacena como un archivo .test.json en .tia-connect/tests/.
plc_test_run
Ejecute una prueba por nombre, pase una en línea o use * para ejecutar todas las pruebas. Asíncrono a través de REST (devuelve un jobId). Resultados guardados en last-results.json.
plc_test_list
Enumere todos los casos de prueba guardados con sus nombres y descripciones. Descripción rápida de la cobertura de pruebas de su proyecto.
plc_test_delete
Elimine un caso de prueba por su nombre. Limpie las pruebas obsoletas a medida que evoluciona su proyecto.
plc_test_get_results
Recupere los últimos resultados de la ejecución de la prueba: estado PASS/FAIL por paso, valores esperados frente a reales, tiempo de ejecución y veredicto general.
Preguntas Frecuentes
¿Requiere esto PLCSim Advanced?
Sí. El Test Harness escribe entradas y lee salidas a través de la interfaz de simulación de PLCSim Advanced. No funciona con PLCs reales (eso sería peligroso para las pruebas automatizadas). PLCSim Advanced proporciona un entorno seguro y repetible.
¿Puede una IA crear y ejecutar pruebas de forma autónoma?
Absolutamente. Un LLM conectado (a través de MCP o Copilot) puede escribir código PLC, crear una prueba con plc_test_create, compilar y descargar en PLCSim, ejecutar la prueba, verificar los resultados y corregir el código si falla. Ciclo TDD completo sin intervención humana.
¿Dónde se guardan las pruebas?
En la carpeta .tia-connect/tests/ junto a su proyecto de TIA Portal. Cada prueba es un archivo .test.json. Los resultados están en last-results.json. Las pruebas viajan con el proyecto: archive el proyecto, archive las pruebas.
¿Cuánto tiempo toma una ejecución de prueba?
Depende de los retardos que defina en los pasos de su prueba (el tiempo que le da al PLC para reaccionar). Una prueba típica con 3-5 pasos y retardos de 200-500 ms se ejecuta en 1-3 segundos. Ejecutar una suite completa de 20 pruebas suele tardar menos de un minuto.