一种基于plc的冗余系统实现方法

文档序号:6309978阅读:345来源:国知局
专利名称:一种基于plc的冗余系统实现方法
技术领域
本发明涉及一种基于PLC的冗余系统实现方法。
背景技术
在工业自动化系统中大量选用可编程逻辑控制器PLC作为控制器,PLC作为相对比较成熟、独立的控制器,相比专用控制器,提高了系统可靠性,并降低了系统开发难度,但随着自动化系统复杂性的提高以及技术的发展,对系统的可靠性提出了进一步的要求,在很多可靠性要求苛刻的领域,单一的PLC系统已经不能满足要求,因此PLC的冗余系统也越来越重要。目前冗余的分类方式很多,PLC的冗余方式主要有两种即软冗余和硬冗余。目前,软冗余系统已经在冶金、交通、电力、化工、水污染等工业控制领域中得到较广泛的应用,但对于软冗余系统的冗余性能尚没有进一步的系统研究;硬冗余系统的冗余结构是所有重要部件都是冗余配置,因此可靠性很高,但缺点是构建系统的成本也较高。

发明内容
为解决以上技术上的不足,本发明提供了一种使用可靠、节省硬件成本的基于PLC的冗余系统实现方法。本发明是通过以下措施实现的
本发明的一种基于PLC的冗余系统实现方法,所述方法包括以下步骤a.
至少两个不同地址码的CPU和至少两个不同地址码的I/O模块通过CAN总线相连;b.上电后各个CPU正常采集数据,并周期性发送采集数据的广播帧,若CPU收到其它CPU采集数据的广播帧,则比较对方地址是否小于本机地址,若是,本机为备用CPU,若否,本机为主CPU,最终确定一个主CPU,其它为备用CPU ;c.主CPU接收处理来自I/O模块的数据并发送广播帧;备用CPU仅监听CAN总线上主CPU发出的广播帧;d.启动定时器,若备用CPU在定时器设定的周期内接收到广播帧,则定时器重置重新计时;若备用CPU在定时器设定的周期内没有接收到广播帧,则判定为当前主CPU故障,返回步骤b。上述I/O模块输入输出点双份接入到冗余模块上,地址码小的I/O模块默认为主模块,其它为从模块,主从I/o模块均响应CPU的广播命令,若主模块超过3次未响应,则判定主模块故障,数据来源切换到从模块,并报警。上述切换方法,其中,若主模块恢复响应,数据来源自动切换回主模块。上述切换方法,其中,主从I/O模块运行期间,PLC用户程序实时比较主从模块数据并剔除非法数据。 本发明的有益效果是本发明不需要在PLC系统中所有重要部件都采用冗余配置,其系统冗余性能达到或接近硬件冗余PLC系统,从而节省了硬件的成本;主从切换平滑;能够自动故障识别与定位,故障模块替换支持热插拔;系统可靠性高,易于实现,系统成本低。


图I为本发明的流程框图。
具体实施例方式下面结合附图和实施例对本发明作进一步的描述。如图I所示,本发明的基于PLC的冗余系统实现方法包括以下步骤
首先,将至少两个不同地址码的CPU和至少两个不同地址码的I/O模块通过CAN总线相连,也就是说所有CPU的数据状态自动保持 同步。然后开始上电,上电后各个CPU正常采集数据,并周期性发送采集数据的广播帧,采用优先级原则,即同一个系统中若有多个CPU,模块地址码小的优先级高,作为主CPU ;若CPU收到其它CPU采集数据的广播帧,则比较对方地址是否小于本机地址,若是,本机为备用CPU,若否,本机为主CPU,最终确定一个主CPU,其它为备用CPU。避免了出现多主CPU的情况。主CPU接收处理来自I/O模块的数据并发送广播帧;备用CPU仅监听CAN总线上主CPU发出的广播帧;同时启动定时器,若备用CPU在定时器设定的周期内接收到广播帧,则定时器重置重新计时;若备用CPU在定时器设定的周期内没有接收到广播帧,则判定为当前主CPU故障,重新确定主CPU。为了使系统的冗余性能更高更可靠,I/o模块输入输出点双份接入到冗余模块上,地址码小的I/O模块默认为主模块,其它为从模块,主从I/O模块均响应CPU的广播命令,若主模块超过3次未响应,则判定主模块故障,数据来源切换到从模块,并报警。若主模块恢复响应,数据来源自动切换回主模块。主从I/o模块运行期间,PLC用户程序实时比较主从模块数据并剔除非法数据,从而提高系统可靠性。上述实施例所述是用以具体说明本专利,文中虽通过特定的术语进行说明,但不能以此限定本专利的保护范围,熟悉此技术领域的人士可在了解本专利的精神与原则后对其进行变更或修改而达到等效目的,而此等效变更和修改,皆应涵盖于权利要求范围所界定范畴内。
权利要求
1.一种基于PLC的冗余系统实现方法,其特征在于所述方法包括以下步骤a.至少两个不同地址码的CPU和至少两个不同地址码的I/O模块通过CAN总线相连; b.上电后各个CPU正常采集数据,并周期性发送采集数据的广播帧,若CPU收到其它CPU采集数据的广播帧,则比较对方地址是否小于本机地址,若是,本机为备用CPU,若否,本机为主CPU,最终确定一个主CPU,其它为备用CPU ; C.主CPU接收处理来自I/O模块的数据并发送广播帧;备用CPU仅监听CAN总线上主CPU发出的广播帧; d.启动定时器,若备用CPU在定时器设定的周期内接收到广播帧,则定时器重置重新计时;若备用CPU在定时器设定的周期内没有接收到广播帧,则判定为当前主CPU故障,返回步骤b。
2.根据权利要求I所述的基于PLC的冗余系统实现方法,其特征在于所述I/O模块输入输出点双份接入到冗余模块上,地址码小的I/O模块默认为主模块,其它为从模块,主从I/O模块均响应CPU的广播命令,若主模块超过3次未响应,则判定主模块故障,数据来源切换到从模块,并报警。
3.根据权利要求2所述的基于PLC的冗余系统实现方法,其特征在于若主模块恢复响应,数据来源自动切换回主模块。
4.根据权利要求2所述的基于PLC的冗余系统实现方法,其特征在于主从I/O模块运行期间,PLC用户程序实时比较主从模块数据并剔除非法数据。
全文摘要
本发明的一种基于PLC的冗余系统实现方法,所述方法包括以下步骤a.至少两个不同地址码的CPU和至少两个不同地址码的I/O模块通过CAN总线相连;b.上电后确定一个主CPU,其它为备用CPU;c.主CPU接收处理来自I/O模块的数据并发送广播帧;备用CPU仅监听CAN总线上主CPU发出的广播帧;本发明的有益效果是本发明不需要在PLC系统中所有重要部件都采用冗余配置,其系统冗余性能达到或接近硬件冗余PLC系统,从而节省了硬件的成本;主从切换平滑;能够自动故障识别与定位,故障模块替换支持热插拔;系统可靠性高,易于实现,系统成本低。
文档编号G05B9/03GK102636988SQ20121010817
公开日2012年8月15日 申请日期2012年4月13日 优先权日2012年4月13日
发明者孙祥, 孟庆龙, 李娟 , 程广河, 罗旋, 郝凤琦, 韩路跃 申请人:山东省计算中心
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1