故障容限工業自動化控制系統的制作方法
【技術領域】
[0001]本發明涉及在一種工業自動化與控制系統IACS中配置和運行控制應用的領域。特別是,其涉及在這類系統中的改進容錯。
【背景技術】
[0002]在工業系統或過程中,工廠停機的成本通常是相當高的。因而,不能接受的停機成本提倡對應的工業自動化控制系統的增加可靠性和高可用性。后者通常依賴于冗余,其中對控制系統的關鍵部分或關鍵的控制應用進行復制,并且該控制系統的容錯產生于冗余和錯誤檢測機制,諸如監督、看門狗(watchdog)或心跳(heartbeat)的組合。
[0003]現有的冗余模式,例如備用冗余(Standby Redundancy)或者三重模塊化冗余(TMR),能夠為自動化控制系統提供容錯。但是,一旦故障已發生,這些容錯機制失去或降低容錯。例如,TMR模式容許單個故障。如同大多數其他模式一樣,直到故障實體被替換,原始容錯才會恢復。在該期間,在發生第二個故障時,TMR通常啟動安全關機。也能夠使用更多副本(replica)來部署冗余以容許多個故障。這造成更高的成本并且增加的復雜性,并且因此極少這樣做。
[0004]在專利申請EP 12182884.2中,用于控制工業主系統或過程的工業自動化與控制系統IACS中的控制應用或用于控制工業主系統或過程的工業自動化與控制系統IACS的控制應用,以最佳方式配置和部署。該IACS包含多個運行主機,例如單核或多核CPU的CPU核,并且該控制應用由多個組件或子應用組成。這些組件可以相互關聯并且至少部分地并行運行。最后,組件可根據特定約束,例如相關組件運行定時,按照預定運行順序個別地指派給運行主機用于運行。所得到的基于組件的軟件架構提供了依靠靜態調度的循環實時系統框架,其在運行時間時允許加載組件并且修改調度。
【發明內容】
[0005]本發明的目的是改進工業自動化控制系統IACS中的容錯。這個目的通過如獨立權利要求所述的方法來實現。優選的實施例從從屬專利權利要求中是明顯的。
[0006]根據本發明,暫時容錯降級在工業自動化與控制系統IACS中被阻止,該系統包含多個主機或控制器,連接到通信總線用于向至少一些主機以并行的方式提供輸入數據。每個主機以循環方式并且按照配置來運行作為控制應用的一部分的多個組件。該配置包含數據結構,該數據結構包括靜態順序調度以及組件間通信通道映射,其中組件在運行時間時可加載并且其中調度在運行時間時可修改。對于故障的容限,例如對于影響至少一個關鍵組件的主機故障的容限,通過運行下列步驟來提供:
[0007]-在第一主機上運行關鍵組件的活動實例或副本,并且使在第二主機上實體化的關鍵組件的冗余第一備用實例的狀態與該活動組件同步,
[0008]-利用錯誤檢測機制,例如監督、看門狗(watchdog)或心跳(heartbeat),在先前組件運行循環中檢測第一主機的故障;
[0009]-在下一個組件運行循環之前,激活第一備份配置,或第一應急預案,其包含運行作為在第二主機上的關鍵組件的當前活動實例的第一備用實例,以及包含使在第三主機上實體化或加載到第三主機的關鍵組件的冗余第二備用實例的狀態與第一備用實例同步。
[0010]換言之,本發明包含基于組件的自動化框架、基于軟件的冗余模式和分布式的可靠運行時間管理器的組合,并且能夠在運行時間時檢測主機故障以及觸發系統重新配置。這種解決方案通過在可用主機上創建和調度關鍵組件的新備用實例,并且無需操作員干預或者立即硬件更換,在發生故障的情況下保持系統運行,并且另外,針對進一步的單個控制器故障自動恢復容錯。因此提供了一種故障容限的容錯機制,其在故障已發生之后,自動并且立即恢復容錯的原始等級,即,無需必須等待故障實體的維修或更換。簡言之,本發明通過自動適應新環境來在降低成本以及復雜性下實現系統增加的可用性或正常運行時間。[0011 ]在本發明的優選變型中,提供第二或下一級備份配置,其包含調度,在第二主機故障的情況下,調度涉及指派給第四主機并且預計在第四主機上實體化的關鍵組件的冗余第三備用實例。提供或推導第二備份配置涉及計算關鍵組件的冗余實例的部署以及限定鑒于第二或次級故障的調度和組件間通信通道的變化。第二備份配置可以在運行時間時準備并且在第一備份配置激活之后,即,脫離實際上所激活的第一備份配置并且忽略所有其他未激活的第一備份配置。備選地,第二備份配置可以提前,即在第一故障發生之前準備或導出。由于必須考慮至少等于主機數量的第一備份配置的數量的事實,并且還結合類似數量的次級故障主機,這種解決方案在計算上更昂貴。
[0012]在本發明的有利實施例中,每個主機在初始化期間提供有第一備份配置。所有進一步工作或者剩余的主機然后分別地檢測第一主機的故障,并且對應或者預見第一主機的故障而瞬間激活第一備份配置。這種方法依賴于分散、分布式架構,其中所有主機或節點具有關于涵蓋所有可想像出的第一故障的備份配置計劃的必要信息。當特定主機的故障發生時,該故障被檢測出,并且在下一組件運行循環之前,該故障所牽涉到的每個剩余主機采取適當的行動。
[0013]本發明還涉及一種計算機程序產品,其包含計算機程序代碼,用于控制工業自動化控制系統的一個或多個處理器,工業自動化控制系統包含連接到通信總線的多個運行主機,特別是涉及一種計算機程序產品,包含在其中含有計算機程序代碼的計算機可讀媒介。
【附圖說明】
[0014]本發明的主題將在下面文本中參照附圖中示出的優選示例性實施例來詳細解釋,其中:
[0015]圖1示出了熱備用冗余概念;
[0016]圖2描繪一種工業控制應用的簡化示例,以及
[0017]圖3示出了一種工業自動化與控制系統的四主機動行環境,以及三個對應的組件運行配置調度。
【具體實施方式】
[0018]圖1呈現一種具有涉及兩個實例或副本的熱備用冗余的單個關鍵組件的常規部署,其中Al為活動副本,Al’為備用副本,其與活動副本永久同步。現有上下文中的“同步”包含兩個實例的狀態同步,其中活動實例Al的狀態逐步地或持續地傳送,或復制給備用實例Al’,如垂直箭頭所示。在活動副本Al故障的情況下,因此備用副本Al’準備瞬間激活。兩個運行副本的主機之間的監督通信實現這種自動切換。
[0019]圖2示出了一種工業控制應用的簡化示例,該應用讀取某