50

OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

www.rexygen.com

OPC UA server pro systém REXYGEN

Referen£ní manuál

REX Controls s.r.o.

Verze 2.50.10

Plze¬

12.7.2020

Page 2: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

Obsah

1 OPC UA a systém REXYGEN 3

1.1 Úvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Funkce serveru . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.3 Nastavení a spu²t¥ní serveru . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Adresní prostor 6

2.1 Metody . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2 Bloky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.3 Parametry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.4 Události a verzování . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3 Kon�gurace 10

3.1 Target . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103.2 Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.3 Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.4 User Token Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.5 Endpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.6 Discovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.7 Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4 Autenti�kace a autorizace 20

4.1 RexOpcUaAuth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

5 RexOpcUaCon�g 22

5.1 Certi�káty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235.2 Autentizace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255.3 Vyuºití p°íklad· . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

6 Návod ke spu²t¥ní 29

6.1 P°íklady . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306.2 Sluºba OPC UA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316.3 OPC UA Klienti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

6.3.1 UaExpert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346.3.2 myScada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

1

Page 3: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

Literatura 49

2

Page 4: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

Kapitola 1

OPC UA a systém REXYGEN

OPC UA je otev°ený komunika£ní protokol ur£ený pro pr·myslovou automatizaci. Narozdíl od klasického OPC je multiplatformní, m·ºe fungovat i jako webová sluºba a pod-poruje krom¥ p°ístupu k dat·m a událostí i dal²í funkce jako volání metod, diagnostiku,r·zné stupn¥ zabezpe£ení £i autorizaci. OPC UA získává od svého vytvo°ení na oblib¥ a£ím dál více �rem ho pouºívá ve svých výrobcích jako jedno z komunika£ních rozhraní.

OPC UA není vhodné pro vytvá°ení spojení mezi °ídícími jednotkami v reálném £ase,ale je pouºitelné pro tém¥° reálný £as. Jeho hlavní pouºití je v²ak v propojení r·znýchaplikací, ve vytvá°ení �Internet of Things� a pr·myslové revoluci 4.0.

1.1 Úvod

OPC UA server pro REXYGEN je samostatná aplikace, která komunikuje s exekutivouREXYGENu pomocí diagnostického protokolu. Není nutné, aby byl server na stejné výpo-£etní jednotce jako REXYGEN , ale je vhodné co nejvíce zkracovat jejich vzájemnou dobuodezvy. Je výhodn¥j²í, aby byl server z pohledu sí´ového p°ipojení co nejblíºe b¥ºící in-stanci REXYGENu, neº aby byl blízko ostatním OPC UA klient·m. Server implementujep°ipojení pouze pomocí opc.tcp, coº je b¥ºná praxe u server·, které shromaº¤ují dataz °ídících jednotek b¥ºících v reálném £ase. Propojení serveru a ostatních zú£astn¥nýchaplikací je zobrazeno na obrázku 1.1.

Server je moºné vyuºívat v podob¥ dema, které b¥ºí maximáln¥ jednu hodinu. Proodemknutí serveru je t°eba získat licenci a tu klasicky nainstalovat na cílové za°ízenínap°íklad v programu REXYGEN Draw nebo vloºit jako hodnotu parametru REX_LICENCE_KEY v kon�gura£ním souboru (viz kapitolu 3.2).

3

Page 5: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

Obrázek 1.1: OPC UA server jako mezi£lánek OPC UA klient· a REXYGENu

1.2 Funkce serveru

B¥ºící OPC UA server je p°ipojen k exekutiv¥ REXYGENu a ve svém adresním prostoruzobrazuje v²echny její bloky i s parametry. Struktura Adresního prostoru je podobnástruktu°e úkol· v programu REXYGEN Diagnostics. Po p°ipojení k REXYGENu servervytvo°í celou stromovou strukturu blok· a jejich parametr· a následn¥ jiº pouze syn-chronizuje hodnoty jednotlivých parametr·. Ty jsou navíc synchronizovány pouze pokudje klient £te nebo do nich zapisuje. Tímto zp·sobem je moºné se p°ipojit i k n¥kolikaexekutivám naráz.

Pokud je server odpojen, pokou²í se opakovan¥ navázat spojení s exekutivou. Pokudse spojení ztratí a obnova se del²í dobu neda°í, server znemoºní klient·m zápis do uzl·spojených s exekutivou a p°i jejich £tení poskytne poslední platnou hodnotu. Tento stavtrvá aº do op¥tovného p°ipojení. Pokud dojde v REXYGENu k vým¥n¥ exekutivy, serversmaºe a znovu nahraje strukturu blok· a vytvo°í událost o zm¥n¥ Adresního prostoru.

1.3 Nastavení a spu²t¥ní serveru

Server je moºné nastavit pomocí INI kon�gura£ního souboru, jehoº umíst¥ní lze speci�-kovat pomocí parametru -c.

RexOpcUa [-c <con�gFile>]

4

Page 6: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

V OS Windows je moºné nastavit umíst¥ní standardního kon�gura£ního souborupomocí p°íkazu s parametrem -i a cestou k novému kon�gura£nímu souboru.

RexOpcUa -i <con�gFile>

V Linuxu je cesta ke standardnímu kon�gura£nímu souboru pevn¥ daná:

/rex/OpcUa/RexOpcUa.ini

Kon�gurace je podrobn¥ popsána v kapitole 3. Server lze spustit i jako sluºbu (vizkapitolu 6.2). Návod na rychlé spu²t¥ní je popsán v kapitole 6.

5

Page 7: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

Kapitola 2

Adresní prostor

Adresní prostor serveru obsahuje v²echna data dostupná klient·m. N¥které uzly a jejichvazby jsou povinné pro v²echny OPC UA servery, n¥které byly vytvo°eny speciáln¥ protento server. Addresní prostor obsahuje metody pro manipulaci se serverem a sloºky`Exec', které obsahují stromovou strukturu úkol· REXYGENu i se subsystémy a bloky, ato v£etn¥ úkol· p°ipojených k ovlada£·m. V²e krom¥ obsahu sloºek `Exec' je vytvo°enop°i startu serveru. Obsah sloºky `Exec' je vytvo°en p°i novém p°ipojení k REXYGENunebo p°i p°ehrání exekutivy. Adresní prostor serveru p°ipojeného k jedné exekutiv¥ jezobrazen na obrázku 2.1 pomocí OPC UA klienta UaExpert (viz kapitola 6.3.1).

Obrázek 2.1: Adresní prostor zobrazený klientem UaExpert

6

Page 8: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

Server pouºívá n¥kolik vlastních jmenných prostor· (Namespace). První Namespaceodpovídá URI aplikace (viz tabulka 3.2) a pouºívá se pro chod serveru samotného. Na-mespace urn:Rex:TypeDeclaration se pouºívá pro de�nici typ·, kterými se popisují blokya parametry exekutivy. Namespace urn:Rex:Server obsahuje uzly, které slouºí k obsluzeserveru, nap°íklad metody pro správu serveru. Namespace exekutivy je unikátní pro kaº-dou nahranou exekutivu nebo instanci REXYGENu a je popsán v kapitole 3.2. Namespaceexekutivy obsahuje v²echny uzly úkol·, blok· a parametr· dané exekutivy.

2.1 Metody

Server obsahuje OPC UA metody, pomocí kterých m·ºe klient serverem manipulovat.Spou²t¥ní t¥chto metod je povoleno pouze klient·m s právy administrátora.

Pomocí metody `Reload credentials �le' lze zajistit, aby server znovu na£etl INIsoubor s p°ihla²ovacími údaji a aktualizoval tak databázi uºivatel· (viz kapitola 4). Pokudserver nemá speci�kovanou cestu k souboru, vrátí chybový kód BadNotSupported.

Metoda `Switch diagnostics' umoº¬uje vypnout a zapnout tvorbu diagnostických dat.Ty jsou poté p°ístupny ve standardním míst¥ podle speci�kace OPC UA: jsou sou-£ástí objektu Server. Tuto metodu lze zakázat pomocí parametru ALLOW_SWITCH_DIAGNOSTICS v kon�guraci. Samotné generování diagnostiky, které za£ne jiº p°i spu²-t¥ní serveru, lze nastavit pomocí parametru ENABLE_DIAGNOSTICS.

2.2 Bloky

Struktura blok· ve sloºce `Exec' odpovídá struktu°e blok· v exekutiv¥ REXYGENu.V²echny bloky pouºívají Namespace exekutivy (viz kapitola 3.2), jejich BrowseNamea DisplayName odpovídá názvu v REXYGENu (u BrowseName je jako p°edpona uvedentyp uzlu) a v popisu je uloºen typ uzlu. Bloky obsahují parametry, které jsou shodné st¥mi v REXYGENu.

Základními typy uzl· jsou klasický blok (BlockType), subsystém (SubsystemType)a úkol (TaskType). Ve stromové struktu°e je úkol vºdy ko°enový blok a je umíst¥n vesloºce `Exec'.

2.3 Parametry

P°i vytvá°ení stromové struktury jsou vytvo°eny parametry v²ech blok· spolu se svýmdatovým typem a povoleným rozmezím hodnot, které je uloºeno v uzlech Min a Max. Je-jich hodnoty jsou jediná data, která se synchronizují s exekutivou REXYGENu. P°i zápisua £tení se hodnoty synchronizují ihned. Je-li v²ak hodnota £teného parametru v serverudostate£n¥ nová, server ji vrátí bez synchronizace. Pokud je parametr monitorován, syn-chronizuje se hodnota opakovan¥, a to s nastaveným intervalem SYNC_INTERVAL (vizkapitola 3.1). Proces synchronizace je zobrazen na obrázku 2.2.

7

Page 9: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

Obrázek 2.2: P°i zápisu do serveru [1] se hodnota uloºí a propí²e do exekutivy [2]. P°i£tení [3] server zkontroluje stá°í hodnoty. Pokud klient poºaduje nov¥j²í hodnotu, pak siji server vyºádá od exekutivy [4] a uloºí [5]. Na záv¥r je hodnota poslána klientu [6].

Parametry blok· (IRexVariableType) roz²i°ují klasické OPC UA prom¥nné, jejichsou£ástí je minimální a maximální p°ípustná hodnota, které jsou zapsané v uzlech Min aMax. Datový typ hodnoty prom¥nné odpovídá datovému typu prom¥nné v REXYGENu.BrowseName a DisplayName prom¥nné odpovídají názvu prom¥nné v REXYGENu, uBrowseName je jako p°edpona uveden typ uzlu.

Prom¥nné se d¥lí na vstupy, výstupy, parametry a stavy. Pro kaºdou z t¥chto skupinje vytvo°en speciální typ uzlu (ParameterVariableType, StateVariableType, InputVaria-bleType, OutputVariableType) s tím, ºe do stav· a výstup· nelze zapisovat.

Poznámka: V této verzi OPC UA serveru nejsou synchronizovány pole a trendy.

2.4 Události a verzování

Aby mohlo probíhat na£ítání blok· exekutivy, musí být sloºka `Exec' verzovaná. P°ikaºdé zm¥n¥ struktury se nastaví její verze na aktuální a vyvolá se událost `GeneralMo-delChangeEvent' ve které jsou uvedeny v²echny odebrané a p°idané uzly.

Server poskytuje i vlastní události odvozené od t°ídy `DeviceFailureEventType', kteréjsou vytvá°eny na uzlech `Exec'. Událost `RexDisconectEvent' je vytvo°ena pokud je ztra-ceno spojení s REXYGENem. Událost `RexReconectEvent' je vytvo°ena p°i op¥tovnémp°ipojení k REXYGENu. Událost `RexReloadEvent' je vytvo°ena p°i p°ehrání exekutivy.Podoba událostí je zobrazena na obrázku 2.3.

8

Page 10: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

Obrázek 2.3: Zobrazení událostí serveru klientem UaExpert

9

Page 11: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

Kapitola 3

Kon�gurace

Kon�gura£ní INI soubor m·ºe obsahovat pouze ASCII znaky, doporu£uje se pouºívat kó-dování UTF-8 a záleºí na velikosti písmen. Na konci a za£átku °ádk· a kolem znamínka�=� nesmí být ºádné p°idané mezery. Komentá°e za£ínají st°edníkem. Sekce jsou ozna-£eny názvem v hranatých závorkách a podsekce se tvo°í dvojte£kou v názvu [SEKCE:PODSEKCE]. Parametry bez nastavené hodnoty nejsou brány v potaz.

V kon�guraci mohou být pouze ty sekce, které mají stejný název (velkými písmeny)jako n¥které z následujících podkapitol. Pokud je sekce v INI souboru dvakrát, datase jednodu²e doplní. Sekce User Token Policy (UTP), Endpoint a Target m·ºou mítpodsekce, pro kaºdou podsekci bude vytvo°en jeden Endpoint £i p°ipojení k exekutiv¥.

V následujících kapitolách jsou popsány jednotlivé nastavitelné parametry. Parame-try s p°ednastavenou p·vodní hodnotou jsou vºdy volitelné. V¥t²ina hodnot parametr·je ve form¥ textu. �íslo zna£í, ºe hodnota parametru musí být p°irozené £íslo. Y/N zna-mená, ºe parametr je p°epína£, kde hodnota Y, YES, ON znamená povolení a N, NO,OFF vypnutí. Pole je zna£eno hranatými závorkami a jednotlivé hodnoty jsou odd¥leny£árkou [1,2,text]. Prázdné pole se chová, jako by hodnota nebyla vypln¥na. Soubor zna£ísystémovou cestu k souboru a sloºka cestu ke sloºce. Cesta je bu¤ zadána absolutn¥,nebo relativn¥ k umíst¥ní kon�gura£ního souboru.

3.1 Target

Tato sekce obsahuje parametry, které se týkají spojení serveru s REXYGENem. Podrob-nosti jsou vypsány v tabulce 3.1. Pro kaºdou sekci TARGET bude vytvo°ena jedna sloºka`Exec' s názvem, který je ur£en názvem podsekce (TARGET:Exec1).

10

Page 12: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

Tabulka 3.1: Nastavení spojení s REXYGENemPole Typ Výchozí

hodnotaPopis

ADDRESS IP adresa � IP adresa (DNS) b¥ºící exekutivyREXYGENu, ke které se má serverp°ipojit.

PORT �íslo � (Volitelné) Port diagnostickéhoprotokolu b¥ºící exekutivy REXY-

GENu, ke které se má serverp°ipojit.

SYNC_INTERVAL �íslo 500 Interval v ms, v kterém má serversynchronizovat monitorované po-loºky s REXYGENem. Je vhodnémít tuto hodnotu niº²í neº mi-nimální interval pro monitorováníuzl·.

TCP_IDLE_INTERVAL

�íslo 30000 Interval v ms pro obnovu spojenís REXYGENem, aby se neuzav°elo.Toto £íslo by m¥lo být dostate£n¥men²í neº 1 minuta.

USERNAME Text � (Volitelné) Uºivatelské jméno prop°ipojení k REXYGENu.

PASSWORD Text � (Volitelné) Heslo pro p°ipojení kREXYGENu.

USE_SSL Y/N N P°ipojit se za pouºití SSL.CERTIFICATE_PATH

Soubor � Povinný pouze se zapnutým para-metrem USE_SSL. Cesta k certi�-kátu REXYGENu.

3.2 Application

Tato sekce obsahuje hlavní údaje o serveru, viz tabulka 3.2. Zde se nastavuje i Name-space serveru a Namespace exekutivy. Namespace serveru je ur£eno parametrem APPLI-CATION_URI. Namespace exekutivy odpovídá následujícímu tvaru:

urn:Rex:Exec:<COMPANY_URI_NAME>:<PROJECT_URI_NAME>:<INSTANCE_URI_NAME>:<TARGET_NAME>

Parametry COMPANY_URI_NAME, PROJECT_URI_NAME a INSTANCE_URI_NAME volte tak, aby jejich kombinace byla unikátní pro kaºdou b¥ºící instanci REXY-GENu, aby tak nedocházelo k chybám p°i pouºití více OPC UA server·. Podle speci�kaceOPC UA by více server· p°ipojených k jedné instanci REXYGENu m¥lo mít stejné ná-zvy, servery p°ipojené k r·zným instancím REXYGENu musí mít r·zné názvy. Parametr

11

Page 13: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

TARGET_NAME odpovídá názvu podsekce TARGET (viz 3.1).Pokud má server b¥ºet na stroji, který nemá nainstalovanou licenci REXYGENu, lze

zapsat licenci REXYGENu do parametru REX_LICENCE_KEY. Pokud tato licencechybí nebo v ní není povolen OPC UA server, server po hodin¥ p°estane fungovat (nasystému Windows se objeví varovná hlá²ka). Pokud server p°i startu nezjistí aktivnílicenci, vypí²e `Site code' stroje, na kterém b¥ºí. Kaºdý stroj má sv·j vlastní a pro tento`Site code' je tedy poté t°eba koupit licenci, aby na daném stroji mohl server b¥ºet vplné verzi.

Tabulka 3.2: Nastavení aplikacePole Typ Výchozí

hodnotaPopis

APPLICATION_CERTIFICATE_PATH

Soubor � Certi�kát serveru ve form¥ DER.

APPLICATION_PRIVATE_KEY_PATH

Soubor � Soukromý klí£ certi�kátu serveru veform¥ PEM.

APPLICATION_PRIVATE_KEY_PASSWORD

Text � (Volitelné) Heslo ke klí£i certi�kátuserveru.

APPLICATION_URI

URI serveru � Tato poloºka by m¥la být shodná sURI v certi�kátu serveru a zárove¬bude pouºita jako Namespace ser-veru.

REX_LICENCE_KEY

LicenceREXYGENu

� (Volitelné) Licence REXYGENu.Pouze, pokud na stejném stroji ne-b¥ºí licencovaný REXYGEN. Pokudnení licence dodána, server b¥ºí vdemo modu (1 hodinu).

COMPANY_URI_NAME

Text � Tento text bude £ástí Namespaceexekutivy.

PROJECT_URI_NAME

Text � Tento text bude £ástí Namespaceexekutivy.

INSTANCE_URI_NAME

Text � Tento text bude £ástí Namespaceexekutivy.

3.3 Security

Sekce security obsahuje nastavení validace a umíst¥ní klientských certi�kát·. Pokudv²echny Endpointy mají nastavené zabezpe£ení komunikace pouze na None a není po-

12

Page 14: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

uºito p°ihlá²ení pomocí certi�kátu (viz kapitola ??), je celá tato sekce volitelná. Servervyuºívá OpenSSL, proxy certi�káty jsou zakázány.

Pro vytvo°ení certi�kát· a adresá°· pro klientské certi�káty lze vyuºít aplikaci RexOp-cUaCon�g, která je popsána v kapitole 5.1.

Tabulka 3.3: Zabezpe£eníPole Typ Výchozí

hodnotaPopis

CERTIFICATE_TRUST_LIST_PATH

Sloºka � D·v¥ryhodné certi�káty - certi�-káty, které jsou zde uloºené, a cer-ti�káty, které jsou jimi podepsané,jsou povoleny.

CERTIFICATE_REJECTED_LIST_PATH

Sloºka � (Volitelné) Odmítnuté certi�káty -zde se shromaº¤ují v²echny certi-�káty, které byly serverem odmít-nuty. Pokud není zadáno, odmít-nuté certi�káty se nebudou ukládat.

CERTIFICATE_REVOCATION_LIST_PATH

Sloºka � (Volitelné) Odvolané (zneplatn¥né)certi�káty, které byly vy°azeny.

CERTIFICATE_ISSUER_LIST_PATH

Sloºka � (Volitelné) Certi�ka£ní autority -certi�káty pot°ebné k ov¥°ení cer-ti�ka£ního °et¥zce, které ale nejsouautomaticky d·v¥ryhodné.

CERTIFICATE_REVOCATION_CHECK_OPTION

N/L/S/A N Kontrola zneplatn¥ních certi�kát·.N �ádná kontrolaL Pouze listyS Bez sebou�podepsanýchA V²echny

CHECK_SELF_SIGNATURE

Y/N N Kontrola podpisu sebou�podepsaných certi�kát·.

CHECK_CERTIFICATE_URL

Y/N N Kontrola URL certi�kátu v·£i URIaplikace.

3.4 User Token Policy

Sekce User Token Policy (UTP) de�nuje moºnostmi autorizace a autentizace klient· p°ip°ipojení k Endpointu, parametry jsou popsány v tabulce 3.4. Úprava p°ihla²ovacíchúdaj· a rolí jsou popsány v kapitole 4.1 a 5.2.

Klient p°i vytvá°ení p°ipojení zadává zp·sob ov¥°ení identity (UserTokenPolicy). P°i

13

Page 15: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

anonymním p°ihlá²ení nejsou po klientovi poºadovány ºádné dal²í informace. P°i pouºitíp°ihla²ovacích údaj· (credentials) musí klient poskytnou uºivatelské jméno a heslo, kterése poté validují na serveru. P°i pouºití certi�kátu musí klient poskytnout certi�kát, ukterého server ov¥°í d·v¥ryhodnost. Validaci ceri�kát· pro ú£ely authentizace lze nastavitstejným zp·sobem jako v kapitole 3.3.

V této sekci jsou de�novány jednotlivé p°ihla²ovací politky. Název sekce je zárove¬názvem politiky. Pokud má Endpoint podporovat n¥kterou z politik, musí její názevzmínit ve svém seznamu USER_TOKEN_POLICY.

P°i pouºití politiky s p°ihla²ovacími údaji musí být de�nován INI soubor, který ob-sahuje jméno, zakódované heslo a roli uºivatele. Server poté zjistí, zda klient poskytlsprávnou kombinaci jména a hesla a pokud ano, povolí mu p°ipojení a p°i°adí mu ko-respondující roli. Heslo je kódováno pomocí r·zných mechanism·. Aby mohl uºivatelmechanismus ovlivnit a jeho heslo nemohl rozlu²tit n¥kdo jiný, lze nastavit parametrOPTIONAL_ENCODING_SALT. Server p°e£te pouze ty hesla, která byla zakódovánas tímto parametrem, p°i vým¥n¥ je tedy nutné p°egenerovat soubor s p°ihla²ovacímiúdaji.

Tabulka 3.4: User Token Policy (UTP)Pole Typ Výchozí

hodnotaPopis

USER_TOKEN_POLICY_TYPE

Anonymous,Certi�cate,Username

� Typ p°ihla²ovací politiky.

AUTH_ROLE Admin,Operator,Guest

� (Anonymous, Certi�cate) P°i°a-zené uºivatelské oprávn¥ní.

CREDENTIALS_INI_PATH

Soubor � (Username) Soubor, kde jsou za-psáni uºivatelé s heslem a rolí.

OPTIONAL_ENCODING_SALT

Text q1we58 (Username) Hodnota, pomocí kterébude zakódováno heslo v souboru suºivateli. Tato hodnota nemusí býtp°íli² velká, 5 - 20 ASCI znak· sta£í.

CERTIFICATE_TRUST_LIST_PATH

Sloºka � (Certi�cate) Sloºka s d·v¥ryhod-nými certi�káty.

... ... � (Certi�cate) Lze nastavit i dal²í pa-rametry kontroly certi�kát·. Moº-nosti jsou stejné jako v tabulce 3.3

14

Page 16: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

3.5 Endpoint

Sekce Endpoint obsahuje nastavení OPC UA Endpoint·, ke kterým bude moºné se p°i-pojit. V této sekci lze vytvá°et podsekce, kde kaºdá podsekce vytvo°í nový Endpointa musí tedy obsahovat v²echny povinné parametry. V²echny parametry jsou popsány vtabulce 3.5.

Pokud je pot°eba vyuºít Endpoint pro sluºby Discovery, doporu£ujeme v URL En-dpointu nepouºívat localhost, ale ve°ejnou IP adresu. V opa£ném p°ípad¥ bude moºná(v závislosti na implementaci klienta a discovery serveru) klient volat adresu na svémvlastním localhostu, nikoliv na serveru. URL adresa by m¥la mít následující tvar:

opc.tcp://<IP adresa | DNS>:<port>[/<kone£ná £ást URL>]

Tabulka 3.5: Nastavení EndpointuPole Typ Výchozí

hodnotaPopis

URL URLEndpointu

� URL Endpointu pro p°ipojení po-mocí protokolu opc.tcp.

SECURITY_POLICY

[Zabezpe£ení](pole)

� Povolené zabezpe£ení komunikace -detaily v tabulce 3.6.

USER_TOKEN_POLICY (UTP)

[P°ihla²ovacípolitiky](pole)

� Povolené metody autentizace(UTP). UTP se de�nují pomocítabulky 3.4.

15

Page 17: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

Tabulka 3.6: Zabezpe£ení komunikaceZabezpe£ení Podpis �ifrování Algoritmus

None Ne Ne �Sign_Basic128Rsa15 Ano Ne Basic128Rsa15SignEncrypt_Basic128Rsa15 Ano Ano Basic128Rsa15Sign_Basic256 Ano Ne Basic256SignEncrypt_Basic256 Ano Ano Basic256Sign_Basic256Sha256 Ano Ne Basic256Sha256SignEncrypt_Basic256Sha256 Ano Ano Basic256Sha256Sign_Aes128Sha256RsaOaep Ano Ne Aes128Sha256RsaOaepSignEncrypt_Aes128Sha256RsaOaep

Ano Ano Aes128Sha256RsaOaep

Sign_Aes256Sha256RsaPss Ano Ne Aes256Sha256RsaPssSignEncrypt_Aes256Sha256RsaPss

Ano Ano Aes256Sha256RsaPss

Sign_Aes128Sha256nistP256 Ano Ne Aes128Sha256nistP256SignEncrypt_Aes128Sha256nistP256

Ano Ano Aes128Sha256nistP256

Sign_Aes256Sha384nistP384 Ano Ne Aes256Sha384nistP384SignEncrypt_Aes256Sha384nistP384

Ano Ano Aes256Sha384nistP384

Sign_Aes128Sha256brainpoolP256r1

Ano Ne Aes128Sha256brainpoolP256r1

SignEncrypt_Aes128Sha256brainpoolP256r1

Ano Ano Aes128Sha256brainpoolP256r1

Sign_Aes256Sha384brainpoolP384r1

Ano Ne Aes256Sha384brainpoolP384r1

SignEncrypt_Aes256Sha384brainpoolP384r1

Ano Ano Aes256Sha384brainpoolP384r1

Sign_Aes128Sha256curve25519

Ano Ne Aes128Sha256curve25519

SignEncrypt_Aes128Sha256curve25519

Ano Ano Aes128Sha256curve25519

Sign_Aes256Sha384curve448 Ano Ne Aes256Sha384curve448SignEncrypt_Aes256Sha384curve448

Ano Ano Aes256Sha384curve448

3.6 Discovery

Tato sekce se zabývá registrací k pr·zkumnému (Discovery) serveru. Celá tato sekce jenepovinná. Parametr ENDPOINT_URL m·ºe obsahovat více pr·zkumných bod·, kterébudou zaregistrovány, není to v²ak doporu£ováno, jedna adresa by m¥la sta£it. Klient

16

Page 18: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

p°i dotazu na tento Endpoint zjistí adresy v²ech Endpoint· na serveru. Parametr END-POINT_URL by m¥l být shodný s parametrem URL n¥kterého z Endpoint·, nicmén¥tato shoda není kontrolována.

Aby byla registrace úsp¥²ná, je nutné pouºít správnou URL pr·zkumného serveru,správné zabezpe£ení a cestu k jeho certi�kátu v parametru SERVER_CERTIFICATE_PATH. Pr·zkumný server naopak musí d·v¥°ovat aplika£nímu certi�kátu serveru. Na-stavení registrace je popsáno v tabulce 3.7.

Tabulka 3.7: Nastavení registrace k pr·zkumnému serveruPole Typ Výchozí

hodnotaPopis

ENDPOINT_URL [URLEndpointu]

(pole)

� (Volitelné) URL registrovaného En-dpointu. M¥la by být shodná s URLn¥kterého z Endpoint·.

SERVER_CERTIFICATE_PATH

Soubor � Cesta k certi�kátu pr·zkumnéhoserveru.

SERVER_URL URL � URL pr·zkumného serveru, u n¥jºse bude server registrovat. URLmusí za£ínat opc.tcp://.

SECURITY_POLICY

Zabezpe£ení � Pouºité zabezpe£ení p°i komunikacis pr·zkumným serverem - detaily vtabulce 3.6. Lze pouºít práv¥ jednozabezpe£ení, které pr·zkumný ser-ver podporuje.

REFRESH_TIME �íslo 30000 Interval obnovy registrace v ms.

3.7 Options

V kategorii Options se nacházejí zbylé parametry, kterými lze ovliv¬ovat b¥h a bezpe£-nost serveru. Tyto parametry nastavujte pouze se znalostí speci�kace OPC UA. V²echnyparametry v této sekci jsou nepovinné, viz tabulka 3.8 a 3.9.

17

Page 19: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

Tabulka 3.8: Obecné nastaveníPole Typ Výchozí

hodnotaPopis

MIN_SAMPLING_INTERVAL

�íslo 600 Minimální interval pro vzorkováníuzl·.

MAX_SAMPLING_INTERVAL

�íslo 10000 Maximální interval pro vzorkováníuzl·.

MIN_PUBLISHING_INTERVAL

�íslo 500 Minimální interval pro publikování.

MAX_PUBLISHING_INTERVAL

�íslo 600000 Maximální interval pro publiko-vání.

MIN_SESSION_TIMEOUT

�íslo 1000 Minimální ºivotnost spojení v ms.

MAX_SESSION_TIMEOUT

�íslo 600000 Maximální ºivotnost spojení v ms.

MAX_PIPED_PUBLISH_REQUEST

�íslo 5 Maximální po£et uskladn¥ných po-ºadavk· k publikování. Server nadal²í poºadavky vrací chybový kódTooManyPublishRequests.

MAX_NODES_TO_ANALYZE_PER_QUERY_REQUEST

�íslo 100 Maximální po£et analyzovanýchuzl· dotazovacími sluºbami.

MAX_DATA_CHANGE_MONITORING_QUEUE_SIZE

�íslo 1000 Maximální velikost fronty pro po-loºky monitorované na zm¥nu dat.

MAX_EVENT_MONITORING_QUEUE_SIZE

�íslo 1000 Maximální velikost fronty pro po-loºky monitorované na události.

MAX_DATA_SETS_TO_RETURN

�íslo 0 Maximální po£et datových kolekcív odpov¥di na dotazovací sluºby.

ENABLE_AUDIT_EVENTS

Y/N N Server vytvá°í události p°i vytvo-°ení relace, aktivování relace, volánísluºby pro zru²ení a pokud je vy-tvo°ena relace, ale nesouhlasí URLv certi�kátu.

18

Page 20: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

Tabulka 3.9: Obecné nastaveníPole Typ Výchozí

hodnotaPopis

ENABLE_DIAGNOSTICS

Y/N N Server vytvá°í diagnostická data.

ALLOW_SWITCH_DIAGNOSTICS

Y/N N Povolit volání metody pro za-pnutí/vypnutí diagnostiky.

MIN_DIAGNOSTICS_UPDATE_INTERVAL

�íslo 100 Minimální interval pro upravení di-agnostiky.

MAX_DIAGNOSTICS_UPDATE_INTERVAL

�íslo 86400000 Maximální interval pro upravení di-agnostiky.

MAX_SESSIONS �íslo 0 Maximální po£et relací na server, 0pro neomezen¥ mnoho.

MAX_SESSIONS_PER_ENDPOINT

�íslo 0 Maximální po£et relací na End-point serveru, 0 pro neomezen¥mnoho.

MAX_SUBSCRIPTIONS

�íslo 0 Maximální po£et odb¥r· na server,0 pro neomezen¥ mnoho.

MAX_SUBSCRIPTIONS_PER_SESSION

�íslo 0 Maximální po£et odb¥r· na jednurelaci, 0 pro neomezen¥ mnoho.

MAX_SUBSCRIPTION_LIFETIME

�íslo 120000 Maximální ºivotnost odb¥ru v ms.

MAX_MONITORED_ITEMS

�íslo 0 Maximální po£et monitorovanýchpoloºek na server, 0 pro neomezen¥mnoho.

MAX_MONITORED_ITEMS_PER_SUBSCRIPTION

�íslo 0 Maximální po£et monitorovanýchpoloºek na odb¥r, 0 pro neomezen¥mnoho.

19

Page 21: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

Kapitola 4

Autenti�kace a autorizace

V OPC UA serveru pro REXYGEN se vyuºívají t°i role s následujícími oprávn¥ními: Host(Guest) m·ºe procházet Adresní prostor a £íst data z parametr· blok· REXYGENu.Operátor (Operator) má stejná práva jako host, má ale navíc povoleno zapisovat doparametr· blok· REXYGENu a tím ovliv¬ovat b¥ºící exekutivu. Administrátor (admin)má práva operátora, a navíc m·ºe spou²t¥t metody, které ovliv¬ují server samotný, vizkapitola 2.1. V tabulce 4.1 jsou uºivatelská práva zobrazena gra�cky.

Tabulka 4.1: Uºivatelská právaPráva Admin Operator Guest

�tení hodnot X X XZápis hodnot X XVolání metod X

Server ur£uje roli uºivatele na základ¥ p°ihla²ovací politiky, kterou klient pouºije p°inavázání spojení. Pokud klient pouºije n¥kterou z anonymních politik nebo politik scerti�kátem, server mu automaticky p°i°adí roli, která je na politiku navázaná. Druhoumoºností je p°ihlá²ení pomocí jména a hesla, kde server nastaví uºivateli roli, kteroumá p°i°azenou. Klient m·ºe vyuºít pouze ty p°ihla²ovací politiky, které podporuje danýEndpoint, k n¥muº se snaºí p°ipojit. Zabezpe£ení serveru lze tedy zajistit správnýmnastavením p°ihla²ovacích politik jednotlivých Endpoint·, viz kapitola 3.5.

Pokud server vyuºívá p°ihlá²ení pomocí p°ihla²ovacích údaj·, musí mu být nastavenacesta k INI souboru, který tyto p°ihla²ovací údaje obsahuje. Údaje se na£tou ze souborup°i startu serveru nebo p°i spu²t¥ní OPC UA metody �ReloadAuth�. Pro manipulacise souborem je vytvo°en samostatný program RexOpcUaAuth nebo lze vyuºít gra�ckérozhraní RexOpcUaCon�g.

Oba programy vyuºívají kon�gura£ní soubor serveru, z n¥hoº získají údaje o cest¥k souboru s p°ihla²ovacími údaji a p°ídavném kódování OPTIONAL_ENCODING_SALT. Pokud je hodnota p°ídavného kódování zm¥n¥na, je nutné v²em uºivatel·m znovunastavit hesla nebo celý soubor vygenerovat znovu.

20

Page 22: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

4.1 RexOpcUaAuth

Tento program se spou²tí z p°íkazové °ádky a lze s jeho pomocí spravovat uºivatele.P°íkaz by m¥l být v jedné z následujících forem:

RexOpcUaAuth <con�gFile> -lRexOpcUaAuth <con�gFile> -c <username> <password> <role>RexOpcUaAuth <con�gFile> -p <username> <password>RexOpcUaAuth <con�gFile> -a <username> <role>RexOpcUaAuth <con�gFile> -r <username> <new_username>RexOpcUaAuth <con�gFile> -d <username>

Program umoº¬uje zobrazit seznam uºivatel· a jejich rolí (-l), vytvo°it uºivatele (-c), zm¥nit mu heslo (-p), roli (-a), p°ejmenovat ho (-r) nebo ho smazat (-d). Parametrcon�gFile je cesta ke kon�gura£nímu INI souboru REXYGENu, username je uºivatelskéjméno, password je heslo, new_username je nové uºivatelské jméno p°i p°ejmenování.Parametr role musí mít hodnotu `admin', `operator' nebo `guest'.

Cestu k INI souboru s p°ihla²ovacími údaji (CREDENTIALS_INI_PATH) a nepo-vinný parametr OPTIONAL_ENCODING_SALT získá program z kon�gura£ního sou-boru.

Poznámka: Pokud soubor po²kodíte nebo ztratíte, sta£í vytvo°it prázdný soubor a dálho pouºívat klasicky.

21

Page 23: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

Kapitola 5

RexOpcUaCon�g

RexOpcUaCon�g je gra�cké rozhraní ur£ené pro nastavení OPC UA serveru pro REXY-

GEN. Umoº¬uje úpravu INI souboru, vytvo°ení certi�kát·, správu uºivatel· a pouºitín¥kterého z p°íklad·.

Na záloºce `Con�guration' (obrázek 5.1) je zobrazen obsah p°ednastaveného kon�gu-ra£ního INI souboru. Tento soubor lze pomocí vestav¥ného editoru upravovat, ukládat aznovu na£ítat. P°i kaºdém uloºení nebo na£tení souboru zpracuje program aktuální kon-�guraci. Pokud narazí na závaºný problém, zapí²e nalezenou chybu do záloºky `Errors'.Tento dialog nekontroluje v²echny nastavitelné parametry. Kontroluje pouze ty, kterépot°ebuje ke své funkci.

22

Page 24: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

Obrázek 5.1: RexOpcUaCon�g s vestav¥ným INI editorem

5.1 Certi�káty

Na záloºce `Certi�cates' (obrázek 5.2) je moºné spravovat certi�kát aplikace a klientskécerti�káty. V²echny cesty se £tou z kon�gura£ního INI souboru. Pokud soubor neexistuje,obarví se text na £erveno.

Klientské certi�káty jsou uloºeny v r·zných sloºkách. RexOpcUaCon�g umoº¬ujevytvo°it, otev°ít a smazat tyto sloºky. Pro povolení klientského certi�kátu zkopírujtecerti�kát do sloºky `Trust list'. Certi�káty klient·, kte°í se pokusili p°ipojit a byli od-mítnuti kv·li certi�kátu, jsou uloºeny ve sloºce `Rejected'.

23

Page 25: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

Obrázek 5.2: Správa certi�kát·

P°i vytvá°ení aplika£ního certi�kátu se otev°e samostatný dialog `Generate certi-�cate'. Pole `Password' a `Application URI' jsou p°edvypln¥na hodnotami parametr·APPLICATION_PRIVATE_KEY_PASSWORD a APPLICATION_URI z kon�gura£-ního INI souboru.

Pole ve skupin¥ `Subject' je moºné zvolit podle vlastního uváºení. Pole ve skupin¥`Restriction' umoº¬ují omezení pouºití certi�kátu na ur£itou IP adresu nebo doménu.Hodnota pole `Application URI' musí souhlasit s hodnotou parametru APPLICATION_URI v kon�gura£ním INI souboru. Parametry ve skupin¥ `Certi�cate Settings' ovliv¬ujídobu trvanlivosti certi�kátu a sílu soukromého klí£e.

Umíst¥ní generovaného certi�kátu a klí£e je ur£eno v kon�gura£ním INI souboru aje vid¥t na záloºce `Certi�cates' (obrázek 5.2). Soubor klí£e (.key, .pem) je uloºen veformátu PEM. Formát certi�kátu je odvozen z koncovky jeho souboru. Pro soubor skoncovkou .pem je certi�kát uloºen ve formátu PEM pro jiné koncovky souboru (.der,.cer, .crt, .cert) je vygenerován certi�kát ve formátu DER.

24

Page 26: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

Obrázek 5.3: Dialog pro vytvá°ení aplika£ního certi�kátu

5.2 Autentizace

Na záloºce `Authorization' (obrázek 5.4) lze nastavit uºivatelské p°ihla²ovací údaje. Tatostránka se objeví pouze, pokud je v kon�gura£ním INI souboru nastaven parametr CRE-DENTIALS_INI_PATH. Ve²keré údaje o uºivatelích jsou poté ukládány do INI souboruna této cest¥.

Pro bezpe£né pouºití tohoto zp·sobu autentizace je doporu£eno smazat soubor sp°ihla²ovacími údaji, nastavit parametr OPTIONAL_ENCODING_SALT na vlastníhodnotu (viz tabulka ??) a poté celý soubor vytvo°it znovu.

Uºivatele lze spravovat pomocí jednoduchého gra�ckého rozhraní. Uºivatele lze p°i-dávat (obrázek 5.5), upravovat (obrázek 5.6) a mazat. Klient se pak p°ihlásí se svýmjménem a heslem (program UaExpert na obrázku 6.9).

25

Page 27: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

Obrázek 5.4: Správa uºivatel·

Obrázek 5.5: Dialog pro vytvo°ení nového uºivatele

26

Page 28: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

Obrázek 5.6: Dialog pro úpravu uºivatele

5.3 Vyuºití p°íklad·

Program RexOpcUaCon�g umoº¬uje pro snadn¥j²í pouºití vyuºít n¥který p°íklad kon�-gurace (kapitola 6.1) a pouºít ho jako základ vlastní kon�gurace (obrázky 5.7, 5.8 a 5.9).Obsah kon�gura£ního INI souboru se p°epí²e obsahem vybraného p°íkladu.

Soubory s p°ihla²ovacími údaji (RexOpcUa_users.ini) se nekopírují. Pro správnoufunkci serveru je nutné nastavit správn¥ parametr OPTIONAL_ENCODING_SALT avygenerovat nový soubor s p°ihla²ovacími údaji. Pokud byl starý soubor vygenerován uºs novým parametrem OPTIONAL_ENCODING_SALT, lze pouºít ten.

Obrázek 5.7: P°íkaz na na£tení p°íkladu

27

Page 29: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

Obrázek 5.8: Seznam p°íklad·

Obrázek 5.9: Vybraná kon�gurace

28

Page 30: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

Kapitola 6

Návod ke spu²t¥ní

Základem pro spu²t¥ní serveru je správn¥ nastavený kon�gura£ní INI soubor a aplika£nícerti�kát a soukromý klí£. Ve²keré dal²í d·leºité £innosti jsou navázány na nastaveníkon�gurace, správu klientských certi�kát· a zaji²t¥ní správné £innosti REXYGENu, kekterému je server p°ipojen. Ostatní záleºitosti uº musí vy°ídit klient.

Pro jednoduchý start serveru jsou zde uvedeny jednotlivé kroky pot°ebné pro p°ipra-vení serveru ke spu²t¥ní, poté lze server jednodu²e spustit a pokud je v²e nastaveno vpo°ádku, server bude po spu²t¥ní fungovat.

1. Instalace REXYGENu spolu s OPC UA serverem (pokud není nainstalován)

2. Zm¥na kon�gura£ního souboru - výb¥r z moºností

(a) Zkopírování p°ipraveného souboru ze sloºky p°íklad· pro REXYGEN (viz ka-pitolu6.1)

(b) Zm¥na sou£asného kon�gura£ního souboru

3. Tvorba certi�kátu (pokud neexistuje) - výb¥r z moºností

(a) Pomocí RexOpcUaCon�g (viz kapitolu 5.1)

(b) Pomocí OpenSSL

4. Zm¥na p°ihla²ovacích údaj· uºivatel· (pokud je vyºadováno)

5. Nastavení klientských certi�kát· (pokud Endpointy podporují zabezpe£enoukomunikaci nebo p°ihlá²ení pomocí certi�kát·)

(a) Vytvo°ení sloºek pro klientské certi�káty (RexOpcUaCon�g, viz 5.1)

(b) Zkopírování soubor· certi�kát· klient·, kte°í se cht¥jí p°ihla²ovat pomocízabezpe£eného kanálu, do sloºky trust (CERTIFICATE_TRUST_LIST_PATH)

6. Nastavit sluºbu Discovery (pokud je to vyºadováno)

29

Page 31: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

(a) Nalézt informace o Discovery serveru

(b) Zkopírovat certi�kát serveru do trust sloºky Discovery serveru

(c) Zkopírovat certi�kát Discovery serveru do sloºky pro certi�káty serveru (do-poru£ené)

(d) Nastavit sekci DISCOVERY v kon�gura£ním souboru serveru pro REXYGEN

i. SERVER_URL - URL Endpointu Discovery serveruii. SECURITY_POLICY - Zp·sob zabezpe£ení p°ipojení k Discovery ser-

veru (ten ho musí podporovat)iii. SERVER_CERTIFICATE_PATH - Cesta k certi�kátu Discovery serveru

(doporu£en¥ ve sloºce pro certi�káty serveru)iv. ENDPOINT_URL - Seznam Endpoint· (sta£í jeden), které bude mít

Discovery server v databázi (jeden z Endpoint· serveru)

6.1 P°íklady

Pro jednodu²²í nastavení kon�gura£ních soubor· byly vytvo°eny p°edp°ipravené p°í-klady, které lze pouºít jako základ pro nové nastavení.

• MINIMAL - Minimální kon�gurace pro nezabezpe£ený Endpoint a REXYGEN nalocalhostu

• ENDPOINTS - Kon�gurace se dv¥ma Endpointy

• LICENCE - Kon�gurace s explicitn¥ zadaným licen£ním klí£em

• SECURITY - Kon�gurace s Endpointem, který podporuje zabezpe£enou komuni-kaci

• PASS_AUTH - Kon�gurace s Endpointem, který podporuje p°ihlá²ení pomocíp°ihla²ovacích údaj·

• CERT_AUTH - Kon�gurace s Endpointem, který podporuje p°ihlá²ení pomocícerti�kát·

• DISCOVERY - Kon�gurace s p°ipojením informací o serveru na Discovery server

• FULL - Kon�gurace se v²emi moºnými parametry

Pro první pouºití je doporu£eno pouºít n¥který z t¥chto p°íklad· a nastavit parame-try ADDRESS, COMPANY_URI_NAME, PROJECT_URI_NAME a INSTANCE_URI_NAME. P°ípadn¥ APPLICATION_PRIVATE_KEY_PASSWORD a OPTIONAL_ENCODING_SALT. Dal²í parametry je moºné m¥nit postupn¥ a získávat tím informaceo moºnostech serveru.

30

Page 32: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

6.2 Sluºba OPC UA

OPC UA server pro systém REXYGEN je moºno (a doporu£eno) spou²t¥t jako systémovousluºbu.

V OS Windows je moºné tuto sluºbu spravovat pomocí monitorovací aplikace (viz6.1, 6.2 a 6.3). Pomocí této aplikace je moºné spou²t¥t, zastavovat sluºbu, nastavit jejíautomatické spou²t¥ní a otev°ít dialog RexOpcUaCon�g pro nastavení serveru (kapitola5).

Obrázek 6.1: Monitorovací sluºba REXYGENu

Obrázek 6.2: Umíst¥ní OPC UA sluºby v nabídce monitorovací sluºby

Obrázek 6.3: Obsluha a nastavení OPC UA sluºby

V OS Linux je moºné sluºbu spustit pomocí system.d.

31

Page 33: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

systemctl start rexopcua

Této sluºb¥ lze nastavit cestu ke kon�gura£nímu INI souboru parametrem CFGFILEv souboru:

/etc/rexcore/rexopcua.conf

6.3 OPC UA Klienti

Pro vyzkou²ení OPC UA serveru je moºné pouºít n¥kterého z ve°ejn¥ dostupných klient·.I p°es p°esnou speci�kaci se kaºdý klient chová trochu jinak a ne vºdy vyuºívá v²echmoºností, které mu server nabízí. V tomto návodu jsme pouºili klienta UaEpert od �rmyUni�ed Automation GmbH a software myScada.

U obou klient· bude navíc vysv¥tleno, jak má vypadat nastavení pro anonymní p°i-pojení (obrázek 6.4) a pro p°ipojení pomocí p°ihla²ovacích údaj· (obrázek 6.5 a 6.6).

Obrázek 6.4: Nastavení Endpointu bez zabezpe£ení

32

Page 34: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

Obrázek 6.5: Nastavení p°ihla²ování pomocí p°ihla²ovacích údaj·

Obrázek 6.6: Nastavení uºivatelské politiky na Endpoint

33

Page 35: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

6.3.1 UaExpert

UaExpert je obecný pln¥ funk£ní OPC UA klient, který je pouºíván pro testování vyví-jených OPC UA server·, pro zobrazení dat nebo pro pouºití pokro£ilých funkcí ze speci-�kace OPC UA. Tohoto klienta pouºívá ²iroká ve°ejnost jako standardizovanou aplikaci.

UaExpert umí t°i druhy autentizace, zabezpe£ené p°ihlá²ení, Discovery sluºby, £tení,zápis a monitorování uzl·, zobrazení uzl· a jejich referencí pomocí stromové struktury,monitorování událostí, spou²t¥ní metod, nastavení a mnoho dal²ího.

P°i prvním spu²t¥ní program vyzve ke vygenerování aplika£ního certi�kátu. Pokudmá klient komunikovat se serverem pomocí zabezpe£eného p°ipojení, musí být tentocerti�kát zkopírován do trust sloºky serveru, nap°íklad pomocí `Settings' > `ManageCerti�cates' > `Copy Application Certi�cate To...' (viz obrázek 6.7) a poté zvolte sloºkutrust OPC UA serveru (tento postup samoz°ejm¥ nefunguje, pokud je server na jinémstroji neº klient, pak je nutné certi�kát zkopírovat ru£n¥). Zkopírovat certi�kát serverudo trust sloºky klienta není nutné. Pokud klient narazí na neznámý certi�kát serveru,zeptá se zda mu má v¥°it. V dialogu pak navíc existuje tla£ítko, pomocí n¥hoº je moºnézkopírovat certi�kát do trust sloºky klienta a tím zajistit, ºe p°í²t¥ bude klient serveruv¥°it.

Obrázek 6.7: UaExpert: Uloºení certi�kátu do d·v¥ryhodných

P°ipojení k serveru lze provést pomocí tla£ítka plus. Otev°e se kon�gurace p°ipojení.V záloºce `Advanced' (obrázek 6.8) je moºné nastavit Endpoint, zabezpe£ení a p°ihla²o-

34

Page 36: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

vací politiku (`Session name' nemá na chod vliv). Pokud je vybrána p°ihla²ovací politikapomocí p°ihla²ovacích údaj·, je t°eba zadat jméno a heslo uºivatele (viz obrázek 6.9).P°i p°ihla²ování pomocí certi�kátu je t°eba zadat certi�kát a soukromý klí£.

Obrázek 6.8: UaExpert: P°ipojení k serveru anonymn¥

35

Page 37: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

Obrázek 6.9: UaExpert: P°ipojení k serveru s p°ihla²ovacími údaji

Funk£ní p°ipojení je znázorn¥no zapojenou zástr£kou (viz obrázek 6.10). P°ipojení lzerozpojit (ikonka s p°e²krtnutou zástr£kou) a znovu spojit (ikonka se zástr£kou). Zm¥nuzabezpe£ení p°ipojení a jinou kon�guraci (ikonka s klí£em) lze provést pouze s rozpoje-ným p°ipojením. Zm¥nu p°ihla²ovací politiky je moºné provést za b¥hu (pomocí ikonkyuºivatele). Klient m·ºe obsluhovat více p°ipojení naráz. Kon�guraci klienta (p°ipojení,monitorované poloºky apod.) lze uloºit a p°i p°í²tím pouºití jednodu²e nahrát.

36

Page 38: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

Obrázek 6.10: UaExpert: P°ipojený k serveru

Pro monitorování hodnot uzl· je t°eba p°idat dokument `Data Access View' (£astoje uº p°ítomen) kliknutím na ikonku dokumentu, vybrání poloºky `Data Access View'(viz obrázek 6.11) a kliknutím na `Add'. Monitorované poloºky je t°eba najít ve stromuAdresního prostoru a p°etáhnout do prostoru dokumentu (viz obrázek 6.12). Poloºkase p°idá do monitorovacího seznamu a jsou zde vid¥t pravidelné aktualizace hodnoty(pokud se monitorovaná hodnota m¥ní). Poloºku lze poté kdykoliv smazat. Do poloºky vmonitorovaném seznamu lze zapsat dvojklikem na hodnotu uzlu a zadáním nové hodnoty(viz obrázek 6.13).

Obrázek 6.11: UaExpert: P°idání monitorování dat

37

Page 39: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

Obrázek 6.12: UaExpert: Monitorování prom¥nné u1

Obrázek 6.13: UaExpert: Zápis do prom¥nné u1

Pro monitorování je t°eba p°idat dokument `Event View' (obrázek 6.14) a do n¥jp°idat monitorované uzly p°etáhnutím ze stromu Adresního prostoru do prostoru `Con�-guration' (viz obrázek 6.15). V²echny události uzlu poté ukazují v poli `Events' (obrázek6.16). P°i ozna£ení události se v poli `Details' objeví detaily události. U OPC UA serverupro REXYGEN je vhodné monitorovat sloºku `Exec', pop°ípad¥ objekt `Server', který jenoti�kován sloºkou `Exec' (zobrazuje i její události).

38

Page 40: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

Obrázek 6.14: UaExpert: P°idání monitorování událostí

Obrázek 6.15: UaExpert: Monitorování událostí sloºky Exec

39

Page 41: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

Obrázek 6.16: UaExpert: Zobrazení událostí

UaExpert umí i jednoduché £tení, kdy se p°i kliknutí na uzel ve strom¥ Adresníhoprostoru zobrazí v pravé £ásti informace o uzlu. U hodnot prom¥nných se zobrazí i jejichhodnota (viz obrázek 6.17). Zápis do prom¥nné lze provést p°i dvojkliku na hodnotuvalue (viz obrázek 6.18).

40

Page 42: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

Obrázek 6.17: UaExpert: �tení prom¥nné u1

Obrázek 6.18: UaExpert: Zápis do prom¥nné u1

UaExpert implementuje i Discovery sluºby, pomocí nichº zobrazuje v²echny dostupnéEndpointy registrovaných server· (obrázek 6.19). Uºivateli pak sta£í pouze rozbalit se-znam p°íslu²ného serveru, vybrat jednu z moºností, nastavit p°ihla²ovací politiku a p°ipo-

41

Page 43: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

jit se. Klient vºdy kontroluje LDS (Local Discovery Server - voln¥ dostupný program), kdejsou zobrazeny v²echny servery, které jsou zde zaregistrovány (viz kapitola 3.6). Druhoumoºností je p°idání a prozkoumání vlastního Discovery serveru, nap°íklad p°ímo OPCUA serveru pro REXYGEN, který podporuje Discovery sluºby a poskytuje informace osvých Endpointech.

Obrázek 6.19: UaExpert: Pouºití Discovery sluºeb

Pokud nastávají problémy p°i p°ipojení, zápisu, £tení nebo p°i £emkoliv jiném, jedobré zkontrolovat logy aplikace, které jsou zobrazeny v dolním panelu (viz obrázek6.20). Podle nahlá²ené chyby lze £asto snadno dohledat zdroj problému.

42

Page 44: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

Obrázek 6.20: UaExpert: Logování akcí

43

Page 45: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

6.3.2 myScada

Program myScada umoº¬uje komunikovat pomocí OPC UA, vytvo°it tagy, které jsoupropojené s hodnotami uzlu serveru, a tyto tagy zobrazovat. Na rozdíl od programuUaExpert, myScada nevyuºívá v²echny moºnosti speci�kace OPC UA.

Pro pouºití OPC UA v myScada je t°eba v programu myPROJECT designer vytvo°itprojekt, otev°ít záloºku spojení, p°idat nové spojení a zvolit OPC UA. Otev°e se dialog,v n¥mº je moºné nastavit spojení s OPC UA serverem (obrázek 6.21).

Obrázek 6.21: mySCADA: Anonymní p°ihlá²ení

V dal²í fázi je t°eba vytvo°it v projektu tag, který bude sm¥°ovat na hodnotu n¥kte-rého uzlu na serveru (záloºka OPC v dialogu pro vytvá°ení tag·, obrázek 6.22). Hodnotutohoto tagu lze na záv¥r vyuºít v zobrazení aplikace (obrázek 6.23). Hotový projekt lzepoté nahrát na za°ízení a sledovat jeho chod pomocí programu myView.

44

Page 46: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

Obrázek 6.22: mySCADA: Vytvo°ení tagu z uzlu OPC UA serveru

Obrázek 6.23: mySCADA: Pouºití tagu v zobrazení

Program myView slouºí k zobrazení dat na za°ízení. Pokud je pouºit v zobrazení tagpropojený s OPC UA, bude se jeho hodnota pravideln¥ m¥nit podle hodnoty v OPCUA serveru (obrázek 6.24). Pokud se p°eru²í spojení nebo serveru dojdou zdroje, ozna£íza°ízení hodnotu v zobrazení £erven¥ (viz obrázek 6.25).

45

Page 47: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

Obrázek 6.24: mySCADA: Zobrazení dat v za°ízení

Obrázek 6.25: mySCADA: Za°ízení bez dat

Jelikoº se myScada ne°ídí p°esn¥ speci�kací OPC UA, je nutné upravit server tak, abyse k n¥mu mohl klient p°ipojit. Pro nezabezpe£ené p°ihlá²ení musí mít server Endpoint skoncovou URI `/None/None'. Pro anonymní p°ihlá²ení musí být ID p°ihla²ovací politiky`0' (viz [Endpoint:2] a ADMIN_USER_TOKEN_POLICY_ID na obrázku 6.4).

Pro nastavení p°ipojení pomocí p°ihla²ovacích údaj· je t°eba nastavit ID pat°i£népolitiky na `UserNameIdentityToken' (obrázek 6.26 a 6.27) a zadat uºivatelské jméno aheslo v dialogu pro úpravu spojení (viz obrázek 6.28).

46

Page 48: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

Obrázek 6.26: mySCADA: Nastavení p°ihla²ování pomocí p°ihla²ovacích údaj·

Obrázek 6.27: mySCADA: Nastavení uºivatelské politiky na Endpoint

Obrázek 6.28: mySCADA: P°ihlá²ení pomocí p°ihla²ovacích údaj·

P°i práci s myScada je doporu£eno nemí°it na OPC UA server pomocí localhostu,nepouºívat zabezpe£enou komunikaci a neomezovat zdroje. P°ípadn¥ zdroj· po-skytnout dostatek a nastavit parametr MAX_SESSION_TIMEOUT dostate£n¥ krátký,jinak m·ºe dojít k vy£erpání zdroj· a server za£ne zobrazovat chyby. Chyby p°ipojeníse b¥hem návrhu nejlépe zjistí p°i vytvá°ení tag· (viz obrázek 6.29).

47

Page 49: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

Obrázek 6.29: mySCADA: Chyba p°ipojení

48

Page 50: OPC UA server pro systém REXYGEN - uživatelská příručka · 2.4 Události a verzování Aby mohlo probíhat č ů exekutivy, musí být složka ‘Exec’ verzovaná. ř každé

Literatura

Referen£ní £íslo dokumentace: 12369

49