Datová komunikace s PLC Millenium 3
Předtím, než si vrhneme přímo na aplikaci "Smart Application", je dobré si připomenout, jakým způsobem lze z PC s PLC Crouzet Millenium 3 komunikovat. Tento zmíněný automat poskytuje jak možnost sériové, tak i ethernetové komunikace. V prvním případě lze využít již integrovaného programovacího ISP rozhraní doplněného výrobcem dodávaným RS-232 či USB převodníkem. V druhém případě je nutné použít základní jednotku s označením XD26 umožňující její rozšíření o připojení externího ethernetového modulu. Ve výsledku si tak dost připlatíte, protože jednotka XD26 je z celé řady nejdražší + samotný ethernetový modul.
Z pohledu naprogramování sériové komunikace v PLC, tedy pro vysílání či příjem hodnot, zde slouží dva speciální funkční bloky (FBD) s názvy „SL In“ a „SL Out“. Ty umožňují realizovat vysílání či příjem až osmi 16bitových hodnot (tedy slov). Lze však v jednom programu použít až 3 bloky a tak přenášet (vysílat / přijímat - adresovat) až 24 hodnot. Opravdu bohužel jde jen o 16bitová čísla, ale pokud je použijeme jako hexa kódy ASCII znaků, lze je využít i pro vysílání či příjem jednoduchých ASCII řetězců. Ale nejspíš nejčastěji to opravdu využijete pro potřeby vyslání naměřených hodnot či příjem řídicích parametrů z nějakého vizualizačního / ovládacího panelu.
Blokové funkce (FBD bloky) programu pro PLC Millenium 3, na který se dále napojíme z PC pomocí aplikace "Smart Application": vlevo - blok "SL out" pro vysílání stavů vstupů z PLC do PC, vpravo - blok "SL In" pro příjem hodnot z PC pro nastavení výstupů a zobrazení hodnot na displeji PLC.
Samotné bloky jsou na použití velmi jednoduché. Prostě je jen v FBD programovacím režimu „prsknete“ na plochu a v jejich nastavení definujete adresy. Tedy zvolíte, jakou adresu bude mít každý příslušný vstup / výstup bloku pro jeho identifikaci v sériové komunikaci. U bloku vstupu hodnot do PLC (SL In) jde o adresy 1-8, 9-16 či 17-24 a u bloku výstupu hodnot z PLC (SL Out) je možné zvolit adresy 25-32, 33-40 nebo 41-48. Na jejich vstupy, resp. výstupy pak již napojíte další bloky, jejichž stavy a hodnoty chcete vysílat nebo jimi přijaté hodnoty zpracovávat.
V případě ethernetové komunikace přes již zmíněný rozšiřující modul XN05 se v programovacím prostřední funkčních bloků objeví navíc speciální vstupy a výstupy označené jako ETH, ze kterých se čtou nebo do kterých se posílají hodnoty přenášené po LAN síti. Protože dále ve spojení s aplikací "Smart Application" budeme používat sériovou komunikaci, budu se ethernetem u PLC Millenium 3 podrobněji zabývat v některém z dalších článků.
K čemu je "Smart Application" dobrý ?
Například potřebujete co nejsnadněji vytvořit grafické ovládací rozhraní v počítači s OS Windows (XP, Vistus nebo Win7) nebo Linux, kde klikáním na políčka můžete měnit stav vstupů či výstupů i běh programu nahraného v PLC, či zadáváním hodnot do zadávacích polí je posílat do registrů v PLC a regulovat chod programu. Stejně tak však lze v opačném směru zobrazovat na displeji vašeho počítače stavy libovolných bitových proměnných, vstupů a výstupů či zobrazovat číselné hodnoty libovolných registrů využívaných v programu PLC.
Software Smart Application je výtvor jednoho nezávislého francouzského programátora, tedy nejde o aplikaci přímo výrobce PLC, tedy společnosti Crouzet. Je volně ke stažení na webových stránkách www.smartappsoftware.net/index.php, včetně písemného docela podrobného pdf návodu, jak software využívat a příkladů vzorových jednoduchých programů pro PLC Millenium 3 pro vytvoření spojení mezi Smart Application na PC a samotným PLC.
Smart Application se nejdříve musí klasicky nainstalovat spuštěním SETUP exe souboru, v mém případě konkrétně aktuálně nejnovější verzi 2.7 (instalační soubor Setup_SmartApp_V2.7.0.0B.exe). Do počítače se následně nainstaluje jeden program, ale se dvěma ikonami pro možnost odlišného spouštějící dvou různých režimů:
- Základní konfigurační režim "Smart Config" - slouží k nadefinování komunikace s PLC a vytvoření vizualizace / ovládání na PC
- Provozní režim "Smart Command" - fyzicky realizuje komunikaci a vizualizaci vytvořenou v režimu "Config".
Komunikační kanál a rámec mezi PC (Smart Application) a PLC lze sice vytvořit zcela ručně, ale výhodnější je použít vestavěný "Project Wizard" (buď "M3 SL..." pro sériovou nebo "M3 XN05..." pro ethernetovou komunikaci).
Nejdříve je nutné použít programovací režim pro vytvoření vizualizačního / ovládacího okna a nakonfigurování komunikačních rámců pro přenášení dat mezi PC a PLC. To na první pohled vypadá složitě, ale je zde k dispozici utilita snadného nakonfigurování komunikačního rámců stylem krok za krokem (obrazovka za obrazovkou), kde jen odpovídáte na otázky a volíte z nabízených možností dle požadavků na „napojení“ na program v PLC.
Nejdříve se volí kolik přijímacích a vysílacích komunikačních sériových kanálů využijeme (1 až 3). Každý kanál je v programu PLC definovaný přijímacím blokem SLIN a vysílacím blokem SLOUT s nastaveným rozmezím adres. Já v programu v PLC Millenium3 využíval pouze jeden blok SLIN a jeden SLOUT (viz FBD schéma PLC výše), a proto zde též volím pouze SLIN 1 a SLOUT 1.
Nejdříve se volí, kolik sériových komunikačních kanálů se využije. K dispozici jsou maximální 3 příchozí a 3 odchozí, přičemž každý kanál může vyslat nebo přijmout až 8 slov (16 bajtů) dat. Dále je možné tyto bajty rozdělit na menší jednotky až do úrovně jednotlivých bitů, které pak slouží pro přenos (čtení a záznam) jednotlivých stavů jednobitových proměnných. Obrázky pak ukazují jak komunikační kanál „ukončit“ v programu na straně PLC.
V programu PLC Millenium3 využívám pouze jeden blok SLIN a jeden SLOUT (viz FBD schéma PLC výše), využívám rozdělení 16 bitového slova na jednotlivé bity pro napojení na dvoustavové vstupy a výstupy. Proto jsem i zde navolil toto rozdělení prvního slova rámce (Input 1 a Output 1).
Po nastavení komunikace se vygenerují a otevřou celkem 4 okna, přičemž obsah 3 z nich je již dán předcházejí konfigurační procedurou a definuje komunikační rámce a kanály mezi PLC a PC (programem Smart Application). Prakticky nás bude zajímat pouze poslední okno nazvané jako „Screen configuration“, které slouží pro vytvoření grafického ovládacího okna. Zde je možné na podkladovou plochu vložit obrázek a na ni vybrat a vložit z nabídky různé typy „voličů“ a „zobrazovačů“, ať již po bitové či vícebitové proměnné. K nim se pak přiřadí komunikační kanál z vytvořeného rámce, který bude oběma směry realizovat právě komunikaci mezi daným prvkem v zobrazovacím / volícím okně a příslušnou proměnnou v programu PLC, na kterou je na druhém konci datový kanál napojen.
Po konfiguraci komunikačního rozhraní (rámce), již lze přistoupit k vytvoření vizualizační / ovládací obrazovky pro PC. Vytvořit lze víceoknové řešení, kde každé okno má svoje jméno a lze u něj nahrát jako podklad (plochu) jakýkoliv obrázek (obr. vlevo). Následně se již na plochu okna vkládají ovládací a grafické bloky pro realizaci zobrazení či ovládání (obr. vpravo).
Nakonec je nutné ještě definovat co se má provést při startu vizualizace a co při kliknutí či změně hodnoty v každém jednotlivém políčku obrazovky. K tomu slouží v záložce " Item Script" položky „Screen Init Script“, „Screen Event Script“ a „Control Event Script“. Zde pomocí docela jednoduchých „příkazů“, u kterých se navíc při psaní sami nabízejí hodnoty, například definuje, že při změně hodnoty či stavu políčka se má změna či tento stav vyslat do PLC či naopak přečíst hodnota, nebo například nastavit periodický časovač po jehož uplynutí se třeba vždy vyšle do PLC požadavek pro aktualizaci všech proměnných z PLC zobrazených v okně PC apod.
Každému ovládacího či zadávacího poli se musí přiřadit příslušný bit či slovo v komunikačním kanále, které má jeho hodnotu či stav přenášet do PLC či z PLC do PC (obr. vlevo). Aby však fungoval, je nutné pro každý tento prvek či celou vizualizační obrazovku ještě vytvořit jednoduchý skript, který bude definovat, co se stane když... Zde se po otevření vizualizačního okna přečtou z PLC aktuální hodnoty (Initial Script) a po zatržení políčka se nejdříve vyšle změna do PLC a následně potvrdí zpět do PLC.
Poté, co je více či méně složitý vizualizační / ovládací panel hotov, uloží se a spustí prováděcí režim „Smart Command“, kde se naváže komunikace s PLC a spustí vytvoření vizualizace. Pokud jste vše správně zadali a definovali (jak v PC, tak v programu v PLC), tak by vše mělo hned běžet.
V režimu "Smart Command" se spustí vytvořená vizualizace a může spustit nakonfigurovaná komunikace s PLC. Následně v mém jednoduchém ukázkovém příkladu po zaškrtnutí políčka jednoho z výstupů se příslušná reléový výstup PLC O1 nebo O2 sepne a při zadání hodnoty do políček SPI1 a SP2 se tyto hodnoty objeví na displeji PLC v řádcích zobrazující stavy proměnných SPI1 a SPI2 (vizt foto displeje PLC výše).
Nastavené hodnoty proměnných SPI1 a SPI2 na displeji PLC se zobrazí na displeji PLC.
Závěrem…
Osobně jsem si vyzkoušel, jak snadné je se Smart Application čtení stavů vstupů a proměnných PLC a jejich zobrazení na obrazovce PC a i opačně zapínat a měnit hodnoty a stavy proměnných a výstupů PLC. Po prvním spuštění se sice může program nejprve zdát trošku nepřehledný, ale po počátečním „zaučení“ do principu funkce a konfigurace Smart Application si pak již snadno s většinou věcí poradíte. Ve výsledku pak tato aplikace velmi zjednodušuje vytváření PC vizualizace a vzdáleného řízení PLC Millenium 3, bez toho, abyste museli umět cokoliv z programování pod OS Windows.
Autor článku i fotografií a obrázků: Antonín Vojáček
DOWNLOAD & Odkazy
- Stránky projektu "Smart Application" - www.smartappsoftware.net/index.php
- Anglický manuál k softwaru "Smart Application" - www.smartappsoftware.net/smartapp/doc/Smart_Application_tutorial_EN.pdf
- Stažení softwaru a aplikací k "Smart Application" - www.smartappsoftware.net/smartapp/
- Univerzální terminálový program Hercules " Hercules – TCP, UDP a sériový terminál pro Windows"
- Článek "TEST – PLC Millenium3 rozšířené o modul analog. vstupů/výstupů"
- Článek "Jednoduchý program řízení dopravníkové výhybky pro PLC Millenium3"
- Článek "PLC Crouzet Millenium 3 dospělo a umí toho více"
- Článek "Praktické zkušenosti - PLC Millenium 3 CD12 a jednoduchý program časování"
- Další články o PLC (Siemens, Fatek, Crouzet, IDEC a dalších) najdete na stránkách serveru automatizace.HW.cz v sekci plc-automaty
Komentáře
Hi Well I'm the developper of
Hi
Well I'm the developper of SmartApp and I'm quite impressed to find this kind of reference to my own project.
Thanks to google translation that helped me to understant the main part of your article, and more over, thanks to you for this excellent article about my work.
If you have some questions about SmartApp, just ask me, it would be a pleasure to help you.
Pasquall.