Vidíte historickú verziu tejto stránky. Pozrite si aktuálnu verziu.

Porovnať s aktuálnou verziou Zobraziť históriu stránky

Verzia 1 Ďalej »

Protokol OPC Unified Architecture Data Access Client

Popis protokolu
Základné pojmy
Inicializácia komunikácie
Konfigurácia komunikačnej linky
Konfigurácia protokolu na úrovni komunikačnej stanice
Konfigurácia protokolu na úrovni komunikačnej linky
Konfigurácia na úrovni meraného bodu
Prehliadací dialóg
Literatúra
Zmeny a úpravy
Revízie dokumentu

Popis protokolu


Protokol OPC UA je ďalšou generáciou OPC štandardu, ktorý poskytuje kohézny, bezpečný a spoľahlivý platformovo nezávislý rámec pre prístup k realtime dátam. Hlavný rozdiel oproti predchádzajúcim verziám OPC štandardu spočíva v tom, že namiesto COM/DCOM technológie na medziprocesnú komunikáciu je použitá TCP/IP komunikácia. Daný protokol podporuje dva typy kódovania dát (binárne kódovanie a XML). Doterajšia implementácia OPC klienta zatiaľ podporuje iba binárne kódovanie.

Základné pojmy


Endpoint: fyzická adresa na sieti, ktorá dovoľuje klientovi pristupovať k jednej alebo viacerým službám poskytovaných serverom.

Session: možno chápať ako abstraktné spojenie OPC UA servera a klienta na aplikačnej vrstve OSI vrstvy.

Monitored item: klientsky zadefinovaná entita na OPC UA serveri používaná na monitorovanie hodnôt.

Subscription: klientsky zadefinovaný objekt na OPC UA serveri používaný na vracanie notifikácii o zmene monitorovaných itemoch.

Inicializácia komunikácie


Počas inicializácie komunikácie dochádza medzi klientom a serverom k výmene niekoľkých správ. V prípade binárneho kódovania je prvá správa, ktorú klient odošle serveru "Hello Message". V nej klient navrhne serveru veľkosti prijímacích a odosielacích buffrov a maximálne veľkosti správ, ktoré môžu byť počas TCP komunikácie vymieňané. Taktiež v nej zadefinuje URL adresu endpointu. Server mu odpovie "Acknowledge message", v ktorej navrhnuté parametre potvrdí alebo upraví podľa svojich limitov.

Ďalšia správa, ktorá je odoslaná klientom je "OpenSecureChannel message". Ňou sa klient snaží vytvoriť komunikačný kanál, po ktorom budú vymieňané dáta. V rámci výmeny tejto správy sa klient so serverom dohodnú, či sa použije režim podpisovania a kryptovania alebo iba nekryptovaný režim. Implementácia OPCUA klienta v D2000 podporuje iba nekryptovaný režim.

Po vytvorení komunikačného kanálu môže klient poslať správu na vytvorenie session, "CreateSession Message", teda spojenia na úrovni aplikačnej vrstvy OSI modelu. Po úspešnom potvrdení žiadosti serverom je potrebné session aktivovať správou "ActivateSession Message". V aktivačnej správe sa klient so serverom dohodnú na algoritmoch pre podpisovanie a šifrovanie, teda v prípade, že dané režimy boli zvolené pri vytváraní komunikačného kanálu.

Po aktivovaní session môžu byť vymieňané všetky typy správ slúžiace na správu objektov v adresnom priestore OPC UA servera. Klient v tejto fáze vytvorí pre všetky stanice v rámci komunikačnej linky subscription s parametrami nastavenými na úrovni komunikačnej stanice.

Do novovytvorených subscription je následne potrebné vložiť monitored items. Tie zodpovedajú inštanciám meraných bodov s parametrami, ktoré je možné nastaviť v adresnom dialógu.

Od daného okamihu server v periodických intervaloch nastavených v parametroch subscription informuje klienta o zmenách na monitorovaných objektoch pomocou "Publish message" správy. V prípade, že na monitorovaných objektoch nedôjde ku zmene, server raz za (Requested Max KeepAlive Count*Requested Publishing Interval) sekúnd pošle "Publish message", ktorej primárna úloha je oznámiť klientovi, že subscription je stále aktívna. Podobný kontrolný mechanizmus je urobený taktiež aj na strane klienta. Ak do času (Requested LifeTime Count*Requested Publishing Interval), klient nepošle potvrdenie "Publish message" / subscription na strane servera zaniká.

Konfigurácia komunikačnej linky


Kategória komunikačnej linky: OPC UA Client
Host address: Adresa OPC UA servera. Možno zadať mená podľa konvencie UNC (napr. "\\server" alebo "server", doménové DNS mená (napr. "domain.com", "example.company.com") alebo IP adresy ("196.54.23.113").
TCP port: TCP port OPC UA servera (napr. 4840).
EndpointUrl: Adresa endpointu (napr. opc.tcp://localhost:4840)
Encoding type: Typ kódovania použitého pri výmene dát (aktuálne podporované je iba Binary encoding).

Konfigurácia protokolu na úrovni komunikačnej linky


Názov parametra Popis Jednotka Náhradná hodnota
Session Name Textový identifikátor session. Identifikátor session by mal byť unikátny v rámci inštancie klienta, vďaka čomu je možné rýchlejšie vyhľadávanie problémov v logoch klienta alebo servera. String Kom process
Requested Channel Lifetime Navrhovaný čas, pred uplynutím ktorého je potrebné vykonať znovuotvorenie kanála. V prípade, že k nemu nedôjde v danom čase, kanál sa uzavrie a nebude možné v rámci neho vymieňať dáta. hh:mm:ss 01:00:00
Requested Session Timeout Navrhovaný čas, pred uplynutím ktorého je potrebné medzi klientom a serverom poslať ľubovoľnú správu. V prípade, že sa nepošle do daného času, uvoľnia sa zdroje držané na serveri v rámci danej session. Primárnou úlohou tohto parametra je odstránenie session, ktoré sa z nejakého neočakávaného dôvodu stali neaktívne. mm:ss 01:00
Authentication Type Typ autentifikácie použitej voči OPC UA serveru. Podporené typy sú: Anonymous / Username Anonymous
Token User Name Užívateľské meno použité v autentifikácii, ak Authentication type = Username.    
Token Password Heslo použité v autentifikácii, ak Authentication type = Username.    
Debug Mode Pomocou daného parametru je možné zmeniť počet informácií o chode komunikácie. Režim Extended/Full odporúčame zapínať iba pri detekcii problémov a ladení komunikácie. Normal/Extended/Full Normal
Debug Threads Parameter určuje vlákno, resp. vlákna, ktoré budú posielať informačné výpisy o chode komunikácie. Receiving/Sending/Others treads/All threads All threads

Konfigurácia protokolu na úrovni komunikačnej stanice


Parametre na úrovni komunikačnej stanice zodpovedajú nastaveniu jednej subscription. Teda jedna komunikačná stanica je ekvivalentná jednej inštancii subscription v rámci session.

Názov parametra Popis Jednotka Náhradná hodnota
Requested Publishing Interval Parameter určuje v akých časových intervaloch má server poslať informáciu o zmene monitored items v rámci inštancie subscription pomocou "Publish message". mi:ss.mss 00:05.000
Requested LifeTime Count Ak do času daného (Requested LifeTime Count*Requested Publishing Interval) nepríde od klienta žiadosť o dáta / subscription zaniká. Je potrebné, aby hodnota tohto parametra bola minimálne 3 krát väčšia, ako hodnota "Requested Max KeepAlive Count". Number 1000
Requested Max KeepAlive Count V prípade, že v objektoch subscription nedôjde ku zmene, server po uplynutí času (Max Notifications Per Publish * Requested Publishing Interval) pošle keep-alive správu, ktorú klient potvrdí tým, že pošle novú žiadosť o dáta. Number 5
Max Notifications Per Publish Parameter udáva maximálny počet notifikácii o zmene objektu, ktorú server môže poslať v jednej "Publish message". Nulový parameter indikuje, že počet notifikácii nie je obmedzený. Number 0
Publishing Enabled Parameter zapína/vypína publishing v rámci subscription. YES/NO 0
Priority Udáva relatívnu prioritu jednej subscription. V prípade, že server má poslať viac notifikácii, subscription s väčšou prioritou bude uprednostnený. 0-255 0
Samples Queue Size Pomocou tohto parametra je možné pre každý monitorovaný item v subscription vytvoriť na strane servera frontu objektov s danou dĺžkou. Number 0

Konfigurácia na úrovni meraného bodu


Na nastavenie parametrov monitorovaných objektov slúži adresný dialóg meraného bodu.

Nastavenie adresy objektu

Názov Popis Jednotka Náhradná hodnota
ID Textová reprezentácia identifikátora, ktorá je v závislosti od ID type prekonvertovaná na potrebný natívny typ. String  
ID type Vymenované typy identifikátorov, pomocou ktorých je možné v adresnom priestore OPC UA pristupovať k objektom.
Numberic-1B ID: Identifikátor obmedzený na 1-bytovú hodnotu (0-255)
Numberic-2B ID: Identifikátor obmedzený na 2-bytovú hodnotu (0-65535)
Numberic-4B ID: 4-bytový identifikátor
String: Textový identifikátor
Guid -16B ID: 16-bytové(128-bit) číslo, ktoré je zvyčajne rozdelené do štyroch častí. Napríklad 3F2504E0-4F89-11D3-9A0C-0305E82C3301.
ByteString: Identifikátor reprezentovaný ako sekvencia bytov.
Numeric-1B ID / Numeric-2B ID/ Numeric-4B ID/String/Guid -16B ID/ByteString Undefined
Namespace Číslicový identifikátor menného priestoru OPC UA servera. Každý OPC UA server môže mať N menných priestorov, pričom identifikátor objektu v rámci jedného menného priestoru musí byť jedinečný. Numeric  
Variable type Typy hodnôt objektov, ktoré dokáže OPC UA klient spracovať. Výber Variable type je nutný iba v prípade, že daný meraný bod bude slúžiť na zápis. V prípade čítania hodnoty objektu je informácia o type hodnoty posielaná spolu s hodnotou. Undefined / Boolean / Byte / SByte / Integer16 / Unsigned16 / Integer32 / Unsigned32 / Integer64 / Unsigned64 / Float / Double / String / UTC Time / Boolean array / Byte array / SByte array / Integer16 array / Unsigned16 array / Integer32 array / Unsigned32 array / Integer64 array / Unsigned64 array / Float array / Double array / String array / UTC Time array Undefined
Array index V prípade, že hodnota objektu je reprezentovaná vo forme poľa hodnôt (Boolean array / Byte array / SByte array / Integer16 array / Unsigned16 array / Integer32 array / Unsigned32 array / Integer64 array / Unsigned64 array / Float array / Double array / String array / UTC Time array), daný parameter slúži na zadefinovanie jeho rozsahu, resp. hodnoty konkrétneho prvku.
Textová reprezentácia indexu poľa môže mať niekoľko variácií:
  • Samostatný integer, napr. "6", keď chceme z poľa získať iba jednu hodnotu.
  • Rozsah reprezentovaný dvoma integermi separovanými dvojbodkou, napr. "6:7", keď chceme z poľa získať hodnoty v určitom rozsahu.
  • V prípade viacdimenzionálnych polí je potrebné použiť výraz oddelený čiarkou, napríklad "6,7", keď chceme získať konkrétnu hodnotu prvku dvojdimenzionálneho poľa. V prípade zadefinovania rozsahu je potrebné použiť výraz oddelený bodkočiarkou, napríklad "6:8,7:10".
String  
Write only Daným checkboxom je možné nastaviť, či meraný bod bude súčasťou subscription. Teda jeho hodnota bude periodicky posielaná zo servera formou "Publish message". Unchecked/checked Unchecked
Expanded Node ID Checkbox zapína možnosť adresovať ExpandedNodeId. ExpandedNodeId, na rozdiel od klasického identifikátora v adresnom priestore OPC UA servera, je rozšírený o NameSpace URI a Server index Unchecked/checked Unchecked
NamespaceUri Textový identifikátor menného priestoru OPCUA servera použitý namiesto číslicovej reprezentácie namespace. String  
ServerIndex Číselný identifikátor, ktorý adresuje číslo servera pri použití ExpandedNodeID identifikátora. Numeric 0

Nastavenie ostatných parametrov monitorovaného objektu

Názov Popis Jednotka Náhradná hodnota
Sampling type Parameter určuje vzorkovaciu frekvenciu monitorovaného objektu. Pri použití "Publishing rate" je vzorkovacia frekvencia ekvivalentná času Requested Publishing Interval nastaveného na úrovni komunikačnej stanice. "Practical fastest rate" nastaví vzorkovaciu frekvenciu na maximálnu možnú hodnotu. Pri použití tretej možnosti, "Custom rate", je možné špecifikovať vlastný vzorkovací interval, ktorý je možné zadefinovať v parametri Sampling Time. Publishing rate/
Practical fastest rate/
Custom rate
Publishing rate
Sampling time Parameter umožňujúci zadefinovať vlastnú hodnotu vzorkovacej frekvencie v prípade, že "Sampling type" má hodnotu "Custom rate". ss.ms 0.0
Deadband type Deadband je pásmo, v ktorom zmena hodnoty nevyvolá Data Change Notification, ktorá je súčasťou Publish Message. Pri použití parametra "None" je toto pásmo ignorované. V opačnom prípade sa použije buď relatívna alebo absolútna hodnota pásma ("Percent"/"Absolute") zadefinovaného v parametri "DeadBand value". None/
Absolute/
Percent
None
DeadBand value Parameter umožňujúci zadefinovať vlastnú hodnotu deadband v prípade, že je zvolená relatívna/absolútna hodnota ("Percent"/"Absolute").   0.0
Trigger type Parameter špecifikuje podmienku, pri ktorej sa vyvolá Data Change Notification. Pri použití "Status" sa reportuje iba zmena statusu, zmena hodnoty a časovej pečiatky je ignorovaná. V prípade použitia "Status,Value" je ignorovaná zmena časovej pečiatky. Posledný parameter, "Status,Value,Timestamp", zaručuje reportovanie vo všetkých troch prípadoch, teda pri zmene statusu, hodnoty alebo časovej pečiatky. Status/
Status,Value/
Status,Value,Timestamp
Status,Value,Timestamp

Prehliadací dialóg


Dialógové okno slúži na jednoduché prezeranie a vkladanie OPC UA objektov do adresných parametrov meraného bodu. Vo vrchnej časti okna je zobrazená stromová štruktúra adresného priestoru. Kliknutím na objekt v tejto štruktúre sa v dolnej časti dialógu objavia priamy potomkovia zvoleného objektu. Pomocou dvojkliku na jeden zo zobrazených potomkov sa adresné parametre daného objektu prenesú do adresného dialógu meraného bodu.

OPC UA prehliadací dialóg

Literatúra


Dokumenty OPC Foundation, ktoré je možné získať na lokalite http://www.opcfoundation.org/.

  • OPC UA Part 1 - Overview and Concepts 1.01 Specification
  • OPC UA Part 2 - Security Model 1.01 Specification
  • OPC UA Part 3 - Address Space Model 1.01 Specification
  • OPC UA Part 4 - Services 1.01 Specification
  • OPC UA Part 5 - Information Model 1.01 Specification
  • OPC UA Part 6 - Mappings 1.00 Specification
  • OPC UA Part 7 - Profiles 1.00 Specification
  • OPC UA Part 8 - Data Access 1.01 Specification

Zmeny a úpravy


  • 10. máj 2012 - vytvorenie dokumentu

Revízie dokumentu


  • Ver. 1.0 – 10. máj 2012

Súvisiace stránky:

  • Žiadne štítky