PLC Test Harness
TDD za industrijsko avtomatizacijo
Definirajte testne scenarije, izvedite jih v PLCSim Advanced in pridobite takojšnje PASS/FAIL razsodbe. Unit testing za PLC logiko — na enak način, kot programsko opremo testirajo inženirji.
PLC testiranje je še vedno ročno
Vsaka sprememba kode je tveganje brez avtomatiziranih testov
Brez regresijskega testiranja
Spremenite funkcijski blok in upate, da se ni nič drugega pokvarilo. Brez avtomatiziranih testov vsaka sprememba tvega uvedbo tihih hroščev, ki se pojavijo šele v proizvodnji.
Ročno preverjanje
Testiranje pomeni ročno forsiranje vhodov na PLC ali PLCSim, opazovanje sprememb izhodov in ročno preverjanje vrednosti. Zamudno, podvrženo napakam in nemogoče za dosledno ponavljanje.
Brez testne dokumentacije
Kako dokažete, da vaš program deluje pravilno? Testni postopki obstajajo v Word dokumentih ali v glavi inženirja. Ni standardiziranih, izvedljivih testnih specifikacij, ki bi spremljale projekt.
AI ne more preveriti lastne kode
AI generira PLC kodo, toda kako veste, da deluje? Brez avtomatiziranega testiranja gre AI-generirana koda nepreverjena v produkcijo. Test Harness sklene krog.
Kako deluje PLC Test Harness
Strukturirano testno ogrodje za PLC logiko, dostopno prek MCP, Copilot in REST API
Definirajte testne scenarije
Vsak test je zaporedje korakov: nastavitev vhodov, čakanje na odziv PLC-ja, nato preverjanje, ali se izhodi ujemajo s pričakovanji. Testi so shranjeni kot .test.json datoteke poleg vašega TIA Portal projekta.
4 tipi Assertionov
Natančno ujemanje za boolove vrednosti in cela števila. Toleranca za vrednosti s plavajočo vejico (±0.1). Razpon za min/max preverjanja. Ni enako za preverjanje, ali se je vrednost spremenila. Pokriva vsak PLC podatkovni tip.
Setup & Teardown
Vsak test se začne s fazo setup (inicializacija tagov v znano stanje) in konča s teardown (ponastavitev tagov na nič), tudi če test ne uspe. Zagotovljeno čisto stanje.
Zaženi enega ali vse
Izvedite posamezen test po imenu, podajte test neposredno (inline) ali uporabite nadomestni znak (*) za zagon celotnega nabora testov. Rezultati se shranijo v last-results.json za pregled.
Celotna revizijska sled
Vsak zagon testa ustvari podrobno poročilo: kateri koraki so bili PASS, kateri FAIL, pričakovane proti dejanskim vrednostim in časovni žigi izvedbe. Izvozite ali poizvedujte rezultate kadarkoli.
TDD cikel voden z AI
Povezan LLM lahko piše kodo, ustvarja teste, prevaja, nalaga v PLCSim, izvaja teste in odpravlja napake — vse avtonomno. Red → Green → Refactor, za PLC.
TDD cikel za PLC
Od definicije testa do potrjene PLC logike
1. Napišite test
Definirajte pričakovano vedenje: ko je Start_Button pritisnjen, mora biti Motor_Running true v 500ms. Ustvarite test s plc_test_create.
2. Zaženite v PLCSim
Izvedite test s plc_test_run. T-IA Connect zapiše vhode v PLCSim, počaka določeno zakasnitev, nato prebere in preveri izhode. Razsodba: PASS ali FAIL.
3. Popravite in ponovite
Če korak spodleti, vidite natančno, kaj je šlo narobe: pričakovano Motor_Running = true, dobljeno false. Popravite PLC program, ponovno prevedite, naložite in znova zaženite test.
4. Izgradite svoj nabor testov
Zbirajte teste med razvojem. Zaženite celoten nabor po vsaki spremembi, da ujamete regresije. Testi potujejo s projektom v .tia-connect/tests/.
Tipi Assertionov podrobno
Pokrivanje vsakega PLC podatkovnega tipa s pravo primerjavo
Natančno ujemanje
Za boolove vrednosti in cela števila. Motor_Running mora biti natančno true. Števec mora biti natančno 5. Brez odstopanja.
Toleranca (±)
Za REAL in LREAL vrednosti. Hitrost mora biti 50.0 ± 0.1. Upošteva natančnost plavajoče vejice in šum analognih meritev.
Razpon (min/max)
Vrednost mora pasti v definiran razpon. Temperatura med 10.0 in 100.0. Popolno za analogne vhode in procesne vrednosti.
Ni enako
Preverite, ali se je vrednost spremenila iz začetnega stanja. Števec ne sme biti enak 0 — potrditev, da se je logika številčenja dejansko izvedla.
5 orodij skozi 3 kanale
Na voljo prek MCP, Copilot (vgrajen asistent) in REST API
plc_test_create
Shranite definicijo testnega primera s setupom, koraki (vhodi → zakasnitev → assertioni) in teardownom. Shranjeno kot .test.json datoteka v .tia-connect/tests/.
plc_test_run
Izvedite test po imenu, podajte ga neposredno ali uporabite * za zagon vseh testov. Asinhrono prek REST (vrne jobId). Rezultati shranjeni v last-results.json.
plc_test_list
Seznam vseh shranjenih testnih primerov z njihovimi imeni in opisi. Hiter pregled pokritosti vašega projekta s testi.
plc_test_delete
Odstranite testni primer po imenu. Počistite zastarele teste, ko se vaš projekt razvija.
plc_test_get_results
Pridobite rezultate zadnjega zagona testa: PASS/FAIL status po korakih, pričakovane proti dejanskim vrednostim, čas izvedbe in splošna razsodba.
Pogosta vprašanja
Ali to zahteva PLCSim Advanced?
Da. Test Harness zapisuje vhode in bere izhode prek simulacijskega vmesnika PLCSim Advanced. Ne deluje s pravimi PLC-ji (to bi bilo nevarno za avtomatizirano testiranje). PLCSim Advanced zagotavlja varno, ponovljivo okolje.
Ali lahko AI samostojno ustvarja in izvaja teste?
Vsekakor. Povezan LLM (prek MCP ali Copilot) lahko piše PLC kodo, ustvari test s plc_test_create, prevede in naloži v PLCSim, izvede test, preveri rezultate in popravi kodo, če test spodleti. Celoten TDD cikel brez človeškega posega.
Kje so shranjeni testi?
V mapi .tia-connect/tests/ poleg vašega TIA Portal projekta. Vsak test je .test.json datoteka. Rezultati so v last-results.json. Testi potujejo s projektom — arhivirajte projekt, arhivirajte teste.
Koliko časa traja zagon testa?
Odvisno od zakasnitev, ki jih definirate v testnih korakih (čas, ki ga namenite PLC-ju za odziv). Tipičen test s 3-5 koraki in 200-500ms zakasnitvami traja 1-3 sekunde. Zagon celotnega nabora 20 testov običajno traja manj kot minuto.