实时数据库V3.7.5版本开始提供OPCUA Server数据发布功能,OPCUA数据发布服务hdopcua可将实时数据库中的tag点,以OPCUA方式发布。从3.9.6开始,Opcua 采用分布式发布,配置方式与以前版本有区别,以前版本
当前版本
OPCUA服务配置工具是用来配置OPCUA服务相关属性的工具。它可以与不同iHyperDB服务器连接,配置对应服务器的OPCUA服务。同时也可以配置每个OPCUA服务需要发布点的Tag点,以及OPCUA服务的一些属性。在本地OPCUA服务配置页面里,选择事先添加好的OPCUA服务并保存为本地OPCUA服务,最后安装、启动OPCUA服务开始发布数据。
界面介绍
✓OPCUA服务列表:列表中罗列出属于某一个服务器的所有OPCUA服务名称及其描述。列表上方有三个按钮,分别为添加,修改和删除。
上述展示信息中分为展示状态和编辑状态。展示状态时,设备列表上方添加按钮可用,修改,删除按钮不可用。选中一个OPCUA服务后,变为编辑状态时,添加,修改,删除按钮都可用,可以修改选中OPCUA服务描述。
单击OPCUA服务列表上方的“添加OPCUA服务”按钮,弹出如下界面。填写OPCUA服务名和描述信息。单击确定按钮。成功则在OPCUA服务列表中添加这个OPCUA服务
点击列表中Tag配置列中该服务的配置按钮弹出Tag配置界面,可以配置该服务要发布的Tag,点击“添加”进行加点,选中后在列表中有显示表示已经添加到OPCUA服务中。勾选需要删除的Tag点,点击“删除”进行删点,从OPCUA服务器删除需要发布的Tag点。“导入”按钮可以从Excel表格批量导入OPUA服务需要发布的Tag点。“导出”按钮可以保存OPCUA服务发布的Tag点到Excel文件,导出时选择需要导出的文件夹,选中后会自动生成OPCUA服务名的Excel文件,例如OPCUA服务名是test2,导出的Excel文件是test2.xlsx。可以通过Tag名搜索已经添加到发布列表中的Tag点,勾选“全选”核选框可以选中列表中所有项。
单击选中一个OPCUA服务,单击OPCUA服务列表上方的“修改OPCUA服务”按钮,弹出如下界面。填写描述信息。单击确定按钮。成功则在OPCUA服务列表中更新这个OPCUA服务。
单击选中一个OPCUA服务,单击OPCUA服务列表上方的“删除OPCUA服务”按钮,弹出确认是否删除菜单,单击确认后删除这个OPCUA服务,同时从列表中删除。 单击“取消”则不删除。
在本地OPCUA服务配置界面中,勾选需保存为本地OPCUA服务的项,点击下方的保存按钮,成功后可以配置本地服务相关属性,同时集成了安装服务和启动服务的功能。
注意:
由于配置工具中OPCUA服务配置信息改变后不会通知采集端配置更新。故在配置采集端时建议先点本地的刷新按钮,再进行后续操作,避免不必要的错误。
选为本地OPCUA服务后,点击列表中该服务的配置列中“配置”按钮,弹出服务配置界面,服务配置界面可以配置连接iHyperDB数据库的用户名,密码和OPCUA服务的端口,点击“保存”保存配置到本地配置文件。URL栏可以选择不同本地IP地址,根据选中IP显示OPCUA服务的地址,方便用户获取OPCUA服务地址。
勾选/取消勾选“选为本地OPCUA服务”的复选框,勾选表示需要存为本地OPCUA服务,没有勾选表示不存到本地,点击最下方的“保存”按钮保存配置到本地配置文件。
启动后系统自动将全部OPCUA下载到列表中。如果已经被选为本地Opcua的,第一列显示已勾选,端口,配置,安装卸载服务,启动停止按钮和服务状态有显示,可以使用搜索功能查询指定的OPCUA 服务。
Tag名 |
tag_1 |
tag_2 |
tag1 |
tag2 |
目前hdOpcuaServer支持的tag点类型
tag类型 |
是否支持 |
普通点 |
是 |
计算点 |
是 |
统计点 |
是 |
第三方客户端可以复制该地址直接连接至opcua server服务,以UaExpert为例。
连接成功后,即可看到连接信息。
在UaExpert左下角可以看到通过客户端配置的tag点列表。
1.安装OPCUA Server
实时数据库V3.7.5版本安装完成,自带OPCUA数据发布服务hdopcua。该服务运行在iHyperDB数据库服务端。实时数据库V3.7.5版本安装完成后,需要对配置文件hdopcua.xml部分参数根据项目实际情况进行修改。
ihdopcua数据发布服务的配置文件hdopcua.xml保存在ihyperdb\executable_x64 下,配置文件如下:
<?xml version="1.0" encoding="utf-8"?>
<Cfg>
<TargetHD mainip="10.25.14.231" mainport="5673" backupip="" backupport=""/>
<hdopcua opcuaport = "4430" cyclerate = "10" />
</Cfg>
参数说明:
TargetHD:目的ihd配置;
❖mainip:主机IP,安装后请照实修改;
❖mainport:主机端口,默认为“5673”;
❖backupip:备机IP,如有可照实填写;
❖backupport:备机端口,默认为“5673”;
hdopcua:opcua服务相关配置;
❖opcuaport:opcua服务发布端口号,默认为“4430”,opcua服务发布的ip地址即为本机ip地址;
❖cyclerate:从opcua数据发布服务获取数据的周期时间,单位为ms。
2.通过Excel插件配置修改Tag点表,批量方式修改OPCUA发布状态。
实时数据库中tag点是否开启opcua发布,是通过修改tag点表中“保留参数1”项目值来定义。值为“0”表示不通过opcua发布,值为“1”表示可通过opcua发布。
1)通过excel插件,点击下载tag点表到本地;
2)将需要进行opcua发布的tag点属性列中的“保留参数1”,修改值为“1”;
3)完成修改后,重新上传tag点表;
3.启用hdopcua数据发布服务
点击目录下的“数据节点服务管理工具”,如下图:
在数据节点服务管理工具的“进程管理”中可查看实时数据库OPCUA发布服务(hdOpcua)状态,以及启动/停止服务,如下图:
4.通过第三方opc客户端(Softing OPC Client)测试连接
打开Softing OPC Client,点击左侧add session选项,在弹出的对话框中,Endpoint Url输入框中输入连接的opcua服务地址,如下图所示:
Endpoint Url填写我们OPCUA SERVER的地址,如第三方opc客户端安装运行于服务器本地,则该项参数可以写作“opc.tcp://127.0.0.1:4430”;如果运行在异地,则该项参数可以写作“opc.tcp://opcua服务器ip:4430”。
点击ok后,如果连接正常,可以在服务的Objects选项下看到该opcua服务中发布的tag点,如下图:
通过双击上图相应tag点,可以订阅相应tag点的实时记录值,在DataAccess选项下可以查看相应tag点的实时记录值,其中Source Timestamp对应ihd中的时间戳。如下图所示:
5.通过iPlat-BA OPCUA 驱动测试连接
1)添加OPCUA驱动
首先,配置好相应的iPlat-BA SCADA节点。
点击SCADA节点下的“驱动配置”,进入驱动配置页面。鼠标置于页面的左上方,如下图,可以看到“添加驱动”的按钮,点击“添加驱动”,弹出可用驱动的选择对话框,在可用驱动列表中,选择OPCUA驱动所对应的“opcuadrv”,然后点击“确定”。
签出该驱动,点击“保存”按钮。
弹出OPCUA驱动配置的主界面,填写opcua服务器地址,保存并签入已修改配置。
2)服务器配置
添加服务器。在驱动配置界面上,右键点击树控件列表中的驱动名称节点,弹出右键菜单,选择“添加设备”,如下图:
在点击了“添加服务器”之后,会弹出“添加OPCUAServer”的对话框,在这个对话框中,填写opcua服务器的信息:
3)组配置
在驱动配置界面上,右键点击树控件列表中的服务器名称节点,弹出右键菜单:
选择“添加数据块”,弹出组配置对话框:
填写相应参数,参数说明:
❖名称: 不能为空,且不能重复。可输入1-31个字符;
❖描述: 可输入0-63个字符;
❖任务号:
❖IO方式:包含异步和同步两个选项;
❖轮询周期:只在I/O方式为同步读取时可配,为OPCUA客户端到服务器读数据的周期。在1ms-24H之间,必须是100的正整数倍。默认值:同步时值为1秒;异步时值为50秒。
❖异步超时:只在I/O方式为异步读取时可配,在1ms-24H之间,必须是100的正整数倍。值必须大于轮询周期。默认值:1000秒 。
以上,完成配置,点击保存按钮,系统增加该组。
4)节点配置
a)在驱动配置界面,左键点击树控件列表中的组名称节点,弹出设备信息:
b)选择“编辑节点”选项,弹出节点对话框:
c)点击“节点ID”左上方的“增加”按钮,系统会将该节点添加到界面右侧的列表中。可以使用ctrl或者shift键选择多个点进行批量添加。
d)在列表中,选择一条或多条记录,右上方删除按钮可用,点击“删除确定”弹出删除对话框,选择确定从列表中删除。可以使用ctrl或者shift键选择多个点进行批量删除。
e)点击保存按钮,将界面列表中的记录保存,并显示在界面列表中。
注意:节点ID即变量的地址,格式为:NS1|String|***,***表示ihd中的tag点名称。变量类型与数据类型请根据实际类型进行选择。
5)OPCUA变量配置
配置好opcuadrv的驱动后,需要在驱动的设备变量管理中添加相应变量,见下图:
变量也可以通过excel文件批量导入导出,见下图:
注意:变量的名称即为ihd中tag点名称,变量地址格式为NS1|String|***,***表示ihd中的tag点名称。注意变量类型与ihd数据类型的匹配。
6)驱动配置文件 opcuadrv.xml 如下:
<?xml version="1.0" encoding="GB2312" ?>
<driver name="opcuadrv" type="item">
<device name="opcua_test1" conntype="other" connparam="opc.tcp://localhost:4840" recvtimeout="1000" param3="" param2="1000000" param1="0" cyclerate="1000" task="1" desc="">
<datablock address="NS1|String|midvar_1" name="NS1|String|midvar_1" elemcount="1" elembytes="2" param1="Word" param2="AI" param3="0" />
<datablock address="NS1|String|midvar_aifloat" name="NS1|String|midvar_aifloat" elemcount="1" elembytes="4" param1="Float" param2="AI" param3="6" />
<datablock address="NS1|String|midvar_blob" name="NS1|String|midvar_blob" elemcount="1" elembytes="256" param1="String" param2="TXT" param3="-1" />
<datablock address="NS1|String|midvar_di" name="NS1|String|midvar_di" elemcount="1" elembytes="1" param1="Boolean" param2="DI" param3="-1" />
<datablock address="NS1|String|midvar_txt" name="NS1|String|midvar_txt" elemcount="1" elembytes="256" param1="String" param2="TXT" param3="-1" />
<datablock address="NS1|String|midvarai32" name="NS1|String|midvarai32" elemcount="1" elembytes="4" param1="DWord" param2="AI" param3="2" />
</device>
<device name="opcua_test2" conntype="other" connparam="opc.tcp://localhost:4840" recvtimeout="1000" param3="" param2="600000" param1="1" cyclerate="50000" task="2" desc="test">
<datablock address="NS0|Numeric|7650" name="NS0|Numeric|7650" elemcount="1" elembytes="256" param1="String" param2="TXT" param3="-1" />
<datablock address="NS0|Numeric|7656" name="NS0|Numeric|7656" elemcount="1" elembytes="256" param1="String" param2="TXT" param3="-1" />
</device>
</driver>