19
KAUNO TECHNOLOGIJOS UNIVERSITETAS INFORMATIKOS FAKULTETAS VALDIKLIŲ PROGRAMAVIMAS STANDARTO IEC 61131-3 KALBOMIS Referatas Atliko: Kęstutis Valinčius Kaunas 2011

KAUNO TECHNOLOGIJOS UNIVERSITETAS · sintaks ė, semantika, pateikiami pavyzdžiai. IEC61131-4 Nurodymai vartotojams Skirta pad ėti PLC vartotojui visose projekto automatizavimo

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: KAUNO TECHNOLOGIJOS UNIVERSITETAS · sintaks ė, semantika, pateikiami pavyzdžiai. IEC61131-4 Nurodymai vartotojams Skirta pad ėti PLC vartotojui visose projekto automatizavimo

KAUNO TECHNOLOGIJOS UNIVERSITETAS

INFORMATIKOS FAKULTETAS

VALDIKLI Ų PROGRAMAVIMAS STANDARTO IEC 61131-3 KALBOMIS

Referatas

Atliko: K ęstutis Valinčius

Kaunas 2011

Page 2: KAUNO TECHNOLOGIJOS UNIVERSITETAS · sintaks ė, semantika, pateikiami pavyzdžiai. IEC61131-4 Nurodymai vartotojams Skirta pad ėti PLC vartotojui visose projekto automatizavimo

Turinys

1 Įvadas ............................................................................................................................................... 3

2 Struktūriniai elementai ..................................................................................................................... 5

2.1 Konfiguracijos elementai ........................................................................................................ 5

2.2 Programos elementai ............................................................................................................... 6

2.3 Kintamieji ............................................................................................................................... 7

3 Programavimo kalbos ....................................................................................................................... 9

3.1 Kontaktų plano diagrama ........................................................................................................ 9

3.2 Funkcinių blokų diagrama .................................................................................................... 10

3.3 Nuoseklių funkcijų diagrama ................................................................................................ 11

3.4 Komandų sąrašo programavimo kalba .................................................................................. 14

3.5 Struktūrizuoto teksto programavimo kalba ........................................................................... 16

4 Išvados ............................................................................................................................................ 18

5 Literatųros sąrašas .......................................................................................................................... 19

Page 3: KAUNO TECHNOLOGIJOS UNIVERSITETAS · sintaks ė, semantika, pateikiami pavyzdžiai. IEC61131-4 Nurodymai vartotojams Skirta pad ėti PLC vartotojui visose projekto automatizavimo

1 Įvadas

PLC1 susideda iš pagrindinių priklausančių elementų rinkinio, papildomų prie valdiklio sistemos

prijungtų prietaisų, kurie skirti įrenginiams valdyti. Valdiklių paskirtis – atlikti uždavinius. Kadangi valdiklius

gamina skirtingos kompanijos, todėl skiriasi vykdomųjų programų greičiai, komunikacijos, išplėtimo galimybės.

Iš programavimo įrankių reikalaujama, kad jie užtikrintų kokybę ir mažą kainą kuriant paprastas ar sudėtingas

sistemas, kad keletas valdiklių būtų panaudojami vienu metu, kad būtų galima modifikuoti valdiklius jų veikimo

metu, kad sukurtas programas būtų galima pakartotinai naudoti, būtų naudojamas objektinis programavimas,

dokumentavimas, sukurtas programas galima testuoti ir modeliuoti. Valdiklio atmintyje atvaizduojamos įėjimo

signalų būsenos, tada remiantis šia informacija ir taikomąja programa (algoritmu) nustatomos išėjimo signalų

būsenos. Kitaip tariant, įėjimo signalo, apdorojimas ir valdymo signalų generavimas bei išėjimo signalo

siuntimas kitiems sistemos elementams.

Norint standartizuoti PLC buvo aprašytas IEC2 standartas „IEC 61131”. Šis standartas aprašytas

aštuoniais punktais (Lentelė Nr. 1).

Lentelė Nr. 1 IEC 61131 standarto punktai

Standartas Pavadinimas Aprašymas IEC61131-1 Bendroji standarto dalis Bendri apibrėžimai, tipinės funkcinės galimybės

kurios išskiria PLC iš kitų sistemų. Čia pateiktos standartinės valdiklių savybės.

IEC61131-2 Reikalavimai aparatūrinei įrangai Apibrėžia elektrinius, mechaninius bei funkcinius reikalavimus įrenginiams, matavimo metodikas, bei sąvokas (IP apsaugos klases, atsparumas vibracijai, atsparumas elektromagnetinei indukcijai, elektrinė izoliacija ir t.t.).

IEC61131-3 Programavimo kalbos Plačiai pasaulyje naudojamos PLC programavimo kalbos. Pagrindiniai programinės įrangos modeliai ir programavimo kalbos yra apibrėžiamos formaliai, apibrėžiama leksika, sintaksė, semantika, pateikiami pavyzdžiai.

IEC61131-4 Nurodymai vartotojams Skirta padėti PLC vartotojui visose projekto automatizavimo fazėse. Praktiški patarimai apima visus automatizavimo procesus nuo sistemos analizės iki pat aptarnavimo.

IEC61131-5 Komunikacijų specifikacija Apibrėžia komunikacijas tarp skirtingų gamintojų PLC ir kitų įrenginių.

IEC61131-6 Funkcinis saugumas

IEC61131-7 „Fuzzy“ valdiklių programavimas Pateikiamas juodraštinis variantas išplėtimų programavimo kalboms, kurie leistų įtraukti „Fuzzy“ logiką

IEC61131-8 Programinių kalbų įgyvendinimai ir taikomųjų programų dokumentacija

1 PLC - Programuojami loginiai valdikliai 2 IEC - Tarptautinės Elektrotechnikos Komisijos

Page 4: KAUNO TECHNOLOGIJOS UNIVERSITETAS · sintaks ė, semantika, pateikiami pavyzdžiai. IEC61131-4 Nurodymai vartotojams Skirta pad ėti PLC vartotojui visose projekto automatizavimo

IEC61131 standartas apibrėžia programavimo principus, bet ne konkrečias taisykles. Standartas apima

valdiklių programavimo sąvokas ir metodus. Standartas turi šabloną, pagal kurį galima įvertinti kaip kiekviena

programuojama sistema laikosi standarto.

IEC61131 standarto tikslai yra sumažinti valdymo sistemų projektavimo kaštus, standartizuoti

programinę įrangą ir komunikacijas tarp skirtingų gamintojų valdiklių, valdiklių programuotojų apmokymas.

IEC61131 standartas iš gamintojo reikalauja standartizuotos gaminio dokumentacijos pateikimo

vartotojui. Vartotojas gamintojui gali pateikti tam tikros konkrečios situacijos papildomas specifikacijas ir

reikalavimus.

Page 5: KAUNO TECHNOLOGIJOS UNIVERSITETAS · sintaks ė, semantika, pateikiami pavyzdžiai. IEC61131-4 Nurodymai vartotojams Skirta pad ėti PLC vartotojui visose projekto automatizavimo

2 Strukt ūriniai elementai

2.1 Konfiguracijos elementai

Pagal IEC61131 standartą vienas iš pagrindinių struktūrinių elementų yra konfigūracijos elementai. Jie

skirti techninei įrangai aprašyti. Konfigūracijos elementai yra tokie (Pav. 1):

• Konfigūracija. Konfigūracija pilnai aprašo valdymo sistemos techninės įrangos struktūrą, įskaitant

ir į ją įeinančias posistemes

• Resursai. Konfigūraciją nebūtinai sudaro vienas prietaisas. Konkrečioje valdiklio posistemėje

kiekvienas centrinis procesorius (CPU3) atitinka vieną resursą

• Užduotys. Užduotys valdo resurse instaliuojamų programos elementų vykdymo režimą.

Konfigūracija

Resursas Resursas Resursas

Užduotis Užduotis Užduotis

Pav. 1 Konfigūracija su keletu resursų, kurie gali tur ėti nepriklausomas užduotis

Jei sistemą sudaro tik vienas procesorius, kaip neretai būna, tuomet konfigūracija ir resursas yra labai

panašūs. Kiekviena užduotis turi savo ID4, vykdymo prioritetą, ir nustatymą kaip programa bus vykdoma:

periodiškai arba priklausomai nuo loginio įėjimo signalo, programos vidinio signalo arba valdiklio sisteminio

signalo. Užduotis paleidžiama, kai įvykio signalas keičia būseną iš žemo į aukštą lygį. Cikliškai vykdoma

programa gali kviesti ir startuoti kitas programas.

Užduotys yra vykdomos periodiškai arba įvykus tam tikram įvykiui. Įvykių tipai gali būti tokie:

• Cikliškai vykdomos užduotys;

• Laiku kontroliuojamos užduotys (INTERVAL tasks);

• Įvykiu kontroliuojamos užduotys (EVENT tasks);

• Pertraukimo užduotys;

Užduoties aprašas susideda iš vardo, prioriteto ir sąlygos, po kurios užduotis bus vykdoma. Sąlyga gali

būti laiko intervalas, ar tam tikras įvykis (signalas arba globalaus kintamojo FALSE/TRUE reikšmės

pasikeitimas).

Keletas taisyklių, kurias galima pritaikyti užduoties vykdymui yra šios:

• Užduotys su išpildyta sąlyga bus vykdoma tuomet, kai laiko intervalas pasiekė nurodytą reikšmę,

arba pasirinktas kintamasis pakeitė reikšmę iš FALSE į TRUE

• Jei keletas užduočių tenkina sąlygas, tuomet užduotis su didžiausiu prioritetu bus vykdoma

• Neįmanoma priskirti tokį patį prioritetą keletui užduočių 3 CPU – Centrinis Procesorius 4 ID – Identifikacijos numeris

Page 6: KAUNO TECHNOLOGIJOS UNIVERSITETAS · sintaks ė, semantika, pateikiami pavyzdžiai. IEC61131-4 Nurodymai vartotojams Skirta pad ėti PLC vartotojui visose projekto automatizavimo

• Jei didesnio prioriteto užduotis išpildo sąlyga tuo metu, kai žemesnio prioriteto užduotis yra

vykdoma, tuomet žemesnio prioriteto užduoties vykdymas bus pertraukas ir pratęstas tik kai

pasibaigs aukštesnio prioriteto užduoties vykdymas

2.2 Programos elementai

Pagal IEC 61131 standartą programos struktūrizavimui yra išskiriami tokie programos organizacinius

elementai (POU5) (Pav. 2):

• Programos (PRG)

• Funkcinius blokai (FB)

• Funkcijos (FUN)

Pav. 2 Programos struktūros organizaciniai elementai

Programos organizaciniai elementai yra sudaryti iš deklaravimo ir komandų dalių, atitinkamai pirmoje

dalyje yra deklaruojami kintamieji, jų tipai, funkciniai blokai, o antroje rašoma programa viena iš pasirinktų

standarto kalbų.

Pav. 3 parodyti konfigūracijos ir programos elementų tarpusavio ryšiai. Programa deklaruojama resurse

ir registruojama vienoje iš resurso užduočių. Programos paprastai skiriamos aiškią fizinę paskirtį turinčio

uždavinio vykdymui. Programoje gali būti deklaruojami GLOBAL bei ACCESS tipo kintamieji. Programos gali

kviesti funkcinius blokus ir funkcijas. Funkcinį bloką kviečia programos arba kiti funkciniai blokai. FB gali

turėti vieną arba daugiau išėjimo kintamųjų. Valdiklio ciklo pabaigoje FB vidinių parametrų reikšmės įrašomos į

FB kopijai deklaruotą atminties vietą. Funkciniai blokai skirti vykdyti dažnai pasikartojančius elementarius

valdymo uždavinius, pavyzdžiui, skaitiklius, taimerius, trigerius ir t.t. Funkcijos realizuoja nereikalaujančius

vidinės atminties valdymo uždavinius ir jas gali kviesti programos, funkciniai blokai ir kitos funkcijos. Jos gali

turėti vieną arba daugiau įėjimo kintamųjų, tačiau tik vieną išėjimą. Pavyzdžiui, funkcijos taikomos

matematiniams skaičiavimams, duomenų tipų konvertavimams.

Moduliai paprastai talpinami į IEC biblioteką. Biblioteka gali būti gamintojo specifinė ir taip pat

vartotojų susikurta.

Leidžiama naudoti lokalius ir globalius kintamuosius. Globalūs kintamieji skirti bendram naudojimui

konfigūracijos arba resursų rėmuose. Lokalūs kintamieji naudojami tik vieno programos elemento ribose.

5 POU - Programos organizaciniai elementai

Page 7: KAUNO TECHNOLOGIJOS UNIVERSITETAS · sintaks ė, semantika, pateikiami pavyzdžiai. IEC61131-4 Nurodymai vartotojams Skirta pad ėti PLC vartotojui visose projekto automatizavimo

Lokalių kintamųjų naudojimas gali padidinti programos efektyvumą, leidžiant uždaryti pasikartojančių

programos dalių tarpinių skaičiavimų duomenis.

Pav. 3 Valdiklio konfigūracijos ir programos struktūrini ų elementų tarpusavio ryšiai

2.3 Kintamieji

IEC 61131-3 standartas apibrėžia penkias skirtingas kintamųjų klases:

• Globalūs kintamieji

• Lokalūs kintamieji

• Įėjimo kintamieji

• Išėjimo kintamieji

• Įėjimo ir išėjimo kintamieji

Page 8: KAUNO TECHNOLOGIJOS UNIVERSITETAS · sintaks ė, semantika, pateikiami pavyzdžiai. IEC61131-4 Nurodymai vartotojams Skirta pad ėti PLC vartotojui visose projekto automatizavimo

Lokalūs kintamieji neturi sąsajos su išore, jie gali būti pasiekiami tik vidinėje programos dalyje.

Globalūs kintamieji gali būti pasiekiami iš visų organizacinių elementų.

Įėjimo, išėjimo ir įėjimo/išėjimo kintamieji yra susiję su programa, funkcija ar funkciniu bloku. Jie gali

būti keičiami skaitant ar rašant pasirinktame organizaciniame elemente.

Kintamieji yra aprašomi tarp raktažodžių VAR ir END_VAR programos tekste. Kiekvienas kintamasis

yra inicializuojamas po perkrovimo. Pagal nutylėjimą dažniausiai turi reikšmę 0 arba FALSE. Norint nustatyti

kitą reikšmę, tai galima padaryti naudojant priskyrimo ženklą ”:=”.

Kintamojo atributai Aprašant kintamąjį, tam tikri atributai gali būti vartojami papildomai:

• RETAIN: Šie kintamieji išliekia nepakitę net po elektros šaltinio nutrūkimo. Vėliau programa

tęsiama su paskutinėmis kintamųjų buvusiomis reikšmėmis.

• CONSTANT: Kintamojo reikšmės negali būti keičiamos

• AT: Kintamieji turi fiksuotą atminties adresą

Žemiau pateikiamas išėjimo kintamojo pavyzdys su pradine reikšme:

VAR_OUTPUT

par_out1 : INT := 10; (* Iš ėjimo parametras 1 su pradine reikšme 10 *)

END_VAR

Fiksuoto adreso kintamieji Tokie kintamieji priskiriami tam tikrai fizinės atminties vietai, panaudojant AT raktažodį. Adresas yra

specialių simbolių seka. Ji prasideda procento ženklu ”%”, paskiau nusakoma sritis, duomenų tipas ir pasibaigia

skaičių seka, nusakančia atminties vietą.

Srities raidės: I (Input), Q(Output), M(Marker, internal memory range)

Dydžio raidės: X (Single bit), B(Byte, 8 bits), W(Word, 16 bits), D(Double word, 32 bits)

Pavyzdžiai:

%QX1.0.2 Output bit 2

%IW1.0.1 Input bit 1

%MB7 Marker byte 7

%MW1 Marker word 1

%MD3 Marker double word 3

%MX1.2 Third marker bit in marker word 1

Page 9: KAUNO TECHNOLOGIJOS UNIVERSITETAS · sintaks ė, semantika, pateikiami pavyzdžiai. IEC61131-4 Nurodymai vartotojams Skirta pad ėti PLC vartotojui visose projekto automatizavimo

3 Programavimo kalbos

Taikomųjų programų sudarymui naudojama tokie kalbų tipai [1][8][9][10][11]:

• Komandų sąrašas (Instruction List – IL)

• Struktūrizuotas tekstas (Structured Text – ST)

• Funkcinių blokų diagrama (Function Block Diagram – FBD)

• Kontaktų planas (Ladder Diagram - LD)

• Nuosekliųjų diagramų (Sequential Function Chart - SFC)

Neretai kalbos tipo naudojimas pasirenkamas pagal tam tikrą konkrečią sritį, tačiau pilnas tipų rinkinys

pateikia pilną programinės įrangos technologijų spektrą. Kalbos tarpusavyje yra susijusios. Jos leidžia aprašyti

sudėtingus programos elementus, kurios gali būti naudojamos su kitomis programavimo kalbomis. Šiuo metu yra

sukurta nemažai programavimo paketų, kurie yra skirti loginiams valdikliams programuoti.

Taikomosios programos privalo būti dokumentuojamos paketuose, taip pat gali būti aprašoma

aparatūrinės įrangos konfigūracija konkrečiu atveju. Dokumentacija turi apimti:

• Atmintinę signalui ir duomenims

• Nuorodų lentelę visiems apdorojamiems duomenims

• Komentarus

• Pakeitimų aprašą

• Palaikymo ir naudojimo dokumentą

Komandų sąrašo ir struktūrizuoto teksto programavimo kalba valdymo uždavinius aprašo teksto

formatu. Kontaktų plano, funkcinių blokų diagramų ir nuosekliųjų funkcinių diagramų kalbos - grafiškai.

Programos teksto struktūrizavimui vartojami tokie raktiniai žodžiai, kaip FUNCTION ... END_FUNCTION,

FUNCTION_BLOCK ... END_FUNCTION_BLOCK, PROGRAM ... END_PROGRAM ir kt.

3.1 Kontakt ų plano diagrama

Kontaktų plano diagrama - tai grafinė kalba, kuri remiasi relių kontaktų planu [2]. Diagramos tikslas –

sutapatinti elektrinės schemos ir programos struktūras. Programą sudaro atskiros tinklo grandinės, kurių

pagrindinė savybė yra ta, kad už jos ribų nebesaugomas akumuliatoriaus turinys. Loginė srovės tekėjimo kryptis

iš kairės į dešinę, tačiau gali būti pasirenkama ir kita kryptis, t.y. iš viršaus į apačią. Loginės išraiškos šioje

kalboje atvaizduojamos relių kontaktų principu. Šios kalbos ribotumas dabar yra praplėstas tokiais elementais

kaip: taimeris, skaitliukas ir t.t. Kontaktų diagramą sudaro šie elementai:

• Kairioji srovės šina, teikianti tinklo grandinei loginį signalą

• Dešinioji srovės šina jungianti tinklo grandines tarpusavyje

• Horizontalios linijos, naudojamos kontaktų diagramos elementams sujungti

• Vertikalios linijos, naudojamos sujungti dvi arba kelias horizontalias linijas

• Kontaktai, naudojami būsenos perdavimui iš kairės pusės į dešinę

• Relės, naudojamos tarpinei būsenai atsiminti ir perduoti signalą iš kairės pusės į dešinę

Page 10: KAUNO TECHNOLOGIJOS UNIVERSITETAS · sintaks ė, semantika, pateikiami pavyzdžiai. IEC61131-4 Nurodymai vartotojams Skirta pad ėti PLC vartotojui visose projekto automatizavimo

• Funkcijos ir funkciniai blokai, kurie gali būti aprašomi bet kuria IEC kalba ir jų paskirtis yra

naudojantis kairės pusės įėjimo parametrais, formuoti dešinės pusės išėjimo kintamųjų reikšmes

arba būsenas. Kontaktų diagramoje funkcija vaizduojama bloku, kuriame įrašytas jos vardas.

Diagramos pavyzdys pateiktas Pav. 4.

Pav. 4 Kontaktų plano programos pavyzdys

Uždaviniai kontaktų plano programavimo kalba yra programuojami panaudojant žemiau lentelėje

pateiktais grafiniais simboliais.

Lentelė Nr. 2 Grafiniai kontakt ų plano simboliai

Simbolis Reikšmė -] [- Normaliai atviras kontaktas

-]/[- Normaliai uždaras kontaktas

-]P[- Reakcija į teigiamą frontą

-]N[- Reakcija į neigiamą frontą

-( )- Relė

-( / )- Invertuota relė

-( S )- Relė įjungiama komanda S ir tokioje padėtyje

išsaugoma iki bus komanda R išjungiama

-( R )- Su komanda S įjungtos relės išjungimas

-( M )- Buferizuota relė

-(SM)- Buferizuotos relės įjungimas su komanda S

-(RM)- Su komanda S įjungtos buferizuotos relės

išjungimas

3.2 Funkcinių blokų diagrama

Funkcinių blokų diagrama – tai grafinė kalba, kažkiek panaši į kontaktų plano programavimo kalbą [3].

Vietoj relių čia naudojami funkciniai blokai. Diagramos tikslas – vaizduoti valdymo algoritmą loginių funkcijų

sekomis. Loginės funkcijos diagramoje vykdomos iš kairės į dešinę. Funkcinių blokų diagramą sudaro šie

elementai:

• Horizontalios linijos, jungiančios du elementus ir perduodančios kairėje pusėje esančio elemento

išėjimo būseną į dešinės pusės elemento įėjimą

• Vertikalios linijos, jungiančios horizontalias linijas

• Kintamieji, kuriais yra pradedamos ir baigiamos loginių signalų sekos

Page 11: KAUNO TECHNOLOGIJOS UNIVERSITETAS · sintaks ė, semantika, pateikiami pavyzdžiai. IEC61131-4 Nurodymai vartotojams Skirta pad ėti PLC vartotojui visose projekto automatizavimo

• Funkcijos ir funkciniai blokai

Funkcinių blokų diagramos pavyzdys pateiktas Pav. 5.

Kint1

Kint2

IR

Kint1

Kint2

IR

Kint1

Kint2

IR

ARBA

Išėjimas1

Pav. 5 Funkcinių blokų programos pavyzdys

Ši diagrama yra sudaryta iš tokių elementų, kaip stačiakampiai blokai ir valdymo srautų komandos,

sujungtos horizontaliomis ir vertikaliomis linijomis. Laisvi blokai gali turėti prie jų prijungtus kintamuosius arba

konstantas. Įėjimai, išėjimai gali būti ir neprijungti. Kodo dalis yra suskirstoma į grandines, kurias sudaro:

• Grandinės pavadinimas

• Grandinės komentaras

• Grandinės grafikas

3.3 Nuoseklių funkcij ų diagrama

Valdymo uždaviniai gali būti atvaizduojami grafiniu arba tekstiniu formatu [6]. Grafiniam vaizdavimui

standartas IEC61131 numato tokius elementus:

• Žingsniai. Šios programos dalies vykdymo metu atliekami jai skirti veiksmai (akcijos). Jei nėra

kartu vykdomų lygiagrečių struktūros šakų, aktyvus būna tik vienas programos žingsnis.

Diagramoje žingsnis vaizduojamas stačiakampiu su jame įrašytu žingsnio vardu (Pav. 6).

Tarpusavyje žingsniai jungiami per pereigas vertikaliomis linijomis. Pirmasis žingsnis vadinamas

inicializavimo žingsniu ir vaizduojamas dviguba linija.

Pav. 6 Nuoseklių Funkcijų Diagramos programavimo kalbos žingsniai

Page 12: KAUNO TECHNOLOGIJOS UNIVERSITETAS · sintaks ė, semantika, pateikiami pavyzdžiai. IEC61131-4 Nurodymai vartotojams Skirta pad ėti PLC vartotojui visose projekto automatizavimo

• Pereigos. Sąlygos pereiti iš vieno žingsnio į kitą vadinamos pereigomis. Grafiškai tai vaizduojama

horizontaliu brūkšniu. Perėjimas iš vieno žingsnio į kitą galimas tik esant išpildytai pereigos sąlygai

(Pav. 7).

Pav. 7 Nuoseklių Funkcijų Diagramos programavimo kalbos pereiga

• Akcijos. Žingsnių paskirtis valdomajame procese yra atlikti jam skirtus veiksmus (akcijas). Jei

žingsnis neturi nei vienos akcijos, tada programa sustoja šiame žingsnyje ir laukia signalo iš

proceso. Akcija gali būti išreikšta atskiru loginiu kintamuoju ar programos fragmentu, parašytu

viena iš valdiklių programavimo kalbų ar kita nuosekliųjų funkcijų diagramos struktūra.

• Sujungimai tarp žingsnių ir pereigų. Būsenas galima skirstyti į žingsnius ir nustatinėti perėjimų

sąlygas. Nuoseklių sekų diagramų braižymo konstrukcijos aprašytos žemiau.

Sudarius struktūrą, galima būsenas skirstyti į žingsnius ir nustatinėti perėjimų sąlygas. Nuoseklių sekų

diagramų konstravimo būdai yra tokie:

1. Alternatyvus šakojimasis Perėjimas iš vieno žingsnio į kurį nors iš po jo sekančių žingsnių galimas tada, kai įvykdoma prieš

žingsnius esanti perėjimo sąlyga (Pav. 8). Programuojant pereigų sąlygas reikia sekti, kad tuo pačiu metu būtų

įvykdoma tik viena sąlyga.

Pav. 8 Nuoseklių sekų diagramų programavimo kalbos alternatyvaus šakojimo pavyzdys

2. Alternatyvus sujungimas Perėjimas galimas jei vienas iš virš pereigų esančių žingsnių aktyvus ir išpildoma jo perėjimo sąlyga

(Pav. 9).

Page 13: KAUNO TECHNOLOGIJOS UNIVERSITETAS · sintaks ė, semantika, pateikiami pavyzdžiai. IEC61131-4 Nurodymai vartotojams Skirta pad ėti PLC vartotojui visose projekto automatizavimo

Pav. 9 Nuoseklių sekų diagramų programavimo kalbos alternatyvaus sujungimo pavyzdys

3. Sinchroniškas šakojimas ir sujungimas Kai pirmas žingsnis aktyvus ir pereigos sąlygos įvykdytos, vykdomas perėjimas į sekančius žingsnius

(Pav. 10). Už pereigos esantys žingsniai aktyvuojami tuo pačiu metu. Šis šakojimosi būdas žymimas dviguba

horizontalia linija. Lygiagrečiose šakose toliau vyksta tarpusavyje nepriklausomi procesai. Perėjimas į kitą

žingsnį įvyksta tada, kai pereigos sąlyga įvykdyta ir tarpiniai žingsniai yra aktyvūs.

Pav. 10 Nuoseklių sekų diagramų programavimo kalbos sinchroniško šakojimo ir sujungimo pavyzdys

4. Šakojimas be tarpinių žingsnių Iš aktyvaus žingsnio per pereigas galimi du šakojimosi keliai (Pav. 11). Tačiau reikia įsitikinti, kad

abiejų pereigų sąlygos nebus įvykdomos kartu. Kai žingsnis aktyvus ir pereigos sąlyga įvykdyta, pereinama į

sekantį žingsnį. Tačiau jei esant aktyviam pradiniam žingsniui įvykdoma pereigos įvykdoma kita sąlyga, tada

perėjimas įvyksta be tarpinių žingsnių.

Pav. 11 Nuoseklių sekų diagramų programavimo kalbos sinchroniško šakojimo be tarpinių žingsnių pavyzdys

Page 14: KAUNO TECHNOLOGIJOS UNIVERSITETAS · sintaks ė, semantika, pateikiami pavyzdžiai. IEC61131-4 Nurodymai vartotojams Skirta pad ėti PLC vartotojui visose projekto automatizavimo

Pereigos Po pereigos esantis žingsnis aktyvuojamas, jei pereigos sąlyga yra TRUE. Gali būti tokios pereigų

sąlygos:

• Boolean kintamasis

• Boolean adresas

• Boolean konstanta (TRUE)

• Instrukcijų seka su Boolean rezultatu ST sintaksėje ((i<=100) AND b)

• Instrukcijų seka suprogramuota bet kurioje kalboje

Nuosekliųjų sekų diagramos pavyzdys pateiktas Pav. 12.

Pav. 12. Nuosekliųjų sekų diagramos pavyzdys

3.4 Komandų sąrašo programavimo kalba

Komandų sąrašas yra žemo lygio tekstinė kalba, kurią sudaro paprastos komandos [5]. Tai panašu į

mikroprocesorių technikoje naudojamą asemblerio kalbą (Lentelė Nr. 3) ir todėl ji naudojama aprašyti labai

greitiems procesams. Galima naudoti vartotojo sukurtas funkcijas arba funkcinius blokus.

Page 15: KAUNO TECHNOLOGIJOS UNIVERSITETAS · sintaks ė, semantika, pateikiami pavyzdžiai. IEC61131-4 Nurodymai vartotojams Skirta pad ėti PLC vartotojui visose projekto automatizavimo

Lentelė Nr. 3 Komandų sąrašo kalbos pagrindinės komandos

Operatorius Modifikatorius Kintamojo tipas Paaiškinimas LD N (1) Skaitymas į akumuliatorių

ST N (1) Operacijos rezultato rašymas operando

adresu

S (2) BOOL Operandui nustato reikšmę TRUE

R (2) BOOL Operandui nustato reikšmę FALSE

AND, & N,( BOOL Loginis IR

OR N,( BOOL Loginis ARBA

XOR N,( BOOL Loginis išskirtinis ARBA

ADD ( (1) Sudėtis

SUB ( (1) Atimtis

MUL ( (1) Daugyba

DIV ( (1) Dalyba

GT ( (1) Daugiau

GE ( (1) Daugiau arba lygu

EQ ( (1) Lygu

LE ( (1) Mažiau arba lygu

LT ( (1) Mažiau

JMP C,N LABEL Peršokimas į žymę

CAL C,N NAME (3) Funkcinio bloko kvietimas

RET C,N Grįžimas iš iškviestos funkcijos arba

funkcinio bloko

) (1) Skliaustų išraiškos pabaiga

(1) - taikomas generiniam duomenų tipui arba konkrečiam duomenų tipui.

(2) - Komanda vykdoma, jei prieš tai vykdytos komandos rezultatas – akumuliatoriaus turinys yra

TRUE. Jei operatorius papildytas simboliu N, tada komanda vykdoma kai rezultatas yra FALSE.

(3) - Funkcinio bloko vardas papildomas parametrų sąrašu.

Kiekviena programos komanda vykdoma kartu su akumuliatoriaus reikšme, vykdymo rezultatas vėl

talpinamas į akumuliatorių. Šalia programos pradžioje deklaruotų operandų, operatoriams gali būti tiesiog

nurodomi įėjimų, išėjimų ir vidinės atminties adresai.

Keletas šios kalbos bruožų:

• Kiekviena komanda prasideda iš naujos eilutės, turi operatorių IR, priklausomai nuo operacijos,

vieną ar keletą operandų atskirtų kableliais

• Identifikatoriaus žymė po kurios eina kabliataškis (;), gali būti komandos pradžioje

• Komentarai gali būti papildomai prirašomi

• Galima įterpti tuščias eilutes tarp instrukcijų

Page 16: KAUNO TECHNOLOGIJOS UNIVERSITETAS · sintaks ė, semantika, pateikiami pavyzdžiai. IEC61131-4 Nurodymai vartotojams Skirta pad ėti PLC vartotojui visose projekto automatizavimo

Pavyzdys:

LD 17

ST lint (* Komentaras*)

GE 5

JMPC next

LD idword

EQ istruct.sdword

STN test

next:

3.5 Strukt ūrizuoto teksto programavimo kalba

Struktūrizuotas tekstas yra tekstinė, aukšto lygio, plataus profilio kalba [4]. Šios kalbos sintaksė panaši

kaip ir Pascal programų kalbos sintaksę. Šios kalbos komandos (Lentelė Nr. 4) aprašas susideda iš operatorių ir

operandų. Operandai gali būti tokie:

• Konstantos ir kintamieji

• Funkcijų arba funkcinių blokų kvietimai

• Kitos išraiškos

Ši programavimo kalba yra lengvai skaitoma ir suprantama, siūlo ne tiktai galingą ciklų programavimo

būdą, bet taip pat sąlyginių komandų programavimo galimybę ir matematines funkcijas.

Struktūrizuoto teksto programavimo kalbos programos pavyzdys:

IF value < 7 THEN

WHILE value < 8 DO

value := value + 1;

END_WHILE;

END_IF;

Page 17: KAUNO TECHNOLOGIJOS UNIVERSITETAS · sintaks ė, semantika, pateikiami pavyzdžiai. IEC61131-4 Nurodymai vartotojams Skirta pad ėti PLC vartotojui visose projekto automatizavimo

Lentelė Nr. 4. Pagrindinės struktūrizuoto teksto komandos

Komandos tipas Pavyzdys Priskyrimas A:=B;

CV:=CV + 1;

C:=SIN(X);

FB kvietimas ir jo išėjimo

vartojimas

CMD_TMR(IN:=%IX5, PT:=300);

A:=CMD_TMR.Q

Grižimas iš FB RETURN

IF D:=B*B;

IF D<0.0 THEN

C:=A;

ELSIF D=0.0 THEN

C:=B;

ELSE

C:=D;

END_IF;

CASE CASE INT1 OF

1: BOOL1:=TRUE;

2: BOOL2:=TRUE;

ELSE

BOOL1:=FALSE;

BOOL2:=FALSE;

END_CASE;

FOR J:=101;

FOR I:=1 TO 100 BY 2 DO

IF ARR[I]=70 THEN

J:=I;

EXIT;

END_IF;

END_FOR;

WHILE J:=1;

WHILE J<=100 AND ARR[J]<>70 DO

J:=J+2;

END_WHILE;

REPEAT J:=-1;

REPEAT

J:=J+2;

UNTIL J= 101 OR ARR[J]=70

END_REPEAT;

EXIT Operatorių FOR, WHILE arba REPEAT vidinio ciklo pabaiga ; EXIT;

Tuščia komanda ;

Page 18: KAUNO TECHNOLOGIJOS UNIVERSITETAS · sintaks ė, semantika, pateikiami pavyzdžiai. IEC61131-4 Nurodymai vartotojams Skirta pad ėti PLC vartotojui visose projekto automatizavimo

4 Išvados

IEC61131 standartas leidžia standartizuoti programinę įrangą ir komunikacijas tarp skirtingų gamintojų

valdiklių, kad vartojams būtų lengviau ir patogiau įdiegti. Vartotojai gali perpanaudoti komponentus tarp

skirtingų valdiklių.

Standartas nurodo taikomosios programos sintaksę, taip sutaupomi diegiamos sistemos kaštai.

Vartotojas nepriklausomai gali pasirinkti tiekėjus, nereikia papildomai apmokinti darbuotojų.

Lengvai galima palikyti ir tobulinti sistemas.

Standartas sudaro plačią erdvę valdiklių technikos pažangai. Tačiau standartas nenusako programų

saugojimo formato, kas leistų greitai ir efektyviai perpanaudoti programinės įrangos komponentus.

Page 19: KAUNO TECHNOLOGIJOS UNIVERSITETAS · sintaks ė, semantika, pateikiami pavyzdžiai. IEC61131-4 Nurodymai vartotojams Skirta pad ėti PLC vartotojui visose projekto automatizavimo

5 Literat ųros sąrašas

[1] IEC 61131-3. Prieiga per internetą - http://en.wikipedia.org/wiki/IEC_61131-3 (žiūrėta 2011-03-18).

[2] Ladder Logic. Prieiga per internetą - http://en.wikipedia.org/wiki/Ladder_logic (žiūrėta 2011-03-18).

[3] Function block diagram. Prieiga per internetą - http://en.wikipedia.org/wiki/Function_block_diagram (žiūrėta

2011-03-18).

[4] Structured text. Prieiga per internetą - http://en.wikipedia.org/wiki/Structured_text (žiūrėta 2011-03-18).

[5] Structured list. Prieiga per internetą - http://en.wikipedia.org/wiki/Instruction_list (žiūrėta 2011-03-18).

[6] Sequential function chart. Prieiga per internetą - http://en.wikipedia.org/wiki/Sequential_function_chart (žiūrėta

2011-03-18).

[7] N. Ezerskis. Programuojamieji valdikliai: konfigūravimas, komunikacijos ir programavimas. 1998m.

[8] R. Simutis, D. Ežerskis. Valdymo uždavinių programavimas taikant projektavimo šablonų rinkinį. 2005.

[9] E. Tisserant, L Bessard, M Sousa. An Open Source IEC 61131-3 Integrated Development Environment.

[10] Overview of the IEC 61131 Standard. XSeries Products IEC 61131 General. Prieiga per internetą -

http://library.abb.com/GLOBAL/SCOT/scot267.nsf/VerityDisplay/F6DBB4B475EA9976852572F00067766C/$Fil

e/2101127.pdf (žiūrėta 2011-03-18).

[11] L. Manual. Introduction to IEC 61131-3 programming. Prieiga per internetą: http://src.lenze.com/lenze-

bibliothek/en/K1_Software/K13_Drive_PLC_Developer_Studio/SW_DDS_IEC61131-3_Introduction_v2-

0_EN.pdf (žiūrėta 2011-03-18).