Jste zde

TEST - Výkonné kompaktní PLC Omron NX1P2 - 4.díl - úvod programování

Ve 4. díle se podíváme na úvod do programování PLC Omron NX1P2 v provedení, jak jsem ho představil v předchozích dílech seriálu. Základní funkce pro začátečníky si ukážeme na jednoduchém prográmku ovládající 3barevný majáček jako časované barevné blikání se 4 režimy.

V minulém 3. díle "TEST - Výkonné kompaktní PLC Omron NX1P2 - 3.díl - Sysmac Studio" jsme si ukázali jako se provádí základní nastavení hardwaru PLC a co jsou globální a lokální proměnné a jak s nimi nakládat. Dnes v tomto díle přímo navážeme tím, že využijeme globální proměnné vstupů a výstupů PLC a lokální proměnné ve velmi jednoduchém prográmku časového řízení rozsvěcování 3-barevného majáčku. Prográmek demonstruje základní způsob programování PLC Omron NX1P2. Využívá jednu hlavní smyčku programu rozdělenou do 5 podsekcí. Každá podsekce vytváří odlišné časování a posloupnost blikání barev majáčku, přičemž přepnutí mezi těmito 4 různými režimy se provádí hardwarovými signály na dvoustavových binárních vstupech PLC.

Jak se vytváří program u PLC Omron NX1P2?

Již ve 3. díle jsme si ukázali, že celkový program PLC lze dělit do velkého počtu smyček programu (Program0, Program1 atd.) a každou sekci pak ještě do podprogramů (Section0, Section1 atd.).  Rozdíl je v tom, že zatímco podprogramy "Section" jsou vykonávány všechny v pořadí za sebou, části "Program" lze pak pro zpracování dávat různé režimy priority a řetězení, což se definuje v záložce "Configurations and Setup -> Task Settings". Tím se však budeme zabývat podrobněji v některém dalším díle. Zde je ještě vhodné uvést, že mimo režim zadávání programu ve formě "Ladder", je možné i současně jako další sekci "Program" (například Program0) vložit i zadávání programu v režimu příkazů "ST".

V případě zahájení programování nebo v případě jednoduchých prográmků tak zatím stačí vytvořit jen jednu smyčku programu (Program0) a v něm jednotlivé rozdílné funkční části rozdělit do podprogramů (Section0, Section1 atd.). Z pohledu přehlednosti je lepší raději udělat více podprogramů "Section", kde bude méně příkazů a tedy bude na první pohled přehlednější než jich udělat málo a v nich mít dlouhé sekce, ve kterých se lze snadno ztratit.

Základní programování se obvykle provádí v režimu "ladder diagramu" pomocí funkčních bloků. Režim příkazů se obvykle používá jen pro vytváření nových funkčních bloků (celků) obsahující například velké množství výpočtů (realizace rovnic), které se v ladderu obtížně realizují.

Dnes se však zaměříme jen na ladder diagram využívající funkční bloky.

Programování probíhá prakticky obdobně jako u jiných PLC, protože i zde se využívá zásad normy IEC 61 131. Pro dvoustavové vstupy a výstupy programu a také bitové paměťové proměnné se využívá klasických příkazů "Input" a "Output", které se vloží do programu a v rámci každého řádku propojují čárami. Mezi tyto symboly jednobitových proměnných se pak dají vložit různé další více či méně složité funkce v podobě funkčních bloků reprezentované "black box" obdélníčkem s větším či menším počtem vstupních a výstupních proměnných, ať již binárních (bool) nebo číselných hodnot (integer -INT, word - WORD, double word - DWORD, real -REAL atd.). Méně obvyklé pro začínající programátory jsou pak proměnné typu TIME (čas), které se využívají například v časovačích (jak uvidíte dále) a mají speciální režim zadávání. Časové hodnoty se tak v tomto PLC zadávají ve speciálním časovém formátu "T#106751d_23h47m_16s_854.775807ms", přičemž lze zadávat jen krátký formát  "T#1ms" až po  "T#106751d_23h47m".

V základní konfiguraci programovacího okna softwaru Sysmac Studio se u programovací plochy v pravém sloupci označeném jako "Toolbox" nachází rozsáhlá databáze funkcí a funkčních bloků, které lze přímo přetažením do programu vložit. Po vložení do programu se pak vstupy pro binární proměnné propojí čárami s jednobitovými vstupy/výstupy a u vstupů pro číselné proměnné je nutné kliknout na příslušné zadávací políčko položky a zadat název již vytvořené proměnné (pak současně nabídne již seznam vytvořených proměnných, ze kterých si lze vybrat), nebo zadat název zcela nové proměnné a zatím nevytvořené ani nepoužité proměnné, čímž se tato nová proměnná automaticky zavede do databáze lokálních proměnných dané sekce programu s daným typem hodnoty proměnné (integer, word, time atd.).

Dostupné předpřipravené funkce a funkční bloky najdete v programu Sysmac Studiu úhledně a přehledně organizované ve sloupci "Toolbox" z něhož stačí funkce do programu jen přetáhnout..

Následně se pak již při dalším jejím zadání nabídne v seznamu proměnných. Tato funkce "samopřidávání" proměnných do databáze je velmi příjemná, protože si dopředu nemusíte hned všechny proměnné zadávat a definovat v tabulce proměnných, ale interaktivně, snadno a rychle je přidávat tímto způsobem během vytváření programu, aniž by bylo nutné někam překlikávat. Tento způsob programování mi opravdu  vyhovuje. Navíc lze v nastavení programu "Tools->Options..." nastavit, zda zadávané nová jména proměnných automaticky se zařadí jako interní (lokální) proměnné, nebo bude vždy programátor dotázán na volbu zda má být lokální či globální, tedy "External" a "Internal".

Ukázkový program časování světel majáku

Pro zcela prvotní ukázku programování jsem vytvořil z pohledu PLC NX1P2 zcela triviální prográmek ovládání světelného majáku, na kterém však je možné si rychle vyzkoušet základní funkce a postup programování a ladění programu ve vývojovém softwaru Sysmac Studio.

Moje testovací konfigurace PLC složené z CPU jednotky NX1P2-9024DT1 a rozšiřujících modulů/karet PF0630, ID3417 a OD3256.

V mé konkrétní testovací konfiguraci PLC NX1P2-9024DT1 s rozšiřujícími moduly PF0630, ID3417 a OD3256 jsem si již v minulém 3. dílu připravil pojmenování externích (globálních) proměnných konkrétních vstupů a výstupů. V mém případě jsem využil vstupů rozšiřující karty vstupů ID3417 a pojmenoval si jako "Extern_I1" až "Extern_I4" a podobně výstupy rozšiřující karty OD3256 jako "Extern_O1" až "Extern_O3". Takto následně se zobrazují i v programu.

Tabulka přiřazení názvů tzv. externích (globálních) proměnných vstupům a výstupům k PLC připojených IO karet ID3417 a OD3256.

Můj základní ukázkový prográmek se prakticky skládá z jednoduchého principu:

  • Na základě stavu čtyřech řídích vstupů se aktivuje jeden ze čtyřech režimů časového řízení blikání barev majáku, kde každý režim je vytvořen v odděleném podprogramu "Section0" až "Section3". Každá tato "Section" začíná zjištěním stavu vstupů a v momentě, když jeden je aktivován a ostatní deaktivovány tak, se aktivuje paměťový bit interní (lokální) proměnné "State_External_Ix" pro spuštění běhu posloupnosti časování.

Části ukázkového programu: Section1 (1. typ časování majáku), Section2 (2. typ časování majáku), Section3 (3. typ časování majáku) a Section4 (převod signálových výstupů Section1 až Section3 na výstupu PLC).

  • K časování je vždy použit blok časovače "Timer", který se kladným signálem interní proměnné "State_Extern_Ix" aktivuje a zahájí počítání čas od 0 ms až do maximální periody uvedené na vstupu "PT". Následně jsou použity funkční bloky porovnávání "Comparison" (konkrétně bloky menší než "<" a zóna "ZoneCmp"), kde se porovnává v každém okamžiku aktuální čas časovače "Timer" (průběžně ukládaný do proměnné "Actual_time" na výstupu "ET") s přednastavenými hodnotami času každého porovnávacího bloku. A podle toho v jakém rozsahu se aktuálně nachází čas časovače, tak se přes příslušný porovnávací blok aktivuje výstup na interní (lokální) proměnnou "State_External_Ox_x".

  •  "Section0" až "Section3"  ma má stejnou strukturu programu, pouze se liší hodnotami časování a názvy lokálních proměnných. "Section4" pak již jen tvoří převod stavů výstupních interních lokálních proměnných  "State_Extern_Ox_x" na externí (globální) proměnné fyzických výstupů "Extern_O1" až "Extern_O3".

Tabulku proměnných proužitých v programu lze kdykoliv snadno vyvolat z rolety nad oknem programu - zde seznam vytvořených tzv. interních (lokálních proměnných). Zde lze nepotřebné proměnné i mazat.

Simulace bez PLC

Po vytvoření programu, jeho uložení přes "Save" a překladu "Build all" je možné před nahráním do PLC provést simulaci běhu programu jen v PC. K tomu složí záložka "Simulation" a pro vyzkoušení základního běhu prakticky stačí jen simulaci zapnout přes "Simulation->Run". Po delší či kratší chvíli (záleží dost na výkonu a vytížení počítače) se simulace spustí, což indikuje zabarvení liniového ladder diagramu žlutou a zelenou barvou a zobrazení aktuálních číselných hodnot proměnných u funkčních bloků.

V případě mého ukázkového  programu se majákem se zobrazí nabíhání času časovačů "Timer" a přepínat stavy výstupů jednotlivých funkčních bloků porovnávací aktuální čas s přednastavenými hodnotami. Spouštěcí podmínku pro spuštění konkrétní části programu v konkrétní části "Section" se provede poklikáním na příslušnou "Input" funkci, kde se následně u ní objeví malé přepínací okénky s možnosti nastavit její stav na "True" (= zapnuto = stav log.1) nebo "False" (= vypnuto = stav log.0).

Běh ukázkového programu při simulaci na PCv programu Sysmac Studio.

Nahrání do PLC a testování

Nahrání v simulaci vyzkoušeného programu se provede po zapnutí ethernetové komunikace s PLC. Nejdříve tedy je nutné v záložce "Controller->Communication Setup..." správně nastavit komunikační/připojovací parametry. Nejjednodušší je přímo připojit ethernetovým kabelem PLC k PC a zvolit režim "Direct Connection via Ethernet". Standardně má z výroby PLC vždy nastavenou IP adresu 192.168.250.1. Pokud to nezměníte, tak je jen potřeba mít v PC nastavenou na ethernetovém portu IP adresu ve stejné sekci, tedy na adresu 192.168.250.xx, kde xx je prakticky libovolné číslo 2 až 254.

Nastavení přímého (Direct) připojení PLC NX1P2 k Sysmac Studiu přes Ethernet pro potřeby nahrání programu.

Následně se lze připojit z PC do PLC přes režimu "Controller->Online". Následně je možné program do PLC nahrát přes položku "Controller->Transfer...->To Controller...". Po odkvitování několika hlášek je program do PLC nahraje a  automaticky spustí. V PC je pak možné vidět v oknech programu (Section)  jeho běh a aktuální stavy podobně jako v režimu simulace. Jen zde se nám již proměnné přiřazené k hardwarovým vstupům mění podle skutečného stavu na vstupech karty ID3417. Tedy se spustí odpočítávání té části programu (v jedné konkrétní "Section"), u které byla splněna spouštěcí podmínka definovaná stavy hardwarových napěťových signálů na vstupu. I zde je však možné měnit a ovlivňovat stavy proměnných z PC.

Ukázkový program běží v PLC a stav a průběh programu se vizualizuje v Sysmac Studiu přes ethernetové připojení.

 

Barvy k PLC připojeného blikajícího majáku.

Závěr 4. dílu

Dnes jsem se pokusil krátce představit základy programování PLC Omron řady NX1P2 v programu Sysmac Studio. Ukázkový program samozřejmě není nic převratného a pro PLC neznamená prakticky žádnou výkonovou zátěž. Proto se v příštím 5. díle podíváme na z pohledu průmyslu zajímavější aplikaci, tedy jak zprovoznit MODBUS-TCP komunikaci s externím zařízením. 

Odkazy:

Hodnocení článku: