Vítej, Host. Prosím přihlaš se nebo se zaregistruj.
14.11.2024, 23:06:04

Domů Nápověda Vyhledávání Přihlásit Registrovat
 
Fórum k produktům firmy ELSACO Kolín  

+  PROMOS fórum
|-+  FRED - grafické vývojové prostředí
| |-+  FRED - platforma PL2 (CCPU)
| | |-+  SerialComm na QQ
0 uživatelů a 1 Host prohlíží toto téma. « předchozí další »
Stran: [1] Dolů Tisk
Autor Téma: SerialComm na QQ  (Přečteno 8220 krát)
libor
moderátor+

Příspěvků: 388



« kdy: 10.03.2015, 12:12:23 »

Chtěl bych komunikovat mezi dvěma CCPU-02 pomocí QQ relací. Lze na to použít modul SerialComm, když se v jeho nápovědě píše o možnosti komunikace se starými RT jednotkami?



Dotaz zaslaný mailem (viz výzva).
Zaznamenáno

libor
moderátor+

Příspěvků: 388



« Odpověď #1 kdy: 10.03.2015, 12:33:01 »

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ě:
Kód:
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ě:
Kód:
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.
Zaznamenáno

Stran: [1] Nahoru Tisk 
« předchozí další »
Skočit na:  


Poháněno MySQL Poháněno PHP Powered by SMF 1.1.21 | SMF © 2011, Simple Machines Validní XHTML 1.0! Validní CSS!