本技术涉及数控处理,尤其是涉及一种读取plc生产过程参数的方法及系统。
背景技术:
1、mes系统,又称制造执行系统,位于上层的计划管理系统底层的工业控制之间的面向车间层的管理信息系统,是一种面向制造企业车间执行层的生产信息化管理系统。mes的主要功能是借助数据采集系统,对生产过程中产生的各种数据,即生产过程参数,进行采集、存储、分析和处理,从而实现对生产过程的全面监控和管理,提供生产的可视化和透明化,支持生产的决策和优化,企业可以及时发现并纠正工艺偏差和产品缺陷等问题,从而提高产品质量和安全性。生产过程参数包括生产制造过程中所需的各项参数,这些参数指标包括温度、压力、速率、ph值、浓度等,直接关系到产品质量和产量。
2、现有技术中,mes系统通过数据采集系统以单次单变量点方式逐个读取plc(programmable logic controller,可编程逻辑控制器)寄存器缓存的变量值,而在并发读取生产过程参数请求时,存在处理卡顿或者软件崩溃的现象。再者,因数据缓存存在一个数据采集周期的时间延迟,在变量点多、采集周期长的情况下,读数据缓存的数据存在一个严重的延迟;单变量点读取plc方法在mes系统批量读取多个生产过程参数场景下,读取的变量点越多,与耗时成正比变大,因此存在效率低下、延迟严重,无法满足工业场景上位机高速数据采集和低生产节拍的实时性要求。
3、针对上述中的相关技术,发明人发现现有的生产过程参数读取方法在批量读取多个生产过程参数时存在有处理卡顿、效率低下和无法满足实时性要求的问题。
技术实现思路
1、为了提高批量读取多个生产过程参数时的处理效率,满足工业场景上位机高速数据采集和低生产节拍的实时性要求,本技术提供了一种读取plc生产过程参数的方法及系统。
2、第一方面,本技术提供一种读取plc生产过程参数的方法。
3、本技术是通过以下技术方案得以实现的:
4、一种读取plc生产过程参数的方法,包括以下步骤,
5、响应于变量点读请求指令,执行预设的pdu调度算法,包括:
6、根据待读取的变量点位信息,按照预设的plc设备通道类别分类待读取的变量点,得到第一分类结果;
7、利用所述第一分类结果,分别将属于同一plc设备通道类别的待读取的变量点,按照预设的寄存器类型分区类别分类,得到第二分类结果;
8、基于所述第二分类结果,分别将属于同一plc设备通道类别和同一寄存器类型分区类别的待读取的变量点,按照预设的pdu最大长度分组类别分类,得到第三分类结果;
9、结合所述第三分类结果,发送批量读取指令,所述批量读取指令用于一次性读取属于同一plc设备通道类别、同一寄存器类型分区类别和同一pdu最大长度分组类别的待读取的变量点。
10、本技术在一较佳示例中可以进一步配置为:根据所述第二分类结果,分别将属于同一寄存器类型分区类别的待读取的变量点,按照预设的pdu最大长度分组类别分类,得到第三分类结果的步骤包括,
11、基于所述pdu最大长度分组类别的pdu最大长度,分别动态计算所述第二分类结果中属于同一plc设备通道类别和同一寄存器类型分区类别的待读取的变量点的pdu实际长度;
12、依次判断待读取的变量点的所述pdu实际长度是否大于所述pdu最大长度;
13、当pdu的实际长度小于或等于所述pdu最大长度时,将对应的待读取的变量点分配至当前的所述pdu最大长度分组类别所在的分组,构建pdu分组。
14、本技术在一较佳示例中可以进一步配置为:依次判断待读取的变量点的所述pdu实际长度是否大于所述pdu最大长度的步骤后,还包括,
15、当pdu的实际长度大于所述pdu最大长度时,创建新的pdu最大长度分组类别,直至pdu的实际长度小于或等于新的pdu最大长度分组类别的pdu最大长度;
16、将对应的待读取的变量点分配至新的pdu最大长度分组类别所在的分组,构建新的pdu分组。
17、本技术在一较佳示例中可以进一步配置为:基于所述第二分类结果,分别将属于同一plc设备通道类别和同一寄存器类型分区类别的待读取的变量点,按照预设的pdu最大长度分组类别分类,得到第三分类结果的步骤前,还包括,
18、对所述第二分类结果中属于同一plc设备通道类别和同一寄存器类型分区类别的待读取的变量点,按地址从低到高进行递增排序,并更新所述第二分类结果。
19、本技术在一较佳示例中可以进一步配置为:所述响应于变量点读请求指令,执行预设的pdu调度算法的步骤前,还包括,
20、基于待读取的变量点,调用读方法,在预设的点表中,检验待读取的变量点的地址是否合法;
21、若所述地址合法,调用读操作,以及调用所述pdu调度算法;
22、调用对应的驱动,执行读操作,生成协议报文;
23、检测是否返回结果报文;
24、若返回结果报文,则检测是否返回读结果;
25、若返回读结果,则请求响应变量点读请求指令;
26、当允许响应所述变量点读请求指令时,响应于变量点读请求指令,执行预设的pdu调度算法。
27、本技术在一较佳示例中可以进一步配置为:所述执行预设的pdu调度算法的步骤前,还包括,
28、基于预设的会话缓存列表,判断接收到的所述变量点读请求指令是否在所述会话缓存列表中已存在会话缓存id,其中,所述会话缓存列表包括变量点读请求指令、会话缓存id与第三分类结果的唯一映射关系及预缓存的第三分类结果;
29、若接收到的所述变量点读请求指令在所述会话缓存列表中已存在会话缓存id,根据所述会话缓存id,在所述会话缓存列表中匹配所述第三分类结果。
30、第二方面,本技术提供一种读取plc生产过程参数的系统。
31、本技术是通过以下技术方案得以实现的:
32、一种读取plc生产过程参数的系统,包括,
33、mes系统,用于在工件进入工位后,发起变量点读请求指令;
34、数据采集系统,通信连接于所述mes系统,用于响应于所述变量点读请求指令,执行预设的pdu调度算法,发送批量读取指令;
35、plc,通信连接于所述数据采集系统,用于响应于所述批量读取指令,一次性读取属于同一plc设备通道类别、同一寄存器类型分区类别和同一pdu最大长度分组类别的待读取的变量点,采集生产过程参数。
36、第三方面,本技术提供一种计算机设备。
37、本技术是通过以下技术方案得以实现的:
38、一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一种读取plc生产过程参数的方法的步骤。
39、第四方面,本技术提供一种计算机可读存储介质。
40、本技术是通过以下技术方案得以实现的:
41、一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一种读取plc生产过程参数的方法的步骤。
42、第五方面,本技术提供一种计算机程序产品。
43、本技术是通过以下技术方案得以实现的:
44、一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述任意一种读取plc生产过程参数的方法的步骤。
45、综上所述,与现有技术相比,本技术提供的技术方案带来的有益效果至少包括:
46、响应于变量点读请求指令,执行预设的pdu调度算法,采集待读取的变量点,通过将变量点按plc设备通道分类,得到第一分类结果;再将第一分类结果按寄存器类型分区分类,得到第二分类结果;继续将第二分类结果按pdu最大长度分组,可以计算出变量点位的每个pdu的实际大小,计算出最优的pdu长度,而不是把pdu大小固定为pdu最大值,实现最少的访问plc次数和最小的网络带宽消耗,实现毫秒级的高速批量实时读取plc生产过程参数变量值,能够有效降低上位机与plc通讯的网络带宽消耗,适用于mes系统与plc实时交互的场景,特别是对于工业4.0高速数据采集场景,提供了一种高实时性批量读取生产过程参数的数据采集方式,数据处理能力更强。
1.一种读取plc生产过程参数的方法,其特征在于,包括以下步骤,
2.根据权利要求1所述的读取plc生产过程参数的方法,其特征在于,根据所述第二分类结果,分别将属于同一寄存器类型分区类别的待读取的变量点,按照预设的pdu最大长度分组类别分类,得到第三分类结果的步骤包括,
3.根据权利要求2所述的读取plc生产过程参数的方法,其特征在于,依次判断待读取的变量点的所述pdu实际长度是否大于所述pdu最大长度的步骤后,还包括,
4.根据权利要求1所述的读取plc生产过程参数的方法,其特征在于,基于所述第二分类结果,分别将属于同一plc设备通道类别和同一寄存器类型分区类别的待读取的变量点,按照预设的pdu最大长度分组类别分类,得到第三分类结果的步骤前,还包括,
5.根据权利要求1-4任意一项所述的读取plc生产过程参数的方法,其特征在于,所述响应于变量点读请求指令,执行预设的pdu调度算法的步骤前,还包括,
6.根据权利要求1-4任意一项所述的读取plc生产过程参数的方法,其特征在于,所述执行预设的pdu调度算法的步骤前,还包括,
7.一种读取plc生产过程参数的系统,其特征在于,包括,
8.一种计算机设备,其特征在于,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器执行所述计算机程序以实现权利要求1至6任意一项所述方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1至6任意一项所述方法的步骤。
10.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序被处理器执行时实现权利要求1至6任意一项所述方法的步骤。
