一种动态可配置的冗余io模块的方法

文档序号:1754769 发布日期:2019-11-29 浏览:28次 >En<

阅读说明:本技术 一种动态可配置的冗余io模块的方法 (A kind of method of the redundancy I/O module of dynamic and configurable ) 是由 臧峰 徐卫峰 吴波 牛洪海 于 2019-07-25 设计创作,主要内容包括:本发明公开一种动态可配置的冗余IO模块的方法,包括如下步骤:步骤1,控制器对IO模块进行设置,设置为单模块运行或冗余模块运行,并将设置模式下发给IO模块;步骤2,IO模块初始化为“初始化”运行方式,当接收到控制器下发的是单模块运行方式时,就设置为单IO模块运行方式;当接收到控制器下发的是冗余运行方式时,IO模块进行状态决策过程,包含复位时决策和故障时决策,并把决策结果返回给控制器。此种方法在控制器配置IO模块是冗余运行时,使冗余IO模块按照故障等级进行主备切换。(The method that the present invention discloses a kind of redundancy I/O module of dynamic and configurable, includes the following steps: step 1, and controller is configured I/O module, is set as single module operation or redundant module operation, and Setting pattern is handed down to I/O module;Step 2, I/O module is initialized as &#34; initializing &#34; method of operation, when receive that controller issues is the single module method of operation, is set to single I/O module method of operation;When receive that controller issues is redundancy running mode, I/O module carries out state decision process, decision and decision when failure when comprising resetting, and the result of decision is returned to controller.Such method makes redundancy I/O module carry out active-standby switch according to fault level when controller configuration I/O module is redundancy running.)

一种动态可配置的冗余IO模块的方法

技术领域

本发明属于自动化控制系统中冗余功能领域,特别涉及一种动态可配置的冗余IO模块的方法。

背景技术

在工业过程控制领域,一般会对重要的IO模块进行1:1冗余配置,以降低故障风险,增加系统的稳定性和可靠性。1:1冗余配置是指使用相同的IO模块,当一个模块发生故障、掉电时,另一个模块可以快速无扰冗余切换,实现控制任务的连续性。

目前已知的冗余切换控制方法中,当冗余的两个IO模块同时上电时,通过设定一个定时器的方式来确定IO模块的主备状态,用这种方法必须考虑IO模块的复位时间问题,一个典型的复位芯片的复位时间在30-400ms,这样定时器的时间需要设置大于400ms才能确定IO模块的主备状态,相关专利参考公开号为CN1275000A的中国专利申请。

总的来说,现有的冗余控制方法具有以下缺点:

(1)互为冗余的IO模块同时上电时,主备IO模块状态确定需要较长时间;

(2)没有按照故障等级进行冗余切换;

(3)没有对主IO模块掉电或复位情况的逻辑判断;

(4)无法对IO模块是否是冗余状态进行配置。

发明内容

本发明的目的,在于提供一种动态可配置的冗余IO模块的方法,在控制器配置IO模块是冗余运行时,使冗余IO模块按照故障等级进行主备切换。

为了达成上述目的,本发明的解决方案是:

一种动态可配置的冗余IO模块的方法,包括如下步骤:

步骤1,控制器对IO模块进行设置,设置为单模块运行或冗余模块运行,并将设置模式下发给IO模块;

步骤2,IO模块初始化为“初始化”运行方式,当接收到控制器下发的是单模块运行方式时,就设置为单IO模块运行方式;当接收到控制器下发的是冗余运行方式时,IO模块进行状态决策过程,包含复位时决策和故障时决策,并把决策结果返回给控制器。

上述步骤2中,状态决策过程包括如下步骤:

步骤S1,根据模块复位时的逻辑状态确定主备IO模块,然后进入定时中断;

步骤S2,主备IO模块各自进行故障检测及故障判断,若无故障,转步骤S4,若有故障,转步骤S3;

步骤S3,若有故障,按照故障状态下,主备IO模块进行主备状态决策;

S4,进行IO模块的运算和任务执行;

S5,重复步骤S2-S4。

上述步骤S1中,确定主备IO模块的具体过程是:

步骤S11,当某一IO模块接收到控制器下发冗余运行方式并且自身在“初始化”运行方式时,切换状态到备IO模块,然后发送请求报文给对侧IO模块;

步骤S12,当接收到对侧请求报文,并且对侧IO模块也在备IO模块时,通过默认决策生成主备IO模块;

当接收到对侧请求报文,并且自身在主IO模块时,响应备IO模块的请求报文,并附加自身状态信息。

上述步骤S12中,默认决策是指地址单号为主,双号为备。

上述步骤S12中,当自身在主IO模块时,进入复位状态;对侧IO模块进入定周期任务,组包发送查询报文,进入延迟等待接收报文,若该对侧IO模块超时判断主IO模块没有响应报文,连续3帧超时,就认为主IO模块丢失,则该对侧IO模块切换状态进入主IO模块状态,并发送一帧强切命令报文。

上述步骤S3中,主备IO模块进行主备状态决策的过程是:

备IO模块周期性监测主IO模块的运行状态,当监视到主IO模块丢失或故障状态高于本IO模块时,就发送切换状态命令,强制原主IO模块切换为备IO模块,备IO模块升级为主IO模块;

若备IO模块故障时,将故障状态通过报文形式发送给主IO模块。

上述备IO模块周期性监测主IO模块的运行状态的方法是:

步骤a,备IO模块延迟等待,待查询周期到来后,组包发送查询报文;

步骤b,备IO模块等待主IO模块的报文响应,正确获取响应报文后,进行报文解析,如果主IO模块的故障等级小于等于备IO模块,那么备IO模块维持状态不变,如果主IO模块的故障等级大于备IO模块,那么备IO模块发送主备切换命令,并升级到主IO模块状态;如果备IO模块在规定时间内没有收到主IO模块的响应报文,则重新发送查询报文,连续3次没有收到响应报文则认为主IO模块丢失,升级到主IO模块。

上述步骤2中,还包括控制器进行双主IO模块逻辑判断:

步骤A,IO模块响应控制器轮询报文,在报文中附加IO模块主备状态;

步骤B,控制器判断冗余模块是双主状态,下发IO模块指令,让IO模块改为“初始化”状态;

步骤C,IO模块修改状态至“初始化状态”,然后按照同时复位时的逻辑状态确定IO模块主备状态。

采用上述方案后,本发明可以提供IO模块的可靠性和稳定性,能够在单模块发生故障的情况下,为控制系统提供可靠数据。

附图说明

图1是本发明系统结构示意图;

图2是模块同时复位时的逻辑状态确定流程图;

图3是主模块复位时的逻辑状态确定流程图;

图4是备模块复位时的逻辑状态确定流程图;

图5是主模块故障时的逻辑状态确定流程图;

图6是备模块故障时的逻辑状态确定流程图;

图7是双主模块时的逻辑状态确定流程图;

图8是本发明的冗余切换整体流程图。

具体实施方式

为使本发明的上述内容、特征和优点能够更加清晰易懂,下面结合附图对本发明的详细实施步骤做具体的说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用来限定本发明。

本发明提供一种动态可配置的冗余IO模块的方法,首先配合图1所示,硬件上涉及控制器、IO底座、IO模块和冗余总线,IO模块可通过热插拔***IO底座中,且冗余总线集成在IO底座上;通过组态工具对同一个底座上的IO模块进行配置,可配置成单模块运行或冗余模块运行,并把配置文件下发给控制器,控制器接收到配置文件后进行解析,通过报文形式把配置方式下发给运行的IO模块。

IO模块初始化为“初始化”状态,当接收到控制器下发的运行方式后,如果是单模块运行,那么IO模块状态改为单IO模块运行;如果接收到的是冗余模块运行,那么IO模块进入状态决策过程,并把决策结果返回给控制器。

如图8所示,冗余IO模块的切换过程包括如下步骤:

1)执行步骤S801,IO模块复位;

2)执行步骤S802,按照模块复位时的逻辑状态确定主备IO模块,然后进入定时中断;

3)执行步骤S803,主备IO模块各自进行故障检测;

4)执行步骤S804,主备IO模块进行故障判断;若无故障,转步骤6),若有故障,转步骤5);

5)若有故障,执行步骤S805,按照故障状态下,主备IO模块进行主备状态决策;

6)执行步骤S806,进行IO模块的运算和任务执行;

7)返回步骤S803,重复执行S803至S806。

IO模块的决策过程包括复位时决策和故障时决策:

一、复位时决策是指IO模块从断电到重新上电后的决策,由步骤S802确定,包括两个模块同时复位、主IO模块复位和备IO模块复位3种情况,下面分别叙述。

1、两个模块同时复位

主要步骤如下:

1)两个模块都处于复位状态;

2)一个模块复位结束,进入主备逻辑状态决策过程,先置自身为“备IO模块”状态,并组包附加自身故障信息向对侧请求报文;

3)另一模块复位结束,进入主备逻辑状态决策过程,先置自身为“备IO模块”状态,当接收到对侧请求报文时,确定两个IO模块都处于“备IO模块”状态;

4)根据默认决策流程(地址为单数的为主模块,双数的为备模块),决策出主备IO模块状态。

流程过程请参阅图2。

2、主IO模块复位

主要步骤如下:

1)主IO模块进入复位状态;

2)备IO模块进入定周期任务,组包发送查询报文,进入延迟等待接收报文;

3)备IO模块超时判断主IO模块没有响应报文,连续3帧超时,就认为主IO模块丢失;

4)备IO模块切换状态进入主IO模块状态,并发送一帧强切命令报文。

流程过程请参阅图3。

3、备IO模块复位

备IO模块复位后,进入重启流程,无需做任何操作。

流程过程请参阅图4。

二、故障时决策包括主IO模块故障决策和备IO模块故障决策,由步骤S805确定,包括主IO模块故障决策和备IO模块故障决策,下面分别叙述。

1、主IO模块故障

主要步骤如下:

1)主备IO模块都会定周期进行自身故障状态检测;

2)备IO模块会在查询周期组包向主IO模块发送包含自身故障状态的查询报文,主IO模块也会响应报文,附带自身故障状态,然后备IO模块进行报文解析,获得主IO模块的故障状态;同时主IO模块根据备IO模块的通信报文检测备IO模块的故障状态;

3)如果主IO模块的故障状态大于备IO模块的故障状态,则进行主备IO模块切换,即主IO模块发送强切命令给备IO模块,让备IO模块升级为主IO模块,自身则降为备IO模块,或者备IO模块发送主备切换命令给主IO模块,自身升级到主IO模块;

4)如果主IO模块的故障状态小于等于备IO模块的故障状态,则把故障状态反馈给控制器。

流程过程请参阅图5。

2、备IO模块故障

备IO模块故障时,只需要把故障状态通过报文形式发送给主IO模块。

流程过程请参阅图6。

三、另外,由于使用通信报文的方式进行主备IO模块状态决策,因通信异常或其他原因,有可能导致双主IO模块的情况发生。为了避免双主情况,结合控制器判断,补充双主IO模块的逻辑判断过程:

1)IO模块响应控制器轮询报文,在报文中附加IO模块主备状态;

2)控制器判断冗余模块是双主状态,下发IO模块指令,让IO模块改为“初始化”状态;

3)IO模块修改状态至“初始化状态”,然后按照同时复位时的逻辑状态确定IO模块主备状态。

流程过程请参阅图7。

以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。

15页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种适用于可回收运载火箭的低成本电气系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!