控制系统及其控制方法、计算机可读存储介质与流程

文档序号:30345713发布日期:2022-06-08 09:08阅读:75来源:国知局
控制系统及其控制方法、计算机可读存储介质与流程

1.本公开涉及楼宇控制技术领域,特别涉及一种控制系统及其控制方法、计算机可读存储介质。


背景技术:

2.在楼宇控制系统中,设备、通信和软件在长期运行过程中出现故障是不可避免的问题,此时系统处于宕机状态。在相关技术中,使用双控制器的方案,主备控制器一般并联接入总线,通过一个专用的数据同步接口进行系统过程数据的同步。采用这种系统冗余一旦数据同步线出现异常,则控制系统会出现同时存在两个主机。两个主机同时对设备总线进行请求时会导致控制器与设备通信异常,造成系统数据异常。


技术实现要素:

3.本公开解决的一个技术问题是:提供一种控制系统,以尽可能地防止出现系统数据异常的问题。
4.根据本公开的一个方面,提供了一种控制系统,包括:主控制器、备控制器和多个扩展模块,所述多个扩展模块包括至少一个主扩展模块和对应的至少一个备扩展模块,所述多个扩展模块通过扩展总线与所述主控制器和所述备控制器连接,每个扩展模块通过设备连接线连接到现场协议设备;所述主控制器用于通过所述扩展总线和所述主扩展模块对所述现场协议设备进行数据读写操作;所述备控制器用于从所述扩展总线接收数据且不对所述扩展总线发送控制数据;所述主扩展模块用于从所述扩展总线接收数据和向所述扩展总线发送数据;所述备扩展模块用于从所述扩展总线接收数据且不对所述扩展总线发送数据。
5.在一些实施例中,所述主控制器还用于每间隔第一时间周期向所述备控制器发送冗余心跳请求信号;所述备控制器还用于在接收到所述冗余心跳请求信号后,在所述第一时间周期内向所述主控制器返回冗余心跳响应信号,以便与所述主控制器建立心跳链接。
6.在一些实施例中,所述主扩展模块和对应的备扩展模块具有相同的地址,具有相同地址的主扩展模块和备扩展模块链接到同一个现场协议设备。
7.在一些实施例中,所述多个扩展模块包括第一扩展模块,所述第一扩展模块用于在经过随机时间后向所述扩展总线广播包含自身地址的地址广播帧,如果在预定时间内没有收到来自于相同地址的扩展模块的冗余主机应答帧,或者在所述预定时间内接收到来自于相同地址的扩展模块的地址广播帧,则确定所述第一扩展模块自身为主扩展模块;如果在所述预定时间内接收到所述冗余主机应答帧,则确定所述第一扩展模块自身为备扩展模块,其中,所述预定时间大于所述随机时间。
8.在一些实施例中,所述主控制器用于将来自于所述现场协议设备的数据发布到所述主控制器中的代理服务器模块;所述备控制器用于接收所述代理服务器模块发来的订阅消息以获得所述现场协议设备的数据,其中,所述订阅消息包含所述现场协议设备的数据。
9.在一些实施例中,所述主控制器用于向所述现场协议设备发送数据读取请求;所述现场协议设备用于在接收到所述数据读取请求后向所述扩展总线输出差分电压形式的响应数据;其中,所述主控制器和所述备控制器检测得到扩展总线电压的变化,以得到所述响应数据。
10.在一些实施例中,所述主控制器用于向所述多个扩展模块发送扩展心跳请求信号;所述多个扩展模块中的至少一个扩展模块用于在从所述扩展总线接收到所述扩展心跳请求信号后,向所述主控制器返回扩展心跳响应信号,以与所述主控制器建立心跳链接。
11.在一些实施例中,所述控制系统还包括:监控服务器,分别与所述主控制器和所述备控制器通信连接,用于获取主控制器、备控制器或主扩展模块的故障信息。
12.在一些实施例中,所述备控制器用于若在所述第一时间周期内没有接收到来自于所述主控制器的冗余心跳请求信号和扩展心跳请求信号,则确定所述主控制器出现故障,自主切换为主控制器模式,解除通讯限制,向现场协议设备发起读写控制,并将自身切换为主控制器模式的信息上报给所述监控服务器。
13.在一些实施例中,所述主控制器还用于若在所述第一时间周期内没有收到所述备控制器的冗余心跳响应信号和扩展心跳响应信号,则确定所述备控制器出现故障,并将所述备控制器出现故障的信息上报给所述监控服务器。
14.在一些实施例中,所述主控制器用于向所述多个扩展模块发送扩展心跳请求信号,如果在第二时间周期内没有接收到主扩展模块的扩展心跳响应信号,则确定所述主扩展模块出现故障,并将所述主扩展模块出现故障的信息上报给所述监控服务器;与所述主扩展模块的地址相同的备扩展模块还用于如果在所述第二时间周期内没有接收到主扩展模块的扩展心跳响应信号,则确定所述主扩展模块出现故障,并自主切换为主扩展模块。
15.在一些实施例中,所述主控制器还用于在上电后,将所述主控制器的本地文件发送给所述备控制器;所述备控制器还用于将所述备控制器的本地文件与所述主控制器的本地文件进行比对,在所述备控制器的本地文件与所述主控制器的本地文件不一致的情况下,将所述主控制器的本地文件同步到所述备控制器中。
16.在一些实施例中,所述主控制器和所述备控制器分别设置有第一指示灯面板,所述第一指示灯面板包括:第一运行模式指示灯,用于表示当前控制器处于冗余运行模式;第一数据发送指示灯,用于表示所述当前控制器通过设备总线发送数据,其中,所述主控制器和所述备控制器通过所述设备总线连接至交换机,所述交换机通信连接至所述现场协议设备;第一数据接收指示灯,用于表示所述当前控制器通过设备总线接收数据;第二数据发送指示灯,用于表示所述当前控制器通过所述扩展总线发送数据;第二数据接收指示灯,用于表示所述当前控制器通过所述扩展总线接收数据;和第一心跳链接指示灯,用于表示所述当前控制器实施心跳链接。
17.在一些实施例中,每个扩展模块设置有第二指示灯面板,所述第二指示灯面板包括:第二运行模式指示灯,用于表示当前扩展模块处于冗余运行模式;第三数据发送指示灯,用于表示所述当前扩展模块发送数据;第三数据接收指示灯,用于表示所述当前扩展模块接收数据;和第二心跳链接指示灯,用于表示所述当前扩展模块实施心跳链接。
18.根据本公开的另一个方面,提供了一种用于控制系统的控制方法,包括:主控制器每间隔第一时间周期向备控制器发送冗余心跳请求信号;和所述备控制器在接收到所述冗
余心跳请求信号后,在所述第一时间周期内向所述主控制器返回冗余心跳响应信号,以便与所述主控制器建立心跳链接。
19.在一些实施例中,所述多个扩展模块包括第一扩展模块;所述控制方法还包括:所述第一扩展模块在经过随机时间后向所述扩展总线广播包含自身地址的地址广播帧;如果在预定时间内没有收到来自于相同地址的扩展模块的冗余主机应答帧,或者在所述预定时间内接收到来自于相同地址的扩展模块的地址广播帧,则确定所述第一扩展模块自身为主扩展模块;和如果在所述预定时间内接收到所述冗余主机应答帧,则确定所述第一扩展模块自身为备扩展模块,其中,所述预定时间大于所述随机时间。
20.在一些实施例中,所述控制方法还包括:所述主控制器将来自于所述现场协议设备的数据发布到所述主控制器中的代理服务器模块;和所述备控制器接收所述代理服务器模块发来的订阅消息以获得所述现场协议设备的数据,其中,所述订阅消息包含所述现场协议设备的数据。
21.在一些实施例中,所述控制方法还包括:所述主控制器向所述现场协议设备发送数据读取请求;所述现场协议设备在接收到所述数据读取请求后向所述扩展总线输出差分电压形式的响应数据;和所述主控制器和所述备控制器检测得到扩展总线电压的变化,以得到所述响应数据。
22.在一些实施例中,所述控制方法还包括:所述主控制器向所述多个扩展模块发送扩展心跳请求信号;和所述多个扩展模块中的至少一个扩展模块在从所述扩展总线接收到所述扩展心跳请求信号后,向所述主控制器返回扩展心跳响应信号,以与所述主控制器建立心跳链接。
23.在一些实施例中,所述控制方法还包括:所述备控制器若在所述第一时间周期内没有接收到来自于所述主控制器的冗余心跳请求信号和扩展心跳请求信号,则确定所述主控制器出现故障,自主切换为主控制器模式,解除通讯限制,向现场协议设备发起读写控制,并将自身切换为主控制器模式的信息上报给监控服务器。
24.在一些实施例中,所述控制方法还包括:所述主控制器若在所述第一时间周期内没有收到所述备控制器的冗余心跳响应信号和扩展心跳响应信号,则确定所述备控制器出现故障,并将所述备控制器出现故障的信息上报给监控服务器。
25.在一些实施例中,所述控制方法还包括:所述主控制器向所述多个扩展模块发送扩展心跳请求信号,如果在第二时间周期内没有接收到主扩展模块的扩展心跳响应信号,则确定所述主扩展模块出现故障,并将所述主扩展模块出现故障的信息上报给监控服务器;和与所述主扩展模块的地址相同的备扩展模块如果在所述第二时间周期内没有接收到主扩展模块的扩展心跳响应信号,则确定所述主扩展模块出现故障,并自主切换为主扩展模块。
26.在一些实施例中,所述控制方法还包括:所述主控制器在上电后,将所述主控制器的本地文件发送给所述备控制器;和所述备控制器将所述备控制器的本地文件与所述主控制器的本地文件进行比对,在所述备控制器的本地文件与所述主控制器的本地文件不一致的情况下,将所述主控制器的本地文件同步到所述备控制器中。
27.根据本公开的另一个方面,提供了一种控制系统,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令执行如前所述的方
法。
28.根据本公开的另一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现如前所述的方法。
29.在上述控制系统中,在主扩展模块发生故障时,备扩展模块可以上线进入工作状态,从而尽可能地防止出现系统数据异常的问题。
30.通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。
附图说明
31.构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。
32.参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
33.图1是示意性地示出根据本公开一些实施例的控制系统的框图;
34.图2是示意性地示出根据本公开一些实施例的控制器的第一指示灯面板的示意图;
35.图3是示意性地示出根据本公开另一些实施例的扩展模块的第二指示灯面板的示意图;
36.图4是示意性地示出根据本公开另一些实施例的控制系统的框图;
37.图5是示意性地示出根据本公开一些实施例的控制系统的总线调配机制示意图;
38.图6是示意性地示出根据本公开一些实施例的控制系统的主控制器和备控制器的冗余检测逻辑图;
39.图7是示出根据本公开一些实施例的用于控制系统的控制方法的流程图;
40.图8是示出根据本公开另一些实施例的用于控制系统的控制方法的流程图;
41.图9是示意性地示出根据本公开另一些实施例的控制系统的框图;
42.图10是示意性地示出根据本公开另一些实施例的控制系统的框图。
具体实施方式
43.现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
44.同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
45.以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
46.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
47.在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
48.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一
个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
49.图1是示意性地示出根据本公开一些实施例的控制系统的框图。
50.如图1所示,该控制系统包括:主控制器110、备控制器120和多个扩展模块。该多个扩展模块包括至少一个主扩展模块(例如,n个主扩展模块,n为正整数)和对应的至少一个备扩展模块(例如n个备扩展模块)。所述多个扩展模块通过扩展总线101与主控制器110和备控制器120连接。这里,扩展总线101包括扩展总线的通信线(可以称为扩展通讯线)。每个扩展模块通过设备连接线103连接到现场协议设备(例如,现场协议设备1、现场协议设备2
……
)。例如,主控制器110可以通过冗余通讯线102连接至备控制器120。
51.主控制器110用于通过扩展总线101和主扩展模块对现场协议设备进行数据读写操作。例如,主控制器110向扩展总线101发控制数据,主扩展模块将该控制数据传输到对应的现场协议设备,实现主控制器110的数据写操作;或者,现场协议设备将设备数据发送给主扩展模块,主扩展模块将该设备数据通过扩展总线传输给主控制器110,从而使得主控制器110实现数据读操作。例如,主控制器110为软冗余型可编程控制器。
52.备控制器120用于从扩展总线接收数据且不对扩展总线发送控制数据。例如,备控制器120限制了发送控制数据的功能,但是可以发送响应于扩展总线的心跳请求的响应信号,并且保留接收数据的功能。例如,备控制器120为软冗余型可编程控制器。
53.主扩展模块用于从扩展总线接收数据和向扩展总线发送数据。即,主扩展模块可以实现数据的接收和发送。
54.备扩展模块用于从扩展总线接收数据且不对扩展总线发送数据。即,备扩展模块可以实现数据的接收,但不能进行数据发送。
55.至此,提供了根据本公开一些实施例的控制系统。控制系统包括:主控制器、备控制器和多个扩展模块,所述多个扩展模块包括至少一个主扩展模块和对应的至少一个备扩展模块,所述多个扩展模块通过扩展总线与所述主控制器和所述备控制器连接,每个扩展模块通过设备连接线连接到现场协议设备;主控制器用于通过扩展总线和主扩展模块对现场协议设备进行数据读写操作;备控制器用于从扩展总线接收数据且不对扩展总线发送数据;主扩展模块用于从扩展总线接收数据和向扩展总线发送数据;备扩展模块用于从扩展总线接收数据且不对扩展总线发送数据。在该控制系统中,通过设置备扩展模块,在主扩展模块发生故障时,备扩展模块可以上线进入工作状态,从而尽可能地防止出现系统数据异常的问题。而且,上述控制系统可以尽可能地解决控制系统中单元冗余模块单一化、切换稳定性不足的问题。
56.可选地,该控制系统还可以包括所述现场协议设备。当然,本公开的范围并不仅限于此,例如,该控制系统也可以不包括所述现场协议设备。
57.在一些实施例中,主扩展模块和对应的备扩展模块具有相同的地址。具有相同地址的主扩展模块和备扩展模块链接到同一个现场协议设备。这里,主扩展模块和备扩展模块的地址保持一致。在主扩展模块故障时,无须修改备扩展模块的地址,备扩展模块可将自动上线进入工作状态,系统可继续正常运行,只需后续维修故障的扩展模块即可,从而使得控制系统可以灵活高效地运行。
58.在一些实施例中,主控制器110和备控制器120分别设置有第一指示灯面板。这里结合图2描述该第一指示灯面板200。图2是示意性地示出根据本公开一些实施例的控制器
的第一指示灯面板的示意图。
59.如图2所示,第一指示灯面板200包括:第一运行模式指示灯stat_1、第一数据发送指示灯tx_1、第一数据接收指示灯rx_1、第二数据发送指示灯tx_2、第二数据接收指示灯rx_2和第一心跳链接指示灯beat_1。
60.第一运行模式指示灯stat_1用于表示当前控制器处于冗余运行模式。
61.第一数据发送指示灯tx_1用于表示所述当前控制器通过设备总线发送数据。这里,主控制器和备控制器通过设备总线连接至交换机,交换机通信连接至现场协议设备(后面将结合图4描述)。
62.第一数据接收指示灯rx_1用于表示当前控制器(主控制器或备控制器)通过设备总线接收数据。
63.第二数据发送指示灯tx_2用于表示当前控制器通过扩展总线发送数据。
64.第二数据接收指示灯rx_2用于表示当前控制器通过扩展总线接收数据。
65.第一心跳链接指示灯beat_1用于表示当前控制器实施心跳链接。
66.在一些实施例中,每个扩展模块设置有第二指示灯面板。这里结合图3描述该第二指示灯面板300。图3是示意性地示出根据本公开另一些实施例的扩展模块的第二指示灯面板的示意图。
67.如图3所示,第二指示灯面板300包括:第二运行模式指示灯stat_2、第三数据发送指示灯tx_3、第三数据接收指示灯rx_3和第二心跳链接指示灯beat_2。
68.第二运行模式指示灯stat_2用于表示当前扩展模块(某个主扩展模块或某个备扩展模块)处于冗余运行模式。
69.第三数据发送指示灯tx_3用于表示当前扩展模块发送数据。
70.第三数据接收指示灯rx_3用于表示当前扩展模块接收数据。
71.第二心跳链接指示灯beat_2用于表示当前扩展模块实施心跳链接。
72.在本公开的实施例中,指示灯可以为led(light emitting diode,发光二极管)灯。
73.在上面的实施例中,控制器和扩展模块的指示灯面板可表示其当前运行状态,当然,本领域技术人员能够理解,上述指示灯面板也可用嵌入式显示屏、手机app(应用程序)、网页等具备显示功能的组件替换,因此,本公开的范围并不仅限于此。
74.在一些实施例中,主控制器110还可以用于每间隔第一时间周期t1向备控制器120发送冗余心跳请求信号。备控制器120还可以用于在接收到冗余心跳请求信号后,在第一时间周期内(即,在某个时刻,其中,到达该时刻所经过的时间小于第一时间周期)向主控制器110返回冗余心跳响应信号,以便与主控制器110建立心跳链接。例如,第一时间周期t1的范围可以为0《t1≤2秒。当然,本公开的范围并不仅限于此。
75.例如,用于楼宇的控制系统正常运作时,主控制器110通过冗余通讯线与备控制器120保持冗余心跳和数据同步的连接。主控制器110每间隔一个第一时间周期t1向备控制器120发送冗余心跳请求信号,备控制器120需要在第一时间周期到达前向主控制器110回复响应,此时双方的第一心跳链接指示灯beat_1正常闪烁。主控制器110通过设备总线和扩展总线与现场设备保持通讯,正常进行读写控制,其两组tx和rx灯(即,第一数据发送指示灯tx_1、第一数据接收指示灯rx_1、第二数据发送指示灯tx_2和第二数据接收指示灯rx_2)正
常闪烁。而备控制器120限制了发送控制数据的功能,但可发送响应于扩展总线的心跳请求的响应信号,同时保留接收数据的功能,其tx_1、rx_1灯均处于常灭状态,tx_2、rx_2正常闪烁,此时,tx_2正常闪烁可以表示备控制器能够发送冗余心跳响应信号。
76.在一些实施例中,所述多个扩展模块包括第一扩展模块,该第一扩展模块用于在经过随机时间后向扩展总线广播包含自身地址的地址广播帧,如果在预定时间内没有收到来自于相同地址的扩展模块的冗余主机应答帧,或者在所述预定时间内接收到来自于相同地址的扩展模块的地址广播帧,则确定第一扩展模块自身为主扩展模块;如果在预定时间内接收到冗余主机应答帧,则确定第一扩展模块自身为备扩展模块,其中,预定时间大于随机时间。这里,第一扩展模块为所述多个扩展模块中的任意一个扩展模块。
77.需要说明的是,上述随机时间可以理解为在预定范围内的随机时间,例如不超过1秒,目的是使系统初始化阶段主备扩展模块不会在同一时间发送数据,有先后顺序,方便进行逻辑判断。上述预定时间可以根据实际需要来设定。上述冗余主机是指某个扩展模块的冗余模式中处于主扩展模块的地位,因此,发出冗余主机应答帧的扩展模块为主扩展模块。
78.在上述实施例中,为了使本控制系统灵活高效地运行,两套扩展模块的地址保持一致,其主备关系需要同一地址的两个模块之间通过地址广播帧的方式自主竞争确认。
79.例如,在系统上电之后,扩展模块的灯板中的指示灯全灭,与主控制器建立心跳链接后,扩展模块的第二心跳链接指示灯beat_2灯转为常亮。在一些实施例中,主控制器用于向所述多个扩展模块发送扩展心跳请求信号;所述多个扩展模块中的至少一个扩展模块用于在从所述扩展总线接收到扩展心跳请求信号后,向主控制器返回扩展心跳响应信号,以与主控制器建立心跳链接。这样,扩展模块与主控制器建立了心跳链接。
80.某个扩展模块(即第一扩展模块)在延时随机时间t0之后向扩展总线广播一帧包含自身地址的数据帧(即地址广播帧),若在预定时间(或者称为超时时间)内没有收到相同地址的冗余主机应答帧(说明相同地址的其他扩展模块当前没有作为主扩展模块),或者在预定时间(预定时间大于随机时间)内收到了相同地址模块的地址广播帧(说明相同地址的其他扩展模块发送地址广播帧的时间晚于本扩展模块发送地址广播帧的时间),则该第一扩展模块确认自己为主扩展模块,将第二运行模式指示灯stat_2变为常亮,并且向扩展总线广播冗余主机应答帧。接收到该冗余主机应答帧的相同地址的其他扩展模块则确认为备扩展模块,其第二运行模式指示灯stat_2保持常灭。
81.主扩展模块可正常读写现场协议设备、响应主控制器的心跳请求,其灯板状态为第二运行模式指示灯stat_2和第二心跳链接指示灯beat_2常亮,第三数据发送指示灯tx_3和第三数据接收指示灯rx_3闪烁;备用扩展模块无须响应心跳请求,不可对现场协议设备发送数据,只保留接收数据的功能,其灯板状态为第二运行模式指示灯stat_2和第三数据发送指示灯tx_3保持常灭,第三数据接收指示灯rx_3闪烁,第二心跳链接指示灯beat_2常亮。
82.在一些实施例中,主控制器110用于将来自于现场协议设备的数据发布到主控制器中的代理服务器模块。备控制器120用于接收该代理服务器模块发来的订阅消息以获得现场协议设备的数据,其中,该订阅消息包含该现场协议设备的数据。该实施例实现了控制器获得基于请求-响应通讯机制的设备数据。
83.在另一些实施例中,主控制器110用于向现场协议设备(例如,现场协议设备1)发
送数据读取请求。现场协议设备用于在接收到数据读取请求后向扩展总线101输出差分电压形式的响应数据。主控制器110和备控制器120检测得到扩展总线电压的变化,以得到该响应数据。该实施例实现了控制器获得基于差分信号检测逻辑的设备数据。
84.在上面描述的实施例中,当系统正常运行时,主备控制器时刻进行着数据同步。为了减轻控制器数据同步的通讯压力,可以采用两种不同的方式配合同步:

基于请求-响应通讯机制的设备数据:对于此类数据,主备控制器采用一种基于订阅/发布通讯机制实现数据同步,主控制器会实时将来自此类设备(例如,bacnet设备或tcp/ip(transmission control protocol/internet protocol,传输控制协议/网际协议)设备等)的数据变化值发布给代理服务器模块,备控制器链接代理服务器模块并接收对应的订阅消息,从而实时获取来自此类设备的数据。

基于差分信号检测逻辑的设备数据:主控制器向此类设备(例如,rs485设备或i/o(输入/输出)设备等)发送数据读取请求后,设备向扩展总线输出差分电压形式的响应数据,主备控制器可同时检测到总线电压的变化,因此,对于此类数据,备控制器可自行解释,无需从主控制器同步,减轻了数据同步的压力。
85.本公开实施例的备控制器可以采用双通道同步冗余数据的机制,减轻主控制器的数据传输压力,加快主备控制器同步数据的速度。这可以尽可能地解决控制系统中冗余数据同步时资源消耗大,冗余切换速度慢的问题。
86.在一些实施例中,主控制器110还可以用于在上电后,将主控制器的本地文件发送给备控制器120。备控制器120还可以用于将备控制器的本地文件与主控制器的本地文件进行比对,在备控制器的本地文件与主控制器的本地文件不一致的情况下,将主控制器的本地文件同步到备控制器中。例如,本地文件包括本地程序版本、配置数据、组态逻辑等文件。这样实现了对本地文件的校验和同步。
87.为了确保主备控制器冗余切换快速且正常,主备控制器之间需要进行软件信息同步和实时数据同步。在上述实施例中,在楼宇控制系统上电运行之时,主备控制器主动校验本地程序版本、配置数据、组态逻辑等文件。当校验不一致时,备控制器将主控制器对应的文件同步至本地。
88.图4是示意性地示出根据本公开另一些实施例的控制系统的框图。
89.图5是示意性地示出根据本公开一些实施例的控制系统的总线调配机制示意图。图6是示意性地示出根据本公开一些实施例的控制系统的主控制器和备控制器的冗余检测逻辑图。下面结合图4至图6详细描述根据本公开另一些实施例的控制系统。
90.如图4所示,该控制系统包括主控制器110、备控制器120和所述多个扩展模块。
91.在一些实施例中,如图4所示,主控制器110和备控制器120通过设备总线404连接至交换机440,交换机440通信连接至现场协议设备。例如,该控制系统还包括该交换机440。
92.在一些实施例中,现场协议设备可以包括bacnet设备、rs485设备、i/o设备或tcp/ip设备等。这里,多个现场协议设备的一部分(例如,bacnet设备或者tcp/ip设备)可以通过设备总线404连接到主控制器110和备控制器120,该多个现场协议设备的另一部分(例如,rs485设备或者i/o设备)可以通过扩展总线101连接到主控制器110和备控制器120。
93.例如,如图5所示,主控制器110可以通过设备总线404和扩展总线101实现对现场协议设备的数据读写;备控制器120通过设备总线404和扩展总线101实现从现场协议设备接收数据,但不向设备总线404和扩展总线101发送数据。该主控制器110和备控制器120之
间可以实现冗余切换。例如,当主控制器110发生故障时,备控制器120切换为主控制器的功能(即主控制器模式)。
94.在一些实施例中,如图4所示,该控制系统还可以包括监控服务器430。监控服务器430分别与主控制器110和备控制器120通信连接。例如,监控服务器430通过标准网线403连接至主控制器110和备控制器120。该监控服务器430用于获取主控制器、备控制器或主扩展模块的故障信息。当然,该监控服务器430还可以用于获取其他信息,例如,备控制器切换为主控制器模式的信息等。
95.当系统出现故障时,可分为两种情况:控制器故障和扩展模块故障。对于控制器故障,可以包括主控制器故障和备控制器故障两种情况。下面分别进行说明。
96.在一些实施例中,备控制器120可以用于若在第一时间周期内没有接收到来自于主控制器的冗余心跳请求信号和扩展心跳请求信号,则确定主控制器出现故障,自主切换为主控制器模式,解除通讯限制,向现场协议设备发起读写控制,并将自身切换为主控制器模式的信息上报给监控服务器430。
97.上述实施例实现了对主控制器出现故障的检测。如图6所示,主控制器和备控制器之间通过冗余通讯线和扩展总线(例如扩展通讯线)进行双重冗余检验,防止双主模式出现。备控制器同时检测冗余心跳请求信号和扩展心跳请求信号,若在第一时间周期t1内没有接收来自主控制器的冗余心跳请求信号和扩展心跳请求信号,则判定主控制器已经故障,该备控制器自主切换主机模式(即自身变为主控制器模式),解除扩展总线和设备总线的通讯限制,向现场协议设备发起读写控制,并且将主从切换信息上报到监控服务器。
98.在本公开的实施例中,冗余心跳信号在主控制器和备控制器之间发送,用于确认主控制器和备控制器之间的冗余通讯正常。扩展心跳信号发送到扩展总线,其作用是:保持扩展模块的通讯连接;以及确认主控制器和备控制器之间的冗余通讯正常。冗余心跳信号和扩展心跳信号基于不同的通讯协议,采用不同的数据帧格式。主控制器可通过多线程分别发送冗余心跳信号和扩展心跳信号。
99.在一些实施例中,主控制器110还可以用于若在第一时间周期内没有收到备控制器的冗余心跳响应信号和扩展心跳响应信号,则确定备控制器120出现故障,并将备控制器出现故障的信息上报给监控服务器。
100.上述实施例实现了对备控制器出现故障的检测。在该实施例中,若主控制器在第一时间周期内既未收到备控制器的冗余心跳响应信号,也未收到备控制器的扩展心跳响应信号,则主控制器判断备控制器出现故障,并将故障信息上报监控服务器。
101.在一些实施例中,主控制器110可以用于向所述多个扩展模块发送扩展心跳请求信号,如果在第二时间周期t2内没有接收到主扩展模块的扩展心跳响应信号,则确定主扩展模块出现故障,并将主扩展模块出现故障的信息上报给监控服务器430。与主扩展模块的地址相同的备扩展模块还可以用于如果在该第二时间周期内没有接收到主扩展模块的扩展心跳响应信号,则确定主扩展模块出现故障,并自主切换为主扩展模块。这里,第二时间周期可以根据实际需要来设定。
102.该实施例实现了主扩展模块出现故障的检测。主控制器定时向扩展模块发送扩展心跳请求信号。主备扩展模块可同时检测到扩展心跳请求信号,备扩展模块无需回复该扩展心跳请求信号,主扩展模块则需要在第二时间周期t2(可以称为心跳周期)内发送扩展心
跳响应信号,否则主控制器和备扩展模块都判断主扩展模块已经故障。此时备扩展模块自主切换为主扩展模块。当扩展模块发生冗余切换时,备扩展模块会向主控制器发送信息,告知主控制器该地址的扩展模块发生了冗余切换。主控制器同步向监控服务器上报该扩展模块故障的信息。这可以尽可能地解决控制系统中任意模块发生故障时都需要停机维修的问题。
103.在一些实施例中,如图4所示,该控制系统还可以包括第一电源451和第二电源452。该第一电源451和该第二电源452通过供电线405连接至主控制器110、备控制器120、主扩展模块1至n和备扩展模块1至n。该第一电源451和该第二电源452分别独立供电。这里,供电线405可以为单独的供电线,也可以作为扩展总线的一部分(可以称为扩展供电线),本公开的范围并不仅限于此。当供电线405也作为扩展总线的一部分时,扩展总线可以包括扩展通讯线和该扩展供电线。
104.至此,提供了根据本公开另一些实施例的控制系统。该控制系统可以作为楼宇控制系统。该控制系统可划分为“业务层-数据处理层-数据采集层”三层架构,包括监控服务器、控制器、扩展模块、现场协议设备等。在该控制系统中,可以设置至少两个控制器以及两套扩展模块,以达到一用一备的目的。主控制器和备控制器之间通过高速冗余通讯线链接。主备控制器和主备扩展模块都接入到同一扩展总线中。主备控制器链接相同的现场协议设备,具有相同地址的扩展模块链接至同一个现场协议设备。
105.上述控制系统实现了当出现故障时楼宇控制器自主切换,使楼宇控制系统不间断运行,减少了运维成本,降低了技术门槛;采用主备控制器的软件冗余方式,避免系统单一化,提高楼宇控制系统的系统稳定性、可靠性及安全性。而且,备控制器采用双通道同步冗余数据的机制,减轻主控制器的数据传输压力,加快主备控制器同步数据的速度。
106.主控制器和备控制器之间除了部署冗余通讯线,还以并联的方式接入扩展总线中。主控制器和备控制器正常运行后,双方通过冗余通讯线保持冗余心跳链接时,双方的心跳链接指示灯都将正常闪烁。主备控制器使用冗余通讯线和扩展总线进行双向高可靠冗余检测,防止双主或者无主模式出现。
107.在一些实施例中,主控制器和备控制器同步在扩展总线上进行心跳链接的检测。例如,该检测包括:移除扩展总线上的所有扩展模块,此时总线上没有扩展模块的数据,只有主备控制器的心跳校验,主备控制器的第二数据发送指示灯tx_2和第二数据接收指示灯rx_2仍正常闪烁。
108.图7是示出根据本公开一些实施例的用于控制系统的控制方法的流程图。如图7所示,该控制方法包括步骤s702至s704。
109.在步骤s702,主控制器每间隔第一时间周期向备控制器发送冗余心跳请求信号。
110.在步骤s704,备控制器在接收到冗余心跳请求信号后,在第一时间周期内向主控制器返回冗余心跳响应信号,以便与主控制器建立心跳链接。
111.至此,提供了根据本公开一些实施例的用于控制系统的控制方法。该方法实现了主控制器与备控制器的心跳链接。
112.在一些实施例中,所述多个扩展模块包括第一扩展模块。所述方法还可以包括:第一扩展模块在经过随机时间后向扩展总线广播包含自身地址的地址广播帧;如果在预定时间内没有收到来自于相同地址的扩展模块的冗余主机应答帧,或者在预定时间内接收到来
自于相同地址的扩展模块的地址广播帧,则确定第一扩展模块自身为主扩展模块;和如果在预定时间内接收到冗余主机应答帧,则确定第一扩展模块自身为备扩展模块,其中,预定时间大于随机时间。该实施例实现了扩展模块对自身模式(主扩展模块模式或备扩展模块模式)的确定。
113.图8是示出根据本公开另一些实施例的用于控制系统的控制方法的流程图。下面结合图8详细描述扩展模块对自身模式(主扩展模块模式或备扩展模块模式)的确定过程。如图8所示,该方法包括步骤s802至s812。
114.在步骤s802,扩展模块在经过延时随机时间后向扩展总线广播包含自身地址的地址广播帧。
115.在步骤s804,扩展模块判断在预定时间内是否接收到应答帧。如果是,则过程进入步骤s806,否则过程进入步骤s808。
116.在步骤s806,扩展模块根据帧类型判断扩展模块是哪种扩展模块。如果是广播地址帧,则过程进入步骤s808;如果是冗余主机帧,则过程进入步骤s810。
117.在步骤s808,扩展模块确定自身为主扩展模块;
118.在步骤s810,扩展模块确定自身为备扩展模块。
119.在步骤s812,扩展模块发送冗余主机帧。
120.至此,提供了扩展模块对自身模式的确定过程。基于扩展模块通讯地址及上线时间的冗余主备竞争机制,实现扩展模块主备状态快速确认。
121.在一些实施例中,控制方法还可以包括:主控制器将来自于现场协议设备的数据发布到主控制器中的代理服务器模块;和备控制器接收代理服务器模块发来的订阅消息以获得现场协议设备的数据,其中,订阅消息包含现场协议设备的数据。
122.在一些实施例中,控制方法还可以包括:主控制器向现场协议设备发送数据读取请求;现场协议设备在接收到数据读取请求后向扩展总线输出差分电压形式的响应数据;和主控制器和备控制器检测得到扩展总线电压的变化,以得到响应数据。
123.在一些实施例中,控制方法还可以包括:主控制器向多个扩展模块发送扩展心跳请求信号;和所述多个扩展模块中的至少一个扩展模块在从扩展总线接收到扩展心跳请求信号后,向主控制器返回扩展心跳响应信号,以与主控制器建立心跳链接。
124.在一些实施例中,控制方法还可以包括:备控制器若在第一时间周期内没有接收到来自于主控制器的冗余心跳请求信号和扩展心跳请求信号,则确定主控制器出现故障,自主切换为主控制器模式,解除通讯限制,向现场协议设备发起读写控制,并将自身切换为主控制器模式的信息上报给监控服务器。
125.在一些实施例中,控制方法还可以包括:主控制器若在第一时间周期内没有收到备控制器的冗余心跳响应信号和扩展心跳响应信号,则确定备控制器出现故障,并将备控制器出现故障的信息上报给监控服务器。
126.在一些实施例中,控制方法还可以包括:主控制器向多个扩展模块发送扩展心跳请求信号,如果在第二时间周期内没有接收到主扩展模块的扩展心跳响应信号,则确定主扩展模块出现故障,并将主扩展模块出现故障的信息上报给监控服务器;和与主扩展模块的地址相同的备扩展模块如果在第二时间周期内没有接收到主扩展模块的扩展心跳响应信号,则确定主扩展模块出现故障,并自主切换为主扩展模块。
127.在一些实施例中,控制方法还可以包括:主控制器在上电后,将主控制器的本地文件发送给备控制器;和备控制器将备控制器的本地文件与主控制器的本地文件进行比对,在备控制器的本地文件与主控制器的本地文件不一致的情况下,将主控制器的本地文件同步到备控制器中。
128.本公开实施例的控制系统和方法可实现楼宇控制系统发生故障时控制器无干扰热切换,且主机异常判定采用冗余通讯接口数据与扩展总线数据双重校验,避免因单一数据同步线异常导致系统出现双主机的问题,造成系统宕机等重大事故,且采用冗余通讯接口和扩展总线双重数据同步机制,可大大减少数据同步接口的通讯带宽压力,提高控制系统的可靠性。
129.图9是示意性地示出根据本公开另一些实施例的控制系统的框图。该控制系统包括存储器910和处理器920。其中:
130.存储器910可以是磁盘、闪存或其它任何非易失性存储介质。存储器用于存储图7和/或图8所对应实施例中的指令,或者其他方法实施例对应的指令。
131.处理器920耦接至存储器910,可以作为一个或多个集成电路来实施,例如微处理器或微控制器。该处理器920用于执行存储器中存储的指令,从而尽可能地防止出现系统数据异常的问题。
132.需要说明的是,控制系统可以包括多个存储器910和多个处理器920,该多个存储器910和该多个处理器920可以配套地位于不同控制器或不同扩展模块中。
133.在一些实施例中,还可以如图10所示,控制系统1000包括存储器1010和处理器1020。处理器1020通过bus总线1030耦合至存储器1010。控制系统1000还可以通过存储接口1040连接至外部存储装置1050以便调用外部数据,还可以通过网络接口1060连接至网络或者另外一台计算机系统(未标出),此处不再进行详细介绍。
134.在该实施例中,通过存储器存储数据指令,再通过处理器处理上述指令,从而尽可能地防止出现系统数据异常的问题。
135.需要说明的是,控制系统可以包括多个存储器1010、多个处理器1020、多个bus总线1030、多个存储接口1040、多个外部存储装置1050和多个网络接口1060。该多个存储器1010、多个处理器1020、多个bus总线1030、多个存储接口1040、多个外部存储装置1050和多个网络接口1060可以配套地位于不同控制器或不同扩展模块中。
136.在另一个实施例中,本公开还提供了一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现图7和/或图8所对应实施例中的方法的步骤,或者其他方法实施例对应的步骤。本领域内的技术人员应明白,本公开的实施例可提供为方法、装置、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
137.本公开是参照根据本公开实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生
一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
138.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
139.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
140.至此,已经详细描述了本公开。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
141.虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改。本公开的范围由所附权利要求来限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1