Pruebas de PLC Automatizadas

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

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

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

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

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.

Pruebe su Código PLC como Software

Pruebas automatizadas, detección de regresión y TDD: todo lo que los ingenieros de software dan por sentado, ahora para los programas PLC de TIA Portal.