Skip to content

Commit 429bab6

Browse files
committed
new doc:opcua server
1 parent 227b3b2 commit 429bab6

File tree

19 files changed

+252
-0
lines changed

19 files changed

+252
-0
lines changed

directory.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -585,6 +585,16 @@
585585
"path": "configuration/north-apps/DataStorage/api"
586586
}
587587
]
588+
},
589+
{
590+
"title": "OPC UA Server",
591+
"path": "configuration/north-apps/opcua-server/overview",
592+
"children": [
593+
{
594+
"title": "UaExpert 连接示例",
595+
"path": "configuration/north-apps/opcua-server/uaexpert"
596+
}
597+
]
588598
}
589599
]
590600
},
@@ -1311,6 +1321,16 @@
13111321
"path": "configuration/north-apps/DataStorage/api"
13121322
}
13131323
]
1324+
},
1325+
{
1326+
"title": "OPC UA Server",
1327+
"path": "configuration/north-apps/opcua-server/overview",
1328+
"children": [
1329+
{
1330+
"title": "Connect to OPC UA Server using UaExpert",
1331+
"path": "configuration/north-apps/opcua-server/uaexpert"
1332+
}
1333+
]
13141334
}
13151335
]
13161336
},
40.1 KB
Loading
90.9 KB
Loading
116 KB
Loading
113 KB
Loading
28.7 KB
Loading
109 KB
Loading
116 KB
Loading
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# OPC UA Server
2+
3+
OPC UA (OPC Unified Architecture) is a platform-independent, vendor-neutral industrial communication standard designed for reliable and secure data exchange in automation systems. OPC UA supports data modeling, events, historical data access, and method invocation, making it suitable for distributed scenarios from edge devices to the cloud.
4+
5+
Neuron supports using OPC UA Server as a northbound application, allowing southbound device data to be exposed to upper-level systems or third-party clients via OPC UA services. Through the OPC UA Server, external systems can subscribe to data changes, read real-time points, and send control commands.
6+
7+
## Add Application
8+
9+
In **Data Collection -> North Apps**, click **Add Application** and select **OPC UA Server** to create an OPC UA Server node.
10+
11+
## Application Configuration
12+
13+
When creating an OPC UA Server application, you can configure the following parameters:
14+
15+
| Parameter | Description |
16+
| ---------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
17+
| **Host** | The computer running the OPC UA server, default is 127.0.0.1. |
18+
| **Port** | The port the server binds to, default is 4840. |
19+
| **Security Policy** | Supported security policies, including None, Basic256Sha256, Basic256, Basic256Rsa15, Aes128_Sha256_RsaOaep. Default is None. |
20+
| **Username and Password Authentication** | Enable username and password authentication, supports adding users, updating passwords, and deleting users. |
21+
| **Server Certificate** | Certificate and key (PEM) used by the server. |
22+
| **Trusted Certificate Authority** | Upload trusted CA certificates(PEM). |
23+
| **Trusted Client Certificate** | Upload client-generated certificates(PEM). |
24+
25+
### Security and Certificates
26+
27+
OPC UA strongly recommends enabling security policies and message encryption to prevent man-in-the-middle attacks and eavesdropping. Key points:
28+
29+
- Use strong security policies (such as Basic256Sha256) and enable SignAndEncrypt mode on the client.
30+
- Add client certificates to the **Trusted Client Certificates** list to enable mutual TLS.
31+
- Enable username/password authentication.
32+
33+
When Neuron starts the OPC UA Server for the first time, a self-signed certificate is generated. External clients may need to manually trust this certificate (e.g., import it into the trusted list in the UA client). Uploaded client certificates are trusted by default. Unknown client connections will have their certificates added to the untrusted list and require manual trust in the UI.
34+
35+
### Naming and Mapping Rules
36+
37+
Neuron maps tags (points) from southbound devices to OPC UA nodes. Mapping rules:
38+
39+
- Each southbound node (e.g., modbus1) corresponds to an OPC UA Object node.
40+
- Groups are organized as child objects under the southbound node.
41+
- Tags are mapped to Variable nodes, with DataType mapped from Neuron's type to OPC UA types (Double, Int32, Boolean, String, etc.).
42+
43+
All southbound nodes are under the NeuronEX node. NodeId follows the format `ns=1;s=[device].[group].[tag]`, e.g., `ns=1;s=modbus-tcp-1.group-1.temperature`, where ns=1 is the NeuronEX namespace.
44+
45+
## Data Type Mapping
46+
47+
| NeuronEX | OPC UA |
48+
| ------------ | ------------- |
49+
| INT8/UINT8 | Sbyte/Byte |
50+
| INT16/UINT | Int16/UInt16 |
51+
| INT32/UINT32 | Int32/UInt32 |
52+
| INT64/UINT64 | Int64/UInt64 |
53+
| FLOAT | Float |
54+
| DOUBLE | Double |
55+
| BIT/BOOL | Boolean |
56+
| STRING | String |
57+
| BYTES | ByteString |
58+
| ARRAY_INT8 | Array Sbyte |
59+
| ARRAY_UINT8 | Array Byte |
60+
| ARRAY_INT16 | Array Int16 |
61+
| ARRAY_UINT16 | Array Uint16 |
62+
| ARRAY_INT32 | Array Int32 |
63+
| ARRAY_UINT32 | Array Uint32 |
64+
| ARRAY_INT64 | Array Int64 |
65+
| ARRAY_UINT64 | Array Uint64 |
66+
| ARRAY_FLOAT | Array Float |
67+
| ARRAY_DOUBLE | Array Double |
68+
| ARRAY_BOOL | Array Boolean |
69+
| Json | String |
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# Using UaExpert to Connect to Neuron OPC UA Server
2+
3+
This section demonstrates how to use UaExpert (a popular OPC UA client) to connect, trust certificates, subscribe to variables, and write values, to verify the Neuron OPC UA Server configuration.
4+
5+
## 1. Install UaExpert
6+
7+
Download and install UaExpert from the [Unified Automation official website](https://www.unified-automation.com/downloads.html).
8+
9+
## 2. Add Northbound OPC UA Server
10+
11+
1. Add a northbound OPC UA Server application, keep the default configuration, and click Submit.
12+
2. Enter the application configuration page, switch to authentication management, and enable security policy and username/password authentication.
13+
14+
![p1](./assets/p1.png)
15+
3. Subscribe to southbound driver data.
16+
17+
## 3. UaExpert Connection
18+
19+
1. Open UaExpert, click the **+** button on the toolbar, double-click **Custom Discovery** -> **< Double click to Add Server... >**, enter the OPC UA Server address in the dialog, and click **OK** to add the address to the end of the list.
20+
21+
![p2](./assets/p2.png)
22+
23+
2. Expand the subnodes under the address, select the appropriate connection policy, set the username and password, and click `OK` to add the connection to the **Project** view in UaExpert.
24+
25+
![p3](./assets/p3.png)
26+
27+
3. In the left **Project** view, right-click the target OPC UA Server under **Servers**, and select **Connect** from the context menu. A server certificate verification page will pop up, where you can check if the server certificate matches the one shown in the northbound application, then trust the server certificate and continue.
28+
![p4](./assets/p4.png)
29+
30+
4. Since this is an unknown client connection, the northbound OPC UA Server application will return a `BadCertificateUntrusted` error. You need to manually trust the certificate in the northbound application authentication page, then reconnect.
31+
![p5](./assets/p5.png)
32+
33+
5. Expand the subnodes in the left **Address Space** view. In the right **Attributes** panel, you can see the node's address information, where **NamespaceIndex** is the namespace index and **Identifier** is the node ID.
34+
35+
![p6](./assets/p6.png)
36+
37+
## 4. Monitoring and Writing
38+
39+
1. Drag subnodes from the **Address Space** view to the **Data Access View** to see the node's data type.
40+
![p7](./assets/p7.png)
41+
2. Modify the corresponding data point value on the southbound device and observe whether the subscribed node data changes.
42+
3. Double-click the `Value` item to write data and observe whether the southbound device data changes.

0 commit comments

Comments
 (0)