Porovnávané verzie

Kľúč

  • Tento riadok sa pridal
  • Riadok je odstránený.
  • Formátovanie sa zmenilo.

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

Kotva
popis_protokolu
popis_protokolu
Popis protokolu

...

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

Kotva
inicializacia_komunikacie
inicializacia_komunikacie
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.

...

Po vytvorení komunikačného kanálu môže klient poslať správu na vytvorenie session 17272735, "CreateSession Message", teda spojenia na úrovni aplikačnej vrstvy OSI modelu. Po úspešnom potvrdení žiadosti serverom je potrebné session 17272735 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 17272735 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 17272735 s parametrami nastavenými na úrovni komunikačnej stanice.

Do novovytvorených subscription 17272735 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 17272735 informuje klienta o zmenách na monitorovaných objektoch pomocou

Kotva
publish_message
publish_message
"Publish message" správy. V prípade, že na monitorovaných objektoch nedôjde ku zmene, server raz za (Max KeepAlive Count * Publishing Interval) sekúnd pošle "Publish message", ktorej primárna úloha je oznámiť klientovi, že subscription 17272735 je stále aktívna. Podobný kontrolný mechanizmus je urobený taktiež aj na strane klienta - posiela "Publish message" raz za (Max KeepAlive Count * Publishing Interval). Ak do času (LifeTime Count * Publishing Interval) klient nepošle požiadavku "Publish message", tak subscription 17272735 na strane servera zaniká.

...

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).

...

Názov parametraPopisJednotkaNáhradná hodnota
Kotva
sn
sn
Session Name
Textový identifikátor session 17272735. Identifikátor session 17272735 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.StringKom process
Kotva
cl
cl
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:ss01:00:00
Kotva
st
st
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 17272735, ktoré sa z nejakého neočakávaného dôvodu stali neaktívne.mm:ss01:00
Kotva
at
at
Authentication Type
Typ autentifikácie použitej voči OPC UA serveru. Podporené typy sú:Anonymous / UsernameAnonymous
Kotva
tun
tun
Token User Name
Užívateľské meno použité v autentifikácii, ak Authentication type = Username.  
Kotva
pwd
pwd
Token Password
Heslo použité v autentifikácii, ak Authentication type = Username.  
Kotva
dm
dm
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/FullNormal
Kotva
dt
dt
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 threadsAll threads

...

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

Názov parametraPopisJednotkaNáhradná hodnota
Kotva
subrpi
subrpi
Requested Publishing Interval
Hodnota, v akých časových intervaloch má server poslať informáciu o zmene monitored items v rámci inštancie subscription 17272735 pomocou "Publish message".
Pozn: parameter určuje navrhovanú hodnotu parametra, ktorú OPC UA server môže zmeniť, napr. Bernecker-Rainer vracal vždy hodnotu "Publishing Interval" aspoň 50 ms, hoci požadovaný interval bol menší.
mi:ss.mss00:05.000
Kotva
subrlc
subrlc
Requested LifeTime Count
Ak do času daného (LifeTime Count * Publishing Interval) nepríde od klienta žiadosť o dáta / subscription 17272735 zaniká. Je potrebné, aby hodnota tohto parametra bola minimálne 3 krát väčšia, ako hodnota "Requested Max KeepAlive Count".
Pozn: parameter určuje navrhovanú hodnotu parametra, ktorú OPC UA server môže zmeniť, napr. Bernecker-Rainer vracal vždy hodnotu "LifeTime Count" maximálne 600, hoci požadovaná hodnota bola väčšia.

Number
1000
Kotva
subrmkc
subrmkc
Requested Max KeepAlive Count
V prípade, že v objektoch subscription 17272735 nedôjde ku zmene, server po uplynutí času (Max Notifications Per Publish * Publishing Interval) pošle keep-alive správu, ktorú klient potvrdí tým, že pošle novú žiadosť o dáta.
Pozn: parameter určuje navrhovanú hodnotu parametra, ktorú OPC UA server môže zmeniť, napr. Bernecker-Rainer vracal vždy hodnotu "Max KeepAlive Count" maximálne 200, hoci požadovaná hodnota bola väčšia.
Number5
Kotva
mnpp
mnpp
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ý.Number0
Kotva
pe
pe
Publishing Enabled
Parameter zapína/vypína publishing v rámci subscription 17272735.YES/NO0
Kotva
p
p
Priority
Udáva relatívnu prioritu jednej subscription 17272735. V prípade, že server má poslať viac notifikácii, subscription 17272735 s väčšou prioritou bude uprednostnený.0-2550
Kotva
mqs
mqs
Samples Queue Size
Pomocou tohto parametra je možné pre každý monitorovaný item v subscription 17272735 vytvoriť na strane servera frontu objektov s danou dĺžkou.Number0

...

NázovPopisJednotkaNáhradná hodnota
IDTextová reprezentácia identifikátora, ktorá je v závislosti od ID type prekonvertovaná na potrebný natívny typ.String 
ID typeVymenované 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/ByteStringUndefined
Namespace
Kotva
namespace_index
namespace_index
Čí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 typeTypy 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 arrayUndefined
Array indexV 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 onlyDaným checkboxom je možné nastaviť, či meraný bod bude súčasťou subscription 17272735. Teda jeho hodnota bude periodicky posielaná zo servera formou "Publish message".Unchecked/checkedUnchecked
Expanded Node IDCheckbox 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 indexUnchecked/checkedUnchecked
NamespaceUriTextový 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.Numeric0

...

NázovPopisJednotkaNáhradná hodnota
Sampling typeParameter 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 timeParameter umožňujúci zadefinovať vlastnú hodnotu vzorkovacej frekvencie v prípade, že "Sampling type" má hodnotu "Custom rate".ss.ms0.0
Deadband typeDeadband 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 valueParameter umožňujúci zadefinovať vlastnú hodnotu deadband v prípade, že je zvolená relatívna/absolútna hodnota ("Percent"/"Absolute"). 0.0
Trigger typeParameter š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

...

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 priami potomkovia zvoleného objektu (premenné, tagy). Pomocou dvojkliku na jeden zo zobrazených potomkov sa adresné parametre daného objektu prenesú do adresného dialógu meraného bodu.

Pozn: vo verziách zo 17.12.2018 a novších bolo implementované recyklovanie prehliadacieho dialógu. Pokiaľ je dialóg zavretý tlačidlom Close alebo po výbere tagu, v skutočnosti je iba skrytý a je k dispozícii pre browsovanie iného meraného bodu v rámci tej istej stanice, takže sa zachováí stromová štruktúra prehliadaných objektov. Kliknutie na krížik vpravo hore spôsobí skutočné zavretie dialógu.

Image Added

Zaškrtnutie voľby "Structured tags" spôsobí, že v stromovej štruktúre sa okrem objektov zobrazia aj premenné (tagy) a KOM proces sa pokúša načítať aj ich potomkov. Toto je užitočné pre prehliadanie OPC UA serverov, ktoré podporujú štruktúrované tagy. Vložiť tag do adresného dialógu meraného bodu je možné aj dvojklikom na názov tagu v stromovej štruktúre.

Image AddedOPC UA prehliadací dialógImage Removed

Kotva
literatura
literatura
Literatúra

...

Kotva
revizie
revizie
Revízie dokumentu

...

  • Ver. 1.0 – 10. máj 2012
  • Ver. 1.1 – 17. december 2018: doplnené recyklovanie prehliadacieho okna a browsovanie štruktúrovaných tagov
Info
titleSúvisiace stránky:

Komunikačné protokoly

...