可编程逻辑控制器软元件监控方法、系统及存储介质转让专利

申请号 : CN202010776892.X

文献号 : CN111897283B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张勇刘云张宁

申请人 : 深圳市海浦蒙特科技有限公司

摘要 :

本发明公开了一种可编程逻辑控制器软元件监控方法、系统及存储介质,将待监测的目标软元件的标识均收集至软元件监控列表中,对软元件监控列表中的目标软元件的标识按照地址顺序进行排序,由于同一类型的软元件在地址上是相连的,因此判断排序后的软元件监控列表中连续为同一类型的目标软元件的标识的数量与预设阈值的关系,当判断连续为同一类型的目标软元件的标识的数量小于预设阈值,采取第一通信方式读取目标软元件的监测数据;否则,采取第二通信方式读取目标软元件的监测数据,针对不同情况需要监测的目标软元件的情况,采取不同的通信方式来读取目标软元件的监测数据,能够提高通信效率,提升了读取PLC软元件的监测数据的实时性。

权利要求 :

1.一种可编程逻辑控制器软元件监控方法,其特征在于,包括:获取软元件监控列表,所述软元件监控列表中包含至少一个待监测的目标软元件的标识;

确定所述软元件监控列表中的标识对应目标软元件的地址;

对所述软元件监控列表中的所述目标软元件的标识按照地址顺序进行排序;

判断排序后的软元件监控列表中连续为同一类型的所述目标软元件的标识的数量与预设阈值的关系;

当判断连续为同一类型的所述目标软元件的标识的数量小于预设阈值,采取第一通信方式读取所述目标软元件的监测数据;

当判断连续为同一类型的所述目标软元件的标识的数量大于或等于预设阈值,采取第二通信方式读取所述目标软元件的监测数据;

所述采取第一通信方式读取所述目标软元件的监测数据包括:将连续为同一类型的所述标识对应目标软元件的地址加入预设地址列表;

判断预设地址列表是否更新;

若预设地址列表更新,则获取预设地址列表中每个地址对应目标软元件的监测数据,将所述预设地址列表加入预先构建的地址缓存区,将所述监测数据加入预先构建的监测数据缓存区;

按照待监测的至少一个所述标识对应目标软元件的地址,发送一通信帧读取所述监测数据缓存区中所有目标软元件对应的监测数据;

所述采取第二通信方式读取所述目标软元件的监测数据包括:发送一通信帧读取连续为同一类型的多个目标软元件对应的监测数据。

2.如权利要求1所述的方法,其特征在于,所述预设阈值根据所述目标软元件的存储类型所确定,所述存储类型包括位元件存储类型、字元件存储类型和双字元件存储类型。

3.如权利要求1所述的方法,其特征在于,所述获取软元件监控列表包括:接收用户输入信息,根据所述输入信息确定所述可编程逻辑控制器的待监测的至少一个目标软元件的类型以及每个类型下所述目标软元件的编号;

将待检测的至少一个目标软元件的类型以及每个类型下所述目标软元件的编号收集至软元件监控列表中。

4.如权利要求3所述的方法,其特征在于,所述接收用户输入信息包括:接收用户在梯形图输入界面中输入的梯形图,所述梯形图用于解析所述可编程逻辑控制器的待监测的至少一个目标软元件的类型以及每个类型下所述目标软元件的编号;

或者,接收用户在批量监控界面中输入的选择指令信息,所述批量监控界面包括所述可编程逻辑控制器所有软元件的类型以及每个类型下所有软元件的编号,所述选择指令信息用于在批量监控界面中选择待监测的至少一个目标软元件的类型以及每个类型下所述目标软元件的起始编号;

或者,接收用户在自由监控界面中输入的指令信息,所述自由监控界面用于用户自由添加所述可编程逻辑控制器的待监测的目标软元件,所述指令信息用于添加待监测的至少一个目标软元件的类型以及每个类型下所述目标软元件的编号。

5.如权利要求4所述的方法,其特征在于,还包括:将所读取的所述目标软元件的监测数据在梯形图输入界面、批量监控界面或者自由监控界面进行显示。

6.如权利要求1所述的方法,其特征在于,对所述软元件监控列表中至少一个所述目标软元件的标识按照地址顺序进行排序之前,还包括:确定所述软元件监控列表中具有偏移量的目标软元件的标识;

对所述具有偏移量的目标软元件的标识按照其所具有的偏移量进行偏移;

将偏移后的目标软元件的标识替换偏移前的目标软元件的标识。

7.一种可编程逻辑控制器软元件监控系统,其特征在于,包括:软元件监控列表获取模块,用于获取软元件监控列表,所述软元件监控列表中包含至少一个待监测的目标软元件的标识;

软元件地址确定模块,用于确定所述软元件监控列表中的标识对应目标软元件的地址;

软元件地址排序模块,用于对所述软元件监控列表中至少一个所述目标软元件的标识按照地址顺序进行排序;

判断模块,用于判断排序后的软元件监控列表中连续为同一类型的所述目标软元件的标识的数量与预设阈值的关系;

第一通信监控模块,用于当判断连续为同一类型的所述目标软元件的标识的数量小于预设阈值,采取第一通信方式读取所述目标软元件的监测数据;

第二通信监控模块,用于当判断连续为同一类型的所述目标软元件的标识的数量大于或等于预设阈值,采取第二通信方式读取所述目标软元件的监测数据;

所述采取第一通信方式读取所述目标软元件的监测数据包括:将连续为同一类型的所述标识对应目标软元件的地址加入预设地址列表;

判断预设地址列表是否更新;

若预设地址列表更新,则获取预设地址列表中每个地址对应目标软元件的监测数据,将所述预设地址列表加入预先构建的地址缓存区,将所述监测数据加入预先构建的监测数据缓存区;

按照待监测的至少一个所述标识对应目标软元件的地址,发送一通信帧读取所述监测数据缓存区中所有目标软元件对应的监测数据;

所述采取第二通信方式读取所述目标软元件的监测数据包括:发送一通信帧读取连续为同一类型的多个目标软元件对应的监测数据。

8.一种计算机可读存储介质,其特征在于,包括程序,所述程序能够被处理器执行以实现如权利要求1‑6中任一项所述的方法。

说明书 :

可编程逻辑控制器软元件监控方法、系统及存储介质

技术领域

[0001] 本发明涉及可编程逻辑控制器技术领域,具体涉及一种可编程逻辑控制器软元件监控方法、系统及存储介质。

背景技术

[0002] 软元件是可编程逻辑控制器(PLC)内部具有一定功能的编程元件,这些编程元件包括继电器、寄存器、定时器和计数器等,其能够通过软件方式来完成与真实元件相同的功
能,但其和真实元件具有一些区别,例如“软继电器”的工作线圈没有工作电压等级、功耗大
小和电磁惯性等问题,触点没有数量限制、没有机械磨损和电蚀等问题,在不同的指令操作
下,其工作状态可以无记忆,也可以有记忆,还可以作为脉冲数字元件使用。
[0003] 用户在进行PLC编程调试工作时,监控软元件的状态或者输入/输出值,也就是读取软元件的监测数据,是PLC编程软件的基本功能,现有PLC软元件的监控方案主要分为以
下两类:
[0004] 方案一:采用直接通信读取的方式。收集当前需要监测的软元件列表,对软元件列表进行排序合并处理后,逐个发送通信帧读取每个软元件的监测数据。该方式由于每个软
元件均需要一个通信帧来读取,在需要监测的软元件较多时,受通信帧速度的影响,导致所
读取的软元件的监测数据更新较慢,影响实时监控效果。
[0005] 方案二:采用批量地址读取的方式。收集当前需要监测的软元件列表,确定其对应的软元件地址列表,对地址列表进行排序合并后,从首地址最小的地址开始发送通信帧,选
取一个合适的地址间隔,该地址间隔内的地址对应的软元件的监测数据通过同一通信帧读
取。虽然通过批量地址读取方式减少了通信次数,但批量地址中常常存在用户不需要监测
的软元件的地址,给用户解析监测数据带来不便。

发明内容

[0006] 本发明主要解决的技术问题是如何更实时地读取PLC软元件的监测数据。
[0007] 根据第一方面,一种实施例中提供一种可编程逻辑控制器软元件监控方法,包括:
[0008] 获取软元件监控列表,所述软元件监控列表中包含至少一个待监测的目标软元件的标识;
[0009] 确定所述软元件监控列表中的标识对应目标软元件的地址;
[0010] 对所述软元件监控列表中的所述目标软元件的标识按照地址顺序进行排序;
[0011] 判断排序后的软元件监控列表中连续为同一类型的所述目标软元件的标识的数量与预设阈值的关系;
[0012] 当判断连续为同一类型的所述目标软元件的标识的数量小于预设阈值,采取第一通信方式读取所述目标软元件的监测数据;
[0013] 当判断连续为同一类型的所述目标软元件的标识的数量大于或等于预设阈值,采取第二通信方式读取所述目标软元件的监测数据。
[0014] 进一步地,所述采取第一通信方式读取所述目标软元件的监测数据包括:
[0015] 将连续为同一类型的所述标识对应目标软元件的地址加入预设地址列表;
[0016] 判断预设地址列表是否更新;
[0017] 若预设地址列表更新,则获取预设地址列表中每个地址对应目标软元件的监测数据,将所述预设地址列表加入预先构建的地址缓存区,将所述监测数据加入预先构建的监
测数据缓存区;
[0018] 按照待监测的至少一个所述标识对应目标软元件的地址,发送一通信帧读取所述监测数据缓存区中所有目标软元件对应的监测数据。
[0019] 进一步地,所述采取第二通信方式读取所述目标软元件的监测数据包括:
[0020] 发送一通信帧读取连续为同一类型的多个目标软元件对应的监测数据。
[0021] 进一步地,所述预设阈值根据所述目标软元件的存储类型所确定,所述存储类型包括位元件存储类型、字元件存储类型和双字元件存储类型。
[0022] 进一步地,所述获取软元件监控列表包括:
[0023] 接收用户输入信息,根据所述输入信息确定所述可编程逻辑控制器的待监测的至少一个目标软元件的类型以及每个类型下所述目标软元件的编号;
[0024] 将待检测的至少一个目标软元件的类型以及每个类型下所述目标软元件的编号收集至软元件监控列表中。
[0025] 进一步地,所述接收用户输入信息包括:
[0026] 接收用户在梯形图输入界面中输入的梯形图,所述梯形图用于解析所述可编程逻辑控制器的待监测的至少一个目标软元件的类型以及每个类型下所述目标软元件的编号;
[0027] 或者,接收用户在批量监控界面中输入的选择指令信息,所述批量监控界面包括所述可编程逻辑控制器所有软元件的类型以及每个类型下所有软元件的编号,所述选择指
令信息用于在批量监控界面中选择待监测的至少一个目标软元件的类型以及每个类型下
所述目标软元件的起始编号;
[0028] 或者,接收用户在自由监控界面中输入的指令信息,所述自由监控界面用于用户自由添加所述可编程逻辑控制器的待监测的目标软元件,所述指令信息用于添加待监测的
至少一个目标软元件的类型以及每个类型下所述目标软元件的编号。
[0029] 进一步地,还包括:
[0030] 将所读取的所述目标软元件的监测数据在梯形图输入界面、批量监控界面或者自由监控界面进行显示。
[0031] 进一步地,对所述软元件监控列表中至少一个所述目标软元件的标识按照地址顺序进行排序之前,还包括:
[0032] 确定所述软元件监控列表中具有偏移量的目标软元件的标识;
[0033] 对所述具有偏移量的目标软元件的标识按照其所具有的偏移量进行偏移;
[0034] 将偏移后的目标软元件的标识替换偏移前的目标软元件的标识。
[0035] 根据第二方面,一种实施例中提供一种可编程逻辑控制器软元件监控系统,包括:
[0036] 软元件监控列表获取模块,用于获取软元件监控列表,所述软元件监控列表中包含至少一个待监测的目标软元件的标识;
[0037] 软元件地址确定模块,用于确定所述软元件监控列表中的标识对应目标软元件的地址;
[0038] 软元件地址排序模块,用于对所述软元件监控列表中至少一个所述目标软元件的标识按照地址顺序进行排序;
[0039] 判断模块,用于判断排序后的软元件监控列表中连续为同一类型的所述目标软元件的标识的数量与预设阈值的关系;
[0040] 第一通信监控模块,用于当判断连续为同一类型的所述目标软元件的标识的数量小于预设阈值,采取第一通信方式读取所述目标软元件的监测数据;
[0041] 第二通信监控模块,用于当判断连续为同一类型的所述目标软元件的标识的数量大于或等于预设阈值,采取第二通信方式读取所述目标软元件的监测数据。
[0042] 根据第三方面,一种实施例中提供一种计算机可读存储介质,包括程序,所述程序能够被处理器执行以实现如上述实施例所述的方法。
[0043] 依据上述实施例的可编程逻辑控制器软元件监控方法、系统及存储介质,将待监测的目标软元件的标识均收集至软元件监控列表中,对软元件监控列表中的目标软元件的
标识按照地址顺序进行排序,由于同一类型的软元件在地址上是相连的,因此判断排序后
的软元件监控列表中连续为同一类型的目标软元件的标识的数量与预设阈值的关系,当判
断连续为同一类型的所述目标软元件的标识的数量小于预设阈值,采取第一通信方式读取
所述目标软元件的监测数据;否则,采取第二通信方式读取所述目标软元件的监测数据,针
对不同情况需要监测的目标软元件的情况,采取不同的通信方式来读取目标软元件的监测
数据,能够提高通信效率,提升了读取PLC软元件的监测数据的实时性。

附图说明

[0044] 图1为一种实施例的可编程逻辑控制器软元件监控方法的流程图;
[0045] 图2为一个监控周期的可编程逻辑控制器软元件监控流程图;
[0046] 图3为一种实施例的可编程逻辑控制器软元件监控系统的结构框图。

具体实施方式

[0047] 下面通过具体实施方式结合附图对本发明作进一步详细说明。其中不同实施方式中类似元件采用了相关联的类似的元件标号。在以下的实施方式中,很多细节描述是为了
使得本申请能被更好的理解。然而,本领域技术人员可以毫不费力的认识到,其中部分特征
在不同情况下是可以省略的,或者可以由其他元件、材料、方法所替代。在某些情况下,本申
请相关的一些操作并没有在说明书中显示或者描述,这是为了避免本申请的核心部分被过
多的描述所淹没,而对于本领域技术人员而言,详细描述这些相关操作并不是必要的,他们
根据说明书中的描述以及本领域的一般技术知识即可完整了解相关操作。
[0048] 另外,说明书中所描述的特点、操作或者特征可以以任意适当的方式结合形成各种实施方式。同时,方法描述中的各步骤或者动作也可以按照本领域技术人员所能显而易
见的方式进行顺序调换或调整。因此,说明书和附图中的各种顺序只是为了清楚描述某一
个实施例,并不意味着是必须的顺序,除非另有说明其中某个顺序是必须遵循的。
[0049] 本文中为部件所编序号本身,例如“第一”、“第二”等,仅用于区分所描述的对象,不具有任何顺序或技术含义。而本申请所说“连接”、“联接”,如无特别说明,均包括直接和
间接连接(联接)。
[0050] 实施例:
[0051] 请参考图1,图1为一种实施例的可编程逻辑控制器软元件监控方法的流程图,其可在可编程逻辑控制器的上位机中执行,所述的方法包括步骤S10至步骤S60,下面具体说
明。
[0052] 步骤S10,获取软元件监控列表,软元件监控列表中包含至少一个待监测的目标软元件的标识。
[0053] 其中步骤S10包括:确定可编程逻辑控制器的待监测的至少一个目标软元件;将至少一个所述目标软元件的标识收集至软元件监控列表中。
[0054] 本实施例中目标软元件的标识也就是目标软元件的类型及该类型下对应的编号。其中,目标软元件的类型包括输入继电器(X)、输出继电器(Y)、辅助继电器(M)、状态继电器
(S)、定时器(T)、计数器(C)、数据寄存器(D)、特殊辅助继电器(SM)和特殊数据寄存器(SD)9
种类型,每个类型下对应有多个顺序编号的软元件,例如数据寄存器类型下包括D1‑D100,
共100个,其中D1为软元件的编号。若待监侧的目标软元件类型为D,对应的标识为D1、D3、
D6,则将标识D1、D3、D6加入软元件监控列表中。
[0055] 在一实施例中,步骤S10中确定可编程逻辑控制器的待监测的至少一个目标软元件包括:
[0056] 接收用户输入信息,根据所述输入信息确定可编程逻辑控制器的待监测的至少一个目标软元件的类型以及每个类型下目标软元件的编号。
[0057] 在一实施例中,接收用户输入信息包括:
[0058] 接收用户在梯形图输入界面中输入的梯形图,该梯形图用于解析可编程逻辑控制器的待监测的至少一个目标软元件的类型以及每个类型下所述目标软元件的编号。本实施
例中,用户在梯形图输入界面所输入的梯形图为可编程逻辑控制器的指令,每一个有效梯
形图节点均表示一条指令,每条指令中均包含指令操作数,指令操作数中含有需要读取的
目标软元件,解析指令操作数即可得到目标软元件的类型及其编号,将解析得到的目标软
元件的类型及其编号加入至软元件监控列表中。在一些实施方式下,用户所输入的梯形图
较长,在梯形图用户输入界面中并不能完全显示,用户需滚动界面边沿的滚动条才能显示
剩余梯形图,对于此种情况,其只需解析当前梯形图用户输入界面所显示梯形图中所包含
的目标软元件,当用户滚动滚动条使得梯形图用户输入界面显示的梯形图不同时,再解析
新显示的梯形图中所包含的目标软元件,因此在滚动滚动条时,软元件监控列表中的目标
软元件随之发生变化。
[0059] 接收用户在批量监控界面中输入的选择指令信息,批量监控界面包括可编程逻辑控制器所有软元件的类型以及每个类型下所有软元件的编号,选择指令信息用于在批量监
控界面中选择待监测的至少一个目标软元件的类型以及每个类型下所述目标软元件的起
始编号。在批量监控界面中可以监控所有软元件的状态和输入/输出值,用户选择要批量监
控的软元件类型和起始编号,批量监控界面中显示从起始编号开始的连续几十个软元件,
将这些用户选择的目标软元件添加至软元件监控列表中,用户选择的软元件类型和起始编
号不同,软元件监控列表随之发生变化。
[0060] 接收用户在自由监控界面中输入的指令信息,自由监控界面用于用户自由添加所述可编程逻辑控制器的待监测的目标软元件,指令信息用于添加待监测的至少一个目标软
元件的类型以及每个类型下所述目标软元件的编号。在自由监控界面中用户自由添加需要
监测的目标软元件类型及其编号,将这些目标软元件添加至软元件监控列表,当用户添加
的软元件较多时仅收集当前可见的目标软元件至软元件监控列表中,滚动自由监控界面时
收集到软元件监控列表中的目标软元件将发生变化。
[0061] 步骤S20,确定软元件监控列表中的标识对应目标软元件的地址。在本实施例中,每个目标软元件具有特定的通信地址,本实施例中目标软元件的地址为其通信地址。
[0062] 步骤S30,对软元件监控列表中至少一个目标软元件的标识按照地址顺序进行排序。由于类型相同的目标软元件的地址是相连的,也就是相同类型的目标软元件的地址顺
序与其编号顺序是对应的。本实施例按照地址的升序对目标软元件进行排序,这样排序后
的软元件监控列表中相同类型的目标软元件的标识是相连的。
[0063] 步骤S40,判断排序后的软元件监控列表中连续为同一类型的目标软元件的标识的数量与预设阈值的关系。
[0064] 在一实施例中,预设阈值根据目标软元件的存储类型所确定,目标软元件的存储类型包括位元件存储类型、字元件存储类型和双字元件存储类型。
[0065] 在本实施例中,若是位元件,预设阈值为32;若是字元件,预设阈值为20;若是双字元件,预设阈值为10。
[0066] 步骤S50,当判断连续为同一类型的目标软元件的标识的的数量小于预设阈值,采取第一通信方式读取目标软元件的监测数据。
[0067] 在一实施例中,采取第一通信方式读取所述目标软元件的监测数据包括:
[0068] 将连续为同一类型的标识对应目标软元件的地址加入预设地址列表。若是位元件,将地址添加至位地址列表中;若是字元件,将地址添加至字地址列表中;若是双字元件,
将地址添加至字地址列表中。
[0069] 将地址添加至地址列表后,主要先判断预设地址列表是否更新,由于可能在该监控周期中,需要监测的软元件并没有发生任何变化,因此还需监测地址列表是否更新,若没
有更新,表明需要监测的软元件没有发送变化,此时直接读取数据缓存区中各目标软元件
的监测数据即可。
[0070] 若预设地址列表更新,表明需要监测的软元件发生了变化,则获取预设地址列表中每个地址对应目标软元件的监测数据,将预设地址列表加入预先构建的地址缓存区,将
监测数据加入预先构建的监测数据缓存区。在本实施例中,地址缓冲区和监测数据缓冲区
均设置在下位机中。
[0071] 按照待监测的至少一个所述目标软元件的地址,上位机发送一通信帧读取监测数据缓存区中所有目标软元件对应的监测数据。
[0072] 在一些实施方式下,若同一类型目标软元件的连续个数太多,导致一通信帧无法读取同一类型的连续所有目标软元件,此时需要对同一类型的连续目标软元件进行分割,
例如分割为两部分,分别通过两个通信帧来读取。
[0073] 此外,读取的监测数据按照字地址列表和位地址列表中的地址排列顺序进行排列,根据地址范围分别解析出各个目标软元件的输入/输出值或状态,在梯形图输入界面、
批量监控界面或者自由监控界面进行显示。
[0074] 步骤S60,当判断连续为同一类型的所述目标软元件的标识的数量大于或等于预设阈值,采取第二通信方式读取目标软元件的监测数据。
[0075] 在一实施例中,采取第二通信方式读取所述目标软元件的监测数据包括:
[0076] 上位机发送一通信帧读取连续为同一类型的多个目标软元件对应的监测数据。同样,上位机根据所读取的目标软元件对应的监测数据解析出各个目标软元件的输入/输出
值或状态,在梯形图输入界面、批量监控界面或者自由监控界面进行显示。
[0077] 由于很多软元件具有偏移量,因此对软元件监控列表中至少一个目标软元件的标识按照地址顺序进行排序之前,还包括:
[0078] 确定软元件监控列表中具有偏移量的目标软元件的标识。
[0079] 对具有偏移量的目标软元件的标识按照其所具有的偏移量进行偏移。
[0080] 将偏移后的目标软元件的标识替换偏移前的目标软元件的标识。
[0081] 例如,对于标识为D10的目标软元件,假设其具有V100的偏移量,则偏移后的目标软元件的标识则为D110。
[0082] 上述从步骤S10至步骤S60整个过程为一个监控周期,在监控周期开始时还需要将软元件监控列表中的软元件的标识进行清空。
[0083] 请参考图2,图2为一个监控周期的可编程逻辑控制器软元件监控流程图,其包括:
[0084] 步骤S101,清空软元件监控列表。
[0085] 步骤S102,解析用户输入的梯形图,将梯形图中需要读取的目标软元件的标识收集至软元件监控列表。
[0086] 步骤S103,将用户在批量监控界面中所选择的需要读取的目标软元件的标识收集至软元件监控列表。
[0087] 步骤S104,将用户在自由监控界面中所添加的需要读取的目标软元件的标识收集至软元件监控列表。
[0088] 步骤S105,整理软元件监控列表中所收集的目标软元件的标识;其中,整理包括偏移处理、排序和分割较长的连续多个相同类型的目标软元件。
[0089] 步骤S106,对软元件监控列表中的目标软元件的标识进行遍历。
[0090] 步骤S107,判断当前目标软元件是否为位元件,若是位元件,则执行步骤S108;否则判断当前目标软元件是否为字元件,若是字元件,则执行步骤S109;否则判断当前目标软
元件是否为双子元件,若是双子元件,则执行步骤S110;否则,执行步骤S111。
[0091] 步骤S108,判断连续为同一类型的当前目标软元件的标号的数量是否大于或等于32,若大于或等于32,则采用直接通信方式(第二通信方式)读取当前目标软元件的监测数
据;否则,将当前目标软元件的地址添加至位地址列表。
[0092] 步骤S109,判断连续为同一类型的当前目标软元件的标识的数量是否大于或等于20,若大于或等于20,则采用直接通信方式(第二通信方式)读取当前目标软元件的监测数
据;否则,将当前目标软元件的地址添加至字地址列表。
[0093] 步骤S110,判断连续为同一类型的当前目标软元件的标识的数量是否大于或等于10,若大于或等于10,则采用直接通信方式(第二通信方式)读取当前目标软元件的监测数
据;否则,将当前目标软元件的地址添加至字地址列表。
[0094] 步骤S111,判断当前目标软元件的标识是否为软元件监控列表中的最后一个软元件标识,若不是最后一个,则返回步骤S106;若是最后一个,则执行步骤S112。
[0095] 步骤S112,判断位地址列表或者字地址列表是否有变化,若是,则执行步骤S113;否则,执行步骤S114。
[0096] 步骤S113,将位地址列表和字地址列写入地址缓冲区。
[0097] 步骤S114,读取数据缓冲区的监测数据。
[0098] 步骤S115,解析所读取的监测数据,得到各个目标软元件的状态或输出/输入值,一个监控周期结束。
[0099] 在本发明实施例中,将待监测的目标软元件的标识均收集至软元件监控列表中,对软元件监控列表中的目标软元件的标识按照地址顺序进行排序,由于同一类型的软元件
在地址上是相连的,因此判断排序后的软元件监控列表中连续为同一类型的目标软元件的
标识的数量与预设阈值的关系,当判断连续为同一类型的目标软元件的标识的数量大于等
于预设阈值时,则采用直接通信的方式来读取目标软元件的监测数据,即发送一通信帧读
取连续为同一类型的多个目标软元件对应的监测数据;当判断连续为同一类型的目标软元
件的标识的数量小于预设阈值时,将同一类型的目标软元件的地址添加至地址列表中,并
将地址列表写入下位机的地址缓冲区,将监测数据加入预先构建的监测数据缓存区,按照
待监测的至少一个所述目标软元件的地址,上位机发送一通信帧读取监测数据缓存区中所
有目标软元件的监测数据,这样通过一通信帧可读取监测数据缓存区中所有目标软元件的
监测数据,提高了通信速率,能够更实时地监控PLC软元件。
[0100] 请参考图3,图3为一种实施例的可编程逻辑控制器软元件监控系统的结构框图,包括:软元件监控列表获取模块10、软元件地址确定模块20、软元件地址排序模块30、判断
模块40、第一通信监控模块50和第二通信监控模块60。
[0101] 其中:软元件监控列表获取模块10用于获取软元件监控列表,软元件监控列表中包含至少一个待监测的目标软元件的标识。
[0102] 软元件地址确定模块20用于确定所述软元件监控列表中的标识对应目标软元件的地址;
[0103] 软元件地址排序模块30用于对所述软元件监控列表中至少一个所述目标软元件的标识按照地址顺序进行排序;
[0104] 判断模块40用于判断排序后的软元件监控列表中连续为同一类型的所述目标软元件的标识的数量与预设阈值的关系;
[0105] 第一通信监控模块50用于当判断连续为同一类型的所述目标软元件的标识的数量小于预设阈值,采取第一通信方式读取所述目标软元件的监测数据;
[0106] 第二通信监控模块60用于当判断连续为同一类型的所述目标软元件的标识的数量大于或等于预设阈值采取第二通信方式读取所述目标软元件的监测数据。
[0107] 需要说明的是,本实施例中的功能模块与上述实施例的方法步骤相对应,其具体实施方式已在上述实施例中详细说明,此处不再赘述。
[0108] 本领域技术人员可以理解,上述实施方式中各种方法的全部或部分功能可以通过硬件的方式实现,也可以通过计算机程序的方式实现。当上述实施方式中全部或部分功能
通过计算机程序的方式实现时,该程序可以存储于一计算机可读存储介质中,存储介质可
以包括:只读存储器、随机存储器、磁盘、光盘、硬盘等,通过计算机执行该程序以实现上述
功能。例如,将程序存储在设备的存储器中,当通过处理器执行存储器中程序,即可实现上
述全部或部分功能。另外,当上述实施方式中全部或部分功能通过计算机程序的方式实现
时,该程序也可以存储在服务器、另一计算机、磁盘、光盘、闪存盘或移动硬盘等存储介质
中,通过下载或复制保存到本地设备的存储器中,或对本地设备的系统进行版本更新,当通
过处理器执行存储器中的程序时,即可实现上述实施方式中全部或部分功能。
[0109] 以上应用了具体个例对本发明进行阐述,只是用于帮助理解本发明,并不用以限制本发明。对于本发明所属技术领域的技术人员,依据本发明的思想,还可以做出若干简单
推演、变形或替换。