COM Guru Terminál jako jednoduché SCADA centrum pro sériovou linku

  • Autor příspěvku
  • Čas na čtení:7 mins read

Zobrazení údajů ze senzoru nebo systému (pasivní příjem)

Typickým scénářem je přehledné zobrazení hodnot, které zařízení posílá na sériovou linku samo od sebe (bez dotazování). Guru Terminál je připojený přes sériový port a průběžně přijímá zprávy.

Postup konfigurace:

  1. Device settings
    Nastavte parametry sériové komunikace (port, rychlost, parita, datové bity, stop bity apod.).
  2. Dashboard
    Nakonfigurujte regulární výraz, který z přijaté zprávy vybere požadovanou hodnotu, a přiřaďte jej k odpovídajícímu prvku na přístrojové desce.

Příklad regulárního výrazu pro dekódování teploty:

temp=(-?[0-9.]+)


Zobrazení údajů se aktivním dotazováním

Zařízení, která odesílají data až na vyžádání, vyžadují mechanismus pro periodické odesílání dotazů. Pro tento účel lze použít:

  • Timer (časovače) pro menší počet dotazů nebo různé periody,
  • File Player (přehrávač souborů) pro větší množství dotazů ve fixním pořadí.

Časovač (Timer)

Časovač periodicky odesílá definovanou zprávu. Vhodné pro situace, kdy:

  • dotazů je málo (typicky 1–3),
  • dotazy mají různé periody,
  • je potřeba jednoduchá a přehledná konfigurace.

Příklad konfigurace časovačů pro environmentální senzor:

Timer 1
- perioda: 1 s
- dotaz: temp?

Timer 2
- perioda: 5 s
- dotaz: humi?

Timer 3
- perioda: 60 s
- dotaz: nox?

Timer 4
- perioda: 60 s
- dotaz: voc?

Přehrávač souborů (File Player)

File Player načte textový soubor a odesílá jej po řádcích s nastavenou periodou. Vhodné pro:

  • větší počet různých dotazů,
  • pevně danou sekvenci dotazů,
  • snadnou údržbu dotazů mimo aplikaci.

Postup:

  1. Vytvořte textový soubor (např. .txt), kde je jeden dotaz na jeden řádek.
  2. V záložce File Player soubor načtěte do nového přehrávače.
  3. Nastavte periodu.
  4. Povolte Auto restart, aby se po dosažení konce soubor přehrával znovu od začátku.

Příklad souboru pro vyčítání environmentálního senzoru:

temp?
humi?
nox?
voc?
pres?
...

Upozornění ve Windows (Toast)

Toast upozornění může reagovat na:

  • konkrétní příchozí zprávu,
  • detekci stavu,
  • překročení limitu (pokud je limit vyhodnocen z obsahu zprávy).

Konfigurace probíhá v záložce Toasts pomocí regulárních výrazů. Pokud regulární výraz odpovídá příchozím datům, zobrazí se zvolené upozornění.

Typické použití:

  • překročení limitů,
  • chybové stavy systému,
  • změna stavu (např. dokončení operace).

Typy toastů: error, warning, info, update, plus, minus.

Doporučení: nastavte ochranný interval (cooldown), aby nedocházelo k zahlcení systému velkým množstvím upozornění. Toasty dávají smysl hlavně pro méně časté události.


Trasování dat (Trace)

Aktuálně je k dispozici základní trace:

  • ukládá přijaté zprávy bez filtrování,
  • volitelně doplňuje metadata (časová značka, směr RX/TX),
  • výsledný soubor může obsahovat:
    • informace o použitém portu a parametrech komunikace,
    • informace o pracovní stanici,
    • statistiky zpráv.

Způsoby vytvoření logu:

  • automaticky: povolením Auto trace v záložce App settings,
  • manuálně: kliknutím do prostoru terminálu a volbou Save to file z kontextové nabídky.

Příklad: jednoduchý environmentální senzor

Ukázkové zařízení měří teplotu a vlhkost. Hodnoty neposílá autonomně – odpovídá až na dotaz.

Komunikační parametry

  • Baud rate: 9600
  • Data ending: CR+LF (Windows)

Příkazy a odpovědi

  • Příkaz: ?H
    Odpověď: H=31.50 (vlhkost, float)
  • Příkaz: ?T
    Odpověď: T=20.50 (teplota, float)

Cíl konfigurace

  • periodicky vyčítat teplotu a vlhkost,
  • zobrazit hodnoty na dashboardu,
  • zobrazit toast při teplotě nad 30 °C,
  • automaticky ukládat kompletní komunikaci (trace).

Nastavení v COM Guru Terminalu

1) Device settings

V záložce Device settings:

  • vyberte COM port (nebo zařízení, pokud používáte D2XX),
  • nastavte:
    • BaudRate: 9600
    • Data ending: CR+LF
  • volitelně doplňte:
    • Name
    • Description
  • klikněte na Connect.

Tím je zařízení připravené pro ruční ověření komunikace.

V záložce Terminal odešlete základní dotazy:

  • ?T → očekávaný formát odpovědi: T=xx.xx
  • ?H → očekávaný formát odpovědi: H=xx.xx

Pokud odpovědi odpovídají formátu, komunikace je funkční.

V záložce Timers vytvořte dva časovače – samostatně pro teplotu a vlhkost (oddělené periody se v praxi hodí i později).

Timer – Temperature

  • Name: Read temperature
  • Message: ?T
  • Period: 00:00:05 (každých 5 s)
  • Save and close

Timer – Humidity

  • Name: Read humidity
  • Message: ?H
  • Period: 00:00:05 (každých 5 s)
  • Save and close

Po aktivaci časovačů se v terminálu objeví pravidelné TX/RX zprávy.

Na dashboardu se hodnoty aktualizují podle shody regulárního výrazu nad příchozími zprávami.

Teplota – regex

  • T=(-?[0-9]+(?:\.[0-9]+)?)

Vlhkost – regex

  • H=([0-9]+(?:\.[0-9]+)?)

Konfigurace ukazatele (stejně pro oba):

  • Add new display
  • Name: Temperature / Humidity
  • Regex: viz výše
  • Units: °C / %
  • Minimum & Maximum: dle potřeb dashboardu
  • Save and close

Poznámka: výraz je záměrně tolerantní (bere i celé číslo bez desetinné části).

Upozornění má reagovat na příchozí zprávy T=... a vyvolat toast pro hodnoty nad 30.00. Čistě regexem jde o kompromis: lze to udělat, ale výsledný výraz je hůře čitelný a hůře udržovatelný.

Praktický a udržitelný přístup je proto:

  • Toast navázat na teplotní zprávy
  • omezit četnost (Protective interval)
  • držet regex jednoduchý a čitelný pro běžné formáty, které senzor posílá (dvě desetinná místa)

Regex pro zachycení T=30.01 a více (při formátu T=xx.xx):

  • T=(?:30\.(?:0[1-9]|[1-9][0-9])|3[1-9]\.[0-9]{2}|[4-9][0-9]\.[0-9]{2}|[1-9][0-9]{2,}\.[0-9]{2})

Konfigurace toastu:

  • Add new toast
  • Name: High temperature
  • Title: Warning
  • Type: Warning
  • Message: Temp = $value$ °C
  • Regex: viz výše
  • Protective interval: např. 00:00:10

Tím se toast nezobrazí opakovaně při každém vzorku, pokud teplota zůstává nad limitem.

Trace je vhodný pro pozdější analýzu, diagnostiku a audit komunikace.

Možnosti:

  • manuálně: v záložce TerminalSave to file
  • automaticky: v App settings → sekce trace / ukládání:
    • volba formátu a metadat (čas, RX/TX),
    • cílová složka,
    • pojmenování souborů,
    • automatické ukládání.

Shrnutí příkladu

  • Timers periodicky odesílají ?T a ?H,
  • Dashboard zobrazuje teplotu i vlhkost pomocí regex dekódování,
  • Toast upozorní na T > 30 °C a je omezen protective intervalem,
  • Trace ukládá kompletní komunikaci pro pozdější vyhodnocení.

Shrnutí

Konfigurace COM Guru Terminálu v režimu „monitoring a operace“ stojí na několika opakovatelných principech: korektně nastavit parametry linky, z příchozích zpráv vytěžit hodnoty pomocí regulárních výrazů a tyto hodnoty promítnout do dashboardu. Podle chování zařízení se liší jen způsob získávání dat – buď přicházejí autonomně, nebo je potřeba je aktivně vyžadovat. Pro aktivní dotazování se používají Timery (málo dotazů, různé periody) nebo File Player (větší množství dotazů ve fixním pořadí). Na provozní úroveň navazují Toast notifikace pro události, které mají operátora nebo vývojáře vyrušit, a Trace pro archivaci kompletní komunikace včetně metadat.

Příklad s jednoduchým environmentálním senzorem ukazuje celý řetězec v minimální konfiguraci. Timery periodicky odesílají dotazy ?T a ?H, příchozí odpovědi T=… a H=… se dekódují pomocí regexů a dashboard průběžně zobrazuje aktuální hodnoty. Toast upozornění je navázané na teplotní zprávy a aktivuje se při překročení definovaného limitu, přičemž protective interval omezuje četnost notifikací. Trace současně ukládá kompletní RX/TX komunikaci, takže je možné zpětně ověřit chování zařízení, stabilitu linky i časovou posloupnost událostí.

Výsledkem je použitelný základ pro jednoduché SCADA centrum bez nutnosti psát integrační kód: dotazování, vizualizace, upozornění a auditní záznam jsou řešeny čistě konfigurací v aplikaci.


AI protvorbu regulárních výrazů

Při tvorbě regulárních výrazů se vyplatí využívat AI. U regexů je typický problém v tom, že člověk musí držet v hlavě zároveň strukturu zprávy, okrajové případy (mínus, desetinná část, fixní počet číslic) i to, co se má zachytit do skupin. AI je v tomto dobrá hlavně ve třech situacích: rychle navrhne první verzi výrazu podle několika vzorových řádků, umí doplnit varianty pro okrajové případy a dokáže upravit regex tak, aby byl čitelnější a lépe udržovatelný. Praktický postup je dodat AI několik reálných příkladů zpráv (včetně „špatných“ nebo hraničních), říct co přesně má být zachycená hodnota a požádat o vysvětlení výrazu a sadu testovacích vstupů. Výsledný regex je vhodné vždy ověřit na reálných datech a mít jasně daný očekávaný formát zpráv.


Nápověda v aplikaci

Pro rychlou orientaci v aplikaci je k dispozici také nápověda. Detailní popisy funkcí a nastavení jsou dostupné v záložce Help a současně přímo v UI jako kontextové tooltipy při najetí myší na názvy funkcí a prvků. V praxi to zrychluje konfiguraci i kontrolu toho, jak se konkrétní volby chovají (zejména u timerů, toastů, file playeru a trace).

Související články

COM Guru Terminal – sériový terminál nové generace pro Windows

COM Guru Terminál – Lehké penetrační a robustnostní testování komunikační vrstvy

COM Guru Terminál jako emulátor zařízení nebo aplikace na seriové lince

COM Guru Terminál – Ovládání a konfigurace zařízení

Související produkty