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 mohli 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í i 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 je to opravdu zvládne každý.
Podpora 1-Wire snímačů vlhkosti a libovolné pojmenování
Přechozí firmwary (verze 3.xx) umožňovali 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 po 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čů snímačů teploty + 1 snímače vlhkost/teplota (viz foto)
pojmenované jako "Slunce", "Stin", "Byt" s nastavenými limitními hodnotami a
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 linitů 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 stiskem 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
Komentáře
Kombinované čidlo teplota/vlhkost
Zajimaly by mě bližší údaje o použitém kombinovaném čidle teplota/vlhkost - jeho připojení na 1-wire sběrnici.
Kombinované čidlo
Dobry den,
jako kombinovane cidlo Vam mohu doporucit Htemp 1-Wire Box2 (http://obchod.hw.cz/default.asp?cls=stoitem&stiid=40453). obsahuje jak teplomer, tak vlhkomer a pripojuje se standardnim kabelem s konektorem RJ-12. Ty obsahuje 2 takze neni problem retezeni cidel
Počet 1-wire prvků
Zajímalo by mě, zda-li lze zvýšit počet prvků na 1-wire sběrnici, případně, lze-li ovládat 1-wire I/O prvky.
Počet 1-wire prvku je
Počet 1-wire prvku je omezen softwareove, ale zatim neplanujeme podporu I/O prvku. Resp. neni problem ji pridat na zaklade realne aplikace - objednavky
SW omezení počtu prvků
Dobrý den, - uvádítě, že úpočet prwků je omezen SW, znamená to snad, že se dá za poplatek rozšířit, nebo je omezen kapacitou?
Pocet senzoru
Ne tak docela. pocet cidel je ciste SW zalezitost, ale vzhledem k delkovym omezenim 1-Wire sbernice jich proste na 1 port vice poustet nechceme, abychom nemuseli resit nektere zbytecne dotazy.
iDo PRO (http://automatizace.hw.cz/novinka-ido-pro-aneb-kdyz-potrebujeme-vice ) ktere ma 4 porty jich umi az 32
Úprava web rozhraní iDo.
Chtěl bych se zeptat jestli neplánujete nějaký podrobnější polopatický článek včetně příkladů ohledně úpravy webového rozhraní iDo podle vlastních představ.
nie len WEB ale aj FIRMWARE
To by velmi zaujimalo aj mna, mam totiz s iDO velke plany, a nebudem proti ked sa niekde najde navod ako vyrobit vlastny FIRMWARE. Kludne to moze byt aj zlozite :-)
Co si predstavujete pod
Co si predstavujete pod navodem jak vyrobit vlastni firmware? Vzdyt si do nej muzete nahrat aplikaci jakou budete chtit.
Co ty úpravy webového
Co ty úpravy webového rozhraní iDo podle vlastních představ. Neplánujete něco o tom napsat?
Děkuji
Honza
Ano. Clanek bude uverejnen
Ano. Clanek bude uverejnen nekdy ve druhe polovine listopadu. Pripadne muzete nahlednout do manualu, ale clanek bude urcite podrobnejsi
... Ano. Clanek bude uverejnen
Dobrý den.
Jsem trochu netrpělivý ale rozhodně Vás nechci honit. Jak se to má s tím článkem? Nakouknul jsem do manuálu ale vůbec z toho nejsem chytrej. Možná by to spíše chtělo psát více polopaticky protože manuály jsou většinou pro lidi kteří o tom moc neví.
Děkuji předem za odpověď.
Honza
Butler - něco jako iDo.
Dobrý den.
Dnes jsem se na webu hw.cz dočetl o produktu Butler. Příjde mi to jako takové další zařízení jako je iDo s trochu jinačím ovládáním a programováním. Není to špatný počin hlavně to maticové programování.
Osobně bych ale uvítal a spíše šel cestou zdokonalování a rozšiřování SW výbavy a funkcí nebo HW doplňků již hotového iDo, které již prošlo několika fw updaty, třeba možností použití maticového programování a nebo rozšíření počtu 1Wire vstupů či externího ethernetového řešení dalších výstupů/vstupů. Aby se potom nestalo že budete mít mnoho takových podobných udělátek které však nebudou dotažené k dokonalosti.
Neberte to jako výčitku ale spíše něco jako prosbu či námět k dalšímu rozvoji iDo.
Jen ještě trochu upozornění na chybu. V článku o Butleru píšete o možnosti připojení 4 1Wire čidel a v popisu na shopu píšete o 10 1Wire čidlách.
Butler x iDo
iDo a to v jakemkoliv provedeni je de facto miniPLC. Tedy co si sam nenaprogramujete, tak proste nedela. Chcete sepnout vystup na zaklade teploty? Napiste si program. Chcete poslat maila? napiste si program. Pokud neumite C jste proste v koncich.
Proti tomu ma Butler primitivni ovladani. Co potrebujete, to si "naklikate". Na druhou stranu ale dela jen to co dela a nikdy vic umet nebude. Nikdy nedokaze vytvorit slozitejsi podminky, nikdy nebude parsovat XML, nikdy nebude podporovat customizaci ci jiny protokol nez HTTP a SMTP.
Butler i Ido maji zkratka odlisne zakazniky a odlisne urceni.
Dekuji za upozorneni na chybu - opraveno. Chyba vznikla omezenim poctu cidel ve vyslednem produktu
Butler x iDo
Ano ten základní rozdíl jsem pochopil. Nevím jak by to bylo reálně možné skloubit dohromady ale myslel jsem to tak že by nebylo špatné kdyby iDo mělo možnost právě takového jednoduchého ovládání jako má Butler kdyby bylo potřeba. Třeba v menu by bylo na výběr "iDo nebo Butler". Tím by jste měli dá se říci dvě zařízení v jedné krabičce a volbu co chce kdo používat by už bylo na něm samotném. HW základ by zůstal jeden a tím by se i ušetřilo na výrobě a určitě by bylo plodnější se starat o FW jednoho zařízení než dvou. Ostatně i cena obou zařízení je cca stejná. Tím by případné vylepšené iDo získalo více zákazníků byť s odlišnými potřebami.
Ale jak jsem psal - nevím jak by to bylo možné skloubit dohromady takže to berte jen jako názor.