CN110515295A - 一种动态可配置的冗余io模块的方法 - Google Patents
一种动态可配置的冗余io模块的方法 Download PDFInfo
- Publication number
- CN110515295A CN110515295A CN201910676094.7A CN201910676094A CN110515295A CN 110515295 A CN110515295 A CN 110515295A CN 201910676094 A CN201910676094 A CN 201910676094A CN 110515295 A CN110515295 A CN 110515295A
- Authority
- CN
- China
- Prior art keywords
- module
- standby
- main
- state
- redundancy
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B9/00—Safety arrangements
- G05B9/02—Safety arrangements electric
- G05B9/03—Safety arrangements electric with multiple-channel loop, i.e. redundant control systems
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Hardware Redundancy (AREA)
Abstract
本发明公开一种动态可配置的冗余IO模块的方法,包括如下步骤:步骤1,控制器对IO模块进行设置,设置为单模块运行或冗余模块运行,并将设置模式下发给IO模块;步骤2,IO模块初始化为“初始化”运行方式,当接收到控制器下发的是单模块运行方式时,就设置为单IO模块运行方式;当接收到控制器下发的是冗余运行方式时,IO模块进行状态决策过程,包含复位时决策和故障时决策,并把决策结果返回给控制器。此种方法在控制器配置IO模块是冗余运行时,使冗余IO模块按照故障等级进行主备切换。
Description
技术领域
本发明属于自动化控制系统中冗余功能领域,特别涉及一种动态可配置的冗余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。
以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。
Claims (8)
1.一种动态可配置的冗余IO模块的方法,其特征在于包括如下步骤:
步骤1,控制器对IO模块进行设置,设置为单模块运行或冗余模块运行,并将设置模式下发给IO模块;
步骤2,IO模块初始化为“初始化”运行方式,当接收到控制器下发的是单模块运行方式时,就设置为单IO模块运行方式;当接收到控制器下发的是冗余运行方式时,IO模块进行状态决策过程,包含复位时决策和故障时决策,并把决策结果返回给控制器。
2.如权利要求1所述的动态可配置的冗余IO模块的方法,其特征在于:所述步骤2中,状态决策过程包括如下步骤:
步骤S1,根据模块复位时的逻辑状态确定主备IO模块,然后进入定时中断;
步骤S2,主备IO模块各自进行故障检测及故障判断,若无故障,转步骤S4,若有故障,转步骤S3;
步骤S3,若有故障,按照故障状态下,主备IO模块进行主备状态决策;
S4,进行IO模块的运算和任务执行;
S5,重复步骤S2-S4。
3.如权利要求2所述的动态可配置的冗余IO模块的方法,其特征在于:所述步骤S1中,确定主备IO模块的具体过程是:
步骤S11,当某一IO模块接收到控制器下发冗余运行方式并且自身在“初始化”运行方式时,切换状态到备IO模块,然后发送请求报文给对侧IO模块;
步骤S12,当接收到对侧请求报文,并且对侧IO模块也在备IO模块时,通过默认决策生成主备IO模块;
当接收到对侧请求报文,并且自身在主IO模块时,响应备IO模块的请求报文,并附加自身状态信息。
4.如权利要求3所述的动态可配置的冗余IO模块的方法,其特征在于:所述步骤S12中,默认决策是指地址单号为主,双号为备。
5.如权利要求3所述的动态可配置的冗余IO模块的方法,其特征在于:所述步骤S12中,当自身在主IO模块时,进入复位状态;对侧IO模块进入定周期任务,组包发送查询报文,进入延迟等待接收报文,若该对侧IO模块超时判断主IO模块没有响应报文,连续3帧超时,就认为主IO模块丢失,则该对侧IO模块切换状态进入主IO模块状态,并发送一帧强切命令报文。
6.如权利要求2所述的动态可配置的冗余IO模块的方法,其特征在于:所述步骤S3中,主备IO模块进行主备状态决策的过程是:
备IO模块周期性监测主IO模块的运行状态,当监视到主IO模块丢失或故障状态高于本IO模块时,就发送切换状态命令,强制原主IO模块切换为备IO模块,备IO模块升级为主IO模块;
若备IO模块故障时,将故障状态通过报文形式发送给主IO模块。
7.如权利要求6所述的动态可配置的冗余IO模块的方法,其特征在于:所述备IO模块周期性监测主IO模块的运行状态的方法是:
步骤a,备IO模块延迟等待,待查询周期到来后,组包发送查询报文;
步骤b,备IO模块等待主IO模块的报文响应,正确获取响应报文后,进行报文解析,如果主IO模块的故障等级小于等于备IO模块,那么备IO模块维持状态不变,如果主IO模块的故障等级大于备IO模块,那么备IO模块发送主备切换命令,并升级到主IO模块状态;如果备IO模块在规定时间内没有收到主IO模块的响应报文,则重新发送查询报文,连续3次没有收到响应报文则认为主IO模块丢失,升级到主IO模块。
8.如权利要求1所述的动态可配置的冗余IO模块的方法,其特征在于:所述步骤2中,还包括控制器进行双主IO模块逻辑判断:
步骤A,IO模块响应控制器轮询报文,在报文中附加IO模块主备状态;
步骤B,控制器判断冗余模块是双主状态,下发IO模块指令,让IO模块改为“初始化”状态;
步骤C,IO模块修改状态至“初始化状态”,然后按照同时复位时的逻辑状态确定IO模块主备状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910676094.7A CN110515295A (zh) | 2019-07-25 | 2019-07-25 | 一种动态可配置的冗余io模块的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910676094.7A CN110515295A (zh) | 2019-07-25 | 2019-07-25 | 一种动态可配置的冗余io模块的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110515295A true CN110515295A (zh) | 2019-11-29 |
Family
ID=68622858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910676094.7A Pending CN110515295A (zh) | 2019-07-25 | 2019-07-25 | 一种动态可配置的冗余io模块的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110515295A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111698136A (zh) * | 2020-04-28 | 2020-09-22 | 北京骥远自动化技术有限公司 | 一种高可靠plc的数据传输方法及数据传输系统 |
CN112269313A (zh) * | 2020-11-09 | 2021-01-26 | 西安热工研究院有限公司 | 一种io模块鉴别控制器双主的方法 |
CN112650048A (zh) * | 2021-01-21 | 2021-04-13 | 杭州康吉森自动化科技有限公司 | 一种工业网关冗余系统和控制方法 |
CN113220229A (zh) * | 2021-05-06 | 2021-08-06 | 浙江正泰中自控制工程有限公司 | 一种用于分布式控制系统的在线式i/o无扰组态方法 |
CN113472828A (zh) * | 2020-03-30 | 2021-10-01 | 南京南瑞继保电气有限公司 | 用于远程数据采集和控制的方法、装置及系统 |
CN114137890A (zh) * | 2021-12-30 | 2022-03-04 | 北京华能新锐控制技术有限公司 | 实现海上风电设备远程重启的装置、远程io模块及方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001100816A (ja) * | 1999-09-30 | 2001-04-13 | Yokogawa Electric Corp | 二重化i/oモジュール装置 |
CN1419662A (zh) * | 2000-04-28 | 2003-05-21 | 株式会社日立制作所 | 多路控制系统及其多路复用方法 |
CN1591348A (zh) * | 2003-07-10 | 2005-03-09 | 浙江中控技术股份有限公司 | 冗余切换控制方法及电路 |
CN101030073A (zh) * | 2007-03-30 | 2007-09-05 | 哈尔滨工程大学 | 发动机冗余电控系统切换电路及控制方法 |
CN101212287A (zh) * | 2006-12-30 | 2008-07-02 | 北京三星通信技术研究有限公司 | 基于端口的冗余备份的方法 |
CN104777772A (zh) * | 2014-01-14 | 2015-07-15 | 横河电机株式会社 | 仪表化系统及其维护方法 |
CN105278516A (zh) * | 2014-06-24 | 2016-01-27 | 南京理工大学 | 一种双冗余开关量plc控制系统可靠容错控制器的实现方法 |
-
2019
- 2019-07-25 CN CN201910676094.7A patent/CN110515295A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001100816A (ja) * | 1999-09-30 | 2001-04-13 | Yokogawa Electric Corp | 二重化i/oモジュール装置 |
CN1419662A (zh) * | 2000-04-28 | 2003-05-21 | 株式会社日立制作所 | 多路控制系统及其多路复用方法 |
CN1591348A (zh) * | 2003-07-10 | 2005-03-09 | 浙江中控技术股份有限公司 | 冗余切换控制方法及电路 |
CN101212287A (zh) * | 2006-12-30 | 2008-07-02 | 北京三星通信技术研究有限公司 | 基于端口的冗余备份的方法 |
CN101030073A (zh) * | 2007-03-30 | 2007-09-05 | 哈尔滨工程大学 | 发动机冗余电控系统切换电路及控制方法 |
CN104777772A (zh) * | 2014-01-14 | 2015-07-15 | 横河电机株式会社 | 仪表化系统及其维护方法 |
CN105278516A (zh) * | 2014-06-24 | 2016-01-27 | 南京理工大学 | 一种双冗余开关量plc控制系统可靠容错控制器的实现方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113472828A (zh) * | 2020-03-30 | 2021-10-01 | 南京南瑞继保电气有限公司 | 用于远程数据采集和控制的方法、装置及系统 |
CN113472828B (zh) * | 2020-03-30 | 2024-03-19 | 南京南瑞继保电气有限公司 | 用于远程数据采集和控制的方法、装置及系统 |
CN111698136A (zh) * | 2020-04-28 | 2020-09-22 | 北京骥远自动化技术有限公司 | 一种高可靠plc的数据传输方法及数据传输系统 |
CN112269313A (zh) * | 2020-11-09 | 2021-01-26 | 西安热工研究院有限公司 | 一种io模块鉴别控制器双主的方法 |
CN112650048A (zh) * | 2021-01-21 | 2021-04-13 | 杭州康吉森自动化科技有限公司 | 一种工业网关冗余系统和控制方法 |
CN113220229A (zh) * | 2021-05-06 | 2021-08-06 | 浙江正泰中自控制工程有限公司 | 一种用于分布式控制系统的在线式i/o无扰组态方法 |
CN114137890A (zh) * | 2021-12-30 | 2022-03-04 | 北京华能新锐控制技术有限公司 | 实现海上风电设备远程重启的装置、远程io模块及方法 |
CN114137890B (zh) * | 2021-12-30 | 2023-08-08 | 北京华能新锐控制技术有限公司 | 实现海上风电设备远程重启的装置、远程io模块及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110515295A (zh) | 一种动态可配置的冗余io模块的方法 | |
CN101908974B (zh) | Can总线双冗余热切换系统及热切换方法 | |
CN101547082B (zh) | 一种主备链路倒换方法及网络设备 | |
US8930608B2 (en) | Switch disk array, storage system and data storage path switching method | |
CN107135102B (zh) | 一种列车uic网关冗余切换装置及其控制方法 | |
CN106648997A (zh) | 一种基于非实时操作系统的主从双机切换方法 | |
CN101594383B (zh) | 一种双控制器存储系统的服务和控制器状态监控方法 | |
KR20140082645A (ko) | Pcie 스위치 기반의 서버 시스템, 스위칭 방법 및 장치 | |
US20160292106A1 (en) | Bus Participant Device and Method for Operating a Bus Subscriber Device | |
CN103580902A (zh) | 一种计算机信息系统及其动态容灾方法 | |
CN101729426B (zh) | 一种虚拟路由冗余协议主备用设备快速切换的方法及系统 | |
CN101291243A (zh) | 高可用集群系统的裂脑预防方法 | |
CN102882704B (zh) | 一种issu的软重启升级过程中的链路保护方法和设备 | |
CN109698775A (zh) | 一种基于实时状态检测的双机冗余备份系统 | |
CN110427283B (zh) | 一种双余度的燃油管理计算机系统 | |
CN112887176B (zh) | 一种基于心跳报文的计算机联锁子系统主备切换系统 | |
CN103744753A (zh) | 一种双机系统的数据交互方法与装置 | |
CN112398712B (zh) | 基于can和mlvds双总线的通信板卡主备控制方法 | |
CN105577444A (zh) | 一种无线控制器管理方法及无线控制器 | |
CN102244589B (zh) | 处理虚拟交换单元系统中链路故障的方法及对端设备 | |
CN105426171A (zh) | 多个二取二系统的同步和切换方法、系统 | |
CN101499910B (zh) | 模块化交换机及其通信方法 | |
CN114594672A (zh) | 控制系统及其控制方法、计算机可读存储介质 | |
CN103152209A (zh) | 基于多机热备份的应用服务运行处理系统 | |
CN113625540A (zh) | 双机热备控制方法、装置及双机热备系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191129 |
|
RJ01 | Rejection of invention patent application after publication |