Quercus Lab
Blog o softverskom razvoju, elektronici …
  • Home
  • Autor
  • ResCulator
  • O otpornicima
Trenutno ste tu : Quercus Lab » Automatizacija » OPC Data Access server

OPC Data Access server

Posted By quercus On Thursday, April 26, 2012 07:35 AM. Under Automatizacija  

OPC Data Access server je najvažnija i najkorištenija OPC  specifikacija do sada. Smatra se da je oko 99% implementacija OPC tehnologije upravo ovo sučelje.  OPC DA server  omogućava razmjenu informacija u realnom vremenu  između uređaja u polju (procesu) kao što su PLC, DCS ili PAC, sustava za kontrolu  i nadzor  kao što su HMI, SCADA ili operatorski paneli. Dodatna funkcionalnost je mogućnost razmjene informacija između samih sustava automatizacije različitih proizvođača.   Arhitektura OPC DA Servera  je klijent-server model  gdje  OPC Server komponenta koja osigurava sučelje ka OPC objektima i upravlja sa njima. OPC klijent aplikacija komunicira sa OPC poslužiteljem preko spomenutih sučelja.

OPC DA sučelje (interface)

OPC tehnologija se temelji na  Microsoft OLE (ActiveX) tehnologiji i komunikacijskim modelima COM (Component Object Model) i DCOM (Distributed Component Object Model). OPC sadrži standardni set sučelja, svojstva i metoda koje se koriste u aplikacijama kontrola procesa i automatizacije. OLE/COM tehnologije definiraju se kako individualne programske komponente koje mogu međudjelovati i dijeliti podatke.

OPC specifikacije sadrže dva seta sučelja:

  1. Prilagođeno  sučelje (Custom Interface)
  2. Automatizacijsko sučelje (Automation Interface)

OPC poslužitelji moraju implementirati prilagođeno sučelje i opcijski  mogu implementirati automatizacijska  sučelja.

U neki m slučajevima OPC Foundation  osigurava omotnicu (wrapper) za standardno automatizacijsko sučelje . Ovaj wrapperDLL može biti korišten za bilo koji specifični proizvođački  (Vendor) poslužitelj.  Općenito, OPC klijent programi koji se kreiraju koristeći skriptno bazirane programske jezike će koristiti automatizacijsko sučelje. Klijent programi koji su kreirani u C++ će lakše koristiti prilagođeno sučelje za postizanje najbolje performanse.

Ono što ovaj standard želi definirati je zajednički način na koji aplikacije u oblasti upravljanja i vođenja procesa mogu pristupiti podacima o procesu. Automatizacijsko sučelje treba osigurati istu funkcionalnost kao i prilagođeno (Custom) sučelje, ali na način koji je blizak trendovima u načinu programiranja  u automatizaciji. Osnovni cilj dizajna sučelja je da radi kao omotnica (wrapper) za OPC DataAcces Custom Interface te da osigurava pogodan mehanizam funkcionalnosti. Klijent koji koristi OPC Data Automation sučelje koristi wrapper DLL kao sponu ka OPC Data Custom Interface serveru. Na ovaj način bilo koja aplikacija koja ima OLE Automation Interface funkcionalnost (VBA,VB.Net, Delphi,  Excel) ima mogućnost pristupa lokalnom OPC serveru  a preko wraper-a udaljenom OPC Custom Interface serveru.

OPC DA Server  model

OPCServer objekt je osnovna instanca OPC poslužitelja. Korisnik mora kreirati OPCServer objekt  prije nego se mogu dobiti reference za druge objekte. Sadrži OPCGroups kolekciju i kreira OPCBrowser objekte.

OPCServer objekt

OPCServer objekt osigurava  korisniku pristupi (za čitanje i pisanje) ili komunikaciju sa skupom izvora podataka. Tipovi izvora koji su na raspolaganju su funkcija implementacije poslužitelja. OPC Automation klijent se povezuje sa OPC Automation serverom koji komunicira sa izvorom podataka (odnosno sa DA Serverima), putem funkcionalnosti koju osiguravaju automatizacijski objekti koji su opisani u ovom standardu. OPCServer osigurava jedan OPCGroups objekt za Automation kolekciju da bi održavao sakupljanje OPCGroup objekata. Korisnik pristupa poslužitelju izvršavajući OPCServer.Connect metodu birajući jedan od dostupnih OPC poslužitelja čiju listu može dobiti pomoću OPCServer.GetOPCServers metode. Nakon uspješnog pristupa dostupna su mu podaci o karakteristici, statusu i postavkama izabranog poslužitelja kao što su verzija poslužitelja, proizvođač, ime poslužitelja i slično. Od događaja dostupan je samo jedan, OPCServer.ServerShutDown, koji obavještava da poslužitelj nije više dostupan.

 OPC Browser objekt

Objekt  koji  izlistava  (brows-a)  imena  stavki  (items)  u  konfiguraciji  poslužitelja.  Postoji  samo  jedna  instanca  OPCBrowser  objekta  za  instancu  OPCServer  objekta.  Ako  server  ne  podržava  izlistavanje  CreateBrowser  metoda OPCServer  objekta  neće  kreirati  ovaj  objekt.    Korisnik  su  dostupna  eventualna  hijerarhijska  organizacija  stavki  pomoću  OPCBrowser.ShowBranches  i  OPCBrowser.ShowLeafs  metoda  kao  i  navigacija  kroz  istu  metodama OPCBrowser.MoveToRoot, OPCBrowser.MoveUp, OPCBrowser.MoveDown i OPCBrowser.MoveTo metodama

OPCGroups i OPCGroup objekt

OPCGroups objekt je automatizacijska kolekcija koja sadrži sve OPCGroup objekte. Ovaj objekt klijent kreirao unutar opsega OPCServera sa kojim se automatizacijska  aplikacija povezala putem OPCServer.Connect metode. Osigurava korisniku dodavanje, modificiranje i upravljanje s kolekcijom OPCGrup objekta.

OPCGroup objekt je instanca OPCGroups objekta. Namjena ovog objekta je održavanje informaciju o stanju i osiguranje mehanizma kreiranja servisa akvizicije podataka za OPCItem Collection objekta koji OPCGroup objekt referencira. Korisnik dodaje novu grupu u kolekciju metodom OPCGruop.Add. Nakon  toga može svojstvom OPCGroup.IsActive kontrolirati status dostupnih podataka unutar grupe. Pomoću  svojstva OPCGroup.IsSubscribed se korisnik preplaćuje na asinkrono primanje podatak kada se promjeni vrijednost odabranih stavki na poslužitelju. Promjena vrijednosti inicira aktiviranje OPCGroup.DataChange događaja te se servisiranjem istog zaprimaju vrijednosti promijenjenih podataka. Definiranjem svojstva OPCGropu.UpdataRate kontrolira se period sinkrone razmjene (Read/Write) odabranih podataka u milisekundama. Razmjena se ostvaruje OPCGroup.SincWrite i OPCGroup.SincRead metodama. Asinkrona razmjena podataka moguća je metodama OPCGroup.AsincRead, OPCGroup.AsincWrite te     OPCGroup.AsincRefresh metodama. Završetkom asinkrone razmjene podataka generiraju se događaji OPCGroupe.AsincReadComplete i OPCGroup.AsincWriteComplete.

OPCItems i OPCItem objekt

OPCItems je  kolekcija koja sadrži sve OPCItem objekte koje  klijent kreira unutar opsega OPCServer-a, i odgovarajućeg OPCGroup objekta koji je automatizacijska aplikacija kreirala. OPCItem je Automation objekt koji održava definiciju stavki (Item-a), trenutnu vrijednost, statusnu informaciju i posljednje vrijeme ažuriranja (Update).

OPC DA tipovi podataka

Kao što je spomenuto u početki OPC koristi COM a osnovni tip podataka u njemu je Variant. Variant je tip  podataka duljine 16 byte koji u sebi može sadržavati većinu ostalih   tipova. Prva dva byta su cijelobrojni podaci koji definiraju tip podataka koji su pohranjeni od 7 do 15 byte.

Svi OPC serveri podržavaju slijedeće tipove Variant podataka:

TipPodaci u bytovima 8 do 15Opis vrijednosti koji VARIANT vrača
 VT_I1 1-byte signed integer Cijelobrojna vrijednost  duljine 1 byta
 VT_I2 2-byte signed integer Cijelobrojna vrijednost  duljine 2 byta
 VT_I4 4-byte signed integer Cijelobrojna vrijednost  duljine 4 byta
 VT_UI1 1-byte unsigned integer Pozitivna cijelobrojna vrijednost duljine 1 byta
 VT_UI2 2-byte unsigned integer Pozitivna cijelobrojna vrijednost duljine 2 byta
 VT_UI4 4-byte unsigned integer Pozitivna cijelobrojna vrijednost duljine 4 byta
 VT_R4 4-byte IEEE floating-point number Realna vrijednost  duljine 4 byta
 VT_R8 8-byte IEEE floating-point number Realna vrijednost  duljine 8 byta
 VT_CY CURRENCY type Novčana vrijednostima s decimalnim zarezom
 VT_DATE DATE type Datum i vrijeme
 VT_BSTR BSTR type String koji počinje s oznakom duljine a završava s  null karakterom
 VT_BOOL VARIANT_BOOL type Logička vrijednost TRUE ili FALSE

 

← OPC tehnologija
VB OPC klijent →
  • Zadnje objave
    • Netduino – mikrokontroleri na objektni način
    • VB OPC klijent
    • OPC Data Access server
    • OPC tehnologija
    • Kapacitivne dodirne tipke
  • Arhiva
    • January 2013
    • October 2012
    • April 2012
    • February 2012
    • January 2012
    • December 2011
    • November 2011
    • October 2011
  • Kategorije
    • Automatizacija
    • Mikrokontroleri
    • Razno
Copyright © 2018. All Rights Reserved.