Tohle je protokol, který umí snad každé zařízení s nějakou komunikací. Relativně jednoduchý a levný. RS485 není zase až tak pomalá linka a pro hodně zařízení je naprosto dostačující. Jen to nějak dokázat z PLC Simatic.
Vyzkoušíme si to prakticky z reálné situace. Převodník FLOMAG 3000 pro zpracování signálu z indukčních průtokoměrů brněnské firmy FLOMAG a PLC Simatic S7-1200. |
RS485 komunikačních procesorů pro řadu PLC S7-1200 je více, tento CB1241 je určen k osazení přímo na čelní stranu PLC. Při ceně cca 65,-EUR je to jedna z nejlevnějších variant komunikace. Existuje ještě verze procesoru jako samostatný velký modul CM1241 připojený k PLC z levé strany. |
Ovšem aby vše řádně fungovalo je nezbytný pro TIA portal V13 ještě SP1. Update 2 již není nutný. |
Máme totiž k dispozici jen Simatic S7-1200 s firmwarem 4.1.1, a to najdeme právě jen ve zmíněném SP1. Klikněte na obrázek pro zvětšení. |
Je dobré si ověřit v online diagnostice jaký firmware v PLC máme, právě nově dodávaná CPU, již mají verzi 4.1.1. V opačném případě stáhneme soubor s firmwarem 4.1.1 z webu podpory Siemens a aktualizujeme jej. |
Hardwarově osadíme do Simatic také CB 1241 a předběžně nastavíme parametry portu (bity, paritu, atd.). |
Převodník Flomag 3000 s osazeným RS485 komunikačním modulem, protokol Modbus RTU (Remote Terminal Unit). |
Funkční bloky pro tento druh komunikace jsou v SP1 vylepšeny. Tyhle trojkové verze v základním TIA portal V13 nenajdete. My použijeme jen blok pro parametrizaci portu a master komunikaci. Bloky používají acyklickou komunikaci, což znamená, že si je spouštíme podle potřeby, v žádném případě ne v každém cyklu programu. Slave z našeho PLC dělat nebudeme. |
Tento blok s parametrizací RS485 portu si vyvoláme jen jednou při startu PLC. Pokud potřebujeme změnit nějaký parametr komunikace, který není zde dostupný, musíme to udělat v systémovém datovém bloku funkce. Klikněte na obrázek pro zvětšení. |
Naše PLC je Modbus master s adresou 0, připojený průtokoměr má adresu 1. Registr s adresou 40089 je již záležitost připojeného slave, podle popisu protokolu musíme vědět "co kde je". Na této adrese 40089 jsou u Flomag 3000 sekundy vnitřních hodin, takže budeme vidět, jestli nám spojení funguje. Jakákoliv porucha v komunikaci nebo nesprávná data, nám zobrazí stavové slovo, klíč je v helpu. Klikněte na obrázek pro zvětšení. |
Stejně tak v helpu najdeme tabulku pro funkční kódy a adresy do programového bloku. Klikněte na obrázek pro zvětšení. |
Už to frčí jako po másle. PLC vyšle do slave telegram na přečtení proměnné a data se téměř okamžitě objeví v patřičném datovém bloku. |
Požadavek pro přečtení proměnné, hodnotu sekund ze systémových hodin Flomag 3000, vyvoláme jednou za dvě sekundy, takže se hodnota přesně po dvou sekundách změní. |
Závěr:
Díky funkčním blokům a diagnostickým slovům nemusíme vytvářet žádné složité telegramy a kontrolovat součty, vše si v podstatě dělá PLC samo. Na nás zbývá jen vyplnit správnou adresu registru a hodnotu proměnné.
Jaroslav Blažek
Doplňující odkazy k článku:
CPU Simatic S7-1200: http://stest1.etnetera.cz/ad/current/index.php?vw=0&ctxnh=5dc8474325&ctxp=home
Indukční průtokoměry FLOMAG: http://www.flomag.cz/