Proč použít HMI/PLC s KNX sběrnicí?
Automatizace budov a domácností má být v budoucnu jednou z oblastí velkého vývoje a prosperity. Nebudu se na tomto místě zabývat polemikou, zda tomu tak opravdu bude či ne v masovém měřítku, ale zaměřím se přímo na prostředky, které se mají stát funkčním základem této oblasti.
Každá automatizovaná budova či domácnost se určitě neobejde bez řídící jednotky, ovládacího uživatelského panelu, vzdáleného přístupu, specializované komunikační sběrnice a akční prvků, které vždy musí převést digitální data na fyzické konání, tedy práci ve formě pohybu, zdroje tepla, chladu, světla, zvuku apod., tedy na reálné potřeby člověka.
Jednou z předních komunikačních sběrnic v této oblasti je KNX. Pro její využití, pro potřeby vizualizace, ovládání a řízení se pak obvykle nabízejí specializované jednotky, které KNX komunikační rozhraní již mají přímo vestavěné. Ty například najdete v rozsáhlé nabídce společnosti Schneider Electric. Nicméně lze též využít i univerzální HMI panely a programovatelné automaty PLC běžně využívané v průmyslu. Její výhodou je velká konfigurační a programovací univerzálnost a tím nelimitovaná možnost realizace téměř jakéhokoliv nápadu. Protože však běžně neobsahují KNX rozhraní, je nutné použít externí převodník.
Sběrnice KNX byla vyvinuta pro snadnou realizaci digitální komunikace zařízení v budovách a tím zjednodušení jejich automatizace. Její výhodou je společný přenos dat a napájení komunikujících jednotek pouze po dvouvodičové sběrnici (více informací v článcích: Úvod do KNX a Komunikace v KNX).
Z této oblasti jsem měl vzácnou možnost si vyzkoušet celou jednoduchou strukturu tvořenou OPLC Vision700 zastávající funkci HMI panelu a řídící jednotky současně, Unitronics GW-KNX1 jako rozhraní pro KNX sběrnici a dva moduly Schneider jako koncové KNX jednotky.
OPLC Vision700 společnosti Unitronics zapůjčené společností Schmachtl CZ s.r.o. jsem si již vyzkoušel v testu s Modbus-TCP komunikací (viz TEST: OPLC Unitronics Vision700 s Modbus-TCP komunikací). To se mi tady velmi hodilo, protože OPLC Vision700 nemá samo o sobě KNX komunikační rozhraní, ale pro tyto účely společnost Unitronics nabízí praktický převodník "Unitronics KNX to Modbus Gateway" s typovým označením FPC-N40-0867. S jeho pomocí tak lze obecně z jakéhokoliv HMI panelu či PLC s podporou Modbus komunikace udělat KNX ovládací jednotku nebo naopak příjemce povelů.
Hardware Modbus/KNX gateway GW-KNX1
Převodník "Unitronics KNX to Modbus Gateway" s prodejním kódem GW-KNX1 (s typovým označením FPC-N40-0867) využívá na obou stranách zcela standardní specifikace komunikačních protokolů. A tak na straně Modbusu i KNX je možné použít zařízení libovolných výrobců a není tedy nutně vázané na nějakou konkrétní značku, v mém případě tedy Unitronics. Navíc převodník podporuje ze strany Modbusu jak sériovou přenosovou linku s Modbus-RTU specifikací, tak ethernetovou verzi Modbus-TCP.
Převodník "Unitronics KNX to Modbus Gateway" s označením GW-KNX1 pro převod Modbus-RTU a Modbus-TCP komunikace na KNX.
Pro první variantu, tedy Modbus-RTU, je přítomný vysouvací terminál se šroubovacími svorkami, zatímco pro ethernet klasický konektor RJ-45. Ten pak neslouží pouze pro Modbus-TCP, ale také pro provedení konfigurace převodníku a také pro diagnostiku jeho chodu. Proto na převodníku běží jednoduché webové rozhraní a veškeré jeho ovládání se tak provádí přes PC a libovolný webový prohlížeč.
Na straně KNX rozhraní je pak opět vyjímatelný konektor se šroubovacími svorkami, který sdružuje jak dvě svorky "Host +" a "Host -" pro připojení dvouvodičové KNX sběrnice, tak i svorky pro připojení napájení celého převodníku. K tomuto účelu se dá využít libovolný napájecí zdroj s napětí v rozmezí 9 až 30VDC nebo 12-24VAC s výkonem min. 2,5W.
Připojovací šroubovací svorky pro Modbus-RTU (vlevo) a pro napájení a KNX sběrnici (vpravo) převodníku "Unitronics KNX to Modbus Gateway" GW-KNX1.
Ze zbývající výbavy brány schází již jen zmínit sadu různě barevných indikačních LED diod na přední straně šedého plastového pouzdra a upevnění na standardní DIN lištu na zadní straně. Mimo upevnění na DIN lištu lze provést i přišroubování na libovolnou podložku přes dvě z pouzdra "vystrčená plastová oka".
Převodník "Unitronics KNX to Modbus Gateway" s prodejním kódem GW-KNX1 a typovým označením FPC-N40-0867 vyráběný v USA.
Nastavení Modbus/KNX gateway a OPLC Vision700
Přistupme nyní blíže k nastavení převodníku. I přes jeho webové ovládací rozhraní to ve skutečnosti není až tak přímočaré, jak by se mohlo na první pohled zdát. Je totiž nejdříve třeba použít takovou speciální softwarovou utilitu s názvem "KNX configurator", která je jako speciální funkce součástí obou programovacích softwarů Unitronics, tedy VisiLogic (pro OPLC Vision) a UniLogic (pro OPLC UniStream). Samostatně ji stáhnout a používat nelze. Touto aplikací se provádí vytvoření převodní CSV tabulky Modbus/KNX, která definuje, na jaké Modbus registry se budou "zrcadlit" KNX adresy. Nejdříve je tak nutné znát KNX adresy zařízení, se kterými chceme komunikovat, které chceme ovládat. K tomu je nutné již mít hotovou celou KNX strukturu, kde mají jednotlivé KNX jednotky již přesně definované místo, funkce a tak i adresy.
V mém případě byly pro tento test na straně KNX sběrnice použity dvě odlišné KNX jednotky. První jednotkou byl modul reléových výstupů "Switch actuator" Schneider REG-K/8x/16A (MTN6700-0008) s přednastavenou KNX individuální adresou 1.1.2 a s 8 kanály tzv. spínacích objektů se skupinovými adresami 0/0/1 až 0/0/8. Každý kanál pak reprezentovalo právě jedno relé pro napětí až 250V a zátěž až 16A. Druhou jednotkou pak byl modul ovládání osvětlení, tzv. Dimmer, KNX Universal-Dimmaktor LL REG-K/2x230/300W (MEG6710-0002). V prvním případě lze pomocí reléové jednotky vzdáleně elektronicky zapínat / vypínat různá zařízení. Jednotka Dimmer pak umožňuje po KNX síti zapnout/vypnout dva 230 VAC výstupy přes objekt (proměnnou) "Switch object 0/1/0" a přes objekt (proměnou) "Dimming object 0/1/1" lze hodnotou 0-255 regulovat intenzitu osvětlení spínanou modulací (zapsaná hodnota 0 = 0% úrovně jasu, 255 = 100% úrovně jasu, a tak např. 128 = 50% úrovně jasu). Tyto dva moduly vzájemně propojené dvěma vodiči (červený a černý) KNX sběrnice jsou k Modbus/KNC gateway napojeny ještě přes KNX napájecí zdroj Schneider REG-K/160mA (MTN684016), protože po dvou KNX signálových vodičích se současně provádí napájení obou "koncových modulů". Modbus/KNX brána, přesto že má vlastní napájení, nevyužívá jej pro napájení KNX rozhraní a tedy bez zmíněného KNX zdroje se nelze obejít.
Ale zpět k nastavení převodní tabulky Modbus/KNX. Výše zmíněné KNX adresy objektů lze celkem velmi snadno do utility v několika krocích zadat (viz níže uvedené obrázky). Samotnými "individuálními KNX adresami 1.1.x" se není potřeba zabývat a nikam se nezadávají. Osobně jsem nejdříve prostudoval k tomuto účelu Unitronicsem připravený pdf manuál, který celý postup poměrně dobře popisuje. Zde je nutné však poznamenat, že mě osobně celý Modbus/KNX systém pracoval pouze v situaci, kdy jsem nejdříve zadal adresy objektů spínacího KNX modulu a až následně adresy objektů KNX dimmeru. Opačně z nějakého neznámého důvodu prostě převod na Modbus nefungoval, i když na straně KNX bylo vše v pořádku.
Postupný sled prvních třech zadávacích obrazovek utility "KNX configurator" při nastavování adres KNX jednotek připojených v mém testu k Modbus/KNX převodníku.
Nastavení Modbus komunikace se při využití varianty s Modbus-TCP ani žádné nekoná, protože utilita "KNX configurator" jen ukáže pevně přednastavenou Modbus adresu 255 a nic změnit nelze. IP adresa se totiž mění až přímo v ovládacím webovém prostředí převodníku. V případě Modbus-RTU varianty však lze nastavit všechny běžné parametry sériového přenosu RS-485. Zde je však nutné upozornit na jeden důležitý fakt, že u většiny Modbus-TCP jednotek se obvykle tak nějak vždy tiše přepokládá, že Modbus adresa není podstatná nebo je "1", protože u Modbus-TCP jednotku již obvykle zcela dostatečně v síti definuje IP adresa a TCP kanál. Zde je však nutné na jednotce připojené k převodníku přesně definovat i onu Modbus adresu 255, jinak to prostě běhat nebude...
Postupný sled posledních třech zadávacích obrazovek utility "KNX configurator" při nastavování parametrů Modbus-TCP a finální vygenerování CSV souboru pro nahrání do převodníku přes jeho webové rozhraní.
Na konci konfiguračního procesu se ukáže převodní tabulka Modbus/KNX (viz obrázek vpravo). Znalec Modbus komunikace bude jistě stejně jako já trošku rozladěn tím, že všechny KNX adresy, nezávisle na tom, zda jsou jen bitové (dvoustavové) či číselné, byly "přeloženy" jednotně na 16bitové Holding Registers, Tím se za prvé tak trošku plýtvá paměťovým prostorem a pak hlavně v případě dvoustavových bitových hodnot (0/1) jimi přímo nelze ovládat např. spínané výstupy PLC. Nejdříve je totiž nutné 16bitové číslo 0/1 v datovém registru (v případě OPLCVision700 z paměti MI), převést na bitový registr (v případě OPLCVision700 do paměti MB). Přitom Modbus standard přímo podporuje bitové proměnné jako "Input Status" a "Coil" registry.
Nicméně vygenerovanou Modbus/KNX tabulkou celý proces nekončí. Po kliknutí na tlačítko "Finish" je uživatel vyzván k uložení nastavení do CSV souboru na disk svého PC a následně je nutné přes webový prohlížeč přistoupit přímo do Modbus/KNX gateway. Zde v sekci "CN0867 Unitronics v1.00 / Setup / File Transfer" pak provést načtení onoho předtím uloženého souboru do paměti převodníku (použitím tlačítek "Procházet" a "Submit"). Nakonec je nutné již jen převodník restartovat a vše je hotovo. Tedy po stránce převodníku.
Na straně OPLC Vision700 je však ještě nutné udělat alespoň jednoduchý komunikační a vizualizační program. Zde jsem prakticky využil své předchozí zkušenosti z testu OPLC Unitronics Vision700 s Modbus-TCP komunikací a udělal jen více méně drobné úpravy, mimo jiné například změnu v liniovém diagramu v nastavení Modbus-TCP komunikace a "vsazením" funkčního bloku "Modbus IP Preset holding registers (16)". Zájemci mohou prostudovat pod článkem připojený můj finální zcela funkční testovací zdrojový kód pro OPLC s názvem "MODBUS_TCP_KNX_Gateway_160716_v5.vlp", i soubor "KNX_Modbus_Gateway_settings_130716.csv", resp. "KNX_Modbus_Gateway_settings_130716.uknxf" pro konfiguraci Modbus/KNX převodníku.
Ukázky obrazovek liniového diagramu a vizualizace obrazovek pro ovládání "Unitronics KNX to Modbus Gateway" převodníku GW-KNX1 vytvořených pro tento test.
Ostatní zajímavé poznatky z testování
Po "vychytání všech zákoutí" problematiky správného nastavení a použití Modbus/KNX převodníku již vše běhalo prakticky bez problémů. A to při provozu převodníku s OPLC Vision700, tak i s PC se spuštěným některým Modbus-TCP softwarem (software však musí umožnit nastavit nejen IP adresu, ale i Modbus-TCP adresu na hodnotu 255). I kdykoliv po vypnutí a zapnutí napájení se vše během několika desítek sekund rozjelo a bylo hned použitelné bez jakýchkoliv nutných dodatečných zásahů. Pouze rychlost změny stavu / reakce výstupu (sepnutí) reléového KNX modulu se mi lišila v závislosti na tom, zda na displeji OPLC bylo v krátkém okamžiku přepnuto jen jedno softwarové dotykové tlačítko (např. jedno tlačítko na sekundu) nebo zda se v rychlém sledu po sobě přepnulo na obrazovce více tlačítek (např. 2 a více tlačítek v 1 sekundě). V prvním případě bylo přepnutí výstupu KNX modulu téměř vždy okamžité, zatímco v druhém případě bylo třeba na reakci KNX modulu vyčkat až 1 sekundu a následně s přepnuly všechny příslušné výstupy skoro mžikově současně. Bohužel jsem neměl čas podrobněji zkoumat příčinu tohoto jevu a která část řetězce ji způsobovala. Patrně lepším sladěním nastavení všech účastnících komponent by asi bylo možné tento jev zlepšit.
Zajímavou a užitečnou funkcí webového rozhraní Modbus/KNX převodníku, mimo položku nahrání nastavení, je také možnost celý KNX i Modbus přenos monitorovat. Například lze sledovat počet příchozích a odchozích paketů / bajtů na straně KNX i Modbus, lze identifikovat všechny jednotky připojené na KNX sběrnici a zobrazit si stavy všech KNX i Modbus registrů, které bylo v rámci konfigurace převodní tabulky nadefinovány. Lze tedy v případě problémů či ladění celého řetězce těchto pomůcek velmi dobře využít.
Ukázky stránek webového rozhraní převodníku GW-KNX1 pro sledování chování KNX i Modbus komunikace.
Závěr
I když "hlavní hvězdou" tohoto testu byl v USA vyráběný Unitronics KNX převodník GW-KNX1, celý test současně i ukázal, že ani v automatizaci budov není nutné hned sahat po specializovaných KNX řídících jednotkách a lze využít prakticky libovolné PLC nebo HMI panel na trhu. Zde tedy konkrétně výborně posloužilo OPLC Unitronics Vision700, které díky přítomnosti PLC funkcím umožnilo snadné přímé zpracování signálů.
KNX převodník pak dělá svojí funkci velmi dobře. Hlavní jeho výhodou proti konkurenci je současná přítomnost Modbus-RTU (RS-485) i Modbus-TCP (ethernet) v jednomu modulu a přehledné webové ovládací rozhraní. Výrobce by však mohl některé věci ještě "dopilovat". Zvláště celý proces nastavení by se mohl provádět nejlépe rovnou v převodníku pomocí webového prohlížeče a ne tuto konfiguraci dělat externě ve specializovaném PC softwaru.
Testované zařízení "Unitronics KNX to Modbus Gateway" i společně s OPLC Unitronics Vision700 nabízí i pro test zapůjčila společnost Schmachtl CZ s.r.o.
Odkazy:
- Stránky společnosti Schmachtl CZ, spol. s r.o., dodavatele OPLC Vision a převodníku GW-KNX1: http://www.schmachtl.cz.
- Stránky společnosti Schneider Electric, dodavatele širokého portfolia komponent pro sběrnici KNX: http://www.schneider-electric.cz/sites/czech-republic/cz/produkty-sluzby/instalacni-systemy-a-rizeni/system-knx/prehled/prehled.page
- Přímý odkaz na web společnosti Schmachtl CZ o OPLC Vision700: http://schmachtl.cz/plc-programovatelny-automat-unitronics-vision700-u-v700-t20bj.
- Články a testy o OPLC Vision700 na na serveru hw.cz:
- Články o sběrnici KNX na serveru hw.cz: