本发明涉及plc通讯检测技术领域,具体的说,涉及了一种plc与监控软件通讯失败的检测方法。
背景技术:
可编程逻辑控制器(简称plc)是专门为在工业环境下应用而设计的数字运算操作电子系统,可进行逻辑运行、顺序控制、计算等功能。监控软件安装于pc端,与plc进行通讯,控制管理各种类型的机械设备或生产过程。
在plc与pc通讯过程中,通讯失败问题难以避免。考虑到用户使用到的plc品牌、型号或通讯协议不同,plc获取通讯失败信息的方式各不相同。对于程序编写者来讲,调用符合其品牌、型号通讯诊断,格式要求严格且较为繁琐,甚至低端plc不具有通讯失败诊断功能。一旦plc无法获取监控软件的控制指令,plc存在一种失控情况的隐忧,这势必成为一种控制系统的潜在隐患。
为了解决以上存在的问题,人们一直在寻求一种理想的技术解决方案。
技术实现要素:
本发明的目的是针对现有技术的不足,从而提供一种设计科学、实用性强、操作简便和检测效率高的plc与监控软件通讯失败的检测方法。
为了实现上述目的,本发明所采用的技术方案是:一种plc与监控软件通讯失败的检测方法,包括以下步骤:
步骤1,初始化plc和pc监控软件,复位通讯诊断继电器;所述通讯诊断继电器为所述plc内部选定的中间继电器m12;
步骤2,所述pc监控软件发送检测启动指令给所述plc,告知所述plc进入通讯检测模式;
步骤3,所述pc监控软件根据设定时间a定期设定所述通讯诊断继电器的状态为true;
所述plc根据设定时间b定期设定所述通讯诊断继电器的状态为false;
步骤4,所述plc根据设定的plc通信监控周期定时监控所述通讯诊断继电器的状态,判断所述pc监控软件与所述plc之间的通讯状态是否失败。
基于上述,所述步骤2中:所述时间b大于所述时间a,且所述时间b不等于所述时间a的倍数。
基于上述,所述步骤4中,所述plc通信监控周期大于所述时间b与所述时间a之和。
基于上述,所述步骤4中,所述plc定时监控所述通讯诊断继电器的状态,指的是从所述plc第一次接受所述pc监控软件发来的m12=true通讯指令开始计时,每隔一个plc通信监控周期检测一次。
基于上述,所述时间b指的是从所述plc接受所述pc监控软件发来的m12=true通讯指令开始计时,至所述plc设定所述通讯诊断继电器的状态为false。
基于上述,所述步骤3具体包括:
步骤3.1,pc监控软件每隔时间a,向plc发送m12=true的通讯指令;
步骤3.2,所述plc,接受所述pc监控软件发来的通讯指令后,计时等待时间b;
步骤3.3,所述plc,将所述通讯诊断继电器的状态设置为false。
基于上述,所述步骤4具体包括:
步骤4.1,所述plc设定m12=false后,所述plc定时监控所述通讯诊断继电器的状态,判断所述通讯诊断继电器的状态是否为false;
步骤4.2,若所述通讯诊断继电器的状态为false,则可判断所述plc与pc监控软件之间通讯失败,所述plc进入通讯失败处理流程,否则转步骤4.3;
步骤4.3,判断所述plc与pc监控软件通讯正常,继续检测通讯状态。
本发明相对现有技术具有突出的实质性特点和进步,具体的说:
1)本发明提供了一种plc与监控软件通讯失败的检测方法,所述pc监控软件根据设定时间a定期设定所述通讯诊断继电器的状态为true;所述plc根据设定时间b定期设定所述通讯诊断继电器的状态为false;所述plc通过定时监控所述通讯诊断继电器的状态,判断所述pc监控软件与所述plc之间的通讯状态是否失败,本发明实现了对plc与pc监控软件之间的通讯检测,从而使得plc及时获得通讯状态;
2)本发明在plc与pc监控软件进行通讯时,通过对plc普通数据点位进行操作控制,解决了当pc通讯软件与plc断开通讯连接时,plc无法及时获得通讯失败的问题;
3)用户无需考虑使用到的plc品牌、型号或通讯协议不同,或者plc获取通讯失败信息的方式不同,操作简单、使用方便;
综上所述,本发明具有设计科学、实用性强、操作简便和检测效率高的优点。
附图说明
图1是本发明的流程图。
图2是本发明的通信检测位状态时序图。
图3是本发明的plc数据通讯检测梯形图。
具体实施方式
下面通过具体实施方式,对本发明的技术方案做进一步的详细描述。
如附图1和附图2所示,一种plc与监控软件通讯失败的检测方法,它包括以下步骤:
步骤1,初始化plc和pc监控软件,复位通讯诊断继电器;所述通讯诊断继电器为所述plc内部选定的中间继电器m12。
步骤2,所述pc监控软件发送检测启动指令给所述plc,告知所述plc进入通讯检测模式。
步骤3,所述pc监控软件根据设定时间a定期设定所述通讯诊断继电器的状态为true;所述plc根据设定时间b定期设定所述通讯诊断继电器的状态为false。
所述步骤3具体包括:
步骤3.1,pc监控软件每隔时间a,向plc发送m12=true的通讯指令;
步骤3.2,所述plc,接受所述pc监控软件发来的m12=true通讯指令后,计时等待时间b;
步骤3.3,所述plc,将所述通讯诊断继电器的状态设置为false。
pc监控软件从第一次发送m12=true的通讯指令开始计时,每隔一个时间a发送一次m12=true的通讯指令。所述时间b指的是从所述plc接受所述pc监控软件发来的“m12=true”通讯指令开始计时,至所述plc设定所述通讯诊断继电器的状态为false。所述时间b大于所述时间a,且所述时间b不等于所述时间a的倍数。所述时间b大于plc扫描周期。
步骤4,所述plc定时监控所述通讯诊断继电器的状态,判断所述pc监控软件与所述plc之间的通讯状态是否失败。
所述plc通信监控周期为时间c;所述时间c大于所述时间b与所述时间a之和。所述plc定时监控所述通讯诊断继电器的状态,指的是从所述plc第一次接受所述pc监控软件发来的“m12=true”通讯指令开始计时,每隔一个plc通信监控周期检测一次。
所述步骤4具体包括:
步骤4.1,所述plc设定m12=false后,所述plc定时监控所述通讯诊断继电器的状态,判断所述通讯诊断继电器的状态是否为false;
步骤4.2,若所述通讯诊断继电器的状态为false,则可判断所述plc与pc监控软件之间通讯失败,所述plc进入通讯失败处理流程,否则转步骤4.3;
步骤4.3,判断所述plc与pc监控软件通讯正常,继续检测通讯状态。
所述plc指定内部中间继电器m12为所述通讯诊断继电器。所述pc监控软件和所述plc通过操作控制m12的状态,实现所述plc对通讯状态的检测。pc监控软件定期设定m12=true,所述plc定期设定m12=false。所述可编程逻辑控制器plc可以通过定时监控m12,从而判断通讯状态。
“plc设定m12=false”后,在等待的时间c-b内,pc监控软件有足够的时间设定m12=true。如果在时间c-b后,m12=false,则说明pc监控软件指令没有到达所述plc,也就是说,如果在c-b时间内,plc没有成功接受到pc监控软件发来的m12=true的指令,因此可认定通讯失败。
设定时间a=600ms;设定时间b=1000ms。设定plc通信监控周期为2000ms。所述pc监控软件,每隔600ms,通过通讯指令向所述plc发送“m12=true”通讯指令。所述plc接受所述pc监控软件发来的“m12=true”通讯指令后,计时等待1000ms后,将所述通讯诊断继电器的状态设置为false。
本发明的工作流程如下:
(1).所述plc程序运行,pc监控软件运行。初始化所述plc和pc监控软件,复位所述通讯继电器;为了使得m12=true,成为一个触发事件,在plc进行通讯检测前需先设置m12=false;
(2).pc监控软件启动通讯检测功能,发送指令给所述plc,告知所述plc进入通讯检测模式;同时,发送m12=true指令;pc监控软件每隔600ms,通过通讯指令向plc发送m12=true;
(3).所述plc接受到pc监控软件发来的“m12=true”通讯指令后,设定m12=true;计时等待1000ms后,所述plc自动设定m12=false;
(4).所述plc设定m12=false,计时等待1000ms后,所述plc判断m12是否为false;若m12=false,则判断所述plc与pc监控软件之间通讯失败,所述plc进入通讯失败处理流程;
(5).否则,若m12=true,则可判断所述plc与pc监控软件通讯正常,继续检测通讯状态。
在通讯检测过程中,plc通讯检测梯形图如附图3所示,所述通讯诊断继电器m12的常开点导通时,进入通讯检测流程;b定时器开始计时,当b定时器等于10*100ms时,b定时器节点导通,m12常开点断开,b定时器复位。当m12常闭点导通时,‘c-b’定时器开始计时,当‘c-b’定时器等于10*100ms时,‘c-b’定时器触点导通置位m478标志位,提示plc与pc监控软件之间通讯失败。若在‘c-b’定时器小于10*100ms时,pc监控软件发送m12=true指令,则m12常闭触点断开,则plc与pc监控软件之间通讯正常,重新进入第一条指令。定时器的单位是100ms。
在plc与pc监控软件进行通讯时,plc无法及时获得其与pc监控软件通讯失败的主要因素在寄存器或继电器数据无数据更新变动时,数据保持其现有状态;本发明通过对plc普通数据点位进行操作控制,普通数据点位即为中间继电器m12的状态,解决了当pc通讯软件与plc断开通讯连接时,plc无法及时获得通讯失败的问题。
采用本发明方法,用户无需考虑使用到的plc品牌、型号或通讯协议不同,或者plc获取通讯失败信息的方式不同,具有设计科学、操作简单、实用性强和检测效率高的优点。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制;尽管参照较佳实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者对部分技术特征进行等同替换;而不脱离本发明技术方案的精神,其均应涵盖在本发明请求保护的技术方案范围当中。