Moduly SerialComm na to lze použít. Řekněme, že máme 2 jednotky CCPU-02 s adresami 1 a 3, kde z jednotky s adresou 3 chci do jednotky s adresou 1 vyčítat hodnoty posuv a sklon modulu ekviterm (s instancí 1).
Modul ekviterm má číslo objektu 151 (0x97). Posun má číslo položky (item) 5 a sklon má 6. Instance je 1.
Zpráva zapsaná do parametrů Message_tx_format0 a Message_tx_format1 bude vypadat následovně:
E15C030D590103015171970105970106
X2
Vysvětlení zprávy:
- E1 - prefix
- 5C - prefix
- 03 - adresa centrály, které se dotazujeme
- 0D - délka "zprávy"
- 59 - operační znak
- 01 - adresa centrály, která se ptá
- 03 - adresa centrály, které se ptáme
- 01 - adresa centrály, která se ptá
- 51 - operační znak Q
- 71 - operační znak q
- 97 - ekviterm
- 01 - číslo instance
- 05 - posuv
- 97 - ekviterm
- 01 - číslo instance
- 06 - sklon
- X2 - CRC
Data z odpovědi (hodnotu posuv a sklon) chceme dostat na výstupy RX0 a RX1, a proto bude formát odpovědi zapsaný do parametru Message_rx_format0 vypadat následovně:
E15C010F790301035178l0l1X2
Vysvětlení zprávy:
- E1 - prefix
- 5C - prefix
- 01 - naše adresa (kdo přijímá odpověď)
- 0F - délka "zprávy"
- 79 - operační znak
- 03 - adresa centrály, které jsme se ptali
- 01 - adresa centrály, která se ptá
- 03 - adresa centrály, které jsme se ptali
- 51 - operační znak Q
- 78 - operační znak
- l0 (malé písmeno L (el)) a index 0 -> předej 4 bajty z odpovědi na výstup R0
- l1 (malé písmeno L (el)) a index 1 -> předej 4 bajty z odpovědi na výstup R1
- X2 - CRC
Mimo jiné je ještě potřeba věnovat pozornost parametru Timeout, který znamená čas mezi znaky, ale také se z něj počítá celkový timeout pro příjem zprávy (= 256 * Timeout). Pokud bude modul SerialComm v 3s smyčce, tak nemůže být hodnota Timeout nižší než 12ms i pro vyšší rychlosti resp. je vhodnější nastavit parametr Timeout na hodnotu odvozenou od celkového timeoutu příjmu odpovědi.