OPC协议:
OPC协议基于COM/DCOM技术,通信实质是DCE RPC通信。微软msdn有RPC的详细接口定义。建议通过wireshark抓包的方式查看OPC通信数据包内容,配合官方文档解析其结构。
简介:通过KEPServer EX6 模拟opc ua服务端(以下简称server),在server配置设备相关以及opc ua协议相关,然后通过thingboard gateway连接server获取设备信息,再发送至thingboard云端。
thingboard配置操作
新建opc网关,如图所示,勾选是否为网关。
导入官网示例的扩展demo,如图所示,导入官网的opc设置。
demo地址:https://thingsboard.io/docs/iot-gateway/resources/opc-ua-gui-extension-configuration.json
点击小灰笔编辑,继续配置秘钥和映射遥测采集相关信息。
点击上传秘钥库,按照thingsboard对应的gateway版本在resources找到example.pfx,上传秘钥文件
上传以后导出配置文件,可以看到多了fileContent字段并且有值了
到此网关的配置结束了,说明一下映射相关内容:
deviceNodePattern:opc ua server上的节点正则表达式格式
deviceNamePattern:设备名称格式
以及遥测格式和属性格式已经转换映射。
{
"deviceNodePattern": "Channel1\\.Device\\d+$",
"deviceNamePattern": "Device ${_System._DeviceId}",
"attributes": [
{"key":"Tag1", "type": "string", "value": "${Tag1}"}
],
"timeseries": [
{"key":"Tag2", "type": "long", "value": "${Tag2}"}
]
}
配置KEPServerEX
安装KEPServerEX 6,安装成功后启动server_admin.exe,右下角右键,设置OPC UA
受信任客户端导入gateway的example.pfx
OPC服务器配置如图,很多是默认配置
如下图设置OPC UA 允许匿名访问,按照node解析格式创建Channel1,在channel1配置device\\d+
不过device123不是device name,如图为device name,支持8/10/16进制
新建标记Tag1、Tag2 分别作为客户端属性和遥测,通过模拟器模拟值得变化
最后在gateway配置OPC-GATEWAY的访问令牌,然后启动服务器
结果展示:
gateway日志,OPC-Device 1连接到服务器
thingsboard页面展示