Simatic S7-1200 a snímač teploty s RS485 a Modbus RTU protokolem.

  • pondělí, 14 prosinec 2020 09:09

Celkem obvyklý snímač teploty a vlhkosti připojíme do PLC Simatic S7-1200 přes RS485 linku. Modbus RTU protokolem zkusíme přečíst patřičné údaje.


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.

sht20 01


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.

sht20 02


Jako první přečteme manuál, hlavně zapojení, komunikační parametry a adresní registry.

sht20 03


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. :)

sht20 04


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.

sht20 05


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í

sht20 15b


Než se ale vůbec dostaneme do této fáze, nastavíme parametry komunikačního modulu v HW konfiguraci.

sht20 11


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í

sht20 13b


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í

sht20 14b


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. :)

sht20 16b


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í

sht20 17b


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í

sht20 18b


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.

sht20 08


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í

sht20 20b


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.

sht20 07


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í

sht20 10b


Naše video ukázka Simatic S7 s Modbus RTU teploměrem.


 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.

Pro psaní komentářů se přihlašte

Kontakt

email : blaja @blaja.cz
email reklama: info @blaja.cz
email adresy bez mezery 
před zavináčem

Jaroslav Blažek
Štěpánská 1888
755 01 Vsetín
+420 608 180 209