430 likes | 779 Views
Kauno Technologijos Universitetas. VALDIKLI Ų PROGRAMAVIMAS IEC 61131 STANDARTO KALBOMIS Laura Osta ševičiūtė. IEC 61131-3 “ Geriausia, kas gal ėjo nutikti pramonės valdyme ” Sugar Lantic. IEC 61131 Standar to dalys. Bendroji informacija Įrangos reikalavimai ir testai
E N D
Kauno Technologijos Universitetas VALDIKLIŲ PROGRAMAVIMAS IEC 61131 STANDARTO KALBOMIS Laura Ostaševičiūtė
IEC 61131-3 “Geriausia, kas galėjo nutikti pramonės valdyme” Sugar Lantic
IEC 61131 Standarto dalys • Bendroji informacija • Įrangos reikalavimai ir testai • Programavimo kalbos • Rekomendacijos vartotojams • Pranešimų mainų specifikacijos 7.„Miglotoji logika“ • Techninė ataskaita 2 • Papildymai • Klaidų sąrašas • Techninė ataskaita 3
IEC 61131-3 programavimo kalbos /Pramonės valdymo automatizavimas ... sąvokų ir kalbų standartizavimas, ... pagalba skirtingus įgūdžius turintiems specialistams
Bendrieji elementai Programavimo kalbos IEC 61131-3 Standartas
IEC 61131-3 : Bendrieji elementaiKintamieji & Duomenų tipai • Bendriesiems elementams turi būti nustatomi duomenų tipai • Boolean, Integer, Real, Byte, Word, Date, Time_of_Day ir String • Kintamieji priskiriami tik aiškiems techninės įrangos adresams • Suteikiant kintamiesiems vardus • Padidina programos lankstumą • Absoliučiai nurodant jų vietą valdiklio atmintyje • Tinka ne visiems duomenų tipams
IEC 61131-3 : Bendrieji elementai Programinis modelis • Konfigūracija • Šaltiniai • Uždaviniai
IEC 61131-3 Programinis Modelis Konfigūracija Komunikacijos funkcija
IEC 61131-3 Programinis Modelis Konfigūracija Šaltinis Šaltinis Komunikacijos funkcija
Konfigūracija Šaltinis Šaltinis Uždavinys Uždavinys Uždavinys Uždavinys IEC 61131-3 Programinis Modelis Komunikacijos funkcija
Konfigūracija Šaltinis Šaltinis Uždavinys Uždavinys Uždavinys Uždavinys Programa Programa Programa Programa Komunikacijos funkcija IEC 61131-3 Programinis Modelis Vykdymo kontrolės kelias
Konfigūracija Kintamojo prisijungimo kelias Šaltinis Šaltinis Uždavinys Uždavinys Uždavinys Uždavinys FB Funkcinis Blokas Programa Programa Programa Programa Kintamasis FB FB FB FB Globalūs ir tiesioginiai kintamieji Vykdymo kontrolės kelias Prisijungimo kelias Komunikacijos funkcija IEC 61131-3 Programinis Modelis
Konfigūracija Kintamojo prisijungimo kelias Šaltinis Šaltinis Uždavinys Uždavinys Uždavinys Uždavinys FB Funkcinis Blokas Programa Programa Programa Programa Kintamasis FB FB FB FB Globalūs ir tiesioginiai kintamieji Vykdymo kontrolės kelias Prisijungimo kelias Komunikacijos funkcija IEC 61131-3 vs tradicinius PLC
Begalinisciklas: Šaltinis Uždavinys Skaityti iėjimus Atlikti skaičiavimus Pateikti išėjimus Programa Tradiciniai PLC vs IEC 61131-3 Uždavinys 1 Laikas Uždavinys 2 Įvykiai Uždavinys 3 Įvykiai Uždavinys 4 Laikas
Bendrieji elementai • Duomenų tipai & Kintamieji • Konfigūracija, šaltiniai, uždaviniai • Programos organizaciniai elementai • Funkcijos • Funkciniai Blokai • Programos IEC 61131-3 : Bendrieji Elementai
Funkcijos ….. * Standartinės funkcijos ADD, SQRT, SIN, COS, GT, MIN, MAX, AND, OR, ir tt. • Vartotojo sukuriamos funkcijos: FUNCTION SIMPLE_FUN : REAL VAR_INPUT A, B : REAL; C: REAL := 1.0; END_VAR SIMPLE_FUN := A*B/C; END FUNCTION
Hysterisis REAL XIN1 BOOL Q XIN2 REAL EPS REAL …. & Funkciniai Blokai • Standartiniai Funkciniai Blokai
Hysterisis REAL XIN1 BOOL Q XIN2 REAL EPS REAL …. & Funkciniai blokai • Standartiniai Funkciniai Blokai • Papildomi funkciniai blokai
Hysterisis REAL XIN1 BOOL Q XIN2 REAL EPS REAL …. & Funkciniai blokai • Standartiniai Funkciniai Blokai • Papildomi funkciniai blokai • Vartotojo sukuriami funkciniai blokai
Hysterisis REAL XIN1 BOOL Q XIN2 REAL EPS REAL …. &Funkciniai blokai • Standartiniai Funkciniai Blokai • Papildomi funkciniai blokai • Vartotojo sukuriami funkciniai blokai • Visi FB gali būti pakartotinai naudojamitoje pačioje ar skirtingose programose bei projektuose
Start : BOOL; Emergency : BOOL; Limit : INT; Automation application INPUT EXTERNAL OUTPUT IN_OUT FUNCTION_BLOCK PROGRAM Type Local Type Local GLOBAL INPUT FUNCTION Type Local Programos : hierarchinis dizainas
Bendrieji elementai Programavimokalbos IEC 61131-3 Standartas
IEC 61131: Programavimo kalbos • Tekstinės standarto kalbos: • Komandų sąrašo kalba (angl. „Instruction list IL“) • Struktūrizuoto teksto kalba (angl. „Structured text ST“) • Nuoseklių veiksmų programavimo kalba (angl. „Sequential function chart SFC“) • Grafinės standarto kalbos: • Pakopinė diagrama (angl. „Ladder Diagram LD“) • Funkcinių blokų diagrama (angl. „Function block diagram FBD“) • Nuoseklių veiksmų programavimo kalbos grafinė versija (angl. „Sequential function chart SFC“).
Komandų sąrašo kalba (IL) • Apibūdinimas: • Panaši į mašininio asemblerio kalbą; • Žemo lygio programoms kurti; • Nepriklauso nuo valdiklio procesoriaus, todėl programas lengviau naudoti skirtingų gamintojų valdikliuose.
Komandų sąrašo kalba • Pagrindiniai elementai: • IL programą sudaro nesudėtingos komados; • Komandos rašomos eilutėmis: Žymė: Operatorius/Funkcija OperandasKomentaras • Operatoriai
IL kalbos pavyzdžiai • Neigimas VAR Var1:BOOL:=FALSE; END_VAR LDN FALSE (*TRUE*) ANDN Var1 (*TRUE*) • Skliausteliai LD Var1 (*Var1 reiksmė užkraunama į akumuliatorių *) AND( Var2(* apskaičiuojamas rezultatas skliausteliuose *) OR Var3(* rezultatas skliausteliuose susiejamas su Var1 reikšme*) ) ST Var4(* saugomas rezultatas *) • Sąlyginis operatoriaus vykdymas LD Var1 (* Var1 reiksmė užkraunama į akumuliatorių *) GT 20 (*rezultatas:= TRUE jei jis > 20, kitu atveju - FALSE*) JMPC B2 (*sąlyginis šuolis į B2, jei rezultatas TRUE, kitu atveju – I kitą eilutę*) JMP Tolyn(* besąlyginis šuolis, nepriklausantis nuo akumuliatoriaus rezultato *)
Funkcijos Funkcijos apibrėžimas: FUNCTION UserFun : INT VAR_INPUT FunPar1, FunPar2, FunPar3: INT; END_VAR LD FunPar1 ADD FunPar2 ADD FunPar3 ST UserFun (*Grąžinama reikšmė*) RET END_FUNCTION Funkcijos iškvietimas: VAR FirstFunPar: INT := 10; Part2: INT := 20; Part3: INT := 30; Sum: INT; END_VAR LD FirstFunPar UserFun Part2, Part3 (*Antras iškvietimas: *) UserFun Part2, Part3 ST Sum
Funkciniai blokai VAR Rel, Out: BOOL := 0; (* Įvesties pateikimas; Išvestis *) Time1: TON; (* Std – FB TON turi formalius parametrus *) (* IN, PT (įvestis) ir Q, ET (išvestis) *) Value : TIME ; (*Nustatyti – įvestis *) END_VAR
Struktūrizuoto teksto kalba (ST) • Apibūdinimas • Skirta modeliuoti standartinius informacijos apdorojimo uždavinius • Labai glaustas programuojamo uždavinio formulavimas, • Aiški programos konstrukcija, kuri remiasi komandų blokais, • Galingi konstruktai komandų srauto kontrolei.
Struktūrizuoto teksto kalba • Pagrindiniai elementai • ST programą sudaro daug komandų • Komandą aprašo išraiška • Išraišką sudaro operatoriai ir operandai • Pagrindiniai ST operatoriai: • ( ), <Funkcijos vardas>, (parametrų sąrašas), **, NOT, *,/, MOD, +, -, < , >, <=, >=, =, <>, AND, XOR, OR • Galimi išraiškos operandai: • Konstantės ir kintamieji • Funkcijų arba FB kvietimai • Kitos išraiškos
Funkcinių blokų diagramų kalba (FBD) • Apibūdinimas • Kilusi iš signalų apdorojimo srities; • Vaizduoja valdymo algoritmą loginių funkcijų schemomis; • skirta kurti tuo pat metu veikiančių elektroninių elementų, tokių kaip sudėtuvai, daugintuvai, stumiamieji registrai ir kt. grandines.
Funkcinių blokų diagramų kalba • Pagrindiniai elementai • Horizontalios linijos • Vertikalios linijos • Kintamieji • Funkcijos ir funkciniai blokai • Grafiniai elementai vykdymo kontrolei: grįžimai ir šuoliai. • Grandinės apskaičiavimas • Apskaičiuoti grandinės elementų įėjimus prieš vykdant elementą. • Grandinės elemento apskaičiavimas nebaigtas, kol apskaičiuojami visi šio elemento išėjimai. • Grandinės apskaičiavimas nebaigtas, kol apskaičiuojami visi visų grandinės elementų išėjimai.
FBD kalbos pavyzdžiai - Loginės ir aritmetinės operacijos pavaizduotos FBD elementais - Grįžtamojo ryšio kintamieji- išvesties parametrų reikšmė gali grįžti į įvesties parametrus toje pačioje grandinėje
Kontaktų plano kalba (LD) • Apibūdinimas • Kilusi iš elektromagnetinių relių sistemų, • Pagrindinis tikslas – panašaus stiliaus valdiklio programa vaizduoti kontaktų ir elektromagnetinių relių grandines.
Kontaktų plano kalba (LD) • Pagrindiniai elementai • Sujungimai • Kontaktai ( -||- ) • Relės ( -( )- ) • Grafiniai elementai vykdymo sekai kontroliuoti • Grafiniai elementai funkcijų ir funkcinių blokų iškvietimui
LD kalbos pavyzdžiai • Loginių operacijų vaizdavimas VarOut := Var1 AND Var2 AND (Var3 ORVar4) • Grįžtamasis ryšys kontaktų plane • Realizuojami per papildomus relių kontaktus • Šuolis kontaktų plane • keicia vykdymo eiga tame paciame POE
Nuoseklių veiksmų programavimo kalba (SFC) • Apibūdinimas • Padeda sudėtingas programas išskaidyti į mažesnius elementus • Skirta vaizduoti programų arba funkcinių blokų vidinei struktūrai • Grafinis ir tekstinis kalbos variantas • Pagrindiniai elementai • Žingsniai • Perėjimai • Ryšiai
Nuoseklių veiksmų grafinis ir tekstinis vaizdavimas INITIAL_STEP Startas: a.raudona(N); END_STEP TRANSITION FROM Startas TO Raud_fazė := TRUE; END_TRANSITION STEP Raud_fazė: a.raudona(N); END_STEP TRANSITION FROM Raud_fazė TO Raudgelt_fazė := Raud_fazė.T>= Raud_laikas END_TRANSITION STEP raudgelt_fazė: . . . END_STEP
Apibendrinimai • Standarto IEC 61131 reikšmė yra didelė bei palieka pakankamai erdvės augimui ir diferenciacijai. • IEC 61131 daro žymų poveikį visai pramoniniovaldymo industrijai. • Tokio plataus taikymo standartas teikia nemažai privalumų vartotojams ir sistemų kūrėjams.