使用KEPServerEX6.4模拟OPCUA服务端数据
一、安装KEPServerEX6.4
安装包地址:链接:https://pan.baidu.com/s/1Ku_NcK1xk8bP-n1Ch3nM3A 提取码:rqs6
二、配置KEPServerEX6.4,模拟OPCUA服务端数据
1、设置-用户管理器 新建用户
(1)右键点击图标,选择设置
(2)添加OPC_UA服务器用户,我的是my_opc_ua,设置密码后,点击确定和应用
2、OPCUA配置
(1)右键点击图标,选择OPCUA配置
(2)双击红线部分
(3)取消安全策略,选择无
3、设置OPCUA匿名登录
项目右键点击属性,选择OPCUA,允许匿名登录选择是
4、模拟OPCUA服务端数据,添加项目通道、设备和标记
(1)添加项目通道,右键连接属性点击新加项目通道
(2)自定义通道名,剩下步骤默认选择,一直点击下一页即可
(3)添加设备,点击添加设备,自定义设备名,剩下步骤默认选择,一直点击下一页即可
(4)添加标记,输入名称、地址和数据类型,注意不同的数据类型地址输入方式不同
(5)数据创建成功
三、测试数据是否成功
点击OPCUA Quick Client,左侧选择新添加的通道、设备,右侧会显示新添加的标记数据
四、拉取客户端代码
GitHub - 1208168209/opcua: Springboot集成Milo实现OPCUA客户端,读取OPCUA服务端节点数据
五、修改代码配置 启动项目测试
修改OPCUA配置文件
url是KEPServerEX6.4模拟OPCUA服务端的连接路径
userName是自己新添加的用户名
password是自己新设置的密码
启动类-OpcUaApplication
接口在CommonController,里面有连接客户端接口,关闭客户端接口,订阅接口,读取、写入接口
连接客户端接口
启动OpcUaApplication类,浏览器中输入接口地址http://localhost:9099/connect
**注意:**在创建连接过程中,会创建OPCUA的客户端,我们需要注意在创建客户端时会进行安全策略认证,我这里将KEPServerEX6.4中OPCUA配置的安全策略设置成无(None),如果想实现安全策略自行修改。客户端的配置信息,LocalizedText.english(“my”),my是OPCUA服务端中创建的通道名,可以选择用户名密码登录,也可以选择匿名登录。
报红处对程序运行没影响
关闭客户端接口
订阅接口
1、模拟一个数据,RANDOM(1000,200,240),1000表示一秒更新一次数据,(200,240)是数据的取值区间。
2、运行订阅接口,my.device.x2指的是通道名.设备名.标记名
3、订阅的值一直在运行中
读取接口
验证:OPCUA服务端里面该节点的值确实是0
写入接口(这里只能修改服务端门已有的节点数据)
写入时要注意写入数据的节点是否存在,否则会报(Bad_NodeIdUnknown,0x80340000,节点ID指向服务器地址空间中不存在的节点),也要注意写入值得类型一定要和OPCUA服务端值得数据类型一致,否则会报(Bad_TypeMismatch,0x80740000,为属性提供的值与属性值的类型不匹配)
id=my.device.x1&value=100&type=Short,my.device.x1表示已有的节点,100表示将节点的值修改成100,Short节点的数据类型是短整型
验证节点数据成功被修改