Díky společnosti VAE Prosys jsem měl možnost si „pohrát“ s PLC ABB řady AC500-eCo s celým označením PM564-T-ETH. V rámci řady "eCo" cenově i výbavou představuje zhruba střed nabídky, se kterou jste se mohli již seznámit v článku PLC ABB – nejlevnější řada AC500-eCo. V prvním díle testu TEST - PLC ABB PM564 – 1.díl – popis hadwaru jsme se zaměřili na hardware a v tomto pokračování si řekneme něco k programování PLC.
Vývojové prostředí k PLC
Pro programování PLC PM564-T-ETH je výrobcem dodáván vývojový software založený na známém vývojovém prostředí CoDeSys (Controlled Development System) společnosti 3S-Smart Software Solutions GmbH, který v sobě aplikuje všechny možnosti zápisu programu popsaných ve standardu IEC 61131-3. Ten definuje několik programovacích režimů (jazyků) pro programovatelné automaty (PLC), bez ohledu na použitý hardware. Díky němu je tak možno vytvářet jednotné datové a programové struktury nezávisle na výrobci a typu PLC, protože „napasování“ na daný hardware probíhá jinde. Zde v konkrétním případě PLC společnosti ABB to provádí s CoDeSysem společně dodávaná utilita ABB Configurator.
K dispozici jsou následující programovací režimy / jazyky:
- IL - Instruction List (posloupnost instrukcí)
- ST - Structured Text (vyšší programovací jazyk - obdoba Pascalu)
- LD - Ladder Diagram (kontaktní plán / liniové či reléové schéma)
- SFC - Sequential Function Chart (vývojové schéma)
- FBD - Function Block Diagram (schéma funkčních bloků)
- CFC - Continuous Function Chart (volně propojované bloky)
Protože stručný úvod o tom, jak jednotlivé programovací režimy vypadají a pro jaké aplikace a účely se hodí, byl již uveden v článku Programovací režimy pro PLC dle IEC 61131-3 (CoDeSys), zde se dále zaměřím jen na praktické poznatky přímo související s PLC ABB PM564-T-ETH.
ABB Configurator + CoDeSys
Všechny PLC ABB se programují ve vývojovém prostředí tvořeném na výrobci nezávislým softwarem CoDeSys společnosti 3S a tzv. ABB konfigurátorem, který umožňuje spravovat PLC z pohledu nastavení (zapnutí / vypnutí) jeho vlastností, komunikačních rozhraní a hlavně správu celého projektu.
Počítačová utilita ABB Configurator slouží pro vedení projektu a s tím související definování PLC a zobrazení / nastavení jeho parametrů.
Nelze totiž na PC si jen nainstalovat a spustit samotný CoDeSys a v něm vytvořit program. Tedy můžete to takto udělat, ale vytvořený program si pustíte jen v simulátoru, který CoDeSys obsahuje, ale na PLC jej prostě nespustíte. Nejdříve je totiž nutné na PC spustit právě onen „ABB Configurator“, v něm založit nový projekt s udáním příslušného typu PLC a až z něho poté spustit editaci zdrojáku programu. To se provede poklikáním na zdrojový soubor (zde AC500_1), po kterém se sám otevře CoDeSys. Při tomto postupu se totiž vytvoří tzv. konfigurační data pro dané PLC a do CoDeSysu načtou odkazy na příslušné knihovny. Díky tomu pak lze z něho, stejně jako z ABB konfigurátoru, následně program do PLC nahrát a rozběhnout.
Z utility ABB Configurator lze kliknutím myší na zdrojový soubor spustit editaci v CoDeSysu nebo vyvolat nabídku pro nahrání do PLC či vytvořit konfigurační soubor hardwarové specifikace PLC pro vytvořený program.
Mimo to pak lze v CoDeSysu i program spouštět, vypínat, různě krokovat, ladit, nastavovat a zobrazovat vnitřní proměnné apod. Možností je opravdu široké množství. Emulátor, potažmo i simulátor, který sdílí úplně stejné ladící možnosti a i ovládání je v něm totožné s režimem připojeného PLC, je v CoDeSysu opravdu dobrý (hlavně mi přišel velmi intuitivní) a mnoho speciálních firemních softwarů různých výrobců PLC mu může tiše závidět.
V CoDeSysu se v záložce Online provádí jak definování komunikace s PLC, ale i nahrání programu do PLC a poskytuje kompletní prostředky simulace či emulace (monitorování) běžícího programu.
Komunikace PLC s PC
V mém případě u PLC typu PM564 se pro propojení s PC využívá zmíněné ethernetové rozhraní. RS-485 by šlo také použít, ale bylo by nutné mít při ruce např. RS-485/USB převodník. Při prvním napojení PLC k PC se v ABB konfigurátoru dá díky utilitě IP Config na LAN síti PLC vyhledat a zjistit jeho aktuální IP adresu, případně ji změnit podle nastavení vašeho PC či LAN sítě. Jde to velmi jednoduše a intuitivně.
V ABB Configuratoru je možnost prostřednictvím nástroje "IP config tool" najít ethernetem k PC připojené PLC a zjistit či změnit nastavení komunikačních parametrů uvnitř PLC.
Horší to bylo se samotným navázáním komunikace s PLC z CoDeSysu. Ne a ne, navázat spojení, i když PLC na funkci PING bez problému reagovalo. Problém byl v nastavení v CoDeSysu v záložce „Online –> Communication settings…“. Zde totiž standardně nakonfiguroval TCP port 1200 a on měl být 1201. Jenže v manuálu o tom ani potuchy a tuto věc mi musela ozřejmit až technická podpora společnosti VAE Prosys. Prý o chybičce vědí a v budoucnu se to opraví. Po změně TCP portu na 1201 a položky „Motorolabitorder“ na „Yes“ (uvnitř je totiž ta Motorola, tedy dnes Freescale) pak vše pracovalo již perfektně.
Okno nastavení komunikačních parametrů propojení PLC s PC v CoDeSysu (zde v mém případě ethernetové komunikace, ale taktéž se zde nastavuje i RS-232 propojení).
Programování PLC a ladění
K samotnému programování zde jen několik postřehů:
Pro začátek jsem si zkusil v programovacím CFC režimu jen vytvořit jednoduchý generátor signálů, jehož výstup je „napojen“ na analogový napěťový výstup PLC a následně externím vodičem přiveden na analogový napěťový vstup. Jeho úroveň je opět programově vyhodnocována a výsledný stav posílán na spínané výstupy. Tím se snadno odzkouší práce a používání vstupů / výstupů a funkce indikačních LED.
Pro účely testování vývojového softwaru a možností programování PLC PM564-T-ETH jsem si vytvořil jednoduchý program v programovacím režimu CFC.
V programu, díky docela rozsáhlým knihovnám funkcí, stačilo jen použít hotové bloky „GEN“ a „LIMITALARM“ a přidat na jejich „vývody“ proměnné. Při definování obecných proměnných v CoDeSysu je možné jen zadat název a umístění v paměti nechat na překladači, ale u signálů svázané se vstupy a výstupy PLC je nutné fyzicky zadat jejich adresu. Tu se však snadno dozvíte právě v ABB konfigurátoru, takže nikde nic nemusíte pracně hledat.
Zobrazení tabulky namapovaných vstupů / výstupů a funkčních registrů PLC v utilitě ABB Configurator (pro programování je důležitá hodnota adresy, kterou je nutné přiřadit příslušné proměnné programu v CoDeSysu).
Blok generátoru „GEN“ pak již umí sám generovat nejen trojúhelník (střídavý nebo stejnosměrný), pilu či obdélník, ale i sinusový signál. Stačí jen do proměnné napojené na vstup „MODE“ zadat při simulaci či emulaci hodnotu „SINUS“. To se v CoDeSysu provádí stejně jako u změny hodnoty jakékoliv jiné proměnné, tedy kliknutí v "Online" režimu (ať již jen simulace na PC či emulace s připojeným PLC) na příslušný obdélníček proměnné a po zobrazení okna hodnotu zadat. Poté se v okně zobrazí v obdélníčku proměnné jako modrá a zatím se s ním nepracuje (pouze je připravena). Aktivní zadaní začne být až po provedení příkazu "Force value" pomocí stisku klávesy F7 nebo kliknutím na stejnojmennou položku v záložce "Online". Pokud je program spuštěn (Online-> Run), program začne se zadanými hodnotami proměnných hned pracovat. V případě nečíselných proměnných, jako zde uvedená proměnná "signal" připojená u generátoru na vstup "MODE" je nutné zadat správné "slovo", které je nutné si zjistit v nápovědě syntaxe daného bloku (zde tedy bloku GEN), kterou snadno vyvoláte např. stiskem klávesy F1. Pokud zadáte něco jiného, co neodpovídá syntaxi použitého bloku, překladač ohlásí ERROR s odkazem na chybu.
Ukázka zadávání hodnot proměnných při simulaci programu na PC či emulaci s připojeným PLC.
Ukázka zadaných hodnot proměnných při simulaci programu na PC či emulaci s připojeným PLC přes jejich aktivací příkazem "Force value".
Při ladění běhu programu, ať již v režimu simulace či emulace, se aktuální stavy proměnných zobrazují jak v okně programu (zde v případě programovacího režimu CFC graficky), tak v textovém okně deklarace proměnných. Navíc logické stavy 1/0 (TRUE/FALSE) jsou barevně odlišeny pro větší přehlednost.
Ukázka zobrazení běžícího programu při jeho monitorování (emulaci) s připojeným PLC PM564-T-ETH (červené hodnoty jsou aktuální stavy proměnných běžícího programu).
Běžící PLC PM564-T-ETH s výše uvedeným programem.
Vhodný počítač pro programování
Závěrem bych ještě uvedl jaký a jak vybavený počítač je pro programování PLC ABB nutný. Obecně řečeno, lze použít téměř jakýkoliv moderní počítač či notebook, na kterém bez problémů běží operační systémy Windows XP, Vista či Windows7. Ty samotné víceméně definují nutnou hardwarovou výbavu PC. Samotný vývojový software CoDeSys + ABB Configurator není nijak zvláště náročný ani na paměť ani na místo na disku. Z pohledu připojitelnosti PLC k PC je nutné mít buď sériový port RS-232 nebo ethernetový port, podle toho jak je dané PLC vybaveno. V mém případě tedy klasickým ethernetovým konektorem RJ-45. Na přenosové rychlosti zde příliš nezáleží. V případě levnějšího provedení PLC bez ethernetu je nutné mít buď "velký" počítač s RS-232 nebo v případě notebooků si opatřit převodník USB-RS232, což je otázka pár stovek a využijete jej i pro jiné aplikace.
Já jsem osobně při tomto testu používal 4 roky starý stolní počítač AMD Athlon 3400 s 2 GB RAM, 17" monitor a s OS Windows XP Professional a také malý levný 10" netbook Asus EEE s 1 GB RAM a s předinstalovaným OS Windows7 Starter. V obou případech byla funkce celého vývojového prostředí a komunikace s PLC bezproblémová až na malé problémy s nastavením popsané výše. Zvláště v případě netbooku, který v práci používám jako lehký mobilní servisní PC, jsem chtěl vyzkoušet vhodnost jeho použití. Ani malé rozměry 10" displeje netbooku (rozlišení 1024x600) nebyly při připojení k PLC a ladění programu problémem a nijak ovládání neomezovaly. I když samozřejmě vývoj programu aplikace na tak malém displeji není úplně vhodný (k tomu se více hodí velký monitor). Pro nahrání softwaru do PLC a ladění běhu aplikace někde v terénu je to však ideální řešení a mohu doporučit.
Závěr...
PLC PM564-T-ETH od společnosti ABB je rozhodně zajímavým programovatelným automatem, který bych hodnotil slovy "povedený". Konkrétně za cenu okolo 10 tis. Kč dostanete docela rychlé a hlavně dobře vybavené PLC, které se vcelku snadno programuje. Úplně základní verze bez ethernetu ("jen" s RS-232) pak stojí okolo 7000,- Kč. Navíc vytvořený zdrojový program lze docela snadno "přenést" i na jiné PLC, například i na výkonnější řadu AC500. Z mého pohledu bych výkon PLC ABB řady AC500-eCo, v porovnání s konkurenčními PLC, přirovnal k OMRONu řady CP1L. To je sice v základu o něco málo levnější, ale zase nemá analogový výstup, což je nutné řešit připojením dost drahých rozšiřovacích modulů. Z pohledu programování je nutnost současného používání softwaru ABB Configurator a CoDeSys trošku těžkopádné proti kompaktnímu programovacímu prostředí OMRONu, ale jak se jednou CoDeSys naučíte používat, znalosti můžete využít i při programování jiných PLC, které CoDeSys podporují. Třeba mě teď napadají zařízení Moeller.
Vytvořil na základě vlastních zkušeností s produktem: Antonín Vojáček
DOWNLOAD & Odkazy
- Stránky společnosti VAE Prosys, distributor a prodejce PLC ABB v ČR - www.vaeprosys.cz
- Přímý odkaz na stránky s informacemi a datasheety o PLC AC500-eCo - www.vaeprosys.cz/chapter.asp?k=33&mk=9&ms=33
- Odkaz na dokumenty o PLC AC500-eCo v češtině a angličtině - www.vaeprosys.cz/list.asp?p=134&k=33&mk=9&ms=33
- První díl testu PLC ABB PM564 - TEST - PLC ABB PM564 – 1.díl – popis hadwaru na stránkách serveru automatizace.HW.cz
- Článek Programovací režimy pro PLC dle IEC 61131-3 (CoDeSys) na stránkách serveru automatizace.HW.cz
- Článek "PLC ABB – nejlevnější řada AC500-eCo" na stránkách serveru automatizace.HW.cz
- Další články o PLC (Siemens, OMRON, Fatek, Crouzet, IDEC a dalších) najdete na stránkách serveru automatizace.HW.cz v sekci plc-automaty