Software Promotic je vyvíjen ve společnosti Microsys spol.s.r.o. jako vizualizační software pro oblast průmyslových aplikací. Jedná se, jak bylo uvedeno v úvodu, o objektově orientovaný software, a proto bude práce s ním bližší pracovníkům ovládajícím vyšší progamovací jazyky než těm, kteří se orientují spíše na typicky grafické nástroje, kde natáhnete myší objekt na plochu, přilepíte k němu ve vlastnostech z několika málo variant tag, nebo jiný úkol a je hotovo. Tady to tak úplně nefunguje, je to jen trochu jiné, tudíž máte mnohem více a více možností co si s danným objektem udělat a jak jej propojit. Je to český nástroj, vše je česky, takže za vyzkoušení to stojí. Máme k tomu PLC Simatic S7-315 DP a OPC server.
Jdeme na to a uvidíme, jak vše půjde. První věc instalace, doporučuji stáhnout poslední verzi Promotic, neboť výrobce vydává často nové verze. Nainstalujeme si určitě příklady, neboť než občas pátrat ve správné syntaxi VBscriptů (pokud je chceme občas využít), je lepší si příkazy zkopírovat z funkčního příkladu. Instalace je velmi rychlá a než jsem se stačil doslova "otočit", bylo vše hotovo. Instalátor Vás jen vyzve rozbalit archív někde na disk, a pak teprve se spustí samotná instalace. |
Propojení mezi "železy" PLC Simatic a SCADA PC obstaral IBHNetlink ethernet adaptér, připojený do malé sítě s několika PC. V poslední době velmi rozšířený způsob připojení PLC Simatic, neboť ethernet je dnes již v podstatě všude a není nutno kupovat speciální komunikační karty do PC typu CP5512 atp. Propojení v OPC serveru obstaral PG/PC interface přímo ze Step7 nebo Simatic NET software. Některé OPC servery umí přímé připojení na konkrétní NET adaptér, takže potom už nepotřebujete od Siemens vůbec nic. Připomeňme si: OPC server je jen softwarový nástroj, který běží na PC, a zajistí směrem dolů připojení na různá PLC, dokáže z nich číst proměnné a zapisovat do nich. Směrem nahoru je otevřený pro všechny volné programovací nástroje a SCADA systémy. SCADA software, který se neumí připojit na OPC server, snad ani neexistuje. |
|
Než se pustíme do dalších pokusů, je dobré si OPC server vyzkoušet jestli běží a proměnné z PLC jsou v pořádku. Používám OPC server Deltalogic, který umí 16 PLC najednou od různých výrobců, jede bez potíží už několik let na mých PC, a v podstatě o něm ani nevím. A hlavně, instalace je jednoduchá a bezproblémová. Samozřejmě se dá použít jakýkoliv jiný OPC, neboť princip je a musí být stejný, takže záleží jen na Vás co máte nebo si pořídíte. Pro vyzkoušení drtivá většina výrobců nabízí chod svého OPC serveru zdarma po nějakou dobu, třeba jedné hodiny. |
|
Po spuštění Promotic zadáme klasicky vytvořit novou aplikaci, na výběr jsou dvě možnosti vzhledu okna vzhledem k nástrojové liště, vše si ale můžeme později upravit. Složka "Aplikace" bude obsahovat to, co si do našeho projektu vložíme. My už tady máme hotový malý projekt, ale zatím si nebudeme dalších objektů všímat. Menu celého vývojového prostředí je jednoduché, většina výběrů funguje na pravé tlačítko myši v závislosti na označené "poloze" v levé části okna. Zelený trojúhelník nám pak spustí runtime, abychom viděli, jak se naše aplikace chová. |
|
Nejdříve si uděláme spojení na OPC server a nadefinujeme několik tagů. Pro zdárný běh runtime jsme omezeni maximálním počtem 30-ti proměnných při kterých běží runtime zdarma. Pro vyšší počet je nutno koupit licenci. Vložíme si tedy nový objekt - OPC klient. |
|
Důležitý bod je, následně vybrat OPC, který chceme používat. To nám umožní rozšířená volba v záložce OPC, kde jsou následně vidět nabízené OPC servery nainstalované na našem PC. Pokud Promotic tohle nenajde, znamená to, že OPC server na počítači není , nebo je špatně nainstalován. Podle serveru listu je vidět, že už jsme několik OPC zkusili, a ani neodinstalovali. |
|
Teď potřebujeme do OPC dostat nějaké proměnné, takže znovu do menu a vložíme do OPC složku nebo-li objekt "OPC klient data". |
|
Tady už načteme z OPC proměnné, která budem chtít používat, zatím po jedné přímo z OPC serveru. Všechno funguje na tlačítka rozbalení nabídek vedle zadávacích polí, jako v jiných programech. U každé proměnné si ještě můžeme nastavit tzv. přepočet hodnoty, například x0,1 abychom viděli proměnnou integer s desetinou čárkou. To je klasika úplně stejná jako u jiných SCADA nástrojů, pokud mají tuto možnost implementovanou. Všechny ostatní nastavení okolo proměnných z OPC jsou intuitivní, nebo vysvětleny v přehledné nápovědě. |
|
Jedna proměnná je jasná, ale ve skutečné aplikaci je mnohdy potřeba stovek různých proměnných, takže možnost importu dat buď přímo z OPC serveru, nebo CSV/XML souboru, který by každý OPC měl dokázat jednoduše vygenerovat, je nezbytná. |
|
Objektů "Data" můžeme mít pod objektem OPCklient více, a pro každý můžeme nastavit vlastnosti jako čas obnovy atp. Tohle je funkce, kterou nabízí hlavně některé OPC, ale ne vždy se k nim detailně dostaneme, neboť OPC server může dodávat jiná firma a ta nastaví všechny proměnné na jeden refreš a nám to potom zbytečně zatěžuje systém. Takže si už tady nastavíme co a jak. A je to, máme nadefinované proměnné z OPC serveru v naší aplikaci, takže zbývá je "jen" zobrazit na obrazovce. |
|
Abychom mohli něco z PLC zobrazit, musíme mít v první řadě možnost "kde" to zobrazit. Vytvoříme si proto jednu, dvě obrazovky, tady objekt PmPanel. Jako první se vytvoří Main Panel, který se spouští v runtime jako "startovací obrazovka", použijeme-li pro zjednodušení výraz z jiných SCADA systémů. Všechny podmínky a další vlastnosti se samozřejmě dají do detailů nastavit a doplnit. |
|
Vytvořená jedna zkušební obrazovka, na které si ukážeme jen několik detailnějších nastavení, abychom viděli ten rozdíl, proti více graficky orientovaným nástrojům. Nastavení chování ostatních objektů je podobné a je detailně popsáno v helpu. Jednotlivé panely (obrazovky), se editují v samostaném okně editoru obrazů. |
|
První je přepnutí obrazovky, nebo-li panelu. Příkaz si pod tlačítko napíšeme VB scriptem k patřičné události objektu. Zrovna tohle je věc, kterou jsem opsal z příkladů, což bylo nejrychlejší řešení. Můžeme totiž definovat spoutu parametrů pro funkci otevření panelu. |
|
Podobně to probíhá třeba u objektu dvoustavového buttonu, kde ale nebudeme psát žádný VB script, ale spokojíme se s předdefinovanými funkcemi, tedy jen napojením tlačitka na nějakou datovou vazbu, někde na tag do OPC serveru. Proměné které máme k dispozici v OPC uvidíme všechny pod rozbalovacím tlačítkem vedle cety k PmObjektu. Tento systém nás bude provázet celým Promotic nástrojem. Jen v grafických vlastnostech tlačítka se dá nastavit opravdu velké množství variant zobrazení a vykreslení objektu. |
|
Každý objekt, zde textové pole pro zobrazení proměnné z OPC na obrazovce, má velmi mnoho předdefinovaných vlastností a navíc se dá vybavit kratším či delším vlastním scriptem, kde si nadefinujeme další vlastnosti nebo chování objektu. Já jsem si vystačil jen s předdefinovanými vlastnostmi, které bohatě stačí, ovšem programátoři znalí psaní VB scriptů, se v Promotic mohou opravdu vyřádit. Pokud ale potřebujeme jen zobrazit proměnnou, stačí ji napojit na datovou vazbu v menu Text. |
|
Zkusíme si i jednu proměnnou dát někde do trendu, abychnom viděli její průběh. Vložíme si proto do aplikace další objekt a to Trend. Uvidíme jej jako Trend0 |
|
V patřičné záložce trendu si vložíme data, vlastně přiřadíme objekt, který chceme zobrazit. V nabídce jsou všechny zatím vytvořené a zadefinované objekty, proměnné jak z OPC serveru tak z jiných objektů. Opět je vidět, že mnohem detailnější nastavení vlastností chování objektu trendu, je ukryté pod dalšími záložkami. |
|
Jestli že máme trend jako objekt hotový, zkusíme jej umístit v editoru obrazů někde na panel. Pod pravým tlačítkem myši máme v editoru na výběr velké množství prvků určených ke vložení na plochu obrazovky. Import vlastních obrázků je vyřešen elegantně tak, že jakmile si své obrázky nakopírujete do patřičné složky aplikace, objeví se na konci menu pod prvkem obrázky. |
|
Jakmile je trend vložen na plochu, nastavíme mu ve vlastnostech přiřazení naší proměné. Například volba viditelnosti objektu trendu se dá ještě ovládat napojením na patřičnou datovou vazbu, a pak bude trend viditelný jen kdy potřebujeme. Ukázka viditelnosti objektu je i ve videu na konci článku. |
|
Ještě nám zbývá zkusit zobrazit nějaký alarm, nebo událost, takže zase do aplikace umístíme patřičný objekt a to PmAlarmEvents. |
|
Vložíme si do něj dvě události, které budem ovládat patřičnými bity na obrazovce. Alarmy se řeší přes datová rozšíření, kde jsou pro jednotlivé proměnné připraveny podmínky. Je to ukázáno kousek dále při definici proměnných pro alarmy. Samozřejmě je tu i možnost vyvolat alarmy třeba přímo přes scripty. |
|
Alarm se nedá jen tak vložit jako objekt na obrazovku, dá se ale vidět například jako samostatné okno. Na moji malou pokusnou obrazovečku proto vložíme alarm přes objekt "prohlížeč", nebo-li rámec, kde mu napojíme datovou vazbu na náš alarm. Opět s možností editace dalších vlasností, kterou my ale nevyužijeme. |
|
Připravíme si ještě nový objekt data, kde budou naše proměnné ovládající dva alarmy. Proměnné v tomto objektu Data, se dají totiž jednoduše propojit s alarmem. |
|
K ovládání budou sloužit dva bity, z nichž každý vyvolá jeden text v alarmu. V případě použití byte nebo wordu je nastavení obdobné, navíc se dá sledovat i překročení hodnot proměnné o nastavitelné meze. Proměnné v objektu Data1, propojíme přes datové rozšíření s naším alarmem, a je to. Všechny funkce které uděláme, si krok po kroku zkusíme spuštěním v runtime. |
|
V projektu se dá nastavit opravdu vše, od vzhledu a osazení panelu pro spuštění runtime aplikace, až po okno "About". |
|
Spouštět projekt z vývojového prostředí Promotic je jedna věc, ale elegantní je jej spustit jen přes zástupce na ploše s tím, že si automaticky na pozadí spustí OPC server a naváže spojení s PLC Simatic. Stačí na to vytvořit zástupce na patřičný soubor v adresáři aplikace. |
|
Následně poklepeme na patřičnou ikonu a chvilku počkáme, než se vše chytí a zkomunikuje. |
|
Ještě poznámka na závěr, klidně se stane, že si nevšimneme a překročíme počet proměných zdarma, pak aplikace nejde spustit. Potom zkontrolujeme počet proměnných v hlavním objektu Aplikace v patříčné záložce, kde je vidět mých 21 proměnných. Pokud nám vše jede, můžeme i v runtime prostřednictvím infosystému zjistit veškeré detaily o běžící aplikaci. |
|
Na závěr videoukázka spuštění a chodu naší aplikace s PLC Simatic S7. Runtime Promotic s PLC Simatic S7: http://www.youtube.com/watch?v=RKgHSsGfh8s |
Závěr:
Chtěl jsem ukázat, jak fungují s PLC Simatic i trochu jiné SCADA systémy než WinCC flexible a podobně. VBscripty mě zase tolik neříkají, abych se pouštěl do podrobnějších pokusů, není to samozřejmě ani účelem článku. Pokud Vás tento produkt trochu zaujal, není problém stáhnout instalaci Promotic (skutečně jen cca 50MB), nainstalovat a zkoušet. Z odkazu na konci článku si stáhněte i tento zkušební projekt, kde je nastavení funkčního spojení na OPC server. Ten je již samozřejmostí, žádné ostatní SCADA systémy totiž stejně nemají nativní driver na Simatic a proto je OPC server nezbytný. Přináší Vám zase velkou výhodu v možnosti připojení více PLC různých výrobců, a jak bylo zmíněno v článku, i možnost přímého propojení z OPC na NETlink adaptér pro Simatic, a tudíž odpadne v některých případech nutnost instalace Simatic NET interface nebo Step 7.
Celý systém má propracovanou nápovědu, ale jen v textové podobě, nenašel jsem nikde žádný obrázek. Technická podpora funguje, využil jsem ji asi dvakrát pomocí emailu a odpověď přišla v ten samý den. Pokud je potřeba něco vyřešit okamžitě, tak potom samozřejmě telefonicky.
Jaroslav Blažek
Doplňující odkazy k článku:
Společnosti Microsys, spol. s r.o. výrobce SCADA software Promotic: http://www.promotic.eu/
Stránky pro stažení poslední verze Promotic: http://www.promotic.eu/cz/promotic/download/download.htm
Dokumentace software Pormotic: http://www.promotic.eu/cz/promotic/scada-pmdoc.htm
Tento zkušební projekt v zip archívu: promotic_blaja_1.zip (90.72 KB)
Použitý OPC server Deltalogic - manuál, demoverze, podpora: http://www.foxon.cz/simatic-s7-s5-deltalogic-opc-server-p-395.html?cPath=10