ABONAMENTE VIDEO REDACȚIA
RO
EN
NOU
Numărul 150
Numărul 149 Numărul 148 Numărul 147 Numărul 146 Numărul 145 Numărul 144 Numărul 143 Numărul 142 Numărul 141 Numărul 140 Numărul 139 Numărul 138 Numărul 137 Numărul 136 Numărul 135 Numărul 134 Numărul 133 Numărul 132 Numărul 131 Numărul 130 Numărul 129 Numărul 128 Numărul 127 Numărul 126 Numărul 125 Numărul 124 Numărul 123 Numărul 122 Numărul 121 Numărul 120 Numărul 119 Numărul 118 Numărul 117 Numărul 116 Numărul 115 Numărul 114 Numărul 113 Numărul 112 Numărul 111 Numărul 110 Numărul 109 Numărul 108 Numărul 107 Numărul 106 Numărul 105 Numărul 104 Numărul 103 Numărul 102 Numărul 101 Numărul 100 Numărul 99 Numărul 98 Numărul 97 Numărul 96 Numărul 95 Numărul 94 Numărul 93 Numărul 92 Numărul 91 Numărul 90 Numărul 89 Numărul 88 Numărul 87 Numărul 86 Numărul 85 Numărul 84 Numărul 83 Numărul 82 Numărul 81 Numărul 80 Numărul 79 Numărul 78 Numărul 77 Numărul 76 Numărul 75 Numărul 74 Numărul 73 Numărul 72 Numărul 71 Numărul 70 Numărul 69 Numărul 68 Numărul 67 Numărul 66 Numărul 65 Numărul 64 Numărul 63 Numărul 62 Numărul 61 Numărul 60 Numărul 59 Numărul 58 Numărul 57 Numărul 56 Numărul 55 Numărul 54 Numărul 53 Numărul 52 Numărul 51 Numărul 50 Numărul 49 Numărul 48 Numărul 47 Numărul 46 Numărul 45 Numărul 44 Numărul 43 Numărul 42 Numărul 41 Numărul 40 Numărul 39 Numărul 38 Numărul 37 Numărul 36 Numărul 35 Numărul 34 Numărul 33 Numărul 32 Numărul 31 Numărul 30 Numărul 29 Numărul 28 Numărul 27 Numărul 26 Numărul 25 Numărul 24 Numărul 23 Numărul 22 Numărul 21 Numărul 20 Numărul 19 Numărul 18 Numărul 17 Numărul 16 Numărul 15 Numărul 14 Numărul 13 Numărul 12 Numărul 11 Numărul 10 Numărul 9 Numărul 8 Numărul 7 Numărul 6 Numărul 5 Numărul 4 Numărul 3 Numărul 2 Numărul 1
×
▼ LISTĂ EDIȚII ▼
Numărul 16
Abonament PDF

Automatizări industriale prin OPC UA

Waldemar Knopp
Software Engineer
@Evoline



PROGRAMARE


OPC (Open Platform Communication) este un standard în comunicația industrială care permite conectivitate și interoperabilitate universală. Este utilizat în industria de automatizare și sistemele IT al intreprinderilor industriale. Interoperabilitatea este asigurată prin crearea și întreținerea standardelor de specificație publică (open specification).

Tehnologia OPC se bazează pe arhitectura Client/Server și este o soluție care oferă o comunicare prin standarde industriale ce permit utilizatorilor să faciliteze crearea arhitecturii și implementarea proiectelor lor.

OPC a fost conceput pentru a conecta sisteme, rețele, hardware cu diferite sisteme de operare (ex. Windows, Linux). De asemenea rolul este și procesarea și monitorizarea datelor primite de la hardware sau software. Este un open standard care oferă metode sigure de accesare și descriere al datelor (field data) care sunt trimise direct sau interogate de la dispozitivele plant-floor. Aceste metode rămân aceleași indiferent de sursă și tipul de date.

Serverul OPC oferă multe tipuri de pachete de software cu metoda de accesare a datelor de la dispozitive process control cum sunt PLC (Programable Logic Controller) sau DCS (Distributed Control System). În mod tradițional, de fiecare dată când un pachet de software vrea să acceseze date de la un dispozitiv este necesară scrierea unei interfețe sau driver personalizat.

Scopul OPC este definirea unei interfețe comune care după ce a fost odată conceput poate fi reutilizat în orice alt proiect, SCADA, HMI sau alte pachete de software. Chiar dacă un server OPC se implementează pentru un dispozitiv anume, el va putea fi reutilizat de către orice altă aplicație ce poate acționa ca un client OPC.

De ce OPC UA?

OPC Unified Architecture oferă: interoperabilitate și standardizare. În timp ce OPC-ul convențional a rezolvat problema interoperabilității la nivelul de Control, a apărut necesitatea standardizării layer-elor de la nivelul Enterprise și până la plant-floor inclusiv. OPC-ul clasic este bazat pe Microsoft DCOM care poate duce la vulnerabilitatea acestor layer-e. Cerința pentru simplicitate, interoperabilitate și securitate maximă a determinat OPC Foundation să creeze o metodă unificată a comunicării de date privind partea specificațiilor OPC DA (Data Access), HDA (History Data Access), A&E (Alarms and Events) și Security.

OPC Unified Architecture extinde protocolul de comunicare de mare succes al OPC, permițând colectarea de date, modelarea informațiilor și o comunicare mai fiabilă și mai sigură dintre plant-floor și enterprise layer.

Specificații OPC / OPC UA

OPC este un set de interfețe grupate în categorii, fiecare fiind dedicată unei funcționalități aparte. Categoria este utilizată și pentru a distinge versiuni noi ale aceleiași grupe de interfețe. Fiecare categorie de interfețe este descrisă în documente separate - o specificație având o denumire simbolică și un număr de versiune explicit (ex. OPC Data Access 3.0, OPC UA DA 2.0).

Arhitectura OPC UA

Următoarea imagine reprezintă o arhitectură simplificată al OPC UA, compusă din cele două elemente principale: serverul și clientul.

Serverul conține Address Space-ul pus la dispoziția clienților (informații detailate mai jos), care în exemplul de mai sus poate reprezenta un dispozitiv cum ar fi un senzor termic, un manometru sau un comutator feroviar etc. Modelul informațional conține tipul exact al dispozitivelor și al relațiilor dintre ele, de ex. valoarea senzorului termic este stocat într-un câmp de tip double, float ori într-unul mai complex.

Clientul interoghează Address Space-ul, de exemplu toate componentele unui comutator feroviar și le prezintă utilizatorului ca pe o interfață grafică. Clientul are posibilitatea de a vedea toate datele provenite de la componente și primește alarme și evenimente cu privire la starea acestora. De exemplu, în cazul în care manevra de schimbare a unui comutator feroviar a avut loc cu succes, clientul va primi un eveniment și între timp toate datele componentelor participante la manevră se vor actualiza la client: consumul de energie electrică, temperatura motorului de comutare. În cazul în care manevra a eșuat, clientul va primi o alarmă conținând datele care indică problema.

În cele mai multe cazuri, conexiunea dintre client și server utilizează layerul network, de exemplu Internet sau LAN, care în funcție de configurare poate fi o conexiune securizată. SDK-urile oferă posibilitatea ca serverul și clientul să fie implementate prin diferite limbaje de programare, iar prin aceasta ele capătă independență față de platformă.

Modelul Informatiei

Pentru ca sistemul să fie interoperabil, mecanismul de transfer al datelor trebuie asociat unui model consistent de reprezentare al informațiilor. OPC UA folosește obiectul ca un concept fundamental pentru reprezentarea datelor și a activității unui subsistem. Obiectele sunt substituenți pentru variabile, evenimente și metode fiind interconectate prin referințe. Acest concept este similar cu binecunoscuta programare orientată pe obiecte (OOP). Modelul de informații OPC UA furnizează caracteristici cum sunt abstractizarea datelor, încapsularea, polimorfismul și moștenirea.

Metamodelul OPC UA permite definirea unui model informațional prin definirea obiectului, variabilei și a tipului de date, precum și a tipului de referințe. Specificația definește modelul informațional de bază care la rândul său conține deja o serie de tipuri de bază.

Unul dintre principalele scopuri ale OPC UA este expunerea informației care poate fi utilizată de clienți pentru a administrara procesul de bază în timp real. De asemenea, se urmărește integrarea procesul de control și sistemul de management într-un mediu omogen. De obicei, clienții au nevoie numai de o parte anume a informațiilor ce le stau la dispoziție la un moment dat. Pentru a putea face față acestei solicitări informația publicată trebuie să fie bine organizată și accesibilă în mod selectiv ca o entitate (node) cu adresă concretă . Colecția acestor noduri puse la dispoziție de către OPC UA server este denumită Address Space și descrierea acestuia se numește Information Model.

Imaginea de mai sus reprezintă o abordare grafică al unui model deja implementat. În vederea unei explicații mai ușoare, imaginea poate fi împărțită în două părți de săgeata orizontală: în partea dreaptă este modelul de informații care conține tipurile de date și în partea stângă este Address Space-ul bazat pe aceste tipuri. Săgeata orizontală din imagine este așa numita "HasTypeDefinition". Nodurile "First Name" și "Last Name" al obiectulului "Who", respectiv al tipului "Person Type" sunt conectate de acestea prin "HasComponent".

Address Space

Address Space este un model intern compus mai ales din noduri care reprezintă plant-floor-ul propriu-zis (senzor termic, comutator feroviar, etc.) de la care solicităm și așteptăm date sau primim evenimente.

Aplicația client al OPC UA este un browser generic utilizat pentru a explora și manipula Address Space-ul unui anumit server. Clientul deține funcționalități precum navigarea prin Address Space, citirea și scrierea atributelor unui nod, subscrierea la evenimente și modificările de date (venind de la layerul din plant-floor sau cel din control) și multe alte posibilități de a apela metode. Address Space este stocat într-o sursă de date specială (bază de date sau fișier XML) și în momentul pornirii server-ului este încărcat în totalitate în memoria acestuia, conferind astfel clientului un acces rapid la informațiile solicitate din Address Space.

Conținutul Address Space-ului, respectiv datele care reprezintă plant-floor-ul sunt create/modelate de către programe de modelare aparținând unui anumit SDK, iar din modelul creat se generează un cod utilizat de serverul OPC UA.

Fiecare SDK vine cu un modeler cu ajutorul căruia se poate construi Address Space-ul, adică acel model care reprezintă dispozitivul plant-floor.

O aplicație "" modeler "" prin adăugarea de noduri și referințe, face posibilă vizualizarea Address Space-ului pe interfața grafică, prezentând modelul proiectat în mod ierarhic și grafic. Prezentarea grafică urmează instrucțiunile și sintaxele OPC UA. La sfârșit, printr-o singură apăsare de buton generează un cod cum ar fi C, C++, C#, Java. Astfel, implementarea este mai rapidă, iar calitatea software-ului mai bună, deoarece codul generat este bine structurat și fără erori. Prin reducerea implementării la "modelare și generare" pot fi implementate foarte rapid chiar și modelele complexe.

Evenimentele

Evenimentele sunt recepționate prin subscriere la EventNotifier. În mod obișnuit, ele nu sunt vizibile în Address Space, dar există câteva excepții, cum sunt Alarms și Conditions. Evenimentele sunt tipizate, iar în funcție de un anumit tip evenimentul are diferite câmpuri. OPC UA definește o ierarhie de bază a tipurilor de evenimente, care poate fi extinsă. În cazul în care problema este unică, acestea trebuie extinse cu tipuri proprii, pentru a putea recepționa date privind starea sistemului, a procesului din background etc.

Metode (Funcții)

Specificațiile existente al OPC COM se concentrează pe date sau evenimente, dar multe aplicații necesită operatiuni mai complexe care nu pot fi reduse la o singură dată sau un singur eveniment. Prin metodele OPC UA serverele permit clienților de a invoca funcții complexe cu un set de parametri. Funcțiile pot fi utilizate pentru a controla un proces background care declanșează evenimente de raportare a progresului acestuia.

Servicii OPC UA

Câteva dintre funcționalitățile OPC UA sunt oferite ca service-uri. De exemplu, următoarele service-uri sunt implementate de către server și folosite de către clienți: CreateSessionService - pentru a stabili conexiunea între server și client, BrowseService - pentru a explora Address Space-ul, ReadService - pentru a citi date de pe server, WriteService - pentru a actualiza date pe server, etc.

Citirea de date (Read Service)

Read Service este utilizat pentru a citi unul sau mai multe atribute ale unor sau mai multe noduri. Permite citirea subseturilor de elemente sau al unui singur element dintr-o mulțime de valori. În Address Space fiecare nod are atribute prestabilite care de obicei pot fi doar citite și determină starea și validitatea nodului. Atributele care sunt adăugate pe parcursul modelării și dezvoltării conțin informații care provin de la layer-ul din plant-floor. Cu ajutorul Read Sevice, clienții pot solicita de la server informații privind validitatea unui nod și despre datele pe care le conține și care provin de la plant-floor.

Scrierea de date (Write Service)

Write Service este utilizat pentru a scrie unul sau mai multe atribute ale unor sau mai multor noduri. Permite atât scrierea de subseturi, cât și a unor elemente individuale dintr-o multitudine de valori. Ca cele mai multe OPC UA Service-uri, Write Service este optimizat pentru a scrie mai multe operațiuni în același timp și nu pentru a scrie un singur atribut de valori. Clienții OPC UA pot scrie datele existene în Address Space, iar aceste schimbări pot atinge nivelul layer-ului din plant-floor sau ajung numai la nivelul control-ului.

Concluzii

Având în vedere independența față de platformă și faptul că utilizează tehnologia Web service state-of-the-art, ne putem aștepta ca OPC UA să fie aplicat într-o gamă din ce în ce mai largă de industrii și aplicații.

Caracteristicile cheie și beneficiile OPC UA sunt:

  • capacitatea platformei de a rula pe orice sistem de operare,
  • configurare și întreținere ușoară,
  • tehnologie service-based,
  • transparență mărită,
  • domeniu de conectivitate mai larg,
  • performanță mărită.

Principii OPC UA:

a55.jpg 

Acces unificat

OPC UA integrează specificațiile OPC existente: DA, A&E, HDA, Commands, Complex data and Object Types, într-o singură specificație.

a56.jpg 

Acces prin Firewall și prin Internet

OPC UA utilizează securitate la nivel de mesaj ceea ce înseamnă că mesajele pot fi transmise prin HTTP, port UA TCP sau orice alt port disponibil.

a57.jpg 

Fiabilitatea

OPC UA implementează timeout-uri configurabile, detectarea erorii și recuperarea comunicațiilor cu eșec. OPC UA permite comunicarea cu redundanță între aplicațiile diferiților furnizori.

a58.jpg 

Securitate

OPC UA este sigur implicit, cu posibilitate de encriptare și utilizează un sistem avansat de tratare a certificatelor de securitate

a59.jpg 

Independență față de platformă

OPC UA este conceput pentru a fi independent de platformă. Utilizând SOAP/XML prin HTTP, OPC UA poate fi rulat pe Linux, Windows XP Embedded, VxWorks, Mac, Windows 7 și alte platforme Windows clasice.

 

Referințe

OPC Unified Architecture, Wolfgang Mahnke, Stefan-Helmut Leitner, Matthias Damm, Springer, 2009

http://www.opcfoundation.org/

http://www.commsvr.com

https://www.matrikonopc.com

NUMĂRUL 149 - Development with AI

Sponsori

  • Accenture
  • BT Code Crafters
  • Accesa
  • Bosch
  • Betfair
  • MHP
  • BoatyardX
  • .msg systems
  • P3 group
  • Ing Hubs
  • Cognizant Softvision
  • Colors in projects