primena objektno orijentisane paradigme u industrijskoj...

5
INFOTEH-JAHORINA Vol. 13, March 2014. - 643 - Primena objektno orijentisane paradigme u industrijskoj automatizaciji kroz standard IEC 61131 Nikola Đukić, Branislav Tejić, Laslo Tarjan, Ivana Šenk, Dragana Oros Katedra za Mehatroniku, Robotiku i Automatizaciju / Departman za Industrijsko Inženjerstvo i Menadžment Fakultet Tehničkih Nauka, Univerzitet u Novom Sadu Novi Sad, Srbija [email protected], [email protected], [email protected], [email protected], [email protected] Sadržaj—Zadaci koji se postavljaju pred inženjere automatike u indsutriji postaju sve složeniji. Od implementiranog rešenja se zahteva da bude bezbedno, pouzdano, fleksibilno i da omogući lako ponovno korišćenje već razvijenih delova koda. Primenom objektno orijentasane paradigme u procesu razvoja softvera procesnih računara, zadovoljili bi svi postavljeni zahtevi. Objekno orijentisano programiranje se uspšeno koristi i smatra de facto standardom na polju desktop aplikacija, aplikacija namenjenih mobilnim uređajima, itd. Poslednjom revizijom međunardnog standarda IEC 61131 (revizija 3), predstavljena su proširenja standarda koja omogućavaju primenu objektno orijentisanog pristupa prilikom razvoja softvera u industrijskoj automatizaciji. U ovom radu će biti analizirano proširenje standarda IEC 61131-3, i prikazano kako i kojoj meri se implementriaju osnovni principi objektno orijentisane paradigme, što će biti bliže objašnjeno jednostavnim primerima. Ključne riječi - IEC 61131; objektno orijntisano programiranje; programabilno logički kontroler, automtazacija; I. UVOD Objektno orijentisana paradigma se pokazala kao veoma uspešan paradigma pri razvoju softvera opšte namene (softver sa desktop računare, softver za mobilne uređaje, web aplikacije, itd.). Posebno se pokazala uspešnom u rukovanju složenim problemima na elegantan način, kao i u kreiranju softverskih komponenti koje se lako mogu ponovo koristiti. Primenom objektno orijentisane paradigme smanjuje se vreme i resursi potrebni za razvoj softvera i omogućava jednostavno rešavanje složenih softverskih problema. Industrijski računari, gde se pre svega misli na programabilno logičke kontrolere, su se uglavnom razvijali na "klasičan", proceduralan način primenom jednog od programskih jezika predviđenih standardom IEC 61131-3. Međunardni standard IEC 61131 [1], koji je prvi put objavljen 1992. godine, definiše model i skup programskih jezika (sadržano u trećem delu standarda) za razvoj softvera za industrijsku automatizaciju. Standard je široko prihvaćen u industriji i koriste ga inženjeri automatike kako bi implementirali softverski deo sistema, gde se kao upravljački uređaj najčće koristi programabilno logički kontroler [2]. Međutim, pokazalo se da standard nameće nekoliko ograničenja prilikom implementiranja softvera za složene sisteme. Kako se navodi u [3] standard predstavlja osnovu za modelovanje softvera objektno orijentisanom metodom, međutim dostupni alati i platforme nisu bili u stanju da efikasno međusobno sarađuju. Takođe neki od manjih proizvođača industrijske opreme preduzeli su izvesne korake kako bi se primećeni nedostaci prevazišli, što je rezultovalo probojem na tom polju. Proširenje međunarodnog standarda IEC 61131-3, nije prvi pokušaj kako bi se uvela objektno orijentisana paradigma i programiranje podržano modelom (Model Driven Development) u softveru industrijske automatizacije. Kako bi se prevazišla primećena ograničenja i nedostaci u razvoju današnjih složenih industrijskih sistema za automatizaciju, IEC (International Electrotechnical Commission) je dodelio svom tehničkom komitetu 65 (IEC TC 65) zadatak da razvije novi model za korišćenje funkcijskog bloka. Kao rezultat rada tehničkog komiteta 65 proizišao je standard IEC 61499 [4][5]. Ovaj standard je nastao kao odgovor na tehnička ograničenja primećena prilikom korišćenja 61131-3, kako se tvrdi u [6], gde IEC 61131 okarakterisan kao nesposoban da zadovolji potrebe industrije za distribuiranim, složenim i fleksibilnim aplikacijama. Model funkcijskog bloka koji predlaže IEC 61499 predstavlja proširenje funkcijskog bloka iz IEC 61131. Novi model se zasniva na prihvatanju osnovnih načela objektno orijentisane paradigme i izvršavanju koda na osnovu događaja (event driven software), što ujedno predstavlja i najbitnije razlike u odnosu na standard IEC 61131. U nekim radovima bilo je čak i reči o integraciji ova dva standarda [7]. Takođe bilo je i nekoliko radova koji predlažu postepeni prelazak sa IEC 61131 funkcijskih blokova na IEC 61499 funkcijske blokove [8] [9]. Međutim standrad IEC 61499 nije uspeo u postavljenom cilju. Kao najveća kritika se navodi neuspeh da zadovolji postavljene ciljeve u razvoju softvera za automatizacione sisteme [10] [11] . Neuspeh standarda IEC 61499 predstavlja razlog za reviziju standarda IEC 61131 i njegovo proširenje kako bi implementirao sve alate neophodne za integraciju objektno orijentasane paradigme u softver procesnih računara. Proces proširivanja standarda IEC 61131 je trajao nekoliko godina i na

Upload: vuongtuong

Post on 05-Feb-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Primena objektno orijentisane paradigme u industrijskoj ...infoteh.etf.unssa.rs.ba/zbornik/2014/radovi/RSS-1/RSS-1-10.pdf · INFOTEH-JAHORINA Vol. 13, March 2014. - 643 - Primena

INFOTEH-JAHORINA Vol. 13, March 2014.

- 643 -

Primena objektno orijentisane paradigme u industrijskoj automatizaciji kroz standard IEC 61131

Nikola Đukić, Branislav Tejić, Laslo Tarjan, Ivana Šenk, Dragana Oros Katedra za Mehatroniku, Robotiku i Automatizaciju / Departman za Industrijsko Inženjerstvo i Menadžment

Fakultet Tehničkih Nauka, Univerzitet u Novom Sadu Novi Sad, Srbija

[email protected], [email protected], [email protected], [email protected], [email protected]

Sadržaj—Zadaci koji se postavljaju pred inženjere automatike u indsutriji postaju sve složeniji. Od implementiranog rešenja se zahteva da bude bezbedno, pouzdano, fleksibilno i da omogući lako ponovno korišćenje već razvijenih delova koda. Primenom objektno orijentasane paradigme u procesu razvoja softvera procesnih računara, zadovoljili bi svi postavljeni zahtevi. Objekno orijentisano programiranje se uspšeno koristi i smatra de facto standardom na polju desktop aplikacija, aplikacija namenjenih mobilnim uređajima, itd. Poslednjom revizijom međunardnog standarda IEC 61131 (revizija 3), predstavljena su proširenja standarda koja omogućavaju primenu objektno orijentisanog pristupa prilikom razvoja softvera u industrijskoj automatizaciji. U ovom radu će biti analizirano proširenje standarda IEC 61131-3, i prikazano kako i kojoj meri se implementriaju osnovni principi objektno orijentisane paradigme, što će biti bliže objašnjeno jednostavnim primerima.

Ključne riječi - IEC 61131; objektno orijntisano programiranje; programabilno logički kontroler, automtazacija;

I. UVOD Objektno orijentisana paradigma se pokazala kao veoma

uspešan paradigma pri razvoju softvera opšte namene (softver sa desktop računare, softver za mobilne uređaje, web aplikacije, itd.). Posebno se pokazala uspešnom u rukovanju složenim problemima na elegantan način, kao i u kreiranju softverskih komponenti koje se lako mogu ponovo koristiti. Primenom objektno orijentisane paradigme smanjuje se vreme i resursi potrebni za razvoj softvera i omogućava jednostavno rešavanje složenih softverskih problema. Industrijski računari, gde se pre svega misli na programabilno logičke kontrolere, su se uglavnom razvijali na "klasičan", proceduralan način primenom jednog od programskih jezika predviđenih standardom IEC 61131-3.

Međunardni standard IEC 61131 [1], koji je prvi put objavljen 1992. godine, definiše model i skup programskih jezika (sadržano u trećem delu standarda) za razvoj softvera za industrijsku automatizaciju. Standard je široko prihvaćen u industriji i koriste ga inženjeri automatike kako bi implementirali softverski deo sistema, gde se kao upravljački uređaj najčešće koristi programabilno logički kontroler [2]. Međutim, pokazalo se da standard nameće nekoliko ograničenja prilikom implementiranja softvera za složene

sisteme. Kako se navodi u [3] standard predstavlja osnovu za modelovanje softvera objektno orijentisanom metodom, međutim dostupni alati i platforme nisu bili u stanju da efikasno međusobno sarađuju. Takođe neki od manjih proizvođača industrijske opreme preduzeli su izvesne korake kako bi se primećeni nedostaci prevazišli, što je rezultovalo probojem na tom polju.

Proširenje međunarodnog standarda IEC 61131-3, nije prvi pokušaj kako bi se uvela objektno orijentisana paradigma i programiranje podržano modelom (Model Driven Development) u softveru industrijske automatizacije.

Kako bi se prevazišla primećena ograničenja i nedostaci u razvoju današnjih složenih industrijskih sistema za automatizaciju, IEC (International Electrotechnical Commission) je dodelio svom tehničkom komitetu 65 (IEC TC 65) zadatak da razvije novi model za korišćenje funkcijskog bloka. Kao rezultat rada tehničkog komiteta 65 proizišao je standard IEC 61499 [4][5]. Ovaj standard je nastao kao odgovor na tehnička ograničenja primećena prilikom korišćenja 61131-3, kako se tvrdi u [6], gde IEC 61131 okarakterisan kao nesposoban da zadovolji potrebe industrije za distribuiranim, složenim i fleksibilnim aplikacijama.

Model funkcijskog bloka koji predlaže IEC 61499 predstavlja proširenje funkcijskog bloka iz IEC 61131. Novi model se zasniva na prihvatanju osnovnih načela objektno orijentisane paradigme i izvršavanju koda na osnovu događaja (event driven software), što ujedno predstavlja i najbitnije razlike u odnosu na standard IEC 61131. U nekim radovima bilo je čak i reči o integraciji ova dva standarda [7]. Takođe bilo je i nekoliko radova koji predlažu postepeni prelazak sa IEC 61131 funkcijskih blokova na IEC 61499 funkcijske blokove [8] [9].

Međutim standrad IEC 61499 nije uspeo u postavljenom cilju. Kao najveća kritika se navodi neuspeh da zadovolji postavljene ciljeve u razvoju softvera za automatizacione sisteme [10] [11] .

Neuspeh standarda IEC 61499 predstavlja razlog za reviziju standarda IEC 61131 i njegovo proširenje kako bi implementirao sve alate neophodne za integraciju objektno orijentasane paradigme u softver procesnih računara. Proces proširivanja standarda IEC 61131 je trajao nekoliko godina i na

Page 2: Primena objektno orijentisane paradigme u industrijskoj ...infoteh.etf.unssa.rs.ba/zbornik/2014/radovi/RSS-1/RSS-1-10.pdf · INFOTEH-JAHORINA Vol. 13, March 2014. - 643 - Primena

- 644 -

kraju kao rezultat se nastala treća revizija standarda IEC 61131 (2013. godine) koja implementira pomenute alate koji će omogućiti inženjerima automatike da koriste objektno orijentisani pristup prilikom razvoja softvera za industrijsku automatizaciju. Podrška za objektno orijentisanu paradigmu predstavlja najbitniju stavku u novoj reviziji standarda IEC 61131.

Pre nego što je zvanična nova revizija standarda IEC 61131 objavljena, CoDeSys V3 (http://www.3s-softvare.com) razvojno okruženje je implementiralo objektno orijentisanu verziju IEC 61131-3.

Ovaj rad se fokusira na objektno orijentisane karakteristike nove verzije. Analazira u kojoj meri su podržani principi objektno orijentisane paradigme u novom standardu. Dati su jednostavni primeri koji bliže objašnjavaju primenu objektno orijentisanog prilaza razvoju softvera u industrijskoj automatizaciji. Cilj ovog dokumenta nije preporuka da se sva rešenja u industrijskoj automatizaciji moraju rešavati objektno orijentisanim prilazom. Prilikom rešavanja trivijalnih problema upotreba "klasičnog", proceduralnog programiranja se preporučuje. Novi standard omogućava lako kombinovanje i objektno orijentisanog i proceduralnog pristupa prilikom razvoja softvera u industriji.

II. ELEMENTI OBJEKTNO ORIJENTISANOG PROGRAMIRANJA U IEC 61131-3

Objektno orijentisano programiranje je najbolje objasniti ne kroz karatkeristike samog programskog jezika nego kroz specifičan prilaz organizaciji softvera. Programski jezik se može nazvati objektno orijentisanim ukoliko omogućava programeru da primeni takvu organizaciju softvera.

Tri opšte prihvaćena elementa objektno orijentisane organizacije softvera su:

1. Objekti - organiziju sistem u komponente,

2. Klase - organizuju objekte po sličnosti,

3. Potklase - organizuju objekte po stepenu sličnosti.

A. Objekti Osnovna razlika objektno orijentisanog programiranja u

odnosu na proceduralno programiranje je nov način razmišljanja o problemu: proceduralni pogled na sistem razdvaja predstavu o stanju sistema predstavljeno podacima (promenljivama) od implementacije ponašanja sistema koje je realizovano kroz funkcije (procedure). Kod objektno orijentisanog pogleda na problem sistem se sastoji od međusobno povezanih objekata. Svaki objekat predstavlja funkcionalni sistem sa svojim stanjem i ponašanjem (implementirano kroz metode). Metode objekta mogu da menjaju stanje objekta, pozivaju druge metode istog objekta ili pozivaju metode drugih objekata.

Korišćenjem notacije sa tačkom standard IEC 61131 podržava korišćenje metoda, odnosno omogućava da se metode pozivaju nad pojedinačnim instancama funkcijskih blokova. Drugim rečima metoda predstavlja sastavni deo funkcijskog bloka.

B. Klasa Objekti koji poseduju iste podatke i implementiraju

identično ponašanje pripadaju istom tipu, koji nazivamo klasa. Objekti predstavljaju instance klase. Dok su objekti komponente sistema, klase predstavljaju module programskog koda. Jednom implementirana klasa se može se instancirati (teorijski) neograničen broj puta. Za razliku od drugih objektno orijentisanih jezika, koji su objektno orijentisano proširenje bazirali na proširenju funkcionalnosti zapisa strukture podataka (C++ proširuje struct iz C-a, Ada95 proširuje record iz Pascal-a, itd.) standard IEC 61131-3 se zasniva na nečemu mnogo boljem: na funkcijskom bloku.

Poslednja revizija standarda IEC 61131 proširuje definiciju funkcijskog bloka dodajući mu mogućnost definisanja metoda, mogućnost nasleđivanja i primenu interfejsa, čime se omogućava polimorfizam.

1) Metode Metode predstavljaju novinu u poslenjem izdanju standarda

IEC 61131-3. Pre uvođenja metoda postojala je samo jedna rutina koja je rukovala unutrašnjim stanjem funkcijskog bloka, što je predstavljalo samo telo funkcijskog bloka. Međutim posteoje razni zadaci koje je potrebno odraditi u određenim trenucima (inicijalizacija, rukovanje greškama, itd.). Jedini način kako bi se odradili ovi zadaci, jeste postavljanje ulaznih promenljiva na određene vrednosti prilikom pozivanja funkcijskog bloka.

Primenom objekto orijentisanog pristupa, logično bi bilo razdvajanje svakog zadatka u posebnu rutinu, odnosno metodu funkcijskog bloka.

Na sl. 1 i sl. 2 prikazani su primeri razlike između proceduralnog i objektno orijentisanog pristupa. Iz primera se vidi nekoliko prednosti objektno orijentisanog pristupa. Prvo, bolja struktura programa. Za razliku od proceduralnog prilaza gde je celokupna funkcionalnost smeštena u jednu metodu, kod objektno orijentisanog pristupa funkcionalnost se deli na odgovarajuće rutine, što čini kod preglednijim i lakšim za održavanje. Drugo, kod napisan objektno orijentisanim pristupom je čitljiviji. Jasno se vidi šta koja metoda treba da odradi iz samog imena metode, dok se kod proceduralnog vidi samo na osnovu dodele vrednosti ulazima funkcijskog bloka.

Slika 1. Razlika između proceduralnog i objektno orijentisanog programiranja pri pokretanju pumpe.

Page 3: Primena objektno orijentisane paradigme u industrijskoj ...infoteh.etf.unssa.rs.ba/zbornik/2014/radovi/RSS-1/RSS-1-10.pdf · INFOTEH-JAHORINA Vol. 13, March 2014. - 643 - Primena

- 645 -

Slika 2. Razlika između proceduralnog i objektno orijentisanog programiranja prilikom resetovanja pumpe.

Metode se mogu posmatrati kao funkcije deklarisane unutar funkcijskog bloka, koje mogu da vraćaju vrednost, da im se prosleđuju parametri, i da imaju svoje lokalne promenljive. Kao što je slučaj i sa funkcijama stanje lokalnih promenljiva se ne čuva između dva poziva metode. Metode mogu da menjaju stanje promenljivih deklarisanih u istom funkcijskom bloku. Bilo koji od jezika predviđen standardom IEC 61131-3 može biti korišćen za implementaciju metoda, bez ikakvih ograničenja.

Još jedna novina je uvođenje kontrole pristupa metodama. Kao i ostali objektno orijentisani programski jezici postoje sledeći modifikatori pristupa metodama: public, private, protected. Novina je internal. Metode deklarisane kao javne (public) nemaju nikakvo ogrničenje pristupa. Metode koje su deklarisane kao privatne (private) vidljive su samo unutar istog funkcijskog bloka. Zaštićene (protected) metode su vidljive iz istog funkcijskog bloka, kao i iz funkcijskih blokova koji su nasledili funkcijski blok. Metode koje su deklarisane kao interne (internal) su vidljive samo unutar iste biblioteke.

C. Nasleđivanje i polimorfizam Nasleđivanje i polimorfizam predstavljaju jednu od

najbitnijih osobina objektno orijentisanog programiranja. Pre uvođenja trećeg izdanja standarda IEC 61131-3 slične varijante funkcijskih blokova su pravljene tako što se deo koda kopirao iz tela jednog funkcijskog bloka u telo drugog funkcijskog bloka i tada vršena potrebna izmena. Nije bilo načina da se efikasno i lako omogući ponovno korišćenje koda koji je već razvijen. Očigledno, takav pristup razvoju softvera, čini kod teškim za održavanje.

Sa novim izdanjem standarda IEC 61131-3 omogućeno je nasleđivanje, koje predstavlja veoma moćan programerski alat. Nasleđivanjem je omogućeno da jedan funkcijski blok nasledi sve promenljive i sve metode drugog funkcijskog bloka. Novi funkcijski blok može dodatno definisati nove metode i nove pomenljive i može promeniti implementaciju nasleđenih metoda.

Rezervisana reč kojom se omogućava nasleđivanje je extends. Na sl. 3 je dat primer gde funkcijski blok nova_pumpa nasleđuje funkcijski blok pumpa.

Prilikom definisanja funkcijskog bloka moguće je dodati i opciono modifikator pristupa funkcijskom bloku.

Postoje tri modifikatora pristupa: public, final i internal. Public omogućava nasleđivanje definisanog funkcijskog bloka bez ikakvih ograničenja. Ukoliko se funkcijski blok definiše sa modifikatorom pristupa final, time se onemogućava dalje

nasleđivanje funkcijskog bloka. Funkcijski blok definisan sa internal je vidljiv samo unutar istog namespace-a, odnosno unutar iste biblioteke. Kako bi se zadržala kompatibilnost sa ranijim revizijama standarda IEC 61131, korišćenje modifikatora pristupa je opciono.

Slika 3. Primer nasleđivanja gde funkcijski blok NOVA_PUMA nasleđuje funkcijski blok PUMPA.

Page 4: Primena objektno orijentisane paradigme u industrijskoj ...infoteh.etf.unssa.rs.ba/zbornik/2014/radovi/RSS-1/RSS-1-10.pdf · INFOTEH-JAHORINA Vol. 13, March 2014. - 643 - Primena

- 646 -

Slika 4. Primer implementacije interfejsa iSOBA, koji implementaira funckijski blok DNEVNA_SOBA.

1) Interfejsi Za deklaraciju apstraktinih super klasa uvedena je

kontrukcija interfejs (interface). Interfejs je sličan funkcijskom bloku, s tom razlikom što interfejs poseduje samo prototipove svojih metoda, bez implementacije. Interfejs nema ni implementirano telo, niti poseduje promenljive. Kada funkcijki blok implementira interfejs, programer je u obavezi da implementira sve prototipove metoda iz interfejsa.

Primenom interfejsa omogućeno je višestruko nasleđivanje. Funkcijski blok može da nasledi samo jedan funkcijski blok, ali zato može da implementira proizvoljan broj interfejsa.

Funkcijski blok implementira određeni interfejs ukoliko se nakon deklaracije funkcijskog bloka navede ključna reč

implements i ime jednog ili više interfejsa koji se implementiraju.

Upotrebom interfejsa uvodi se i pojam reference. Novim izdanjem standarda IEC 61131-3 moguće je koristiti interfejs kao i svaki drugi tip, odnosno promeneljiva može biti interfejs tipa. Imajući ovo u vidu, ova deklaracija ne obezbeđuje novi objekat, ali može mu se dodeliti funkcijski blok koji je implementirao isti interfejs. Dok se referenci ne dodeli neki funkcijski blok promenljiva ima vrednost NULL. Dodeljivanjem instance funkcijskog bloka interfejs promenljivoj, kao posledicu ima da interfejs promenljiva pokazuje na dodeljenu instancu funkcijskog bloka. Istoj interfejs promenljivoj može biti dodeljen bilo koji tip funkcijskog bloka koji je implementirao odgovarajući interfejs, čime je omogućen polimorfizam, jedna od najbitnijih osobina objektno orijentisanog programiranja. Primer korišćenja interfejsa je dat na sl. 4.

III. ZAKLJUČAK U primerima prikazanim u ovom radu pokazane su

prednosti objektno orijentisane paradigme u razvoju softvera za programabilno logičke kontrolere. Nova revizija standarda IEC 61131 predstavila je neophodne alate za primenu objektno orijentisane paradigme u industiji. Ono što je bitno napomenuti je da nova verzija standarda u potpunosti kompatibilna sa prethodnim verzijama. Što će olakšati posao programerima koji su već navikli da rade sa standardom IEC 61131-3, pošto neće morati da nauče kompletno nov jezik već samo da prošire postojeće znanje i veštine. Druga vrlo bitna stvar je da objektno orijentasani pristup razvoju, je stvar izbora programera. Objektno orijentisani kod može bez problema da se koristi i sa proceduralnim kodom ili kompletno rešenje problema može biti rešeno proceduralnim pristupom.

Pokazano da objektno orijentisano programiranje može biti primenjeno u industriji, obezbeđujući bolje struktuiran kod, mogućnost ponovnog korišćenja koda, jednostavno održavanje koda, i fleksibilnost koju pruža polimorfizam.

LITERATURA

[1] International Electrotechnical Commission, “IEC International Standard IEC 61131–3: Programmable Controllers, Part 3: Programming Languages”.

[2] Strasser, T., A. Zoitl, J. H. Christensen, and C. Sunder, “Design and Execution Issues in IEC 61499 Distributed Automation and Control Systems”, IEEE Trans. on systems, man, and cybernetics—part C: Applications and Reviews, vol. 41, no. 1, Jan. 2011.

[3] A. Zoitl, T. Strasser, C. Sunder, and T. Baier, “IsIEC 61499 in harmony with IEC 61131-3?,” IEEE Ind. Electron. Mag., vol. 3, pp. 49–55, Dec. 2009.

[4] International Electrotechnical Commission, “International Standard IEC61499, Function Blocks, Part 1 - Part 4”, IEC, 2005.

[5] K. Thramboulidis, G. Doukas, G. Koumoutsos, “A SOA-based Embedded Systems Development Environment for Industrial Automation”, EURASIP Journal on Embedded Systems, Vol. 2008 (2008).

[6] L. H. Yoong, P. S. Roop, V. Vyatkin, and Z. Salcic, “A synchronous approach for IEC 61499 function block implementation,” IEEE Trans. On Computers, vol. 58,no. 12, pp. 1599–1614, Dec. 2009.

Page 5: Primena objektno orijentisane paradigme u industrijskoj ...infoteh.etf.unssa.rs.ba/zbornik/2014/radovi/RSS-1/RSS-1-10.pdf · INFOTEH-JAHORINA Vol. 13, March 2014. - 643 - Primena

- 647 -

[7] C. Sunder, A. Zoitl, J. Christensen, H. Steininger, and J. Fritsche, "Considering IEC 61131-3 and IEC 61499 in the context of component frameworks," in Proc. 6th IEEE Int. Conf. on Industrial Informatics, July 2008, pp. 277–282.

[8] Wenbin Dai, Vyatkin, V. ,”Ontology Model for Migration from IEC 61131-3 PLC to IEC 61499 Function Block”, 2011 6th IEEE International Symposium on Electronic Design, Test and Application (DELTA), 17-19 Jan. 2011

[9] Wenbin Dai, Vyatkin, V., “Redesign Distributed PLC Control Systems Using IEC 61499 Function Blocks”, IEEE Transactions on Automation Science and Engineering,Vol. 9, Issue 2, 2012 , pages: 390 – 401.

[10] K. Thramboulidis, “IEC 61499 function block model: Facts and fallacies,” IEEE Ind. Electron. Mag., vol. 3, pp. 7–23, Dec. 2009.

[11] K. Thramboulidis, G. Doukas, “IEC61499 Execution Model Semantics”, Inter. Conf. on Industrial Electronics,Technology & Automation, (CISSE-IETA 06), Dec. 4-14, 2006.

ABSTRACT Today tasks that automation engineers need to implement

are becoming more and more complex. Implemented solution

has to be reliable, safe, flexible and has to allow code reusability. Developing industrial software with an object oriented approach, allows engineers to answer to given requests. The object oriented approach is widely accepted and de facto standard in mainstream programming. In the last edition of international standard IEC 61131 (3rd edition), object oriented extension is introduced. The object oriented extension provides tools needed for object oriented automation software. This paper analyses object oriented extension of standard IEC 61131, and gives small examples of object oriented code.

OBJECT ORIENTED PARADIGM IN AUTOMATION SOFTWARE THROUGH IEC 61131

Nikola Đukić, Branislav Tejić, Laslo Tarjan, Ivana Šenk, Dragana Oros