一种冗余控制器冗余系统、方法及存储介质与流程
- 国知局
- 2024-08-01 00:13:47
本发明涉及冗余控制,尤其涉及一种冗余控制器冗余系统、方法及存储介质。
背景技术:
1、冗余控制器是一种常用于工业过程和机器人系统中的控制设备,其主要作用是在控制系统中引入冗余措施,增加系统的可靠性和容错性,从而提高了系统的稳定性和安全性,具体来说,冗余控制器会在系统中添加额外的传感器、执行器或控制器,这些冗余元件可以监测和控制系统的状态,并在系统出现故障或异常时进行快速响应和修复,从而保持系统的正常运行。
2、目前,冗余控制器之间冗余状态和切换控制报文传输一般有两种途径,一种途径是通过底部同步网络传输;另一种途径是建立专用的数据传输通道如rs-232、rs-485。但是,现有技术具有以下缺点:底部同步网络周期同步的数据量与组态逻辑复杂导致冗余切换时间存在一定抖动;rs-232冗余通信效率速率过低;rs-485半双工通讯方式在一定程度上增加了冗余系统的复杂程度,同时也降低了冗余系统的可靠性;通用串行设备驱动框架下冗余控制数据的访问速率慢。
技术实现思路
1、有鉴于此,本技术的目的在于提供一种冗余控制器冗余系统、方法及存储介质,不仅避免通用串行设备驱动框架所带来的多层调用,还可提升冗余控制数据的访问速率,同时防止出现控制器双主现象。
2、本技术实施例提供的一种冗余控制器冗余系统,所述冗余系统包括控制器底座和两个控制器,所述两个控制器包括第一控制器和第二控制器,所述第一控制器和所述第二控制器之间通过所述控制器底座建立有冗余通信通道和同步网口通道;
3、所述第一控制器和所述第二控制器分别用于根据在所述控制器底座中的位置依次进行初始化,其中,最先启动并正常工作的作为初始主控制器;
4、所述第一控制器和所述第二控制器分别还用于通过所述冗余通信通道相互发送自身的状态信息报文,若通过所述冗余通信通道发送的所述状态信息报文接收超时,则接收超时的控制器通过所述同步网口通道再次发送所述自身的状态信息报文;其中,所述状态信息报文中包括自身的健康度;
5、所述第一控制器和所述第二控制器还分别用于当成功接收并解析所述状态信息报文后,根据自身与对端控制器的所述健康度的比较结果,确定是否调整自身的主从状态。
6、结合第一方面,本技术实施例提供了第一方面的第一种可能的实施方式,其中,所述控制器底座上设有高电平信号线和低电平信号线,以分别对应连接所述两个控制器的一个gpio端口;
7、所述第一控制器和所述第二控制器分别用于根据在所述控制器底座中的位置依次进行初始化,包括:
8、所述第一控制器和所述第二控制器分别用于通过所述gpio端口从所述控制器底座上获取对应的电平输入信号;其中,获取到高电平的控制器用于直接进行初始化;获取到低电平的控制器用于延时等待预设时长后进行初始化;
9、其中,最先完成初始化且进入正常工作状态的控制器作为初始主控制器。
10、结合第一方面,本技术实施例提供了第一方面的第二种可能的实施方式,其中,所述根据自身与对端的所述健康度的比较结果,确定是否调整自身的主从状态,包括:
11、若检测到所述第一控制器的健康度优于所述第二控制器的健康度,则所述第一控制器作为主控制器且所述第二控制器作为从控制器;
12、若检测到所述第二控制器的健康度优于所述第一控制器的健康度,则所述第二控制器作为主控制器且所述第一控制器作为从控制器。
13、结合第一方面,本技术实施例提供了第一方面的第三种可能的实施方式,其中,还包括:若所述第一控制器和所述第二控制器的所述健康度一致,则根据从所述控制器底座上获取的所述电平输入信号,确定是否调整自身当前为主控制状态;其中,获取到高电平的控制器用于作为当前的主控制器。
14、结合第一方面,本技术实施例提供了第一方面的第四种可能的实施方式,其中,所述第一控制器和所述第二控制器通过所述同步网口通道相互发送自身的状态信息报文,之后还包括:
15、若所述第一控制器或所述第二控制器通过所述同步网口通道接收所述状态信息报文仍超时,则工作正常的控制器自动作为主控制器。
16、结合第一方面,本技术实施例提供了第一方面的第五种可能的实施方式,其中,所述两个控制器在确定自身的主从状态后,还包括:
17、主从控制器通过同步网络通道实现数据同步和组态逻辑同步;其中,所述主控制器用于获取外部输入数据及向外部进行数据输出;
18、所述数据同步过程中,所述主从控制器之间进行相同的逻辑运算,并且所述主控制器按照每个预设运算周期与从控制器进行输入数据及全局变量同步;
19、所述组态逻辑同步过程中,当所述主从控制器之间的组态逻辑不一致时,所述主控制器通过所述同步网络通道强制所述从控制器进行组态逻辑同步。
20、结合第一方面,本技术实施例提供了第一方面的第六种可能的实施方式,其中,所述冗余通信通道采用uart串行通信接口,且所述第一控制器和所述第二控制器基于所述uart串行通信接口进行全双工通信。
21、第二方面,本技术实施例还提供一种冗余控制器冗余方法,该方法运行于任意一个控制器,包括:
22、根据在所述控制器底座中的位置信息,进行初始化并确定自身的主从状态;
23、通过所述冗余通信通道发送自身的状态信息报文,并接收对端的所述状态信息报文,若接收超时,则通过所述同步网口通道再次发送所述状态信息报文,其中,所述状态信息报文包括所述健康度;
24、在解析获得对端的所述健康度时,根据自身与对端的所述健康度的比较结果,确定是否调整自身当前的主从状态。
25、结合第二方面,本技术实施例提供了第二方面的第一种可能的实施方式,其中,所述控制器底座上设有高电平信号线和低电平信号线,以分别对应连接所述两个控制器的一个gpio端口;
26、所述根据在所述控制器底座中的位置信息,进行初始化并确定自身的主从状态,包括:
27、通过所述gpio端口从所述控制器底座上获取对应的电平输入信号;
28、若获取到高电平,则立即进行初始化,并在进入正常工作状态后作为主控制器;
29、若获取到低电平,则延时等待预设时长后进行初始化。
30、第四方面,本技术实施例还提供一种计算机可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行所述的冗余控制器冗余方法。
31、本技术的实施例具有如下有益效果:
32、本技术实施例的冗余控制器冗余系统根据所述控制器底座中的位置将所述第一控制器和所述第二控制器依次进行初始化,然后所述第一控制器和所述第二控制器通过所述冗余通信通道发送自身的状态信息报文,若通过所述冗余通信通道发送的所述状态信息报文接收超时,则接收超时的控制器通过所述同步网口通道发送自身的状态信息报文;当成功接收并解析所述状态信息报文后,所述第一控制器和所述第二控制器根据所述健康度的比较结果,确定是否调整当前所述第一控制器和所述第二控制器自身的主从状态。基于上述方案,该系统采用冗余通信通道不需要进行收发切换控制,大大提高冗余控制器冗余切换时的通信速率;而且,该系统可以将第一控制器和第二控制器依次进行初始化,第一控制器和第二控制器根据健康度的比较结果,确定是否调整当前第一控制器和第二控制器自身的主从状态,能够防止出现双主现象,提高冗余控制器的可靠性和稳定性。
本文地址:https://www.jishuxx.com/zhuanli/20240730/200115.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。