Zpět na domů

DSL pro HART testování na SQL a LabVIEW

Článek popisuje architekturu systému pro testování HART senzorů na bázi tabulkového DSL v SQL a LabVIEW. Implementovány smyčky, 100+ operací a editor testů pro výrobu. Přístup zajišťuje flexibilitu bez OOP abstrakcí.

Flexibilní testy HART senzorů: SQL-DSL + LabVIEW
Advertisement 728x90

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.

Google AdInline article slot

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).

Google AdInline article slot

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ů:

Google AdInline article slot
  • 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

Advertisement 728x90

Číst dál