title: OPC-UA 适配器
description: OPC-UA是由 OPC Foundation 开发的用于工业自动化的机器对机器通信协议。OPC-UA 适配器集成了gopcua并专注于与工业 OPC-UA 设备和系统进行通信,以便在边缘侧进行数据收集和数据处理。
keywords:
- Octopus中文文档
- Octopus 中文文档
- 边缘计算
- IOT
- edge computing
- Octopus中文
- Octopus 中文
- Octopus
- Octopus教程
- Octopus中国
- rancher
- Octopus 中文教程
- 适配器
- OPC-UA 适配器
介绍
OPC Unified Architecture(OPC-UA)是由 OPC Foundation 开发的用于工业自动化的机器对机器通信协议。
OPC-UA 适配器集成了gopcua,并专注于与工业 OPC-UA 设备和系统进行通信,以便在边缘侧进行数据收集和数据处理。
注册信息
版本 |
注册名称 |
端点 Socket |
是否可用 |
v1alpha1 |
adaptors.edge.cattle.io/opcua |
opcua.sock |
* |
支持模型
类型 |
设备组 |
版本 |
是否可用 |
OPCUADevice |
devices.edge.cattle.io |
v1alpha1 |
* |
支持平台
操作系统 |
架构 |
linux |
amd64 |
linux |
arm |
linux |
arm64 |
使用方式
```shell script
kubectl apply -f https://raw.githubusercontent.com/cnrancher/octopus/master/adaptors/opcua/deploy/e2e/all_in_one.yaml
## 权限
对 Octopus 授予权限,如下所示:
```text
Resources Non-Resource URLs Resource Names Verbs
--------- ----------------- -------------- -----
opcuadevices.devices.edge.cattle.io [] [] [create delete get list patch update watch]
opcuadevices.devices.edge.cattle.io/status [] [] [get patch update]
Example
指定一个 “OPCUADevice”设备链接来连接 OPC-UA 服务器。
apiVersion: edge.cattle.io/v1alpha1
kind: DeviceLink
metadata:
name: opcua
spec:
adaptor:
node: edge-worker
name: adaptors.edge.cattle.io/opcua
model:
apiVersion: "devices.edge.cattle.io/v1alpha1"
kind: "OPCUADevice"
template:
metadata:
labels:
device: opcua
spec:
parameters:
syncInterval: 5s
timeout: 10s
protocol:
# replace the address if needed
endpoint: opc.tcp://10.43.29.71:4840/
properties:
- name: datetime
description: the current datetime
readOnly: true
visitor:
nodeID: ns=0;i=2258
type: datetime
- name: integer
description: mock number. Default value is 42
readOnly: false
visitor:
nodeID: ns=1;s=the.answer
type: int32
value: "1"
- name: string
description: mock byte string. Default value is "test123"
readOnly: false
visitor:
nodeID: ns=1;s=myByteString
type: byteString
value: "newString"
更多的 “OPCUADevice “设备链接示例,请参考deploy/e2e目录,并使用deploy/e2e/simulator.yaml进行快速体验。
OPCUADevice
OPCUADeviceSpec
OPCUADeviceStatus
OPCUADeviceParamters
参数 |
描述 |
类型 |
是否必填 |
syncInterval |
指定默认的设备同步时间间隔,默认为15s |
string |
否 |
timeout |
指定默认的设备的连接超时时间,默认为10s |
string |
否 |
OPCUADeviceProtocol
OPCUADeviceProtocolSecurityPolicy
参数 |
描述 |
类型 |
None |
无安全策略 |
string |
Basic128Rsa15 |
使用 Basic128Rsa15 安全策略 |
string |
Basic256 |
使用 Basic256 安全策略 |
string |
Basic256Sha256 |
使用 asic256Sha256 安全策略 |
string |
Aes128Sha256RsaOaep |
使用 Aes128Sha256RsaOaep 安全策略 |
string |
Aes256Sha256RsaPss |
使用 Aes256Sha256RsaPss 安全策略 |
string |
OPCUADeviceProtocolSecurityMode
参数 |
描述 |
类型 |
None |
不加密 |
string |
Sign |
仅签名 |
string |
SignAndEncrypt |
签名且加密 |
string |
OPCUADeviceProtocolBasicAuth
OPCUADeviceProtocolTLS
OPCUADeviceProperty
OPCUADeviceStatusProperty
OPCUADevicePropertyVisitor
参数 |
描述 |
类型 |
是否必填 |
nodeID |
指定 OPC-UA 节点的 id,例如 “ns=1,i=1005” |
string |
是 |
browseName |
指定 OPC-UA 节点名称 |
string |
否 |
OPCUADevicePropertyType
参数 |
描述 |
类型 |
boolean |
属性数据类型为布尔值 |
string |
int64 |
属性数据类型为 int64 |
string |
int32 |
属性数据类型为 int32 |
string |
int16 |
属性数据类型为 int16 |
string |
uint64 |
属性数据类型为 uint64 |
string |
uint32 |
属性数据类型为 uint32 |
string |
uint16 |
属性数据类型为 uint16 |
string |
float |
属性数据类型为 float |
string |
double |
属性数据类型为 double |
string |
string |
属性数据类型为 string |
string |
byteString |
属性数据类型为 bytestring,将转换为 string 显示 |
string |
datetime |
属性数据类型为 datetime |
string |
OPCUADeviceExtension