Proč používat komunikaci Modbus?
Průmyslová komunikace prostřednictvím protokolů Modbus-RTU, resp. Modbus-TCP, patří v Evropě společně s Profinet/Profibus od Siemense a CANopen, dnes mezi ty nejvyužívanější. Její výhoda například proti Profibusu, resp. Profinetu, je v otevřené, ale přesto přesně standardizované koncepci komunikačního protokolu, která není "majetkem" žádného konkrétního výrobce. To sice trošku limituje rychlost jejího rozvoje a vylepšování, ale na druhou stranu tím Modbus-RTU (přes RS-232 a RS-485) a Modbus-TCP (přes ethernet) dnes podporují prakticky veškerá PLC (včetně PLC Siemens S7), HMI panely a stále více snímačů i frekvenčních měničů. Existuje pro Modbus i mnoho různých počítačových programů, driverů a vizualizačních rozhraní, včetně těch zcela bezplatných.
Pokud tedy není zrovna potřeba velmi vysoká rychlost odezvy/přenosu a sofistikovaná kontrola / řízení přenosu dat, což například lépe řeší Profibus/Profinet, je Modbus komunikace jinak velmi dobrou volbou. Zvláště pokud potřebujete "hodně muziky za velmi málo peněz". Navíc její zprovoznění není obvykle příliš složité a není nutné mít žádné konfigurační soubory, ale jen v manuálu od komunikujícího Modbus slave zařízení popis, v jakém Modbus registru se nachází jaká hodnota, tedy jaký registr je nutné přečíst, abyste potřebnou hodnotu získali.
Modbus-RTU/TCP v PLC IDEC FT1A
Například právě malá, ale moderní PLC FT1A (obchodní označení SmartAxis) japonské společnosti IDEC velmi dobře podporují oba typy Modbus sběrnice, tedy jak verzi RTU přes sériovou linku RS-485, tak i verzi TCP přes ethernet. Přesněji řečeno PLC o počtu 24 vstupů/výstupů (např. provedení IDEC FT1A-B24RA) poskytuje 1 slot pro RS-232/RS-485 a jeden ethernetový port RJ-45, zatímco větší "sourozenec" velikosti 40 vstupů/výstupů (např. IDEC FT1A-B40RSA) mají o jeden slot pro RS-232/485 navíc (tedy 2x RS-232/RS-485 a 1x ethernet RJ-45).
Jaký sériový výstup bude, tedy zda RS-232 či RS-485, záleží na tom, jaká "vložka" se do slotu zacvakne. Pro potřeby Modbus-RTU komunikace osobně vždy výhradně využívám RS-485, protože i když na RS-232 teoreticky pracuje také, není k dispozici sběrnicová konfigurace linky, tedy více komunikujících zařízení na "jednom kabelu", a možné využití délky kabelu až 1200 m. Výhodou dvou rozhraní RS-485 s Modbus-RTU je možnost jeden nastavit do režimu "slave" (např. pro komunikaci s nadřazeným PC SCADA systémem) a druhý do režimu "master" pro napojení podřízených Modbus-RTU automatů, měřicích zařízení či snímačů.
Ethernetový výstup mají pak všechna PLC IDEC FT1A pouze jeden, což v praxi omezuje nutnost volby režimu Modbus-TCP komunikace buď jen na Master nebo Slave. Tedy je možné vytvořit nastavení pro "master" i "slave" a pak je programově v PLC přepínat, ale nelze je prostě využívat najednou, jako u dvou RS-485 rozhraní.
Ve výsledku lze tak PLC dobře využít i jako převodník komunikace Modbus-RTU (master/slave) <-> Modbus-TCP (master/slave) nebo Modbus <-> dvoustavové vstupy/výstupy či analogové vstupy, což vzhledem k jeho ceně v okolo 4 000,- Kč bez DPH, není úplně nereálné řešení.
Zprovoznění Modbus-RTU v PLC IDEC FT1A
V případě Modbus-RTU je tedy nutné mít v portech sériového rozhraní zacvaknutý nějaký modul. Ten je nutné při koupi PLC přiobjednat zvlášť. V mém případě u verze PLC FT1A-B40RSA mám osazeny v obou portech 2 i 3 stejné moduly RS-485 se šroubovacími svorkami. Ty se prostě jen od portu zasunou a zacvaknou a nic víc se již zde nedělá.
Veškeré nastavení se odehrává již v programovacím (vývojovém) počítačovém softwaru WindLDR, který je součástí celého IDEC programovacího balíku "Automation Organizer". Zde po založení nového projektu je nutné si nejdříve zvolit konkrétní velikost PLC, v mém případě tedy 40, čímž se i samo nastaví, že máme k dispozici 2x sériové a 1x ethernetový port.
V případě Modbus-RTU pak již jen v konfigurační nabídce PLC "Function Area Settings" vybereme položku "Communication Ports" a zde již stačí pro "Port2" nebo "Port3" jen vybrat, jako co budou fungovat. V mém případě "Port2" jako Modbus-RTU Master pro komunikaci s lokálním digitálním snímačem a "Port3" jako Modbus-RTU slave pro napojení lokálního HMI panelu, který si tak bude "volně sahat" do paměti PLC pro potřebná data k zobrazení".
Příklad maximálního využití dvou sériových rozhraní PLC IDEC FT1A-B40RSA osazené RS-485 šroubovacími konektory. V programovacím softwaru WinLDR jsou pak vidět jako Port 2 a Port 3, které lze odděleně nastavit.
Následně již jen nastavuji samotný formát Modbus přenosu. V případě režimu "Slave" je to triviální, protože se mimo nastavení parametrů samotné sériové komunikace (tedy rychlost, počet stopbitů a parity) prakticky nic dalšího nenastavuje a z pohledu nadřazeného Modbus-RTU Master zařízení odpovídá každý Modbus registr jednomu paměťovému místu PLC.
Například: Když z pohledu nějakého Modbus-RTU master zařízení zadám funkcí č. 3 "Read Holding register" přečtení adresy 400001, přenesu z PLC IDEC obsah datového paměťového místa D0001, když přečtu adresu registru 400101, přečtu u PLC IDEC obsah paměťového místa D0101 atd. Tak lze například z HMI panelu libovolně přečíst každou hodnotu nebo stav v PLC.
V případě režimu, kdy port PLC pracuje jako Modbus-RTU Master, je nutné v nastavovacím okně nadefinovat, jaké registry každého vzdáleného napojeného Modbus-RTU slave zařízení se mají konkrétně číst či zapisovat. V mém případě mám zadáno, že z Modbus-RTU slave snímače má PLC pravidelně periodicky číst funkcí č. 3 "Read Holding register" hodnoty vzdáleného zařízení z registrů 400007 a 400010 a ty uložit u sebe v PLC IDEC na paměťová místa D0297 a D0296. Odtud pak již program PLC IDEC může s přenesenými hodnotami volně pracovat jako s každou jinou proměnnou. Podobně lze provádět například i zápis hodnoty v libovolném registru PLC IDEC do vzdáleného Modbus-RTU zařízení.
V případě nastavování Modbus-RTU master režimu je nutné vyplnit tabulku z jakého vzdáleného Modbus-RTU zařízení, z jakých jeho adres registrů a jakou funkcí se budou číst či zapisovat data.
Zprovoznění Modbus-TCP v PLC IDEC FT1A
V mém případě využívám Modbus-TCP v PLC v režimu slave pro napojení PLC na nadřazený počítačový systém, například OPC server nebo SCADA vizualizaci. Dnes již má prakticky každá firma rozvedený ethernet i po výrobních halách, takže toto je pro napojení na okolní systémy nejjednodušší varianta.
Základem nastavení a zprovoznění je nejdříve nastavení samotného ethernetového rozhraní, tedy klasicky zadání IP adresy zařízení (tedy daného PLC), masky sítě a pro případný přístup ze sítě internet ještě IP adresu brány (Gateway). To se provádí v okně "Function Area Settings" v záložce "Network Settings".
Pak již lze v záložce "Connection Settings", věnované nastavení protokolu přiřazenému ethernetovému rozhraní, zvolit z nabídky položku "Modbus-TCP Master" nebo "Modbus-TCP Slave" a pak ještě provést nastavení přenosu. To je prakticky již velmi podobné s výše popsaným protokolem Modbus-RTU. Tedy v případě režimu "Slave" prakticky není co nastavovat, protože v okně "Modbus TCP Server" se jen nachází volba TCP kanálu, který je však již automaticky správně nastaven na standardních 502. Ale případně je možné jej zde změnit. V případě režimu "Master" pak je nutné nastavit v okně "Modbus TCP Client" parametry cílových "slave" Modbus-TCP zařízení, tj. jejich IP adresy a jaké registry / hodnoty se mají číst či zapisovat.
Podobně jako u Modbus-RTU v režimu Master, i v případě nastavování Modbus-TCP master režimu je nutné vyplnit tabulku z jakého vzdáleného Modbus-RTU zařízení, z jakých jeho adres registrů a jakou funkcí se budou číst či zapisovat data.
Závěr
Velká výhoda levných PLC IDEC FT1A (obchodní název SmartAxis Lite/Pro) je hlavně v jejich velmi dobré výbavě komunikačními rozhraními, kdy v již ve 40 vývodové verzi IDEC FT1A-B40RSA za cenu cca 4000,- Kč bez DPH jsou k dispozici 2 sériová rozhraní podporující Modbus-RTU a 1 ethernetové rozhraní podporující Modbus-TCP. Takovou výbavu za tu cenu moc konkurenčních výrobců nemá. Takže pokud je pro Vaši aplikace důležitá vysoká "Modbus konektivita" na příklad se snímači, HMI panely či dalšími PLC nebo výrobními zařízeními, je PLC IDEC FT1A velmi dobrá volba. Osobně mám již odzkoušený jednoroční trvalý běh PLC bez jakékoliv poruchy, takže i životnost vypadá velmi nadějně.
Odkazy:
- Stránky výrobce, společnosti IDEC: http://www.idec.com
- Přímý odkaz na stránky výrobce u PLC SmartAXIS: http://us.idec.com/smartaxis/smartaxis-home
- Stránky prodejce v ČR, společnosti REM-Technik: http://www.rem-technik.cz/ridici-systemy/idec-ridici-system-smartaxis/
- Článek "TEST - Kompaktní PLC IDEC FT1A-B24RA"
- Článek "Novinka - Levná kompaktní HMI s PLC = SmartAXIS Touch"
- Článek "Levná kompaktní PLC IDEC SmartAXIS FT1A"