一种用于生产线仿真的OPC通讯方法、介质及设备技术

技术编号:38472766 阅读:14 留言:0更新日期:2023-08-11 14:49
本发明专利技术公开了一种用于生产线仿真的OPC通讯方法、介质及设备,所述方法包括如下步骤:获取OPC服务器的URL;基于OPC服务器的URL创建OPC客户端;通过OPC客户端对OPC服务器进行递归遍历,得到设备PLC的Interface节点;对Interface节点进行递归遍历,获取子节点数据,并监视子节点;当监视到子节点数据变化时,调用回调函数更新仿真状态。本发明专利技术通过OPC服务器对OPC服务器进行递归遍历,得到设备PLC的Interface节点,针对Interface节点进行递归遍历,监视子节点的刷新情况,获取变化的子节点数据以更新仿真状态,保证节点正常刷新,避免其他无关的遍历浪费计算机资源,减少仿真过程中的卡顿情况。中的卡顿情况。中的卡顿情况。

【技术实现步骤摘要】
一种用于生产线仿真的OPC通讯方法、介质及设备


[0001]本专利技术属于OPC通讯
,具体涉及一种用于生产线仿真的OPC通讯方法、介质及设备。

技术介绍

[0002]现有的生产线仿真PLC读取技术一般通过对PLC现存的所有节点进行遍历,再依次遍历节点下的子节点,再对信号节点进行筛选获得需要的信号数据,但通过节点NamespaceIndex和Identifier去读取节点数据较为耗时,如果节点较多,在进行生产线仿真时会占用较多资源,导致出现延迟、卡顿等失真情况。
[0003]对于大型复杂生产线,一般PLC内设置的节点数量较多,如果针对所有节点在每一帧进行遍历,再刷新信号,会在信号刷新时占用大量的计算机资源,导致仿真动画的卡顿,并且还会导致无法及时准确获取当前生产线内各设备的状态。

技术实现思路

[0004]为了克服上述技术缺陷,本专利技术提供了一种用于生产线仿真的OPC通讯方法,以减少生产线仿真的卡顿情况,实现仿真画面与实际生产线进程一致。
[0005]为了解决上述问题,本专利技术公开了以下技术方案:
[0006]一种用于生产线仿真的OPC通讯方法,包括如下步骤:
[0007]获取OPC服务器的URL;
[0008]基于OPC服务器的URL创建OPC客户端;
[0009]通过OPC客户端对OPC服务器进行递归遍历,得到设备PLC的Interface节点;
[0010]对Interface节点进行递归遍历,获取子节点数据,并监视子节点;/>[0011]当监视到子节点数据变化时,调用回调函数更新仿真状态。
[0012]进一步的,还包括如下步骤:
[0013]从OPC服务器获取用户信息,用户信息包括用户账号和用户密码。
[0014]进一步的,步骤通过OPC客户端对OPC服务器进行递归遍历,得到设备PLC的Interface节点,包括如下步骤:
[0015]控制OPC客户端与OPC服务器连接;
[0016]根据用户信息,通过OPC客户端登录OPC服务器;
[0017]对OPC服务器进行递归遍历,得到设备PLC的Interface节点。
[0018]进一步的,步骤对Interface节点进行递归遍历,获取子节点数据,并监视子节点,包括如下步骤:
[0019]以Interface节点中的NamespaceIndex和Identifier为起始,进行递归遍历,寻找并获取子节点数据,子节点数据包括子节点的身份信息和当前值;
[0020]若已获取当前Interface节点中所有子节点,判断Identifier是否到达边界;
[0021]若Identifier到达边界,判断NamespaceIndex是否到达边界;
[0022]若NamespaceIndex到达边界,对已获取的子节点设置回调函数进行监视。
[0023]进一步的,步骤当监视到子节点数据变化时,调用回调函数更新仿真状态,包括如下步骤:
[0024]当监视到子节点的数据变化时,调用回调函数,获取变化后子节点的对象,对象包括数据包,数据包包括子节点的身份信息和变化后的当前值;
[0025]调用线程池中空闲的处理线程对数据包进行处理,获得更新的信号;
[0026]根据更新的信号,更新生产线的仿真状态。
[0027]进一步的,还包括如下步骤:
[0028]若Identifier未到达边界,更新Identifier;
[0029]以Interface节点中的NamespaceIndex和更新后的Identifier为起始,再次进行递归遍历。
[0030]进一步的,还包括如下步骤:
[0031]若NamespaceIndex未到达边界,更新Identifier;
[0032]以Interface节点中的NamespaceIndex和更新后的Identifier为起始,再次进行递归遍历。
[0033]进一步的,还包括如下步骤:
[0034]调用通讯线程,保持OPC客户端处于运行通讯状态。
[0035]与现有技术相比,本专利技术具有以下有益效果:
[0036]本专利技术公开了一种用于生产线仿真的OPC通讯方法,通过OPC服务器对OPC服务器进行递归遍历,得到设备PLC的Interface节点,针对Interface节点进行递归遍历,监视子节点的刷新情况,获取变化的子节点数据以更新仿真状态,保证节点正常刷新,避免其他无关的遍历浪费计算机资源,减少仿真过程中的卡顿情况。
[0037]本专利技术还公开了一种计算机可读存储介质,其为计算机可读的存储介质,其上存储有计算机程序,所述计算机程序被执行时实现上述的通讯方法。
[0038]本专利技术还公开了一种计算机设备,包括:
[0039]处理器;
[0040]用于存储所述处理器可执行指令的存储器;
[0041]其中,所述处理器被配置为执行所述指令,以实现上述的通讯方法。
附图说明
[0042]下面结合附图对本专利技术的具体实施方式作进一步详细的说明,其中:
[0043]图1为实施例1所述的通讯方法的流程图;
[0044]图2为实施例3所述的设备的示意图。
具体实施方式
[0045]以下结合附图对本专利技术的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本专利技术,并不用于限定本专利技术。
[0046]实施例1
[0047]如图1,本实施例公开了一种用于生产线仿真的OPC通讯方法,包括如下步骤:
[0048]S1、获取OPC服务器的URL。
[0049]具体的,步骤S1后还包括以下步骤:
[0050]从OPC服务器获取用户信息,用户信息包括用户账号和用户密码。
[0051]S2、基于OPC服务器的URL创建OPC客户端。
[0052]具体的,步骤S2后还包括以下步骤:
[0053]定义第一字符串变量。
[0054]将用户信息赋值给第一字符串变量。
[0055]S3、通过OPC客户端对OPC服务器进行递归遍历,得到设备PLC的Interface节点。
[0056]具体的,步骤S3包括如下步骤:
[0057]控制OPC客户端与OPC服务器连接。
[0058]通过OPC客户端和第一字符串变量,登录OPC服务器。
[0059]对OPC服务器进行递归遍历,得到设备PLC的Interface节点。
[0060]S4、对Interface节点进行递归遍历,获取子节点数据,并监视子节点。
[0061]具体的,步骤S4包括如下步骤:
[0062]以Interface节点中的NamespaceIndex和Identifier为起始,进行递归遍历,寻找并获取子节点数据,子节点数据包括子节点的身份信息和当前值。
[0063]本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种用于生产线仿真的OPC通讯方法,其特征在于,包括如下步骤:获取OPC服务器的URL;基于OPC服务器的URL创建OPC客户端;通过OPC客户端对OPC服务器进行递归遍历,得到设备PLC的Interface节点;对Interface节点进行递归遍历,获取子节点数据,并监视子节点;当监视到子节点数据变化时,调用回调函数更新仿真状态。2.根据权利要求1所述的通讯方法,其特征在于,还包括如下步骤:从OPC服务器获取用户信息,用户信息包括用户账号和用户密码。3.根据权利要求2所述的通讯方法,其特征在于,步骤通过OPC客户端对OPC服务器进行递归遍历,得到设备PLC的Interface节点,包括如下步骤:控制OPC客户端与OPC服务器连接;根据用户信息,通过OPC客户端登录OPC服务器;对OPC服务器进行递归遍历,得到设备PLC的Interface节点。4.根据权利要求1所述的通讯方法,其特征在于,步骤对Interface节点进行递归遍历,获取子节点数据,并监视子节点,包括如下步骤:以Interface节点中的NamespaceIndex和Identifier为起始,进行递归遍历,寻找并获取子节点数据,子节点数据包括子节点的身份信息和当前值;若已获取当前Interface节点中所有子节点,判断Identifier是否到达边界;若Identifier到达边界,判断NamespaceIndex是否到达边界;若NamespaceIndex到达边界,对已获取的子节点设置回调函数进行监视。5.根据权利要求1...

【专利技术属性】
技术研发人员:黄运保李峥唐国宝陈余刚
申请(专利权)人:广东省机器人创新中心有限公司
类型:发明
国别省市:

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

1