System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种用于三冗余控制器的相位同步系统技术方案_技高网

一种用于三冗余控制器的相位同步系统技术方案

技术编号:40659695 阅读:4 留言:0更新日期:2024-03-18 18:52
本发明专利技术提供了一种用于三冗余控制器的相位同步系统,所述系统中包括互相通信的三个控制器,每个控制器包含MCU和FPGA。FPGA用于输出恒定的时钟信号并诊断全部三个控制器的时钟信号。MCU通过通信模块周期地把诊断数据和相位数据发送给另外两个控制器。MCU的表决同步模块根据诊断数据表决确定主时钟,根据相位数据计算相位调整值完成和主时钟的相位同步。本发明专利技术提供的三冗余控制器的相位同步系统具有方案简单、容错能力强的特点。

【技术实现步骤摘要】

本专利技术涉及自动控制领域,尤其涉及一种用于三冗余控制器的相位同步系统


技术介绍

1、三冗余控制系统被广泛应用于各种高可靠性要求的场景,如核电、石油化工、航空航天、汽车制造等领域。在这些场景中,系统需要具有高度的可靠性和安全性,以避免因设备故障或控制系统不稳定而导致的意外或事故。在三冗余控制系统中,每个冗余模块都运行相同的控制算法,并且对输入和输出数据进行相同的处理。通过时钟同步,三个控制器可以同时接收和处理输入输出数据,还可以帮助系统在发生故障时进行快速恢复,从而增加系统的可用性和稳定性。

2、现有技术中,三冗余控制器的同步存在多种方式。例如,使用冗余控制器之间的通信实现控制器的同步,但是该方案控制器之间的时钟无法互相诊断,当主控制器的时钟出现异常时,无法及时切换到正常的控制器;使用公共的时钟信号连接多个控制器完成同步,但时该方案中的时钟源一旦出现异常,整个系统都将无法正常运行;还有使用独立的软硬件时钟同步模块完成冗余控制器之间的时钟同步,但是该方案开发维护成本较高,且未能合理利用控制器强大的通信运算功能,不具有性价比。总之,现有控制器同步技术在系统复杂度、容错性和同步性能方面尚有提升空间。


技术实现思路

1、专利技术目的:本专利技术所要解决的技术问题是针对现有技术的不足,提供一种用于三冗余控制器的相位同步系统,所述系统包括三个冗余控制器,每个控制器包括mcu和fpga,其中所述mcu包括通信模块、相位计数模块和表决同步模块;所述fpga包括时钟输出模块和时钟诊断模块,所述相位是指控制器在每个控制周期内的运行节拍;

2、所述fpga的时钟输出模块输出固定频率的时钟信号,所述时钟信号连接相位计数模块用于相位值的更新,所述时钟信号还连接控制器自身fpga的时钟诊断模块以及另外两个控制器fpga的时钟诊断模块;

3、所述fpga的时钟诊断模块同时对三路时钟信号的频率进行诊断,得到本控制器的时钟诊断数据;

4、所述mcu的通信模块用于和其它两个控制器通信,根据通信情况得到本控制器的通信诊断数据;

5、所述mcu的通信模块在每个控制周期内将本控制器的诊断数据、其它两个控制器的诊断数据、本控制器相位数据发送给另外两个控制器,收到报文数据的控制器需要在超时时间内发送应答报文;

6、所述诊断数据包括时钟诊断数据和通信诊断数据;

7、所述相位数据包括控制器的控制周期、控制器的实时相位值;

8、所述mcu的表决同步模块根据诊断数据进行表决,确定主时钟控制器,并计算主时钟相位值和本控制器相位值的差值,计算得到相位调整值adj,用于调整本控制器的控制周期,进行相位同步。

9、所述三个冗余控制器,分别记为控制器a、控制器b、控制器c,控制器之间的左右关系定义为:a左边为c,a右边为b;b左边为a,b右边为c;c左边为b,c右边为a。

10、所述相位计数模块用于执行如下计算:当时钟信号出现上升沿时加1,相位值的变化范围为[0,n],n是相位值的上限值,计算方法为:

11、n=t*f/1000-1+adj

12、其中,t是组态工程中设置的控制周期,f是时钟信号的频率值,adj是本次计算的相位调整值;

13、所述相位值为0时,代表控制器单个控制周期的起始时刻;相位值为n时,代表控制器单个控制周期的结束时刻;相位值从n变成0重新开始增加,代表控制器开始新的控制周期。

14、所述三个冗余控制器的控制周期均相等。

15、所述控制器a的通信模块采用两路独立的千兆以太网,分别和另外两个控制器的通信模块进行点对点的高速以太网通信;所述控制器的mcu的以太网报文不经过以太网协议栈而是直接通过以太网硬件链路层发送给对方控制器,以便降低链路传输延迟,保证了数据的实时性和链路延迟的稳定性。

16、所述通信诊断数据在控制周期结束时更新,用于表示本控制器a对其它两个控制器的通信是否正常;如果本控制周期控制器c及时发送了应答报文,且本控制周期内收到了控制器c主动发送的诊断数据报文,则判定控制器c通信正常,否则为通信异常;如果本控制周期控制器b及时发送了应答报文,且本控制周期内收到了控制器b主动发送的诊断数据报文,则判定控制器b通信正常,否则为通信异常;如果在本控制周期未能收到控制器c或b的数据报文,则本控制器a存储的控制器c或b的诊断数据均重置为空;

17、所述控制器a的通信模块,发送给控制器c和b的数据不仅包括本控制器a的诊断数据和本控制器a的相位数据,还包括控制器c和b的诊断数据,当某两个控制器之间的通信出现异常时,这两个控制器依然可以第三个控制器获得对方的诊断数据。例如,当控制器b和控制器c之间的通信链路出现异常时,控制器b可以在接收控制器a的数据中获得控制器c的诊断数据,控制器c可以在接收控制器a的数据中获得控制器b的诊断数据。

18、所述相位调整值adj的计算公式为:

19、adj=cnt1–cnt0–txdelay,

20、其中,cnt0是从时钟控制器收到主时钟控制器发送的计数值,cnt1是本控制器的计数值,txdelay是链路传输延迟时间;

21、当adj为正数时,说明本控制器的相位比主时钟的相位超前,本控制周期的相位上限值n将增大adj,使当前控制周期被“拉长”,以便“等待”主时钟控制器;

22、当adj为负数时,说明本控制器的相位比主时钟的相位“滞后”,本周期的相位上限值n将减小adj,使当前控制周期被“压缩”,以便“追赶”主时钟控制器;

23、adj仅会影响控制器当前控制周期的相位上限值n,当相位值重置为0时,adj也重置为0;

24、每个控制周期被划分为多个相位阶段,分别为:输入数据采集、输入数据同步表决、组态逻辑计算、输出数据同步表决、输出数据刷新、控制器自诊断、空闲;

25、设定空闲阶段相位值占用idle,由于当相位调整值adj为负数时,控制器当前控制周期被压缩,为了不影响控制器的正常功能,adj最小为-idle,adj的限定范围为[-idle,t*f/2];

26、所述表决同步模块根据诊断数据进行表决,确定主时钟控制器,具体包括如下步骤:

27、步骤1,当某个控制器被左右任何一个控制器判定为通信异常,或者数据为空,则所述控制器为从时钟控制器,不再参与表决;得到参与表决控制器的数量m;

28、步骤2,根据通信正常的控制器的数量m确定表决方式,用于表决控制器时钟是否正常,m为3时,按照3取2表决,即少数服从多数的原则;m为2时,按照2取1表决,即两个结果都为正常才认为是正常;m为1时,直接使用该诊断结果;如果时钟表决结果为异常,则控制器为从时钟控制器;时钟表决结果为正常则进入步骤3;

29、步骤3,确定主时钟控制器:当仅有一个控制器的时钟信号被表决为正常,则所述控制器就是主时钟控制器;当两个以上控制器的时钟信本文档来自技高网...

【技术保护点】

1.一种用于三冗余控制器的相位同步系统,其特征在于,所述系统包括三个冗余控制器,每个控制器均包括MCU和FPGA,其中所述MCU包括通信模块、相位计数模块和表决同步模块;所述FPGA包括时钟输出模块和时钟诊断模块,所述相位是指控制器在每个控制周期内的运行节拍;

2.根据权利要求1所述的系统,其特征在于,所述三个冗余控制器,分别记为控制器A、控制器B、控制器C,控制器之间的左右关系定义为:A左边为C,A右边为B;B左边为A,B右边为C;C左边为B,C右边为A。

3.根据权利要求2所述的系统,其特征在于,所述相位计数模块用于执行如下计算:当时钟信号出现上升沿时加1,相位值的变化范围为[0,N],N是相位值的上限值,计算方法为:

4.根据权利要求3所述的系统,其特征在于,所述三个冗余控制器的控制周期均相等。

5.根据权利要求4所述的系统,其特征在于,所述控制器A的通信模块采用两路独立的以太网,分别和另外两个控制器的通信模块进行点对点的以太网通信;所述控制器的MCU的以太网报文不经过以太网协议栈而是直接通过以太网硬件链路层发送给对方控制器。

6.根据权利要求5所述的系统,其特征在于,所述通信诊断数据在控制周期结束时更新,用于表示本控制器A对其它两个控制器的通信是否正常;如果本控制周期控制器C及时发送了应答报文,且本控制周期内收到了控制器C主动发送的诊断数据报文,则判定控制器C通信正常,否则为通信异常;如果本控制周期控制器B及时发送了应答报文,且本控制周期内收到了控制器B主动发送的诊断数据报文,则判定控制器B通信正常,否则为通信异常;如果在本控制周期未能收到控制器C或B的数据报文,则本控制器A存储的控制器C或B的诊断数据均重置为空。

7.根据权利要求6所述的系统,其特征在于,所述控制器A的通信模块,发送给控制器C和B的数据不仅包括本控制器A的诊断数据和本控制器A的相位数据,还包括控制器C和B的诊断数据。

8.根据权利要求7所述的系统,其特征在于,所述相位调整值Adj的计算公式为:

9.根据权利要求8所述的系统,其特征在于,每个控制周期被划分为多个相位阶段,分别为:输入数据采集、输入数据同步表决、组态逻辑计算、输出数据同步表决、输出数据刷新、控制器自诊断、空闲;

10.根据权利要求9所述的系统,其特征在于,所述表决同步模块根据诊断数据进行表决,确定主时钟控制器,具体包括如下步骤:

...

【技术特征摘要】

1.一种用于三冗余控制器的相位同步系统,其特征在于,所述系统包括三个冗余控制器,每个控制器均包括mcu和fpga,其中所述mcu包括通信模块、相位计数模块和表决同步模块;所述fpga包括时钟输出模块和时钟诊断模块,所述相位是指控制器在每个控制周期内的运行节拍;

2.根据权利要求1所述的系统,其特征在于,所述三个冗余控制器,分别记为控制器a、控制器b、控制器c,控制器之间的左右关系定义为:a左边为c,a右边为b;b左边为a,b右边为c;c左边为b,c右边为a。

3.根据权利要求2所述的系统,其特征在于,所述相位计数模块用于执行如下计算:当时钟信号出现上升沿时加1,相位值的变化范围为[0,n],n是相位值的上限值,计算方法为:

4.根据权利要求3所述的系统,其特征在于,所述三个冗余控制器的控制周期均相等。

5.根据权利要求4所述的系统,其特征在于,所述控制器a的通信模块采用两路独立的以太网,分别和另外两个控制器的通信模块进行点对点的以太网通信;所述控制器的mcu的以太网报文不经过以太网协议栈而是直接通过以太网硬件链路层发送给对方控制器。

6.根据权利要求5所述的系统,其特征在于,所述通...

【专利技术属性】
技术研发人员:于金生刘勇祖利辉陈闯
申请(专利权)人:南京科远智慧科技集团股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1