OPC Unified Architecture

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

OPC Unified Architecture (OPC UA) je standard komunikačních protokolů a rozhraní pro průmyslovou automatizaci. Tento standard byl vyvinut organizací OPC Foundation a je určen pro výměnu dat mezi různými zařízeními a systémy v průmyslových aplikacích. OPC UA se vyznačuje robustností, bezpečností a schopností provádět komunikaci přes různé sítě a protokoly. OPC UA poskytuje obecnou a rozšiřitelnou platformu pro komunikaci mezi zařízeními, umožňuje přenos různých typů dat a nabízí možnost vytvoření hierarchického modelu, který usnadňuje organizaci a správu datových struktur. Díky své modularitě a nezávislosti na platformě se OPC UA stal populárním standardem v průmyslové automatizaci a integruje se s různými systémy a zařízeními, jako jsou PLC (programovatelné logické automaty), HMI (rozhraní člověk-stroj) a SCADA (supervizní kontrola a sběr dat). OPC UA podporuje bezpečnostní mechanismy, jako je šifrování dat, autentizace uživatelů a zabezpečená komunikace, což je klíčové pro ochranu dat a systémů v průmyslových prostředích. Díky své otevřenosti a podpoře různých protokolů je OPC UA schopen efektivně komunikovat s různými typy zařízení a sítí, a umožňuje tak snadnou integraci a interoperabilitu v automatizačních systémech. OPC Unified Architecture je v současné době jedním z nejpoužívanějších standardů v průmyslové automatizaci a má širokou podporu od výrobců zařízení, softwarových nástrojů a systémů. Jeho využití umožňuje snížit náklady na integraci a údržbu systémů, zlepšit jejich spolehlivost a zabezpečení a usnadnit vývoj a nasazení nových aplikací v průmyslovém prostředí.

OPC Unified Architecture (OPC UA) je komunikační protokol vyvinut nadací OPC Foundation.

Jeho charakteristiky jsou:

* je založen na klient-server modelu * zaměření na sběr dat a řízení v rámci průmyslových sítí * otevřenost - je uvolněn pod licencí GPL 2. 0 * platformová přenositelnost - není vázán na konkrétní operační systém či programovací jazyk * orientovaný na služby * nabízí bezpečnostní funkce jako je např. +more autentizace, autorizace, integrita a důvěryhodnost.

Historie

Přestože byl protokol vyvinut stejnou organizací jako svůj předchůdce, ta se OPC UA od něj velmi liší. Název OPC stojí za Open Platform Communications, tedy se jedná o otevřený komunikační protokol a stojí za ním nadace OPC Foundation. +more Cílem protokolu OPC UA nadace zamýšlela poskytnout cestu vpřed z běžného komunikačního OPC modelu (přesněji závislost na systémech Microsoft Windows a jejich modelu COM/DCOM) blíže k jednoduchosti potřebné pro průmyslovou automatizaci.

První verze protokolu OPC UA byla uvolněna po více než 3 letech prací na specifikacích a prototypech v roce 2006.

Aktuální verze specifikace nese číslo revize 1. 04 z 22. +more listopadu 2017 a nová verze protokolu byla rozšířena o model publish/subscribe (stejně jako má protokol MQTT) vedle běžného klient/server modelu.

Protokoly

OPC UA podporuje dva protokoly, které se liší svojí cestou URL. Binární protokol opc.tcp://Server a protokol pro webovou službu

. Jinak pracuje OPC UA zcela transparentně ke svému API rozhraní.

Binární protokol nabízí lepší výkon a zabírá méně procesorového času (nevyžaduje parsování XML, SOAP či HTTP), nabízí nejlepší interoperabilitu a používá pouze jeden zvolený port, což zajišťuje lepší tunelování pomocí tzv. směrování portů (port-forwarding) na firewallu.

Webová služba založená na SOAP protokolu je příjemnější pro programování vzhledem k pojmenovaným entitám v přenášených datech a bezpečnost je stejná jako pro běžné HTTP a HTTPS porty.

Bezpečnost UA

Bezpečnost protokolu OPC UA je zajištěna pomocí autentizace, autorizace, šifrování a zajištění datové integrity pomocí podpisů. Pro webové služby se používá tzv. +more WS-SecureConversation a je kompatibilní se SOAP implementacemi protokolu. Pro binární variantu je použit algoritmus jako pro WS-SecureConversation a poté převeden do své binární podoby jako UA Secure Conversation.

Dále existuje i smíšená verze, kde jsou data i kód v binární podobě, ale transportní vrstvou je protokol SOAP. Jedná se o efektivní řešení pro umožnění lepšího prostupu přes firewally v problematických nasazeních. +more Autentizace je vždy zajišťována poccí X. 509 certifikátů a spoléhá na vývojáře aplikace, který určuje jaké úložiště certifikátů k aplikaci náleží. Tímto úložištěm může být například PKI infrastruktura řešení Active Directory v rámci systémů Microsoft Windows Server.

Vestavěné datové typy

Standard OPC UA definuje 25 vestavěných datových typů:

Booleanbool0/1 (true or false)0 (číselná hodnota)
SByteint8_t-128 až 127
Byteuint8_t0 až 255
Int16int16_t-32768 až 32767
UInt16uint16_t0 až 65535
Int32int32_t-2147483648 až 2147483647
UInt32uint32_t0 až 4294967295
Int64int64_t-9223372036854775808 až 9223372036854775807
UInt64uint64_t0 až 18446744073709551615
Floatfloat32bitové desetinné číslo dle normy IEEE
Doubledouble64bitové desetinné číslo dle normy IEEE
StatusCodeuint32_t
Stringuint8_t* / std::string3 (řetězec)
DateTimeint64_tpočet 100 nanosekundových intervalů od 1. 1. +more1601 UTC
GUIDzávislé na implementaci16-bytové číslo použité jako unikátní identifikátor4 (GUID)
ByteString(stejné jako řetězec)5 (byte string)
XmlElement(stejné jako řetězec)
NodeIdindex jmenného prostoru (namespace) nebo typ NodeId
ExpandedNodeId(podobné jako NodeId)
QualifiedNameindex jmenného prostoru (namespace) nebo řetězec
LocalizedTextřetězec a identifikátor jazyka
NumericRangeřetězec (např. "0:4,1:5" pro pole [0. 4][1. 5])
Variant(variabilní objekt, pouze pro vestavěné typy)
ExtensionObjectskalární veličiny libovolného typu
DataValuesloženina hodnoty, časového razítka a stavového kódu
DiagnosticInfodetail o chybě či diagnostická informace
.

API rozhraní OPC UA

API rozhraní protokolu OPC UA jsou dostupná pro několik programovacích jazyků, například:

Implementace pro jazyk C/C++

Projekt [url=https://open62541. org/]open62541[/url] poskytuje otevřenou implementaci OPC UA serveru a klientů uvolněnou pod licencí MPL 2. +more0 * Projekt [url=https://github. com/FreeOpcUa]FreeOpcUa[/url] poskytuje otevřenou implementaci OPC UA serveru a klientů uvolněnou pod licencí LGPL. * UAF.

Implementace pro jazyk JavaScript

Projekt [url=https://github.com/node-opcua]node-opcua[/url] je kompletní implementací OPC UA protokolu pro server i klienta kompletně napsaného v jazyce JavaScript pro Node.js.

Implementace pro jazyk Python

Projekt [url=https://github. com/FreeOpcUa]FreeOpcUa[/url] poskytuje jak asynchronní implementaci pomocí opcua-asyncio (pro Python 3. +more7 a vyšší) a také python-opcua. Obě implementace poskytují vysokou úroveň abstrakce pro implementaci jako OPC UA serveru, tak i OPC UA klienta.

IEC 62541

IEC 62541 je označení standardu pro OPC Unified Architecture.

IEC/TR 62541-12016OPC Unified Architecture - Part 1: Overview and Concepts
IEC/TR 62541-22016OPC Unified Architecture - Part 2: Security Model
IEC 62541-32020OPC Unified Architecture - Part 3: Address Space Model
IEC 62541-42020OPC Unified Architecture - Part 4: Services
IEC 62541-52020OPC Unified Architecture - Part 5: Information Model
IEC 62541-62020OPC Unified Architecture - Part 6: Mappings
IEC 62541-72020OPC Unified Architecture - Part 7: Profiles
IEC 62541-82020OPC Unified Architecture - Part 8: Data Access
IEC 62541-92020OPC Unified Architecture - Part 9: Alarms and Conditions
IEC 62541-102020OPC Unified Architecture - Part 10: Programs
IEC 62541-112020OPC Unified Architecture - Part 11: Historical Access
IEC 62541-122020OPC unified architecture - Part 12: Discovery and global services
IEC 62541-132020OPC Unified Architecture - Part 13: Aggregates
IEC 62541-142020OPC unified architecture - Part 14: PubSub
IEC 62541-1002015OPC Unified Architecture - Part 100: Device Interface

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top