目的
主要记录通过OPC UA 从 InTouch HMI 项目中获取数据的实现过程。
相关资源
InTouch的安装,设置默认启动HMI项目,从HMI项目中查找数采变量等操作请参考“InTouch HMI 项目 通过OPC DA实现数据采集”一文中的相关讲解,链接地址: link。
实现过程
-
开启OPC UA Server: 在“AVEVA InTouch HMI”菜单中,打开"InTouch HMI Application Manager",点击“OPC UA”按钮,打开OPC UA配置页面。
-
OPC UA Server配置: 勾选“启用 OPC UA 服务器”,默认端口是48032,去掉加密通信,确认“允许匿名客户端连接”选中,实现匿名连接,点击“确定”保存配置;再双击HMI项目,应用到当前项目中。
-
**启动OPC UA Server:**直接打开“InTouch HM WindowViewer”,OPC UA Server跟随项目自动启动,HMI不启动,UA的48032端口是关闭的,关闭项目,端口也随之关闭,OPC UA Server默认加载该项目所有的变量,无需另外配置数据源。
-
使用KepServerEX作为OPC UA客户端,连接InTouch OPC UA Server,获取数据:
4.1打开KepServerEX,新建OPC UA通道,“端点URL”设置为“opc.tcp://127.0.0.1:48032”,“安全策略”选“无”,通道命名为“InTouch OPC UA”。
4.2 在“InTouch OPC UA”通道下新建设备“HMI01”,默认设置;1.单击设备“HMI01”;2.在弹出的菜单中选择“标记生成”,点击“选择导入项”;3.选择“InTouch Alarm Groups”;4.单击“添加分支”;5.点击“确定”完成变量导入。
4.3 在KepSever中,点击“QC”,打开变量监控页面;1.查看HMI画面,“产品储存罐”的“液位”值是“1716”;2.在KepServer中,查看“ProdLevel”变量是存在的,其地址是“ns=3;s=19:Reactor.ProdLevel.Value”;3.在“QC”页面,点击“InTouch OPC UA.HMI01.InTouch Alarm Groups”;4.查看“ProdLevel”变量的值是“1716”,与HMI画面的值一致,确认该数采值就是我们需要数采的“液位”变量的值;至此完成从InTouch HMI中查找变量,通过KepServer 的OPC UA 通道读取该变量,在KepServer的QC中查看变量值的整个过程。