Postupem času, jak iDo získává na oblibě, se jej výrobce snaží v rámci možností stávajícího hardwaru doplňovat o nové funkce a vlastnosti, které by uživateli mohly dále zjednodušit jeho práci, nebo které si zákazníci přímo žádají. Inovace moderních elektronických zařízení se obvykle provádí nahráním nového firmwaru, který se již nejen dodává v nových iDo, ale každý stávající uživatel si ho může stáhnout z internetu a nahráním do svého iDo nové vlastnosti doplnit. I když již byl teď nejnověji vydán nový firmware iDo_Net ve verzi 5, v tomto článku se ještě vrátíme k prakticky významným vlastnostem, které naše dobře známé iDo získalo již s nahráním firmwaru verze 4.05. Samozřejmě jsou také k dispozici i u nejnovějšího firmwaru 5.03 (http://hw.cz/ido-53), který je k dostupný na HW serveru od 16.4.2009.
V tomto článku se dočtete o následujících nových vlastnostech:
- Vzájemná síťová komunikace několika iDo
- Podpora připojení 1-Wire snímačů vlhkosti
- Libovolné programové pojmenování 1-Wire snímačů
Zvláště první vlastnost vzájemné síťové komunikace několika iDo je velké "+" pro potřeby vytváření tzv. plně distribuovaných řídídích systémů, kdy aplikace, systém nebo úloha není řízena jedním centrálním "mozkem", ale více vzájemně komunikujících "mozečků", kde každý v řetězci zastává předem definovanou úlohu. Tímto způsobem tak lze i z velmi jednoduchých stavebních prvků tzpu miniPLC iDo vytvořit i rozsáhlý a výkonný řídící systém provádějící mnoho úkonů.
Vzájemná komunikace mezi iDo
To co neuměly iDo s předchozími verzemi firmwaru, tedy možnost vzájemné komunikace několika iDo propojených ethernetem, tak to již od verze 4.05 umí. Navíc je to z pohledu uživatele velmi snadno naprogramovatelné, podobně jako dalších funkce iDo.
Tento režim obnáší možnost vzájemného volání proměnných programů běžících v iDo skoro tak, jako by byly přítomny přímo v paměti daného zařízení. Například máme po ethernetu propojeny dvě iDo obyčejným UTP křízovým kabelem s konektory RJ-45, kde jedno má funkci měřícího zařízení, do kterého jsou připojeny snímače, a druhý ve funkci akčního členu, které bude ovládat elektomotor, topení, větrák apod. „Akčí“ iDo si pak bude prostřednictvím ethernetu a protokolu XML získávat aktuální stavy všech hodnot a proměnných z měřícího iDo, včetně informací o stavech vstupů i naměřených teplotách připojených snímačů (teploměrů a vlhkoměrů). Komunikovat může libovolné množství iDo vzájemně připojených (propojených) se stejném subnetu například přes switch či router, tzn. všechny iDo budou mít např. IP adresu 192.168.1.xxx.
Implementace vzájemné komunikace v programech je velmi jednoduchá, stačí v programu definovat proměnnou, jejíž jméno bude začínat jménem jednotky, jejíž proměnná vás zajímá, tečkou a jménem proměnné ve vzdálené jednotce. Na straně vzdáleného iDo přitom není třeba psát ani nastavovat vůbec nic, protože celý proces je zcela automatický. Například syntaxe "out.1 = ovladac.in.1" způsobí, že výstup jedna bude kopírovat stav vstupu jedna na jednotce s názvem ovladac (název se zadává pomocí programu UDP_Config). Aby bylo možné tento trik v programu využít, je nutné nejdříve definovat ty proměnné, které nás doopravdy zajímají, aby tedy předchozí příklad fungoval, musí být znění celého programu třeba následující:
prog(
ovladac.in.1 := 0,
ovladac.in.2 := 0,
out.1 = ovladac.in.1,
out.2 = ovladac.in.2
)
Omezení komunikace
Celý mechanismus funguje za následujících předpokladů:
- Jednotky se nacházejí na stejném subnetu ethernetu
- Mají adresu platnou v tomto subnetu (může být pevná i přidělená DHCP)
- Jméno sdílené proměnné nepřesahuje 16 znaků
- Výměnný XML soubor nepřesahuje 1500 B (velikost a strukturu souboru je
možné ověřit na adrese http://a.b.c.d/cgi-bin/device.xml
Praktický jednoduchý příklad, který jsem vyzkoušel:Na iDo č.1 s uložným názvem „zdroj“ (IP adresa: 192.168.1.125) jsem napsal, uložil a spustil následující program: prog(
) Na iDo č.2 s uložným názvem „cil“ (IP adresa: 192.168.1.127) jsem napsal, uložil a spustil následující program: prog(
) |
Popis funkce:
Pokud taková dvě iDo vzájemně propojíme křížovým ethernet kabelem (crossed wired UTP kabel s konektory RJ-45), pak například při sepnutí tlačítka připojeného na vstup I1 u iDo č.1 (zdroj) se přepne výstupní relé O1 na iDo č.2 (cil). Podobně, když se sepnou tlačítka na vstupem I3 nebo I4 u iDo č. 1 (zdroj), přepne se výstupní relé na iDo č.2 (cil). Takto lze z jednoho miniPLC iDo volat jakékoliv proměnné druhého iDo, ať již jde o klasické proměnné definované jako „promenna=hodnota“ nebo nastavitelné proměnné definované v programu jako „usr.promenna:=hodnota“.
Jak je z triviálního příkladu patrné, ke vzájemné síťové komunikaci není potřeba nic složitého programovat a je tak dodržena fylozofie iDo o jednoduchém programování pro každého. I když po vyřknutí pojmu vzájemná komunikace více PLC si většinou každý představí problematické zprovozňování a programování, zde to opravdu zvládne každý.
Podpora 1-Wire snímačů vlhkosti a libovolné pojmenování
Přechozí firmwary (verze 3.xx) umožňovaly připojit jen některé teplotní 1-Wire senzory Dallas, které navíc nebylo možné pojmenovat vlastním jménem, ale jen vybrat jedno z 5 přednastavených anglických názvů (Inside, outside apod.). Od firmwaru verze 4.05 je již možné nejen velké množství 1-Wire teplotních čidel Dallas, ale i univerzální snímače vlhkosti a teploty (HW RH). Od dalších verzí firmwaru již bodou podporovány i další snímače a to nejen pro měření teploty či vlhkosti, ale různé A/D převodníky a typy snímačů pro měření dalších veličin. Kompletní seznam pak vždy najdete na HW serveru na webové stránce umožňující stažení poslední verze firmwaru – momentálně je nejnovější verze 5.03 (http://hw.cz/ido-53).
Navíc je možné již v iDo v tabulce aktuálně detekovaných (připojených) snímačů každému přiřadit vlastní označení (například v mém případě byt, slunce, stin), kterým si pak konkrétní čídlo volá z uživatelem vytvořeného iDo programu (například v mém případě „tm.Byt.Temp.State“ pro zjištění aktuálního stavu porovnání aktuálně naměřené teploty se zadanými požadovanými limity).
Jednoduchý příklad připojených 3 senzorů
Pro jednoduchou praktickou ukázku jsem připojil 3 snímače, 2x pouze čidla teploty umístěné venku na sluném místě a ve stínu a 1x kombinované čidlo vlhkosti / teploty umístěného u mě v bytě.
Jak je patrné na následujícím obrázku obrazovky iDo stránky s detekovanými snímači, pojmenoval jsem si je jako Slunce, Stin, Byt. Dále jsem pro potřeby následného jednoduchého monitorovacího prográmku zadal MAX a MIN limity (viz obrázek níže). V praxi pak iDo automaticky porovnává aktuálně naměřenou teplotu (měří každých 12 sekund) se zadaným limitem každého čidla a podle toho mění obsah políčka „State“ na: OK, Low, High. V iDo programu pak lze tyto stavy číst jako stav proměnné teploty „tm.nazev_cidla.Temp.State“ s vlhkosti „tm.nazev_cidla.Hum.State“ , přičemž se nepředávají zobrazené texty, ale následující číselné hodnoty:
- Stav „OK“ = hodnota „2“
- Stav „Low“ = hodnota „3“
- Stav „High“ = hodnota „4“
Tabulka detekovaných připojených 2 snímačů teploty + 1 snímače vlhkost/teplota
(viz foto)
pojmenované jako "Slunce", "Stin", "Byt" s nastavenými
limitními hodnotami
Pak například lze napsat takovýto 5ti řádkový prográmek vyhodnocující stavy teploty uvedených 3 čidel a podle toho přepíná výstupní relé iDo (O1 a O2): prog(
) Praktická poznámka (vyzkoušel jsem): Při zadávání jména a MAX a MIN limitů jednotlivým detekovaných snímačů v tabulce se nejlépe postupuje tak, že vždy myší vyberete příslušné políčko a napíšete do něj údaj, a když to už vše máte, kliknete na „Set“ a následně „Save“. Tím se vám vše zadané do iDo uloží a zprovozní. Pokud chcete vydět v tabulce aktuální naměřené hodnoty, můžete zobrazení tabulky nejlépe updatovat kliknutím na tlačítko „Save“. |
Závěr
Novinky v oblasti komunikace a propojení několika iDo nebo v připojení snímačů jsou jen část toho, co dalšího teď nově iDo umí. Příště se podíváme na XML výstup proměnných běžícího programu a jeho použití pro jejich vizualizaci na straně uživatele.
Více podrobných informací o iDo pak najdete v pdf manuálu iDo-manual.pdf a v přehledu novinek poskytující nový firmware verze 5.03 (http://hw.cz/ido-53). MiniPLC iDo lze pak jednoduše zakoupit v internetovém obchodě HW serveru = HW shopu.
Antonín Vojáček
DOWNLOAD & Odkazy
- Domovská stránka produktu - http://HW.cz/iDo
- Objednat iDo v HW shopu
- Manuál k miniPLC iDo - iDo-manual.pdf
- iDo Config - UDP konfigurátor - iDo_Config.exe
- Stažení poslední verze firmware - ido_5-3.img (16.04.2009)
- Bližší informace k novému firmwaru - http://hw.cz/ido-53
- Článek "Nový firmware 5.3 i pro nové typy miniPLC iDo"
- Článek "Mini PLC iDo a hrátky s tlačítky - 1. část" na serveru automatizace.HW.cz
- Článek "Mini PLC iDo a hrátky s tlačítky - 2. část" na serveru automatizace.HW.cz
- Článek "TEST - iDo = jednoduché programovatelné miniPLC" na serveru automatizace.HW.cz
- Článek "Počítadlo provozní doby s iDo"
- Článek "iDo – jde to i lépe aneb inteligentní automatizace pro každého"
- Další články týkající se PLC a průmyslových PC najdete na serveru automatizace.HW.cz