Vestavěné režimy sériové komunikace
Převodník signálu tenzometrických snímačů Laumas TLS mimo analogový výstup má standardně vestavěné i sériové rozhraní RS-485. Tedy dvouvodičovou sériovou sběrnici, která však sama o sobě nedefinuje žádný konkrétní přenosový protokol a je tedy na každém výrobci, co do softwaru daného zařízení implementuje za komunikační strukturu. Buď může vytvořit a aplikovat nějaké vlastní komunikační schéma nebo realizovat nějaký standardizovaný a v průmyslové oblasti široce podporovaný komunikační protokol. V případě zde uvedeného převodníku TLS se pak výrobce raději vydal oběma cestami.
Do firmwaru implementoval hned několik vlastních přenosových formátů, všechny pracující s reprezentací dat v podobě ASCII znaků a současně implementoval i v průmyslu široce podporovaný protokol MODBUS RTU. Osobně tento přístup hodnotím velmi kladně, protože tak nechávají dost široce otevřené možnosti vývojáři / programátorovi zařízení, kde bude převodník použit, a jen na něm závisí, zda mu například stačí do PLC jen periodicky přenášet aktuální naváženou hmotnost z jednoho převodníku a rezignuje na nějaké vzdálené programové ovládání či adresování více zařízení na sběrnici, zda využije i ovládání, adresaci a řízení funkce převodníku přes ASCII znaky či zda využije široké možnosti řízení a komunikace typu MASTER-SLAVE v podobě MODBUS RTU sběrnice.
Konkrétně je možné v menu převodníku Laumas TLS nastavit následující režimy komunikace:
-
"Fast continuous transmission protocol" = automatické periodické vysílání aktuální hmotnosti se zadanou frekvencí v ASCII znacích
-
"Continuous transmission protocol to remote displays" = automatické periodické vysílání údajů hmotnosti i chybových hlášení v ASCII znacích v 3 možných různých formátech
-
"ASCII bidirectional protocol" = komunikace Master-Slave pomocí příkazů v ASCII reprezentaci, možnost ovládání a adresování více převodníků na sběrnici (protokol Laumas)
-
MODBUS RTU = standardizovaná průmyslová komunikace
Jinak z pohledu samotného fyzického rozhraní je přímo volba RS-485 pro průmyslové zařízení zcela logická, protože podporuje jak standardizované průmyslové protokoly typu MODBUS, tak proti RS-232 umožňuje přenos i na vzdálenosti mnoha stovek metrů, je odolnější proti rušení a současně šetří náklady v menším počtu vodičů kabelu. Navíc dnes moderní PC často sériový port RS-232 ani neobsahují a k napojení je stejně potřeba využít převodník na USB či Ethernet, které jsou pro RS-485 již také běžně dostupné, takže nasazování RS-232 u průmyslových komponent a zařízení již začíná postrádat smysl. A toho si je Laumas asi dobře vědom, a proto RS-232 u svých výrobků již téměř nenabízí.
Veškeré nastavení sériové komunikace se provádí v menu pod položkami "SERIAL" a "RS-485". Komunikační rychlost lze v položce "Baud" nastavit v rozsahu 2400 až 115 200.
Režimy automatického vysílání údaje hmotnosti
V obou režimech výrobcem v manuálu označovaných jako "Fast continuous transmission protocol" a "Continuous transmission protocol to remote displays" se využívá automatického vysílání datových paketů s daty ve formě sekvence ASCII znaků bez možnosti vzdáleně po sériové lince přenos či funkci převodníku ovlivnit. Funkci těchto režimů komunikace tak lze ovlivnit jen prostřednictvím ovládacího menu na displeji převodníku TLS a tedy reprezentují takový digitální ekvivalent analogového výstupu. Mezi nimi je však rozdíl v tom, že zatímco "Fast continuous transmission protocol" opravdu tupě vysílá jen aktuální naměřenou hmotnost, režim "Continuous transmission protocol to remote displays" přenáší i navíc informace o funkčních stavech převodníku (chybová hlášení) nebo současně brutto i netto hmotnost. Navíc obsahuje informaci o kontrolním součtu, čímž poskytuje možnost rozlišit chybu přenosu. Primárně je asi určený pro napojení rozšiřujících HMI panelů v nabídce Laumas, ale velmi dobře lze využít i pro jednoduchý přenos údajů do PLC.
Režim "Fast continuous transmission protocol", který se v menu TLS zprovozní nastavením volby "ContIn" v menu pod položkami "SERIAL -> RS485" a poskytuje následující dvě podmožnosti nastavení výstupu:
-
Režim "NOd t" = čisté vysílání aktuální hodnoty brutto hmotnosti v gramech jako 6 místné číslo (6 ASCII znaků) ukončené příkazy CR a LF = formát "xxxxxxCRLF"
-
Režim "NOd td" = vysílání aktuální hodnoty brutto hmotnosti v gramech v rozšířeném formátu s inicializačním znakem "&" = formát "&TxxxxxxPxxxxxxCRLF".
ASCII výstupy z kontinuálního režimu zasílání hmotnosti - režim NOd t (vlevo) a režim NOd td (vpravo).
Režim "Continuous transmission protocol to remote displays" pak v menu převodníku TLS pod položkami "SERIAL -> RS485" reprezentují následující položky:
-
Režim "rI P" = přenášejí informaci o netto i brutto hmotnosti v gramech (bez desetinné čárky) v ASCII formátu "&NxxxxxxLyyyyyy\ckckCR", kde hodnoty xxxx reprezentují netto hmotnost, yyyyyy pak brutto hmotnost a ckck je kontrolní součet také vysílaný ve formátu ASCII znaků.
-
Režim "HdrI P" = přenášejí informaci o netto i brutto hmotnosti v kilogramech (hodnota s desetinou čárkou) v ASCII formátu "&NxxxxxxLyyyyyy\ckckCR", kde hodnoty xxxx reprezentují netto hmotnost, yyyyyy pak brutto hmotnost a ckck je kontrolní součet také vysílaný ve formátu ASCII znaků.
-
Režim "HdrI Pn" = přenášejí nejen informaci o netto i brutto hmotnosti v kilogramech (hodnota s desetinou čárkou) v ASCII formátu "&NxxxxxxLyyyyyy\ckckCR" jako "HdrI P", ale navíc každé 4 sekundy vysílá místo hodnoty znaky "NET".
ASCII výstupy z kontinuálního režimu zasílání hmotnosti - režim rIP (vlevo), režim HdrI P (uprostřed) a režim HdrI Pn (vpravo).
ASCII protokol pro ovládání v režimu Master-Slave
V tomto režimu aktivovaném v menu položkou "SERIAL -> RS485->ASCII" již převodník nevysílá nic automaticky, ale komunikace funguje na principu Master-Slave, tedy vysláním dotazu nadřazenou řídící jednotkou a následnou odpovědí od převodníku. Navíc již jako plnohodnotný protokol pro RS-485 poskytuje síťovou komunikaci, tedy na sběrnici RS-485 lze připojit více Laumas zařízení, kde každé má nastavenou vlastní síťovou adresu, kterou se při zasílání příkazu od nadřazené Master jednotky Slave zařízení identifikuje.
Tento protokol Laumase však umožňuje realizovat hned několik úkonů, které běžně dostačují většině potřeb vzdáleného ovládání:
- Přečtení a nastavení spínacích úrovní.
- Provedení vynulování hmotnosti.
- Přepínání mezi brutto a netto hodnotou hmotnosti.
- Kalibraci vážení.
- Povolení / blokace funkce tlačítek i displeje.
ASCII příkazy pak mají obvykle strukturu "&aaxxckckCR", kde aa je číslo adresy dotazovaného zařízení, xx pak kód požadavku (instrukce), která může mít 1 až 7 znaků, a nakonec "ckck" je kontrolní součet reprezentovaný opět číslem v ASCII kódování. Protokol tedy není příliš složitý, dobře pochopitelný a relativně snadno jej lze provozovat i ze základních sériových terminálu na PC (přes RS-485 převodník) typu HW Hercules.
Příklady ASCII obousměrné komunikace dotaz-odpověď (Master - Slave) na převodník s adresou 1 realizované přes klasický sériový terminál Hercules - konkrétně jsou zde využity příkazy čtení aktuální netto hmotnosti (příkaz $01n6F), přepnutí na netto hmotnost(příkaz $01NET5E) a přepnutí na brutto hmotnost (příkaz $01GROSS5B).
MODBUS RTU
Nakonec jsem si samozřejmě nechal nejvyspělejší integrovanou formu komunikace a to standardizovaný průmyslový protokol MODBUS RTU. Jehož pomocí lze pak prakticky vzdáleně provádět cokoliv jako při ovládání přes displej a tlačítka, protože poskytuje plný přístup do všech nastavovacích registrů i zápis do EEPROM. Jako MODBUS RTU tedy samozřejmě podporuje plnou adresaci jednotek a Laumas převodníky pro čtení a zápis využívají standardizované funkce 03 (READ HOLDING REGISTER) a 16 (PRESET MULTIPLE REGISTER / REGISTER WRITING). Ostatní funkce protokolu MODBUS u převodníků Laumas využívány nejsou. Přístupno je pak 32 registrů v rozsahu adres 40001 až 40046, přičemž některé jsou typu čtení i zápis, a některé jen pro čtení či jen zápis. To vše je dobře specifikované v manuálu převodníku i s několika příklady zadání celého paketu komunikace ze strany Masteru pro zápis i čtení.
V režimu MODBUS RTU samozřejmě lze pro komunikaci s převodníkem např. z PC využít i základních univerzálních terminálů typu HW Hercules, ale pak samozřejmě musíte přesně ručně zadávat a specifikovat celou sekvenci paketu zahrnující adresu Slave jednotky, příkaz (funkci), počáteční registr, počet následujících registrů a pak kontrolní součet. Tedy pro ruční zadání, navíc vše hexa číslech (MODBUS RTU nevyužívá ASCII), to není již úplně jednoduché. Ale pokud si připravíte pár příkazů, které hodláte stále opakovat, dá se to i ze základního sériového terminálu.
Lepší je pak z PC, například pro ladění aplikace, využívat nějaký specializovaný MODBUS terminál, kde již bývá struktura MODBUS paketu předpřipravena, což zjednodušuje nejen vysílání příkazů/dotazů, ale hlavně zjednodušuje čtení příchozích zpráv (odpovědí). Já jsem si oblíbil "Simply MODBUS terminal", který lze v případě jen příležitostného použití využívat i v bezplatné "testovací" verzi.
Například pomocí PC softwaru "Simply MODBUS terminal" lze snadno provádět přes RS-485 převodník monitorování MODBUS komunikace i provádět čtení a zápis registru připojených MODBUS RTU Slave jednotek na sběrnici.
Závěr
Zatímco většina převodníků konkurence umí a poskytuje v základě jen některé komunikační funkce a často musíte dle požadavku aplikace měnit objednací volbu či alespoň doplňky, což může zbytečně komplikovat vedení skladových zásob i samotné objednávání, zde je analogová i široká plejáda režimu digitální komunikace již vestavěna v základu. Prakticky ve velké většině případů prostě stačí jen stále kupovat tento typ převodníku. Tím při výrobě i následném servisu velmi zjednodušuje provozní proces.
Odkazy:
- Odkaz na stránky výrobce - Laumas Elettronica: http://www.laumas.com
- Přímý odkaz na datasheet o převodníku Laumas TLS: http://www.laumas.com/FILES_PDF/Tls.pdf
- 1. díl článku / testu u převodníku Laumas TLS: http://automatizace.hw.cz/test-dobre-vybaveny-prevodnik-tenzometru-laumas-tls-1dil