OBSAH [Content]

Programovanie PLC podľa normy IEC 1131-1

PLC programming according to IEC 1131-1 norm

Michal Girman

  1. Úvod
  2. Vývoj programovateľných logických automatov (PLC) prebiehal na začiatku izolovane od kategórie počítačov pre vedecko-technické výpočty. Rozvoj mikroelektroniky vytvoril spoločnú platformu a spôsobil kvalitatívny skok v technických parametroch PLC a tým aj v ich programovaní. Dochádza k prelínaniu vlastností týchto systémov v úlohe riadiaceho prvku. Okrem minimalizácie rozmerov pri podstatne zvýšenom výkone dochádza aj k významným znemám v možnostiach zostavovania programov pre PLC. Programovanie PLC začína mať znaky štrukturovaného programovania, začínajú sa používať výššie programovacie jazyky, operačné systémy začinajú mať vonkajšie prvky operačných systémov reálneho času.

    Vzhľadom na skutočnosť, že súčasné PLC umožňujú stavbu rozsiahlých hierarchických riadiacích systémov, vzájomne komunikujúcich od elementárnych protokolov po internetovské technológie, vznikla potreba normotvorby aj v tejto oblasti. Významnú úlohu v tomto smere predstavuje norma IEC 1131-1 (International Electrotecnical Comission). Táto norma patrí do skupiny 1131 a pozostáva z piatich častí:

    • Časť 1 Všeobecný prehľad
    • Časť 2 Technické prostriedky
    • Časť 3 Programovacie jazyky
    • Časť 4 Doporučenia pre používateľov
    • Časť 5 Komunikačné prostriedky
  3. Programovacie jazyky
  4. Tretia časť normy IEC 1131-1 definuje štruktúru používateľskej programovej aplikácie a rozdeľuje ju do niekoľkých úrovní. Najvyššou úrovňou, popisujúcou riadiací systém je konfigurácia (configuration). Zložité riadiace systémy môžu byť rozdelené do niekoľkých, ucelených konfigurácií, ktoré si môžu navzájom vymieňať informácie štandardnými komunikačnými prostriedkami. Konfigurácia je tvorená jedným, alebo viacerými prostriedkami (resources). Každý prostriedok zabezpečuje vykonamie jednej, alebo viacerých úloh (tasks). Úlohy sú vyvolávane udalostiami viazanými na splnenie podmienky, alebo dosiahnutie určitého času. Intrerprétmi úloh sú programy, ktoré môžu byť napísané v rôznych formách. Vzájomné usporiadanie je ukázané na obr.1

    Počas vývoja PLC vzniklo mnoho rôznych jazykov a foriem zápisu programov, z ktorých najrozšírenejšie akceptuje norma IEC v plnej šírke. V podstate je možné ich rozdeliť do dvoch skupín:

    • textové
    • grafické

    Obr.1 – Štruktúra konfigurácie

    Prostredie pre vývoj aplikácií spravidla umožňuje zlučovať časti programov, napísané v rôznych formách a tým dáva programátorovi možnosť výberu formy zápisu aj počas písania programu. Norma IEC definuje dva textové a dva grafické jazyky:

    1. mnemotechnický zápis ( Instructin List IL )
    2. štrukturovaný text ( Structured Text ST )
    3. jazyk kontaktných schém ( Ladder Diagram LD )
    4. jazyk funkčných blokov (Function Block Diagram FBD )

    Príklad zápisu programov v jednotlivých formách je ukázaný na obrázku 2. Všetky formy zápisu umožňujú používať symbolické identifikátory na označenie objektov, definovaných v danom jazyku. V literatúre nájdeme aj označovanie Statement List STL, Structured Text ST, Ladder Logic LAD, Function block language FBL, prípadne v nemčine Anweisungsliste AWL, Strukturierter Text SCL, Kontaktplan KOP, Funktionsplan FUP.

     

    Obr. 2 – Príklad možných foriem zápisu programu

  5. Objekty
  6. Norma IEC 1131-1 definuje niekoľko objektov, ku ktorým patria aj údajové typy. K základným typom patria typy boolean, byte, word, doubleword, integer, real string, a dalšie, z ktorých je možné vytvárať vlastné údajové typy homogénneho aj nehomogénneho charakteru. Príklad implementácie uvedenej normy v prostredí SIMATIC je ukázaný na obr.3.

     

    ORGANIZATION_BLOCK OBi ... označenie programového bloku
    FUNCTION_BLOCK FBi ... označenie funkčného bloku
    FUNCTION FCi : int
     

    TITLE = meno bloku ... označenie bloku menom
    (nepovinné)

    // komentár k bloku ... // uvádza komentár
    (nepovinné)

    { systémový atribút: = hodnota} ... nastavenie systémových atribútov (nepovinné)   KNOW_HOW_PROTECT ... ochrana programu
    AUTHOR : autor ... autor modulu
    FAMILY : skupina ... trieda modulov

    NAME : meno ... meno modulu
    (nepovinné) VERSION
    : číslo ... verzia programu
    VAR_INPUT
    VAR_OUTPUT
    VAR_IN_OUT
    VAR
    VAR TEMP
    :
    END_VAR
    BEGIN ... začiatok kroku
    NETWORK ... krok
    TITLE = meno kroku ... meno kroku
    // ... oddeľovač
    : = ... znak priradenia
    : ... oddeľovač typu premennej
    ; ... ukončenie inštrukcie

     

    Obr.3 – Štruktúra programového bloku

    Štruktúra programu, funkčného bloku a funkcie je podobná. líši sa kľúčovými slovami, ktoré definujú daný objekt. Sú zavedené deklarácie premenných, uvádzané kľúčovým slovom VAR, ktoré môžu mať globálny, alebo lokálny charakter. podebne je špecifikované priradenie absolútnej adresy a počiatočnej hodnoty ľubovoľnej premennej

    Zápis zdrojového programu môže byť tvorený príkazmi, funkčnými blokmi a funciami. Funkčné bloky majú priradený pamäťový priestor vo forme údajového bloku, ktorý musí byť aktivovaný pri spúšťaní príslušného funkčného bloku. Funkcie nemajú priradenie pamäti. Norma IEC definuje funcie štandar
    dné a používateľské. Funkčné bloky môžu používať aj globálne premenné na rozdiel od funkcií. Funkčný blok nemôže používať absolútne adresovanie, pretože má byť od fyzických adries nezávislý. Štrukrúra údajového bloku je ukázaná na obr.:4

    hlavička DB
    DATA_BLOCK DB26 ... špecifikácia bloku
    TITLE = meno ... meno skoku
    // ... oddelovač komentára (nepovinné)
    { systémový parameter : = hodnota} ... priradenie hodnoty systémovému parametru (nepovinné)

    identifikačná časť
    KNOW_HOW_PROTECT ... ochrana produktu
    AUTHOR : xxx ... meno autora
    FAMILY : xxx ... trieda blokov
    NAME : xxx ... meno
    VERSION : xxx ... verzia

    deklaračná časťbloku
    STRUCT začiatok štruktur. premennej
    END_STRUCT koniec štruktur. premennej
    UDT
    ... užívateľom definovaná premenná
    FB i ... priradenie k funkčnému skoku
    BEGIN ... začiatok poľa dát
    END_DATA BLOCK ... koniec bloku

    Obr.4 – Štruktúra údajového bloku

  7. Záver

Norma IEC 1131-1 významným spôsobom upravuje a zjednocuje spôsob, prostriedky a pojmy v programovaní PLC a tým vytvára metodický rámec,ktorý prispieva k lepšiemu šíreniu programov, ich vysvetľovaniu a zrozumiteľnosti. Zároveň naznačuje možné smery vývoja. V norme sú presne špecifikovaná syntax a sémantika popísaných jazykov a dodržiavanie tejto normy významne zjednoduší vzdelávanie v tejto oblasti.

Literatúra:

Zezulka,F., Dráždil, P. (1995), "Norma IEC 1131 pro programování programovatelných automatu". Automatozace 38,č.8,s.315-317.

IEC 1131-1 Programable Controlers Part 1 - General Information

http://www.plcopen.org: Standardization in Industrial Open Programming

O AUTOROVI

Doc.Ing.Michal Girman,CSc. Absolvent VUT Brno. Pracoval od r.1970 na Katedre elektrických pohonov Elektrotechnickej fakulty VŠT v Košiciach v oblasti automatizovaných pohonov. V súčasnosti je vedúcim Laboratória priemyselného inžinierstva Fakulty elektrotechniky a informatiky Technickej univerzity v Košiciach.


OBSAH [Content]