OPC UA
OPC UA (Open Platform Communications Unified Architecture) is a communication standard for platform-independent, secure and reliable data exchange in industrial automation. It is governed by the OPC Foundation and is the modern architecture that replaced the older OPC Classic standards (DA, HDA, A&E).
inSCADA supports OPC UA in both the Client and the Server role.
Core concepts
Section titled “Core concepts”What OPC UA gives you
Section titled “What OPC UA gives you”- Platform independence: it runs on Windows, Linux and embedded systems
- Security: TLS/SSL encryption, certificate validation, user authentication
- An object-oriented model: a hierarchical information model (the address space)
- Discoverability: browsing the node space finds the available data automatically
- Scalability: from a sensor up to a cloud platform
The address space
Section titled “The address space”An OPC UA server organises its data in a hierarchy called the address space, built from nodes:
Node identifier (node ID)
Section titled “Node identifier (node ID)”Every node is identified by a unique node ID made of three parts:
- Namespace Index (ns): which namespace it belongs to
- Identifier Type: numeric or string
- Identifier: the value itself (a number or a text)
Examples:
ns=2; s="PLC1.Temperature"— a string identifierns=2; i=1001— a numeric identifier
The security model
Section titled “The security model”OPC UA has a layered security model.
Security mode:
| Mode | Description |
|---|---|
| None | No signing and no encryption |
| Sign | Messages are signed but not encrypted |
| SignAndEncrypt | Messages are both signed and encrypted |
Security policy:
| Policy | Description |
|---|---|
| None | No security policy |
| Basic128Rsa15 | 128-bit encryption (old, not recommended) |
| Basic256 | 256-bit encryption |
| Basic256Sha256 | 256-bit encryption + SHA-256 hash |
| Aes128_Sha256_RsaOaep | AES-128 encryption + SHA-256 |
Authentication:
| Method | Description |
|---|---|
| Anonymous | No authentication |
| Username/Password | Sign in with a user name and password |
The inSCADA data model
Section titled “The inSCADA data model”Supported data types
Section titled “Supported data types”| Data type | Description |
|---|---|
| Boolean | A single-bit value |
| SByte | A signed 8-bit integer |
| Byte | An unsigned 8-bit integer |
| Int16 | A signed 16-bit integer |
| UInt16 | An unsigned 16-bit integer |
| Int32 | A signed 32-bit integer |
| UInt32 | An unsigned 32-bit integer |
| Int64 | A signed 64-bit integer |
| Float | A 32-bit floating-point value |
| Double | A 64-bit floating-point value |
| String | A string |
| DateTime | A timestamp |
Encodings
Section titled “Encodings”| Encoding | Description |
|---|---|
| Binary | OPC UA binary encoding (the default, and the fastest) |
| XML | XML-based encoding |
| JSON | JSON-based encoding |
Sub-pages
Section titled “Sub-pages”- OPC UA Client — configuring the client
- OPC UA Server — configuring the server