一种高可靠PLC的数据传输方法及数据传输系统与流程

文档序号:22320711发布日期:2020-09-23 01:54阅读:219来源:国知局
一种高可靠PLC的数据传输方法及数据传输系统与流程

本发明涉及plc系统中的模块冗余。本发明具体涉及一种高可靠plc的数据传输方法及数据传输系统。



背景技术:

目前plc系统中io模块实现数据同步和模块切换时,主要是通过主备两个io模块专用的冗余bus链路实现数据同步和冗余切换,具体过程为:主控制器模块通过iobus和主io模块进行通信(交换数据),主io模块通过冗余bus将主控制器模块发送的数据发送给备io模块,并且一直发送心跳信号。备io模块在接收到主io模块发送的数据后,继续监听冗余bus上的心跳信号,当监听不到主io模块的心跳信号后,备io模块认为主io模块故障并主动转换为主io模块。该方式需要独立的冗余bus,增加了线路的复杂性,同时需要更高的成本来实现io模块冗余。



技术实现要素:

本发明的目的是提供一种高可靠plc的数据传输方法,其采用正常的iobus通信链路实现两个io模块之间的数据同步和心跳传输。

本发明的另一个目的是提供一种高可靠plc的数据传输系统,其采用正常的iobus通信链路实现两个io模块之间的数据同步和心跳传输。

本发明提供一种高可靠plc的数据传输方法,高可靠plc的数据传输系统中具有iobus总线及一个能够配置于iobus总线上的控制器模块、一个冗余主io模块及一个冗余备io模块。iobus总线上能够传输数据报文。冗余主io模块及冗余备io模块能够从iobus总线上获取数据。冗余主io模块具有主模块标识信息,冗余备io模块具有备模块标识信息。高可靠plc的数据传输方法,包括:

步骤s101,控制器模块在接收到程序数据传输中断或远程数据传输中断信息后,接收数据报文。控制器模块根据主模块标识信息生成数据传输请求报文。

步骤s102,控制器模块根据冗余主io模块的主模块标识信息,通过iobus总线向冗余主io模块发出数据传输请求报文。

步骤s103,冗余主io模块通过iobus总线接收到数据传输请求报文,冗余主io模块通过iobus总线向控制器模块发出应答数据报文。

冗余备io模块监听iobus总线。在接收到数据传输请求报文后,冗余备io模块判断能从iobus总线上获取的应答数据报文是否与所述数据传输请求报文相对应,若对应,则本地备份应答数据报文,若不对应,则将备模块标识信息设置为主模块标识信息。

步骤s104,控制器模块根据步骤s103中冗余备io模块的主模块标识信息,向冗余备io模块发出数据传输请求报文,冗余备io模块通过iobus总线向控制器模块发出应答数据报文。

在数据传输方法的另一种示意性实施方式中,步骤s102中包括:控制器模块判断主模块标识信息或备模块标识信息是否存在,若是,则控制器模块根据冗余主io模块的主模块标识信息,通过iobus总线向冗余主io模块发出数据传输请求报文。

在数据传输方法的另一种示意性实施方式中,步骤s103中还包括:控制器模块判断冗余主io模块的主模块标识信息是否为有效数据信息,若是,则冗余主io模块通过iobus总线接收到数据传输请求报文;若否,则返回步骤s101。

在数据传输方法的另一种示意性实施方式中,步骤s101中接收数据报文。控制器模块根据主模块标识信息生成数据传输请求报文的步骤还包括:控制器模块判断数据报文是否具有帧起始识别信息、地址识别信息及帧校验信息,若是,则控制器模块根据主模块标识信息生成数据传输请求报文;若否,则返回本步骤,直到数据报文具有帧起始识别信息、地址识别信息及帧校验信息为止。

在数据传输方法的另一种示意性实施方式中,步骤s103中,将备模块标识信息设置为主模块标识信息的步骤包括:

在设定时间内判断备模块标识信息设置是否为有效信息,若是,则将备模块标识信息设置为主模块标识信息,若否,则返回步骤s101。

在数据传输方法的另一种示意性实施方式中,数据传输请求报文中包括当前目的地址位及当前源地址位信息。步骤s103中判断当前应答数据报文是否与数据传输请求报文相对应的步骤包括:判断当前应答数据报文中的目的地址位信息是否为数据传输请求报文中的源地址位信息,以及当前应答数据报文中的源地址位信息是否为数据传输请求报文中的目的地址位信息。

本发明还提供一种高可靠plc的数据传输系统,高可靠plc的数据传输系统中具有iobus总线及一个能够配置于iobus总线上的控制器模块、一个冗余主io模块及一个冗余备io模块。iobus总线上能够传输数据报文。冗余主io模块及冗余备io模块能够从iobus总线上获取数据。冗余主io模块具有主模块标识信息。所述冗余备io模块具有备模块标识信息。

控制器模块配置为,在接收到程序数据传输中断或远程数据传输中断信息后,接收数据报文。控制器模块根据主模块标识信息生成数据传输请求报文。

控制器模块配置为,根据冗余主io模块的主模块标识信息,通过iobus总线向冗余主io模块发出数据传输请求报文。

冗余主io模块配置为,通过iobus总线接收到数据传输请求报文,冗余主io模块通过iobus总线向控制器模块发出应答数据报文。

冗余备io模块监听iobus总线。在接收到数据传输请求报文后,冗余备io模块判断能从iobus总线上获取的应答数据报文是否与所述数据传输请求报文相对应,若对应,则本地备份应答数据报文,若不对应,则将备模块标识信息设置为主模块标识信息。

控制器模块配置为,根据冗余备io模块的主模块标识信息,向冗余备io模块发出数据传输请求报文,冗余备io模块通过iobus总线向控制器模块发出应答数据报文。

在数据传输系统的另一种示意性实施方式中,控制器模块判断主模块标识信息或备模块标识信息是否存在,若是,则控制器模块根据冗余主io模块的主模块标识信息,通过iobus总线向冗余主io模块发出数据传输请求报文。

在数据传输系统的另一种示意性实施方式中,控制器模块判断冗余主io模块的主模块标识信息是否为有效数据信息,若是,则冗余主io模块通过iobus总线接收到数据传输请求报文;若否,则返回控制器模块的配置过程。

在数据传输系统的另一种示意性实施方式中,将备模块标识信息设置为主模块标识信息的步骤包括:

在设定时间内判断备模块标识信息设置是否为有效信息,若是,则将备模块标识信息设置为主模块标识信息,若否,则返回控制器模块的配置过程。

下文将以明确易懂的方式,结合附图对上述高可靠plc的数据传输方法及数据传输系统的特性、技术特征、优点及其实现方式予以进一步说明。

附图说明

图1是用于说明本发明一种高可靠plc的数据传输系统的组成示意图。

图2是用于说明本发明一种高可靠plc的数据传输方法的数据处理流程示意图。

图3是用于说明本发明一种高可靠plc的数据传输方法中报文帧格式图。

标号说明

10控制器模块

11冗余主io模块

12冗余备io模块

13iobus总线

具体实施方式

为了对发明的技术特征、目的和效果有更加清楚的理解,现对照附图说明本发明的具体实施方式,在各图中相同的标号表示结构相同或结构相似但功能相同的部件。

在本文中,“示意性”表示“充当实例、例子或说明”,不应将在本文中被描述为“示意性”的任何图示、实施方式解释为一种更优选的或更具优点的技术方案。为使图面简洁,各图中只示意性地表示出了与本示例性实施例相关的部分,它们并不代表其作为产品的实际结构及真实比例。

参照图1,本发明提供一种高可靠plc的数据传输方法,高可靠plc的数据传输系统中具有iobus总线13及一个能够配置于iobus总线13上的控制器模块10、一个冗余主io模块11及一个冗余备io模块12。iobus总线13上能够传输数据报文。冗余主io模块11及冗余备io模块12能够从iobus总线13上获取数据。冗余主io模块11具有主模块标识信息,冗余备io模块12具有备模块标识信息。高可靠plc的数据传输方法,包括:

步骤s101,控制器模块10在接收到程序数据传输中断或远程数据传输中断信息后,接收数据报文。控制器模块10根据主模块标识信息生成数据传输请求报文。

步骤s102,控制器模块10根据冗余主io模块11的主模块标识信息,通过iobus总线13向冗余主io模块11发出数据传输请求报文。

步骤s103,冗余主io模块11通过iobus总线13接收到数据传输请求报文,冗余主io模块11通过iobus总线13向控制器模块10发出应答数据报文。

冗余备io模块12监听iobus总线13。在接收到数据传输请求报文后,冗余备io模块判断能从iobus总线13上获取的应答数据报文是否与所述数据传输请求报文相对应,如,应答数据报文中是否包括数据传输请求报文中的“主模块标识信息”,若对应,即存在标识信息,则本地备份应答数据报文,若不对应,即不存在标识信息,则将备模块标识信息设置为主模块标识信息。

步骤s104,控制器模块10根据步骤s103中冗余备io模块12的主模块标识信息,向冗余备io模块12发出数据传输请求报文,冗余备io模块12通过iobus总线13向控制器模块10发出应答数据报文。

其中,每个io模块都有一个唯一的地址识别码,相邻的两个同类型模块可以构成冗余关系,默认情况下奇数地址为主模块,偶数地址为备模块,比如相邻的两个io模块,地址分别为3、4,那么3号模块为主模块,4号模块为备模块。

参照图2,在该数据传输方法的实施过程中,当冗余主io模块11正常运行时,冗余主io模块11在接收到控制器模块10的请求后应答控制器模块10的请求,发出应答数据报文。冗余备io模块12通过监听得知冗余主io模块11对控制器模块10的请求进行了应答,并且通过应答的数据报文获得了冗余主io模块11的数据,完成数据的同步。

参照图3,图中请求报文表示主控制器模块(地址为1)请求io模块(地址为3)的数据,应答报文冗余主io模块11(地址为3)应答主控制器模块。在请求和应答的过程中,冗余备io模块12(地址为4)可以监听到请求和应答报文,也就是备模块会通过其中断响应程序将这两个报文都接收然后进行分析,通过目的地址和源地址,可以分析出主模块的应答报文,进而从应答报文中获得主模块的应答数据。

当冗余主io模块11非正常运行时,控制器模块10发出请求后冗余主io模块11不应答控制器模块10的请求,冗余备io模块12在未监听到冗余主io模块11的应答后会判定冗余主io模块11已经丧失了正常运行的能力,从而设置自己为新的主模块,完成角色的切换。该方法实现了不依赖额外的通信路径达到冗余模块间的数据同步和角色切换。

如图2所示,在数据传输方法的另一种示意性实施方式中,步骤s102中包括:控制器模块10判断主模块标识信息或备模块标识信息是否存在,若是,则控制器模块10根据冗余主io模块11的主模块标识信息,通过iobus总线13向冗余主io模块11发出数据传输请求报文。该步骤中需确认主模块标识信息和备模块标识信息均存在,是为了确保冗余主io模块11和冗余备io模块12的功能都正常运行,才可实施控制器模块10对主模块的数据传输请求报文。

如图2所示,在数据传输方法的另一种示意性实施方式中,步骤s103中还包括:控制器模块10判断冗余主io模块11的主模块标识信息是否为有效数据信息,若是,则冗余主io模块11通过iobus总线13接收到数据传输请求报文;若否,则返回步骤s101。

如图2所示,在数据传输方法的另一种示意性实施方式中,步骤s101中接收数据报文。控制器模块10根据主模块标识信息生成数据传输请求报文的步骤还包括:控制器模块10判断数据报文是否具有帧起始识别信息、地址识别信息及帧校验信息,若是,则控制器模块10根据主模块标识信息生成数据传输请求报文;若否,则返回本步骤,直到数据报文具有帧起始识别信息、地址识别信息及帧校验信息为止。

如图2所示,在数据传输方法的另一种示意性实施方式中,步骤s103中,将备模块标识信息设置为主模块标识信息的步骤包括:

在设定时间内判断备模块标识信息设置是否为有效信息,若是,则将备模块标识信息设置为主模块标识信息,若否,则返回步骤s101。该方式让冗余模块间不依赖额外的通信路径就实现数据同步和角色切换。

在数据传输方法的另一种示意性实施方式中,数据传输请求报文中包括当前目的地址位及当前源地址位信息。步骤s103中判断当前应答数据报文是否与数据传输请求报文相对应的步骤包括:判断当前应答数据报文中的目的地址位信息是否为数据传输请求报文中的源地址位信息,以及当前应答数据报文中的源地址位信息是否为数据传输请求报文中的目的地址位信息。

如图1所示,本发明还提供一种高可靠plc的数据传输系统,高可靠plc的数据传输系统中具有iobus总线13及一个能够配置于iobus总线13上的控制器模块10、一个冗余主io模块11及一个冗余备io模块12。iobus总线13上能够传输数据报文。冗余主io模块11及冗余备io模块12能够从iobus总线13上获取数据。冗余主io模块11具有主模块标识信息。所述冗余备io模块12具有备模块标识信息。

控制器模块10配置为,在接收到程序数据传输中断或远程数据传输中断信息后,接收数据报文。控制器模块10根据主模块标识信息生成数据传输请求报文。

控制器模块10配置为,根据冗余主io模块11的主模块标识信息,通过iobus总线13向冗余主io模块11发出数据传输请求报文。

冗余主io模块11配置为,通过iobus总线13接收到数据传输请求报文,冗余主io模块11通过iobus总线13向控制器模块10发出应答数据报文。

冗余备io模块12监听iobus总线13。在接收到数据传输请求报文后,冗余备io模块判断能从iobus总线13上获取的应答数据报文是否与所述数据传输请求报文相对应,若对应,则本地备份应答数据报文,若不对应,则将备模块标识信息设置为主模块标识信息。

控制器模块10配置为,根据冗余备io模块12的主模块标识信息,向冗余备io模块12发出数据传输请求报文,冗余备io模块12通过iobus总线13向控制器模块10发出应答数据报文。

该方法实现了不依赖额外的通信路径达到冗余模块间的数据同步和角色切换。

如图2所示,在数据传输系统的另一种示意性实施方式中,控制器模块10判断主模块标识信息或备模块标识信息是否存在,若是,则控制器模块10根据冗余主io模块11的主模块标识信息,通过iobus总线13向冗余主io模块11发出数据传输请求报文。该步骤中需确认主模块标识信息和备模块标识信息均存在,是为了确保冗余主io模块11和冗余备io模块12的功能都正常运行,才可实施控制器模块10对主模块的数据传输请求报文。

如图2所示,在数据传输系统的另一种示意性实施方式中,控制器模块10判断冗余主io模块11的主模块标识信息是否为有效数据信息,若是,则冗余主io模块11通过iobus总线13接收到数据传输请求报文;若否,则返回控制器模块10的配置过程。

如图2所示,在数据传输系统的另一种示意性实施方式中,控制器模块10向iobus总线13发送接收通信中断信息,通信中断信息中具有数据报文。

如图2所示,在数据传输系统的另一种示意性实施方式中,将备模块标识信息设置为主模块标识信息的步骤包括:

在设定时间内判断备模块标识信息设置是否为有效信息,若是,则将备模块标识信息设置为主模块标识信息,若否,则返回控制器模块10的配置过程。该方式让冗余模块间不依赖额外的通信路径就实现数据同步和角色切换。

应当理解,虽然本说明书是按照各个实施方式中描述的,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,它们并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方式或变更均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1