CoDeSys 3 – Korak naprej v razvoju aplikacij na področju avtomatizacije

3S-Smart Software Solutions GmbH je eden izmed vodilnih proizvajalcev programske opreme za avtomatizacijo. Njihov glavni produkt je IEC 61131-3 programski razvojni sistem CODESYS. 3S s predstavitvijo novega Codesys V3 prehaja na naslednjo stopnjo programiranja krmilnikov. Moderno razvojno okolje Codesys V3 nam omogoča objektno orientirano programiranje (OOP), izboljšano vizualizacijo, konfiguracijo komunikacijskih vmesnikov in še mnogo več. V nadaljevanju je predstavljenih nekaj prednosti oziroma novosti, ki jih prinaša novo programsko okolje.

Gašper Lukan, projektni inženir, Kolektor Sinabit, d. o. o.

Objektno orientirano programiranje (OOP)

Medtem ko je OOP stalen del razvoja običajnih računalniških aplikacij, se pri industrijskih krmilnikih ne uporablja tako pogosto. Glavni razlog je v pomanjkanju orodij, ki bi to omogočala. Codesys V3 vključuje prednosti objektnega programiranja, ki so stalnica pri standardnih višjenivojskih jezikih, kot so C++, Java, C#. V spodnji tabeli je prikazana primerjava različnih programskih jezikov.

Tabela 1 – Primerjava različnih programskih jezikov

Tabela 1 – Primerjava različnih programskih jezikov

Uporaba OOP prinaša številne prednosti. Izdelano kodo se lahko ponovno uporabi, spremeni in razširi. Razrede, ki jih uporabimo za izdelavo objektov, preprosto povlečemo v drug projekt. Lahko izdelamo podrazrede, ki dedujejo (angl. inheritance) lastnosti nadrejenih razredov. Tako lahko izdelujemo vse bolj zapletene objekte, ki obdržijo osnovno funkcionalnost ter hkrati dodajajo svojo.

Prednosti OOP se pokažejo predvsem pri izdelavi velikih projektov, saj je koda bolj strukturirana, pregledna in prilagodljiva. Po želji lahko kombiniramo OOP in klasičen proceduralni način.

Slika 1 – Prikaz OOP v Codesys 3

Slika 1 – Prikaz OOP v Codesys 3

Več krmilnikov in aplikacij

Znotraj projekta lahko programiramo več različnih krmilnikov. Prav tako imamo lahko znotraj projekta na enem krmilniku več neodvisnih aplikacij. Pri vsaki aplikaciji imamo upravljalnik knjižnic in nalog (tasks), seznam globalnih spremenljivk ter POU (program organization units) v obliki programov, funkcijskih blokov ter funkcij. Drevesna struktura elementov nam omogoča preglednejši in bolj organiziran razvoj aplikacij.

Slika 2 – Več naprav in aplikacij znotraj enega projekta

Slika 2 – Več naprav in aplikacij znotraj enega projekta

Vizualizacija

Codesys vsebuje urejevalnik vizualizacije, ki je popolnoma integriran v razvojni sistem. Omogoča direkten dostop do spremenljivk naše aplikacije in ne potrebuje sinhronizacije spremenljivk. Dodanih je več elementov ter različnih stilov, ki jih lahko po želji tudi sami oblikujemo in shranimo za kasnejšo uporabo. Poleg tega za kreiranje novih elementov ne potrebujemo dodatnega programskega orodja, ampak lahko uporabimo VisuElement Toolkit.

Uporabniki lahko hkrati dostopajo do PLC-aplikacije prek spletnega brskalnika (WebVisu), programskega okolja ali operaterskega panela (TargetVisu) (Slika 3).

Slika 3 – Prikaz povezave več krmilnikov in odjemalcev v mrežo

Slika 3 – Prikaz povezave več krmilnikov in odjemalcev v mrežo

V prejšnji verziji V2.3 je bil dostop prek spletnega brskalnika (WebVisu) možen le, če je bila naprava podprta z Javo. Pri V3 pa je uporabljen HTML5, ki ga podpira večina spletnih brskalnikov, zato je mogoč enostaven dostop do krmilnika tudi preko pametnega telefona, s katerim se preko brezžične povezave povežemo v mrežo.

Uporaba Codesys V3 na Eatonovih krmilnikih

Programsko okolje Codesys uporablja okrog 350 različnih proizvajalcev, med njimi tudi Eaton. Na spodnjem seznamu so navedene naprave proizvajalca Eaton, ki jih lahko programiramo z okoljem Codesys.

Novo verzijo Codesys 3 je možno uporabljati na spodaj navedenih modelih Eatonovih krmilnikov in panelov: XV100, XV400, XVS400, XC150 in XC202.

Tabela 2 – Pregled uporabe programskega okolja Codesys na Eatonovih krmilnikih in panelih

*Za določene krmilnike programiranje z novo verzijo CoDeSys V3 ni planirano.
Tabela 2 – Pregled uporabe programskega okolja Codesys na Eatonovih krmilnikih in panelih

Ostale novosti CoDeSys V3

Avtomatska detekcija PLK-naprav

Programsko orodje CoDeSys 3 avtomatsko zazna vse PLK-naprave znotraj omrežja Ethernet.

Konfiguracija komunikacijskih vmesnikov

Pri Codesys V2 je konfiguracija potekala v ločenem urejevalniku, medtem ko Codesys 3 že vključuje integrirane konfiguratorje za najrazličnejše vmesnike. Slednje zmanjša možnost napak, poenostavi konfiguracijo in pohitri razvoj aplikacij. Trenutna verzija EATON XSoft-CoDeSys 3.5.2 omogoča konfiguriranje komunikacijskih vmesnikov CAN, ProfiBus, SmartWire-DT in Modbus TCP/RTU. V naslednji verziji je planirana tudi integracija komunikacijskega vmesnika Ethernet/IP.

Prikaz na krmilniku zabeleženih dogodkov – »logbook«

CoDeSys 3 omogoča prikaz dogodkov, ki se beležijo na PLK-napravi. Med drugim se beležijo:

  • podatki zagona in ustavitve naprave,
  • nalaganje nove verzije programa in zapis projekta v trajni spomin,
  • logiranje dogodkov, ki jih generirajo IO-naprave,
  • logiranje uporabniško generiranih dogodkov.

Izvoz/uvoz programa z orodjem PLCopen XML

Veliko programskih okolij, ki so skladna s standardom IEC 61131-3, uporablja orodje, ki omogoča izvoz in uvoz celotnega projekta. Tako lahko ustvarjeni projekt izvozimo v XML-obliki in ga nato odpremo z drugim okoljem ter uporabljamo na krmilniku drugega proizvajalca.

Slika 4 – PLCopen XML uvoz/izvoz

Slika 4 – PLCopen XML uvoz/izvoz

CFC z več stranmi

Urejevalniku CFC (continuous function chart) je dodan še CFC 'page oriented'. Na vsaki strani imamo možnost izdelave svojega diagrama. Izhodi diagrama posamezne strani predstavljajo vhode naslednje strani. Strani so tako združene v celoto, ki omogoča preglednejši diagram. V prejšnji verziji je obstajala le možnost ene strani.

Slika 5 – CFC razdeljen na več posameznih strani

Slika 5 – CFC razdeljen na več posameznih strani

Samodejno deklariranje in prepoznavanje tipa spremenljivke

Pri prirejanju vrednosti še ne deklarirani spremenljivki se nam odpre okno, kjer nam je že ponujen ustrezen tip spremenljivke. Tako se izognemo problemom, ki jih dobimo pri uporabi neustreznih podatkovnih tipov spremenljivk. V prejšnji verziji je že bilo omogočeno samodejno deklariranje, vendar brez prepoznavanja podatkovnih tipov.

Slika 6 – Samodejno deklariranje spremenljivk in prepoznavanje podatkovnih tipov

Slika 6 – Samodejno deklariranje spremenljivk in prepoznavanje podatkovnih tipov

Kompatibilnost projektov V2.3

Projekte, ki so bili ustvarjeni v V2.3, je možno odpreti v novi verziji. Projekt se avtomatsko pretvori v novo verzijo. Pretvorimo lahko tudi knjižnice, vendar se priporoča uporaba novih knjižnic iz verzije V3.

Zaključek

Predstavljenih je bilo le nekaj novosti, ki jih prinaša Codesys 3. Novo okolje omogoča integracijo različnih komponent v samo razvojno okolje, povečuje zmogljivost in fleksibilnost, kar omogoča hiter in učinkovit razvoj aplikacij.

Eaton je z uporabo novega Codesys 3 na svojih krmilnikih in panelih vsekakor naredil korak naprej. Novo razvojno okolje sicer še ni popolnoma integrirano v njihove produkte, vendar se stvari premikajo v želeno smer. Brezplačno demo verzijo lahko dobimo na njihovi spletni strani ter se tudi sami spoznamo z novostmi, ki jih Codesys 3 prinaša.

 

Nazaj