Průvodce integrací Modbus: práce se složitými daty
Modbus je velmi rozšířený „jazyk“ průmyslových zařízení. Je však poměrně starý a preferuje práci s malými, jednoduchými čísly (16bit). Moderní systémy (např. Mervis) často používají velká a přesná čísla (32bit).
Propojení těchto dvou světů může být jako snaha vtěsnat velkou krabici do malé poštovní schránky.
1. Nastavení připojení (kanál)
Než budete moci číst jakákoliv data, musíte nejprve nakonfigurovat komunikační linku.
Krok 1: Klikněte pravým tlačítkem na svůj
PLC v Průzkumníku sestavy a vyberte
Add Channel.
Krok 2: Zvolte Modbus jako komunikační protokol.
Krok 3: Nastavte parametry sériového portu (rychlost přenosu, parita, stop bity) tak, aby přesně odpovídaly vašemu zařízení. Pokud se neshodují, zařízení se „neslyší“.
2. Přidání obecného zařízení
Pokud vaše zařízení není v knihovně, můžete jej přidat ručně pomocí šablony „Generic“.
3. Řešení „dvou boxů“ (dělené registry)
Chcete-li přes Modbus poslat velké číslo (32bit), musíme jej rozdělit napůl a odeslat jako dvě menší čísla (16bit).
Zmatek: Příjemce si někdy pořadí těchto polovin „přehodí“ (jako kdybyste místo „Ahoj světe“ dostali „světe Ahoj“). Tomuto jevu se říká „Endianness“.
Řešení: Pokud na druhé straně vypadají čísla „pomíchaně“, pravděpodobně bude třeba v konfiguraci zaměnit pořadí obou částí.
4. Řešení pomocí „škálování“ (jednodušší varianta)
Jednodušší způsob, jak odesílat desetinná čísla (např. „24,5 °C“), je zbavit se desetinné tečky ještě před odesláním.
Krok 1: Vynásobte číslo v řídicí jednotce deseti (24,5 → 245).
Krok 2: Odešlete celé číslo „245“ (snadno se vejde do staršího formátu Modbus).
Krok 3: Na straně příjemce nastavte, aby zobrazil „desetinnou tečku“ před poslední číslicí.
Výsledek: Na displeji se zobrazí „24,5“, aniž byste museli řešit složité výpočty.
5. Kdo je hlavní? (Server vs. Client)
Mervis jako server (slave): Řídicí jednotka tiše čeká, až ji jiné zařízení (např. nadřazený systém budovy) požádá o data.
Mervis jako klient (master): Řídicí jednotka je „šéf“. Aktivně oslovuje jiná zařízení (např. elektroměry) a zjišťuje jejich stav.