Test PLC automatici

PLC Test Harness
TDD per l'automazione industriale

Definisci scenari di test, eseguili su PLCSim Advanced e ottieni verdetti PASS/FAIL istantanei. Unit testing per la logica PLC — nello stesso modo in cui gli ingegneri software testano il loro codice.

Il testing dei PLC è ancora manuale

Ogni modifica al codice è una scommessa senza test automatici

Nessun test di regressione

Modifichi un function block e speri che nient'altro si rompa. Senza test automatici, ogni modifica rischia di introdurre bug silenziosi che emergono solo in fabbrica.

Verifica manuale

Testare significa forzare manualmente gli input sul PLC o PLCSim, osservare i cambiamenti degli output e controllare i valori a mano. Tedioso, soggetto a errori e impossibile da ripetere in modo coerente.

Nessuna documentazione dei test

Come dimostri che il tuo programma funziona correttamente? Le procedure di test esistono in documenti Word o nella testa di un ingegnere. Nessuna specifica di test standardizzata ed eseguibile che segua il progetto.

L'IA non può verificare il proprio codice

L'IA genera codice PLC, ma come sai se funziona? Senza test automatici, il codice generato dall'IA va in produzione non testato. Il Test Harness chiude il cerchio.

Come funziona PLC Test Harness

Un framework di test strutturato per la logica PLC, accessibile tramite MCP, Copilot e REST API

Definisci scenari di test

Ogni test è una sequenza di passaggi: imposta gli input, attendi la reazione del PLC, quindi verifica che gli output corrispondano alle aspettative. I test sono memorizzati come file .test.json insieme al tuo progetto TIA Portal.

4 tipi di asserzione

Corrispondenza esatta per booleani e interi. Tolleranza per i valori in virgola mobile (±0.1). Intervallo per i controlli min/max. Non-uguale per verificare che un valore sia cambiato. Copre ogni tipo di dato PLC.

Setup & Teardown

Ogni test inizia con una fase di setup (inizializzazione dei tag a uno stato noto) e termina con il teardown (ripristino dei tag a zero), anche se il test fallisce. Stato pulito garantito.

Esegui uno o esegui tutto

Esegui un singolo test per nome, passa un test inline o usa il carattere jolly (*) per eseguire l'intera suite di test. I risultati sono memorizzati in last-results.json per la revisione.

Audit trail completo

Ogni esecuzione di test produce un report dettagliato: quali passaggi sono passati, quali falliti, valori attesi vs effettivi e timestamp di esecuzione. Esporta o interroga i risultati in qualsiasi momento.

Ciclo TDD guidato dall'IA

Un LLM connesso può scrivere codice, creare test, compilare, scaricare su PLCSim, eseguire test e correggere errori — tutto autonomamente. Red → Green → Refactor, per il PLC.

Il ciclo TDD per il PLC

Dalla definizione del test alla logica PLC convalidata

1

1. Scrivi il test

Definisci il comportamento atteso: quando Start_Button viene premuto, Motor_Running deve essere true entro 500ms. Crea il test con plc_test_create.

2

2. Esegui su PLCSim

Esegui il test con plc_test_run. T-IA Connect scrive gli input su PLCSim, attende il ritardo specificato, quindi legge e controlla gli output. Verdetto: PASS o FAIL.

3

3. Correggi & itera

Se un passaggio fallisce, vedi esattamente cosa è andato storto: Motor_Running atteso = true, ottenuto false. Correggi il programma PLC, ricompila, scarica ed esegui nuovamente il test.

4

4. Costruisci la tua suite di test

Accumula test man mano che sviluppi. Esegui la suite completa dopo ogni modifica per rilevare regressioni. I test seguono il progetto in .tia-connect/tests/.

Tipi di asserzione in dettaglio

Copre ogni tipo di dato PLC con il confronto corretto

Corrispondenza esatta

Per booleani e interi. Motor_Running deve essere esattamente true. Il contatore deve essere esattamente 5. Nessun margine di errore.

Tolleranza (±)

Per valori REAL e LREAL. La velocità deve essere 50.0 ± 0.1. Tiene conto della precisione in virgola mobile e del rumore delle misure analogiche.

Intervallo (min/max)

Il valore deve rientrare in un intervallo definito. Temperatura tra 10.0 e 100.0. Perfetto per ingressi analogici e valori di processo.

Non uguale

Verifica che un valore sia cambiato rispetto al suo stato iniziale. Il contatore non deve essere uguale a 0 — confermando che la logica di conteggio è stata effettivamente eseguita.

5 strumenti su 3 canali

Disponibili tramite MCP, Copilot (assistente integrato) e REST API

plc_test_create

Salva la definizione di un caso di test con setup, passaggi (input → ritardo → asserzioni) e teardown. Memorizzato come file .test.json in .tia-connect/tests/.

plc_test_run

Esegui un test per nome, passane uno inline o usa * per eseguire tutti i test. Asincrono tramite REST (restituisce un jobId). Risultati salvati in last-results.json.

plc_test_list

Elenca tutti i casi di test salvati con i loro nomi e descrizioni. Panoramica rapida della copertura dei test del tuo progetto.

plc_test_delete

Rimuovi un caso di test per nome. Elimina i test obsoleti man mano che il tuo progetto si evolve.

plc_test_get_results

Recupera i risultati dell'ultima esecuzione del test: stato PASS/FAIL per passaggio, valori attesi vs effettivi, tempo di esecuzione e verdetto finale.

Domande frequenti

Richiede PLCSim Advanced?

Sì. Il Test Harness scrive gli input e legge gli output tramite l'interfaccia di simulazione di PLCSim Advanced. Non funziona con i PLC reali (sarebbe pericoloso per i test automatici). PLCSim Advanced fornisce un ambiente sicuro e ripetibile.

Un'IA può creare ed eseguire test autonomamente?

Assolutamente. Un LLM connesso (tramite MCP o Copilot) può scrivere codice PLC, creare un test con plc_test_create, compilare e scaricare su PLCSim, eseguire il test, controllare i risultati e correggere il codice se fallisce. Ciclo TDD completo senza intervento umano.

Dove sono memorizzati i test?

Nella cartella .tia-connect/tests/ accanto al tuo progetto TIA Portal. Ogni test è un file .test.json. I risultati sono in last-results.json. I test seguono il progetto — archivia il progetto, archivia i test.

Quanto tempo richiede l'esecuzione di un test?

Dipende dai ritardi definiti nei passaggi del test (il tempo che dai al PLC per reagire). Un test tipico con 3-5 passaggi e ritardi di 200-500ms viene eseguito in 1-3 secondi. L'esecuzione di una suite completa di 20 test richiede solitamente meno di un minuto.

Testa il tuo codice PLC come un software

Test automatici, rilevamento delle regressioni e TDD — tutto ciò che gli ingegneri software danno per scontato, ora per i programmi PLC di TIA Portal.