Tabulkový DSL pro testování HART senzorů v průmyslových systémech
Vývoj systému pro kalibraci a testování inteligentních senzorů s protokolem HART vyžaduje podporu různorodého zařízení: nastavovačů vlivů, klimatických komor, voltmetrů, HART modemů a switčů. Protokol HART funguje v bod-bod režimu na proudové smyčce 4-20 mA, což zajišťuje kalibraci, nastavení a výměnu dat. Testy zahrnují lineární charakteristiky, cykly tlaku, teploty, napájení a HART relace. Architektura klient-server na čistém SQL s tabulkovým skriptovacím jazykem umožnila týmu ze dvou osob realizovat editovatelné testy pro několik stanic.
Rozdělení systému na podsystémy
Systém je rozdělen do klíčových komponent:
- Řízení zařízení přes LabVIEW.
- Programování testů v tabulkovém DSL.
- Zpracování dat a výpočty v databázi.
- SCADA monitorování stanic v reálném čase.
LabVIEW byl vybrán díky hotovým ovladačům pro rozhraní USB, GPIB, TCP/IP, RS232. Klient na testovací stanici slouží jako interpretátor příkazů z databáze, čímž se vyhýbá OOP abstrakcím. Logika testování je vynesena do serverových skriptů, což minimalizuje složitost diagramů LabVIEW.
Tabulkový skriptovací jazyk: struktura a příkazy
DSL je realizován jako tabulky databáze s lineárním a cyklickým prováděním. Každý řádek představuje operaci se dvěma parametry, což usnadňuje editaci. Podporuje se nepřímé adresování uvnitř cyklů.
Klíčové možnosti DSL:
- Lineární tok operací.
- Cykly podle vlivů (tlak, teplota, kanály).
- Časové cykly.
- Inicializace statických modelů vlivů.
- Více než 100 operací pro HART výměnu, měření, zápis dat.
Cykly jsou implementovány v uložených procedurách SQL: samostatné tabulky uchovávají parametry (začátek, konec, krok, aktuální hodnota, aktivní sada senzorů). Příkazy INIT_LOOP a CHECK_END_LOOP řídí provádění. Pro cykly vlivů je přidána tabulka s modifikátory (pre/post-increment).
Příklad logiky cyklu:
- Načtení modelu vlivu z databáze.
- Inicializace cyklu s parametry.
- Provádění operací do podmínky ukončení.
- Přechod na další příkaz po cyklu.
Realizace cyklů a optimalizace
Experimenty s SQL procedurami potvrdily funkčnost cyklů v databázi. Parametry cyklů (začátek/konec, krok) jsou uloženy v tabulkách, což umožňuje dynamickou generaci testů.
Typy cyklů:
- Obecný cyklus: podle proměnné pro sadu senzorů na stanici.
- Cyklus tlaku: s krokem a hranicemi vlivu.
- Cyklus teploty: inicializace komory.
- Časový cyklus: opakování operací do vypršení času.
Zavedení cyklů snížilo objem testů téměř na polovinu. Operace jsou přizpůsobené: závislé na iteraci cyklu nebo nezávislé (pro časovače).
Tabulkový editor testů automatizuje číslování řádků, odkazy na příkazy, komentáře a úpravy cyklů. Uložená procedura „kompilace“ nahrazuje starý test novým. Podpora kopírování a interaktivních nápověd zrychluje vývoj. Vytvořeno více než 100 programů pro výrobu a periodické zkoušky senzorů 4-20 mA/HART.
Integrace se zařízením a databází
Klient LabVIEW načítá skript z databáze a interpretuje příkazy sekvenčně. Dlouhotrvající operace (cykly vlivů) nevyžadují vysokou rychlost. Syrová data se ukládají do databáze pro výpočty a tvorbu protokolů.
Výhody přístupu:
- Editace testů bez re-kompilace klienta.
- Centralizované ukládání skriptů a dat.
- Škálovatelnost na desítky stanic.
- Minimální vývojový tým.
Co je důležité
- Tabulkový DSL na SQL s cykly snižuje kód testů na polovinu při plné flexibilitě.
- LabVIEW jako interpretátor příkazů z databáze se vyhýbá OOP složitostem.
- Dva parametry na operaci pro >100 příkazů HART testování.
- Automatická úprava odkazů a číslování v uložených procedurách.
- Podpora monitorování stanic v reálném čase přes SCADA-like rozhraní.
— Editorial Team
Zatím žádné komentáře.