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 |
#
使用方式#
权限对 Octopus 授予权限,如下所示:
#
Example指定一个 "OPCUADevice"设备链接来连接 OPC-UA 服务器。
更多的 "OPCUADevice "设备链接示例,请参考deploy/e2e目录,并使用deploy/e2e/simulator.yaml进行快速体验。
#
OPCUADevice参数 | 描述 | 类型 | 是否必填 |
---|---|---|---|
metadata | 元数据 | metav1.ObjectMeta | 否 |
spec | 定义OPCUADevice 的预期状态 | OPCUADeviceSpec | 是 |
status | 定义OPCUADevice 的实际状态 | OPCUADeviceStatus | 否 |
#
OPCUADeviceSpec参数 | 描述 | 类型 | 是否必填 |
---|---|---|---|
extension | 指定设备的插件 | *OPCUADeviceExtension | 否 |
parameters | 指定设备的参数 | *OPCUADeviceParamters | 否 |
protocol | 指定访问设备时使用的协议 | *OPCUADeviceProtocol | 是 |
properties | 指定设备的属性 | *OPCUADeviceProperty | 否 |
#
OPCUADeviceStatus参数 | 描述 | 类型 | 是否必填 |
---|---|---|---|
properties | 上报设备的属性 | *OPCUADeviceStatusProperty | 否 |
#
OPCUADeviceParamters参数 | 描述 | 类型 | 是否必填 |
---|---|---|---|
syncInterval | 指定默认的设备同步时间间隔,默认为15s | string | 否 |
timeout | 指定默认的设备的连接超时时间,默认为10s | string | 否 |
#
OPCUADeviceProtocol参数 | 描述 | 类型 | 是否必填 |
---|---|---|---|
endpoint | 指定 OPC-UA 服务器端点的 URL,以 "opc.tcp://"开头。 | string | 是 |
securityPolicy | 指定访问 OPC-UA 服务器的安全策略,默认为 "None"。 | *OPCUADeviceProtocolSecurityPolicy | 否 |
securityMode | 指定访问 OPC-UA 服务器的安全模式,默认为 "None"。 | *OPCUADeviceProtocolSecurityMode | 否 |
basicAuth | 指定客户端连接 OPC-UA 服务器的用户名和密码。 | *OPCUADeviceProtocolBasicAuth | 否 |
tlsConfig | 指定客户端连接 OPC-UA 服务器的 TLS 配置。 | *OPCUADeviceProtocolTLS | 否 |
#
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参数 | 描述 | 类型 | 是否必填 |
---|---|---|---|
username | 指定访问 OPC-UA 服务器的用户名 | string | 否 |
usernameRef | 指定 DeviceLink 的引用关系,将该值作为用户名引用 | *edgev1alpha1.DeviceLinkReferenceRelationship | 否 |
password | 指定访问 OPC-UA 服务器的用户密码 | string | 否 |
passwordRef | 指定 DeviceLink 的引用关系,将该值作为用户密码引用 | *edgev1alpha1.DeviceLinkReferenceRelationship | 否 |
#
OPCUADeviceProtocolTLS参数 | 描述 | 类型 | 是否必填 |
---|---|---|---|
certFilePEM | 指定证书(公钥)的 PEM 格式内容,用于客户端对 OPC-UA 服务器的认证 | string | 否 |
certFilePEMRef | 指定 DeviceLink 的引用关系,将该值作为客户端证书文件 PEM 内容引用。 | *edgev1alpha1.DeviceLinkReferenceRelationship | 否 |
keyFilePEM | 指定密钥(私钥)的 PEM 格式内容,用于客户端对 OPC-UA 服务器的认证。 | string | 否 |
keyFilePEMRef | 指定 DeviceLink 的引用关系,将该值作为客户端密钥文件 PEM 内容引用。 | *edgev1alpha1.DeviceLinkReferenceRelationship | 否 |
#
OPCUADeviceProperty参数 | 描述 | 类型 | 是否必填 |
---|---|---|---|
name | 指定属性名称 | string | 是 |
description | 指定属性的描述 | string | 否 |
type | 指定属性的类型 | *OPCUADevicePropertyType | 是 |
visitor | 指定属性的 visitor | *OPCUADevicePropertyVisitor | 是 |
readOnly | 指定属性的是否只读,默认值为false | boolean | 否 |
value | 指定属性的值,只在可写属性中可用 | string | 否 |
#
OPCUADeviceStatusProperty参数 | 描述 | 类型 | 是否必填 |
---|---|---|---|
name | 属性名称 | string | 否 |
type | 属性类型 | *OPCUADevicePropertyType | 否 |
value | 属性值 | string | 否 |
updatedAt | 修改属性时留下的时间戳 | *metav1.Time | 否 |
#
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参数 | 描述 | 类型 | 是否必填 |
---|---|---|---|
mqtt | 指定 MQTT 的设置 | *v1alpha1.MQTTOptionsSpec | 否 |