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
Tell príkazy
Literatúra
Zmeny a úpravy
Revízie dokumentu
Kotva | ||||
---|---|---|---|---|
|
...
Kotva | ||||
---|---|---|---|---|
|
Kotva | ||||
---|---|---|---|---|
|
...
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 OPC Unified Architecture Data Access Client#session session, "CreateSession Message", teda spojenia na úrovni aplikačnej vrstvy OSI modelu. Po úspešnom potvrdení žiadosti serverom je potrebné 42702241 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í 42702241 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 42702241 subscription s parametrami nastavenými na úrovni komunikačnej stanice.
Do novovytvorených 42702241 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 42702241 subscription informuje klienta o zmenách na monitorovaných objektoch pomocou
Kotva | ||||
---|---|---|---|---|
|
...
- Simatic S-7 OPC UA Server
- Bernecker virtual PLC embedded OPC UA Server
- Zenon OPC UA Server
...
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"). V prípade redundantných systémov je možné zadávať aj viacero mien/adries oddelených čiarkami alebo bodkočiarkami.
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 parametra | Popis | Jednotka | Náhradná hodnota | ||||||
---|---|---|---|---|---|---|---|---|---|
| Typ použitého klienta (ovládača na OPC UA komunikáciu):
| Default Secure | Default | ||||||
| Textový identifikátor 42702241 session. Identifikátor 42702241 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 | ||||||
| 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 | ||||||
| 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 42702241 session, ktoré sa z nejakého neočakávaného dôvodu stali neaktívne. | mm:ss | 01:00 | ||||||
| Typ autentifikácie použitej voči OPC UA serveru. Podporené typy sú:
| Anonymous / Username | Anonymous | ||||||
| Ak Authentication type = Username, tak užívateľské meno použité v autentifikácii. Ak Authentication type = Certificate, tak cesta k užívateľskému certifikátu (napr. D:\user_cert.der). | ||||||||
| Ak Authentication type = Username, tak heslo použité v autentifikácii. Ak Authentication type = Certificate, tak cesta k užívateľskému súkromnému kľúču (napr. D:\user_private_key.pem). | ||||||||
| Bezpečnostná politika (iba pre Client Type = Secure; pre Client Type = Default sa používa bezpečnostná politika None):
| None Basic128Rsa15 Basic256 Basic256Sha256 Aes128Sha256RsaOaep Aes256Sha256RsaPss | None | ||||||
| Spôsob zabezpečenia správ v OPC UA komunikácii (iba pre Client Type = Secure; pre Client Type = Default sa používa spôsob zabezpečenia None):
| None Sign Sign & Encrypt | None | ||||||
| Čakanie po rozpade spojenia, pred opakovaným nadviazaním spojenia. | mm:ss.mss | 00:10.000 | ||||||
| Čakanie po neúspešnom pokuse o nadviazanie spojenia. | mm:ss.mss | 00:02.000 | ||||||
| Pomocou daného parametru je možné zmeniť počet informácií o chode komunikácie. Režimy Extended/Full odporúčame zapínať iba pri detekcii problémov a ladení komunikácie. Režim "Full + Trace (Secure only)" je platný iba pre Client Type = Secure. | Normal/Extended/Full/ Full + Trace (Secure only) | Normal | ||||||
| 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 |
...
Parametre na úrovni komunikačnej stanice zodpovedajú nastaveniu jednej 42702241 subscription. Teda jedna komunikačná stanica je ekvivalentná jednej inštancii 42702241 subscription v rámci 42702241 session.
Názov parametra | Popis | Jednotka | Náhradná hodnota | ||||||
---|---|---|---|---|---|---|---|---|---|
| Hodnota, v akých časových intervaloch má server poslať informáciu o zmene monitored items v rámci inštancie 42702241 subscription 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.mss | 00:05.000 | ||||||
| Ak do času daného (LifeTime Count * Publishing Interval) nepríde od klienta žiadosť o dáta / 42702241 subscription 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 | ||||||
| V prípade, že v objektoch 42702241 subscription 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. | Number | 5 | ||||||
| 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 | ||||||
| Parameter zapína/vypína publishing v rámci 42702241 subscription. | YES/NO | YES | ||||||
| Udáva relatívnu prioritu jednej 42702241 subscription. V prípade, že server má poslať viac notifikácii, 42702241 subscription s väčšou prioritou bude uprednostnený. | 0-255 | 0 | ||||||
| Pomocou tohto parametra je možné pre každý monitorovaný item v 42702241 subscription vytvoriť na strane servera frontu objektov s danou dĺžkou. | Number | 0 | ||||||
| Časové značky používané pri čítaní hodnoty:
| - | Server | ||||||
| Časové značky používané pri zápise hodnoty:
Pozn: ak OPC server nepodporuje zápis časových značiek, podľa normy má vrátiť chybu Bad_WriteNotSupported (2155020288). | - | None | ||||||
| Pri zápise bude zapisovaná položka StatusCode. Pozn: podľa normy vráti OPC UA Wrapper chybu Bad_WriteNotSupported (2155020288), ak je zapisovaná položka StatusCode pri zápise do OPC DA Servera verzie 2.05a. | YES/NO | YES | ||||||
| Pri zápise položky poľa sa najskôr načíta celé pole a potom sa celé zapíše. Pokiaľ je tento parameter nastavený na hodnotu NO, zapisuje sa iba konkrétna položka poľa, Pozn: ak OPC server nepodporuje zápis konkrétnej položky poľa, podľa normy má vrátiť chybu Bad_WriteNotSupported (2155020288). Pozn: ak je tento parameter aktívny, na meranom bode typu pole nesmie byť nastavený parameter Write only. | YES/NO | NO | ||||||
| Spôsob čítania hodnôt:
Poznámka: módy Subscribe+Read a Read treba použivať iba pokiaľ je problém so štandardnou komunikáciou, keďže sú menej efektívne a spôsobujú vyššiu záťaž. | Subscribe Subscribe+Read Read | Subscribe |
Kotva |
---|
...
...
Kotva | |||
---|---|---|---|
|
...
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. Pozn: pokiaľ je zadaný identifikátor %IGNORE pre ID type = String, takýto meraný bod bude ignorovaný. | String | |||||||
ID type | Vymenované typy identifikátorov, pomocou ktorých je možné v adresnom priestore OPC UA pristupovať k objektom. Numeric-1B ID: Identifikátor obmedzený na 1-bytovú hodnotu (0-255) Numeric-2B ID: Identifikátor obmedzený na 2-bytovú hodnotu (0-65535) Numeric-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 / LocalizedText / LocalizedText 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. Prvý element v poli má index 0. Textová reprezentácia indexu poľa môže mať niekoľko variácií:
Pozn: zápis je podporený iba pre merané bod s konkrétnym indexom, nie pre rozsahy. | String | |||||||
Write only | Daným checkboxom je možné nastaviť, či meraný bod bude súčasťou 42702241 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 Pozn: ExpandedNodeId nie je v KOM procese zatiaľ podporené. | 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 |
...
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. Pozn: konkrétny Simatic S7-1500 neposielal zmeny hodnôt, ak bol tento parameter nastavený na hodnotu "Status,Value,Timestamp" - pomohla zmena na hodnotu "Status,Value". | Status/ Status,Value/ Status,Value,Timestamp | Status,Value,Timestamp |
...