HW / DOKUMENTACE ModbusTool

Profily JSON a import CSV.

Obecné vzory čtecích bloků a signálů, adresování registrů a rozdíl mezi definicemi a výsledkovým CSV.

Zpět na aplikaci

Obecné vzory ke stažení

Vzory obsahují pouze obecnou ukázku. Místní adresu 127.0.0.1 změňte na adresu svého zařízení. Registry, Unit ID, funkci a datové typy nastavte podle jeho dokumentace. Začněte importem bloků, potom importujte signály a celý profil uložte do JSON.

Adresy registrů

Adresy jsou offsety od nuly, od 0 do 65535. Lze zadat desetinné číslo nebo prefix 0x; například 0x10 znamená 16. Běžná reference 40001 odpovídá FC03 s adresou 0, reference 30001 FC04 s adresou 0. Program tyto reference automaticky nepřevádí.

Jeden blok obsahuje 1–125 registrů a jeho poslední adresa nesmí překročit 65535. Signál používá skutečnou adresu registru, nikoli pořadí uvnitř bloku. Všechny registry signálu musí ležet uvnitř jeho bloku.

Profil JSON

Profil formátu verze 1 ukládá společný TCP cíl a časování (Host, Port, TimeoutMs, IntervalMs), seznam čtecích bloků Blocks, definice Signals a výběr GraphSignals. Neobsahuje naměřené hodnoty ani historii grafů. Jedno okno obsluhuje jeden TCP cíl; bloky mohou mít různá Unit ID.

Profil otevřete přes Profil → Otevřít. Pro ruční úpravy použijte celý vzor uvedený výše. Grafové klíče vytváří aplikace; nejjednodušší je vybrat grafy v záložce Hodnoty a profil znovu uložit.

Pravidla CSV

Oba vstupní formáty používají UTF-8 a oddělovač ;. Export přidává BOM. Všechny uvedené sloupce jsou povinné; jejich pořadí lze změnit a názvy nerozlišují velikost písmen. enabled je 0 nebo 1. Uvozovku uvnitř pole zdvojte. Názvy bloků musí být jedinečné, názvy signálů jedinečné v rámci bloku, bez rozlišení velikosti písmen.

Import nahrazuje příslušnou tabulku a druhou zachovává. Nejdříve se ověří celý výsledný profil. Při chybě se nic neaplikuje; hlášení uvede řádek, sloupec a důvod. Import bloků nesmí poškodit existující definice signálů.

Čtecí bloky

block;unit_id;function;address;count;enabled
mereni;1;3;0;20;1
stavy;2;4;100;8;1
Sloupec Význam
block Jedinečné jméno bloku
unit_id Unit ID od 0 do 255
function 3 pro holding registry, 4 pro input registry
address Počáteční offset od nuly
count Počet registrů od 1 do 125
enabled 1 zapnuto, 0 vypnuto

Definice signálů

block;name;address;type;order;factor;offset;unit;enabled
mereni;Napeti L1;0;Float32;ABCD;1;0;V;1
mereni;Teplota;2;Int16;AB;0,1;0;°C;1
Typ Počet registrů Přípustné pořadí
UInt16, Int16 1 AB, BA
UInt32, Int32, Float32 2 ABCD, BADC, CDAB, DCBA

A/B jsou horní a dolní bajt prvního registru, C/D druhého. CDAB prohodí slova, BADC bajty ve slovech, DCBA obrátí všechny bajty. AB a ABCD zachovávají síťové pořadí.

Výsledná hodnota je dekódovaná hodnota × factor + offset. Například Int16 s faktorem 0,1 převede registr 235 na 23,5 °C. Číselný faktor a posun přijímají čárku i tečku, bez oddělovače tisíců. block musí odkazovat na existující blok; unit je zobrazovaná fyzikální jednotka.

CSV výsledků a průběžný záznam

Výsledkové CSV má jiný účel a strukturu než definice výše. Obsahuje čas v UTC, surové registry, dekódované hodnoty, jednotky, kvalitu a případnou chybu:

session_id;cycle_id;timestamp_utc;row_type;block;unit_id;function;address;name;type;raw_hex;value;unit;quality;error;elapsed_ms

Používá UTF-8 BOM, oddělovač ; a uvozovky u všech polí. Hodnota value má vždy desetinnou tečku. Při importu do českého Excelu nastavte tento desetinný oddělovač. row_type rozlišuje raw, signal a chybu block; quality je good nebo error. Při chybě je nová hodnota prázdná, poslední dobré hodnoty se nevydávají za nová měření.

Podrobnosti o časování, grafech a průběžném záznamu najdete v uživatelském návodu.