A | B | C | D | E | F | G | H | CH | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
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 [1]
- 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ř. autentizace, autorizace, integrita a důvěryhodnost[2]
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. 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. listopadu 2017 [3]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[4], které se liší svojí cestou URL. Binární protokol opc.tcp://Server a protokol pro webovou službu http://Server. 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. 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. 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ů:
Datový typ | Ekvivalent v C/C++ | Rozsah | Typ NodeId |
---|---|---|---|
Boolean | bool | 0/1 (true or false) | 0 (číselná hodnota) |
SByte | int8_t | -128 až 127 | |
Byte | uint8_t | 0 až 255 | |
Int16 | int16_t | -32768 až 32767 | |
UInt16 | uint16_t | 0 až 65535 | |
Int32 | int32_t | -2147483648 až 2147483647 | |
UInt32 | uint32_t | 0 až 4294967295 | |
Int64 | int64_t | -9223372036854775808 až 9223372036854775807 | |
UInt64 | uint64_t | 0 až 18446744073709551615 | |
Float | float | 32bitové desetinné číslo dle normy IEEE | |
Double | double | 64bitové desetinné číslo dle normy IEEE | |
StatusCode | uint32_t | ||
String | uint8_t* / std::string | 3 (řetězec) | |
DateTime | int64_t | počet 100 nanosekundových intervalů od 1.1.1601 UTC | |
GUID | závislé na implementaci | 16-bytové číslo použité jako unikátní identifikátor | 4 (GUID) |
ByteString | (stejné jako řetězec) | 5 (byte string) | |
XmlElement | (stejné jako řetězec) | ||
NodeId | index jmenného prostoru (namespace) nebo typ NodeId | ||
ExpandedNodeId | (podobné jako NodeId) | ||
QualifiedName | index jmenného prostoru (namespace) nebo řetězec | ||
LocalizedText | řetězec a identifikátor jazyka | ||
NumericRange | řetězec (např. "0:4,1:5" pro pole ) | ||
Variant | (variabilní objekt, pouze pro vestavěné typy) | ||
ExtensionObject | skalární veličiny libovolného typu | ||
DataValue | složenina hodnoty, časového razítka a stavového kódu | ||
DiagnosticInfo | detail 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 open62541 poskytuje otevřenou implementaci OPC UA serveru a klientů uvolněnou pod licencí MPL 2.0
- Projekt FreeOpcUa poskytuje otevřenou implementaci OPC UA serveru a klientů uvolněnou pod licencí LGPL.
- UAF
Implementace pro jazyk JavaScript
Projekt node-opcua je kompletní implementací OPC UA protokolu pro server i klienta kompletně napsaného v jazyce JavaScript pro Node.js.
Implementace pro jazyk Python
- Projekt FreeOpcUa poskytuje jak asynchronní implementaci pomocí opcua-asyncio (pro Python 3.7 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.
ID | Rok vydání | Název |
---|---|---|
IEC/TR 62541-1 | 2016 | OPC Unified Architecture - Part 1: Overview and Concepts |
IEC/TR 62541-2 | 2016 | OPC Unified Architecture - Part 2: Security Model |
IEC 62541-3 | 2020 | OPC Unified Architecture - Part 3: Address Space Model |
IEC 62541-4 | 2020 | OPC Unified Architecture - Part 4: Services |
IEC 62541-5 | 2020 | OPC Unified Architecture - Part 5: Information Model |
IEC 62541-6 | 2020 | OPC Unified Architecture - Part 6: Mappings |
IEC 62541-7 | 2020 | OPC Unified Architecture - Part 7: Profiles |
IEC 62541-8 | 2020 | OPC Unified Architecture - Part 8: Data Access |
IEC 62541-9 | 2020 | OPC Unified Architecture - Part 9: Alarms and Conditions |
IEC 62541-10 | 2020 | OPC Unified Architecture - Part 10: Programs |
IEC 62541-11 | 2020 | OPC Unified Architecture - Part 11: Historical Access |
IEC 62541-12 | 2020 | OPC unified architecture - Part 12: Discovery and global services |
IEC 62541-13 | 2020 | OPC Unified Architecture - Part 13: Aggregates |
IEC 62541-14 | 2020 | OPC unified architecture - Part 14: PubSub |
IEC 62541-100 | 2015 | OPC Unified Architecture - Part 100: Device Interface |
Reference
- ↑ OPC Foundation GPLv2 License. opcfoundation.org . . Dostupné online.
- ↑ Assessing the Security of OPC UA Deployments, 2020 . . Dostupné online.
- ↑ OPC Foundation . . Dostupné online. (anglicky)
- ↑ KELTER, Udo. Konferenzankündigungen. Softwaretechnik-Trends. 2013-08, roč. 33, čís. 3, s. 3–13. Dostupné online . ISSN 0720-8928. DOI 10.1007/s40568-013-0065-6.
V tomto článku byl použit překlad textu z článku OPC Unified Architecture na anglické Wikipedii.
Text je dostupný za podmienok Creative Commons Attribution/Share-Alike License 3.0 Unported; prípadne za ďalších podmienok. Podrobnejšie informácie nájdete na stránke Podmienky použitia.
Antropológia
Aplikované vedy
Bibliometria
Dejiny vedy
Encyklopédie
Filozofia vedy
Forenzné vedy
Humanitné vedy
Knižničná veda
Kryogenika
Kryptológia
Kulturológia
Literárna veda
Medzidisciplinárne oblasti
Metódy kvantitatívnej analýzy
Metavedy
Metodika
Text je dostupný za podmienok Creative
Commons Attribution/Share-Alike License 3.0 Unported; prípadne za ďalších
podmienok.
Podrobnejšie informácie nájdete na stránke Podmienky
použitia.
www.astronomia.sk | www.biologia.sk | www.botanika.sk | www.dejiny.sk | www.economy.sk | www.elektrotechnika.sk | www.estetika.sk | www.farmakologia.sk | www.filozofia.sk | Fyzika | www.futurologia.sk | www.genetika.sk | www.chemia.sk | www.lingvistika.sk | www.politologia.sk | www.psychologia.sk | www.sexuologia.sk | www.sociologia.sk | www.veda.sk I www.zoologia.sk