一种基于OPC-UA协议的自动化数据采集的方法技术

技术编号:32132526 阅读:13 留言:0更新日期:2022-01-29 19:34
本发明专利技术基于OPC

【技术实现步骤摘要】
一种基于OPC

UA协议的自动化数据采集的方法


[0001]本专利技术涉及到的OPC

UA协议是属于网络数据传输领域,特别是涉及一种基于OPC

UA协议的自动化数据采集的方法,用于电厂自动同步测点的信息和数据至实时数据库。

技术介绍

[0002]电厂在日常工作中普遍使用实时数据库来存储产生的相关数据,但数据库的标签通常需要手动逐个添加到数据库中,或者手动填写表格文件,然后再导入到实时数据库中。由于是人工操作添加数据,会额外多花费一些时间来完成工作,且人为因素导致发生的数据错误和遗漏,也会影响到数据存储的准确性。
[0003]2006年,OPC基金会推出了OPC

UA(Unified Architecture)通信规范,该规范是对OPC

DA的继承与升级,弥补了OPC技术在跨平台、安全性、建模能力方面的不足之处。OPC

UA协议具备7种特性:(1)访问统一性:用户只需访问一次,就可以获取所有信息。(2)面向服务架构:应用程序独立于平台、操作系统、编程语言之外。(3)高性能通信:使用通信栈进行数据的编码、加密和传输,并采用单端口通信,通信较快。(4)安全性较高:使用非对称加密和X.509证书保证安全性,其身份认证机制能够有效地防御网络中的恶意攻击,保证安全可靠的通信。(5)可靠性与冗余性:使用冗余校验技术,具备对错误的自动检查与纠正能力。(6)C/S与Pub/Sub实现机制:OPC
‑<br/>UA提供了两种不同的实现机制:一种为主要基于TCP的客户端/服务器模型(C/S),一种为主要基于UDP的发布者/订阅者模型(Pub/Sub)。不同的实现机制应用于不用的场景。(7)面向对象建模:OPC

UA具备强大的建模能力,采用面向对象思想进行信息建模,可以建立灵活的信息模型。

技术实现思路

[0004]为了解决上述数据采集过程中的现存问题,同时结合OPC

UA协议的优点,本专利技术提供了一种基于OPC

UA协议的自动化数据采集的方法,该方法可以实现如下目标,当服务端的标签信息发生改变时,会自动与预置的标签过滤条件进行比较,对于满足条件的测点,可以自动进行新增、修改或删除实时数据库对应的测点。该方法与现有技术相比,具有全自动化同步测点信息、安全可靠、且效率高等诸多优点。
[0005]本专利技术通过如下技术方案实现:
[0006]一种基于OPC

UA协议的自动化数据采集的方法,具体步骤如下:
[0007]步骤1:获取本设备与实时数据库的连接状态,若未连接进行数据连接,连接成功进行步骤2,连接失败进行步骤11;
[0008]步骤2:获取实时数据库中现存点表信息,并生成数据库对应的现存的标签表,进行步骤3;
[0009]步骤3:获取本设备与OPC

UA服务器的连接状态,若未连接进行数据连接,连接成功进行步骤4,连接失败进行步骤11;
[0010]步骤4:从OPC

UA服务端获取标签信息,执行过滤操作后生成有效的标签表,进行
步骤5;
[0011]步骤5:现存的标签表和有效的标签表进行比对,将需要进行新增、修改、删除的标签加入到对应的标签处理队列中,进行步骤6;
[0012]步骤6:判断新增队列是否为空,为空则进行下一步操作;否则,调用实时数据库的标签操作函数,操作指令置为新增,进行新增标签操作;若操作成功则更新现存的标签表,并进行步骤7;
[0013]步骤7:判断修改队列是否为空,为空则进行下一步操作;否则,调用实时数据库的标签操作函数,操作指令置为修改,进行修改标签操作;若操作成功则更新现存的标签表,并返回步骤8;
[0014]步骤8:判断删除队列是否为空,为空则进行下一步操作;否则,调用实时数据库的标签操作函数,操作指令置为删除,进行删除标签操作;若操作成功则更新现存的标签表,并返回步骤9;
[0015]步骤9:给OPC

UA服务器发送获取数据的指令,采用同步方式或者订阅方式从OPC

UA服务端采集有效标签对应的数据;若捕获到错误,进行步骤11,否则调用步骤10;
[0016]步骤10:调用实时数据库的写快照函数,把采集的实时数据同步到实时数据库中;如果采用同步方式获取数据,则执行步骤9;若捕获到错误,进行步骤11;
[0017]步骤11:获取仍存错误信息,并调用相应的处理方案进行处理,对未能解决的错误写入日志中记录。
[0018]其中,步骤6中实时数据库新增标签的详细过程如下:
[0019]步骤6.1:判读新增标签队列是否为空,为空则进行步骤7,否则进行步骤6.2;
[0020]步骤6.2:遍历新增队列,并打包所有新增标签成对应结构体,调用实时数据库的标签操作函数,将操作指令置为新增;若新增成功,清空新增队列并进行步骤7,否则进行步骤6.3;
[0021]步骤6.3:对错误编码计数,并写入到日志当中;当错误次数超过设定数值,进行发出警报操作;未超过设定数值,则进行错误处理。
[0022]其中,步骤7中实时数据库修改标签的详细过程如下:
[0023]步骤7.1:判读修改标签队列是否为空,为空则进行步骤8,否则进行步骤7.2;
[0024]步骤7.2:遍历更新队列,并打包所有修改标签成对应结构体,调用实时数据库的标签操作函数,将操作指令置为修改;若修改成功,清空修改队列并进行步骤8,否则进行步骤7.3;
[0025]步骤7.3:对错误编码计数,并写入到日志当中;当错误次数超过设定数值,进行发出警报操作;未超过设定数值,则进行错误处理。
[0026]其中,步骤8中实时数据库删除标签的详细过程如下:
[0027]步骤8.1:判读删除标签队列是否为空,为空则进行步骤9,否则进行步骤8.2;
[0028]步骤8.2:遍历删除队列,并打包所有删除标签成对应结构体,调用实时数据库的标签操函数,将操作指令置为删除;若删除成功,清空删除队列并进行步骤9,否则进行步骤8.3;
[0029]步骤8.3:对错误编码计数,并写入到日志当中;当错误次数超过设定数值,进行发出警报操作;未超过设定数值,则进行错误处理。
[0030]本专利技术至少具有以下有益的技术效果:
[0031]1.本专利技术提供的方法得益于OPC

UA协议的优点,具有高效性、安全性、可靠性与冗余性。经过现场试验完全能够满足7万个标签秒级的数据采集和标签同步功能。
[0032]2.本专利技术可以有效地提高工作效率,能做到只需配置一次,即无需人工手动干预,就可实现自动采集和存储数据。
附图说明
[0033]图1是本专利技术OPC

UA服务器和客户端的通信原理图;<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于OPC

UA协议的自动化数据采集的方法,其特征在于:具体步骤如下:步骤1:获取本设备与实时数据库的连接状态,若未连接进行数据连接,连接成功进行步骤2,连接失败进行步骤11;步骤2:获取实时数据库中现存点表信息,并生成数据库对应的现存的标签表,进行步骤3;步骤3:获取本设备与OPC

UA服务器的连接状态,若未连接进行数据连接,连接成功进行步骤4,连接失败进行步骤11;步骤4:从OPC

UA服务端获取标签信息,执行过滤操作后生成有效的标签表,进行步骤5;步骤5:现存的标签表和有效的标签表进行比对,将需要进行新增、修改、删除的标签加入到对应的标签处理队列中,进行步骤6;步骤6:判断新增队列是否为空,为空则进行下一步操作;否则,调用实时数据库的标签操作函数,操作指令置为新增,进行新增标签操作;若操作成功则更新现存的标签表,并进行步骤7;步骤7:判断修改队列是否为空,为空则进行下一步操作;否则,调用实时数据库的标签操作函数,操作指令置为修改,进行修改标签操作;若操作成功则更新现存的标签表,并返回步骤8;步骤8:判断删除队列是否为空,为空则进行下一步操作;否则,调用实时数据库的标签操作函数,操作指令置为删除,进行删除标签操作;若操作成功则更新现存的标签表,并返回步骤9;步骤9:给OPC

UA服务器发送获取数据的指令,采用同步方式或者订阅方式从OPC

UA服务端采集有效标签对应的数据;若捕获到错误,进行步骤11,否则调用步骤10;步骤10:调用实时数据库的写快照函数,把采集的实时数据同步到实时数据库中;如果采用同步方式获取数据,则执行步骤9;若捕获到错误,进行步骤11;步骤11:获取仍存错误信息,并调用相应的处理方案进行处理,对未能解...

【专利技术属性】
技术研发人员:韩秀清何清王毅马瑞瑞王奕飞何新
申请(专利权)人:西安西热电站信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1