SHT20 je samotný snímač a zde doplněný o převodník RS485 a protokolem Modbus RTU. Jako celek je dostupný pod označením XY-MD02.
Nic komplikovaného na snímači není, uchycení na DIN nebo šrouby, uvnitř jen patřičná elektronika. Napájení 5 - 30 VDC, teplotní rozsah -40 °C .. +60 °C. Koupíte jej ve spoustě hlavně čínských eshopů třeba zde.
Jako první přečteme manuál, hlavně zapojení, komunikační parametry a adresní registry.
Pak to správně propojíme s komunikačním modulem CB1241 RS485 osazeným v našem CPU1212C řady S7-1200. Napájení je jasné a data A na B a B na A. U některých Modbus masterů tohle nemusí pasovat a bude platit A na A a podobně. Jsou ovšem jen dvě možnosti. :)
Na HMI si uděláme obrazovku s údaji a taky s chybovým kódem, abychom třeba zjistili, proč nám komunikace nejede tak jak má. Kód chyby 80C8.
Tyto kódy najdeme v helpu TIA Portal ohledně komunikačního bloku Siemens. Lehce zjistíme, že to vypadá na přehozené A-B vodiče.
Klikněte na obrázek pro zvětšení
Než se ale vůbec dostaneme do této fáze, nastavíme parametry komunikačního modulu v HW konfiguraci.
Tyhle parametry si stejně ale částečně upraví MB_COMM_LOAD funkce Siemens pro startu CPU. V každém případě necháme snímač v továrním nastavení a až nám bude vše fungovat, můžeme se pustit do experimentování.
Klikněte na obrázek pro zvětšení
Pro tuto komunikaci má Siemens v CPU funkci MB_MASTER. Ta zajistí čtení / zápis dat z Modbus RTU slave. Nic více není potřeba, jen správně nastavit parametry funkce. V proměnné MB_STATUS, jsou právě ty důležité informace, proč něco nefunguje.
Klikněte na obrázek pro zvětšení
Přes help u komunikačního bloku najdeme tabulku parametrů, což je to nejdůležitější. Čteme z adresy registru 30002. Jak jsme k tomu došli, si spočítáte jistě sami. :)
VAT tabulka v TIA Portal. Komunikace nejede, kód chyby funkčního bloku MB_MASTER je 80C8, řádek devět.
Klikněte na obrázek pro zvětšení
Tak a už to funguje jak má. Jakmile se komunikace rozběhne, je to již jasné a můžeme trochu experimentovat.
Klikněte na obrázek pro zvětšení
Protože ne vždy je údaj ze snímače bezchybný, můžeme si jej trochu kalibrovat, buď přímo v PLC, nebo zápisem korekce do registru teploměru.
Zkusíme si třeba přečíst adresu zařízení. Ta je v jiném adresním registru, tak si opět můžete ověřit, zda je datová adresa ve funkčním bloku správná.
Klikněte na obrázek pro zvětšení
A pak je již jen krok k nastavení adresy přes HMI. Ale pozor, není to tak úplně jednoduché, pokud nevíte adresu tohoto zařízení, těžko ji změníte. Takže pokud bude adresa teploměru jiná než defaultní, tedy než jedna, poznamenáme si ji na samotný teploměr, za pár měsíců si na ni totiž ani nevzpomenete.
Pokud se vám spojení stále nedaří, zde je detailní propojení teploměru XY-MD02 a CB1241.
Klikněte na obrázek pro zvětšení
Naše video ukázka Simatic S7 s Modbus RTU teploměrem.
https://www.youtube.com/watch?v=MzTaXA-t2iY&feature=youtube
Závěr:
Ohledně sériové komunikace musíme znovu připomenout, že nejen spojení je to důležité, ale také ošetření acyklického chodu funkčního bloku, neboť není vhodné jej vyvolávat když ještě není předchozí komunikace ukončena. Acyklická komunikace totiž trvá více cyklů PLC programu. A pokud máme Modbus zařízení více, potřebujeme nejen číst ale i zapisovat, pak to bývá občas oříšek.
Jaroslav Blažek
Doplňující odkazy k článku:
Knihovna příkladů instrukcí TIA Portal je tady.
SIMATIC S7-1200, CPU 1212C zde.
Communication Board CB 1241, RS485 tady.