|
|
|
|
|
|
|
|
Jan Novotný2
Neverifikovaný uživatel @4
Offline
|
|
« Odpověď #7 kdy: 05.11.2019, 11:29 » |
|
Také jsem nastavení RS-485 komunikace v té dokumentaci nenašel. Nicméně jsem zkoušel všechny možné varianty (i dle doporučení z Příručky pro projektanta pro starší ZPE elektroměr, tak i dle vyčtených informací o HW konfiguraci) Co je ModBus RTU komunikace nevím? Jinak nově když otvřu V/V tak už tam na výstupu vidím různá čísla, ale zaboha se mi nic neobjeví na výstupech funkčního bloku (fbElectricityM eterReader ani fbElectricityM etersReader).
|
|
|
|
|
Martin Kurka
Offline
Projektant automatizace a strojů
|
|
« Odpověď #9 kdy: 06.11.2019, 08:58 » |
|
Tohle podle poslednního řádku opravdu vypadá na nějaký firemní Modbus RTU protokol, jsou tam nějaké CR-LF znaky a oddělovač /?! Musíte oslovit výrobce, aby vám poslal protokol. Posílám vám jak vypadá nějaký obdobný elektroměrový Modbus protokol.
Modbus RTU protokol (neplést s Modbus TCP) je nadstavba nad komunikací po sériové lince s jedním Masterem, který řídí komunikaci a více Slavy. Díky Modbusu si můžete propojit zařízení více výrobců. Vymyšlen byl firmou Modicon pro propojení více řídících jednotek mezi sebou. Jako firemní protokol pro propojení svých automatů si jej vzala firma AllenBradley. Je otevřený, volný proto poměrně rozšířený. Je tochu fousatý, pracuje na principu fiktivních tabulek dat v jednotlivých automatech. Tabulek je více druhů, jedna pro bitové hodnoty, jedna pro INTEGER hodnoty, jedna pro real hodnoty apod. někteé tabulky jsou jen pro čtení, do jiných může Master i zapisovat. Každá buňka tabulky má svoji adresu. Registrovou i fyzickou. Trochu je bordel v tom od které adresy se začíná, jestli od nulté nebo první, také je bordel v udávání počtu nul registrového čísla. Někdy bývá i problém zjistit, jakou adresu má zařízení a na jakém baudrate je (zejména není-li zařízení už nové a chybí-li dokumentace). Proto si radši zkouším prvotně terminálem na neznámé zařízení přístup na buňku kde mi má odpovědět typ přístroje a verze firmwaru. Cenné jsou vzorové řetězce od výrobce. Doporučuji zkoušet navázat spojení s elektroměrem přes PC s převodníkem USB na RS485 (třeba Tedia UC-485) a s nainstalovaným nějakým slušným Modbus terminálem, který sám dopočítává CRC. Otestujte si co v HEX posíláte i to co pak dostáváte za odpovědi.
Pak vám asi budou stačit posílat z Tecomatu 1-2 dotazy. Pokud jde jen o jednoduchý dotaz na informaci o činné energii ("odečet číselníku elektroměru") ani nemusíte mít Modbus moduly, stačí posílat pevným ASCII řetězcem dotaz a ve zpětné odpovědi vylomit počet bitů, kde jsou data - mantisa a exponent, nebo integer 32 bitů apod. Dejte si pozor na byte i bit swap, často bývají byte prohozené. Pro jistotu můžete před vylomením byte s hodnotou zkontrolovat hlavičku na začátku zprávy - je konstantní - od koho, počet byte dat, a typicky co je to za data. Na ocásku zprávy bude proměnný CRC součet, na jeho kontrolu u tak jednoduchého případu neohrožujícího stroj nebo životy můžete rezignovat.
P.S. Jestli to není Vaše hobby, vyměňte elektroměr za typ s 62056-21
|
Nikdy není dost času,aby se to udělalo dobře. Ale pak je dost času, aby se to udělalo znovu
Teorie=vše víme ale nic nefunguje Praxe=vše funguje a nevíme proč Teorie spojena s praxí=nic nefunguje a nikdo neví proč
Vysoce odborných omylů se dopouští jen specialisté
Ďábel je skryt v detailu
|
|
|
|
|