胡 鵬,唐 堅
(江蘇揚力集團股份有限公司,江蘇 揚州 225000)
隨著制造業競爭的加劇,生產企業對生產設備無障礙工作時間的要求越來越高,尤其是那些控制關鍵性生產工序的自動化生產線,持續工作時間直接影響工廠的生產效率,漸漸地單層網絡已經無法滿足大部分控制系統的要求。冗余控制是一種滿足連續生產需要、提高系統可靠性的有效手段,冗余控制是一種采用一定或成倍量的設備或元器件的方式組成控制系統的控制方式。當某一設備或元器件發生故障而損壞時,它可以通過硬、軟件或人為方式,相互切換作為后備設備或元器件,替代因故障而損壞的設備或元器件,保持系統正常工作,使控制設備因意外而導致的停機損失降到最低。
目前,多數的基于可編程邏輯控制器(Programmable Logic Controller:PLC)的冗余控制系統采用了兩套CPU(Central Processing Unit)處理器模塊,一個處理器作為主處理器,另外一個作為從處理器。正常情況下,由主處理器工作,從處理器不斷監測主處理器的狀態,如果主處理器出現故障,從處理器立即替換主處理器控制系統,從而實現對系統的控制。
德國西門子(SIEMENS)公司生產的PLC以其優越的通訊能力和強大的功能,在我國的應用相當的廣泛,下面本文以西門子PLC中典型的S7-1500系列為例,詳細闡述西門子PLC的冗余控制系統。西門子S7-1500系列PLC的冗余控制系統主要為S7-1500R/H冗余系統,該系統CPU為冗余的,兩個CPU會并行處理相同的項目數據和相同的用戶程序。兩個CPU通過兩條冗余連接進行同步,如果其中一個CPU出現故障,另外一個CPU會接替它對過程進行控制。
S7-1500R/H冗余系統,均支持兩個CPU中的一個發生故障或PROFINET環網斷開,不會影響控制系統的正常運行,但是S7-1500R和S7-1500H系統在結構、組態限值等性能上均有所不同。如圖1所示為S7-1500R系統結構示意圖。

圖1 S7-1500R冗余系統結構
S7-1500R系統中的冗余連接是支持介質冗余協議(MediaRedundancyProtocol:MRP)的 PROFINET環網,兩個CPU除了通過環網互聯外,還必須運用PROFINET電纜直連,以保證當環網出現中斷時,所有節點仍能繼續相關通信。S7-1500R冗余系統CPU連接使用了PROFINET電纜,因此電纜的部分帶寬用于進行R-CPU同步,這一部分帶寬不能用于PROFINETIO設備通信,所以S7-1500R冗余系統適用于控制系統數據交互速度要求不高地方。需要注意的是,不支持MRP的PROFINET設備如果需要接入該冗余系統,必須通過交換機與環網進行分隔。通過圖1可以看出,如果S7-1500R冗余系統中任意一個CPU故障都不會影響整個控制過程,同時由于PROFINET環網的存在,任意一根PROFINET電纜發生故障,也不會導致整個控制系統運行停止,有效增加了控制系統的可靠性和穩定性。
如圖2所示為西門子S7-1500H冗余系統典型結構示意圖。

圖2 S7-1500H冗余系統結構
與S7-1500R冗余系統不同的是,S7-1500H冗余系統要求利用雙CPU組建閉合的PROFINET環網,而CPU間的冗余連接與PROFINET環網分開,使用兩根雙工光纖電纜通過同步模塊組建環網將CPU直接連接在一起,因此H-CPU的同步不會影響PROFINET電纜上的帶寬,適用于時間要求較高的控制系統中。和S7-1500R冗余系統相同的是,S7-1500H冗余系統所以節點需要支持MRP,不支持MRP的PROFINET設備如果需要接入該冗余系統,必須通過交換機與環網進行分隔。通過上圖可以看出,S7-1500H冗余系統的穩定性和可靠性要優于S7-1500R冗余系統,不但任意一個CPU故障都不會影響控制過程,由于兩個CPU之間可以通過三層網絡交換數據,兩個光纖電纜和PROFINET環網,意味著就算兩個光纖電纜同時故障,只要此時PROFINET環網運行正常,都不會影響控制過程,與S7-1500R冗余系統一樣,PROFINET環網的存在使得任意一根PROFINET電纜發生故障,不會影響控制過程。
根據實際應用的需要,本文以西門子博圖軟件搭建了S7-1500R冗余系統應用于設備無故障要求較高的自動化沖壓生產線,使用CPU 1515R-2PN的控制器,以分布式IO的形式布置壓力機控制系統,將分布式IO和支持PROFINET協議的編碼器以及西門子TP1200型號的觸摸屏均組態于PROFINET網絡中,同時擴展PN/PN耦合器與機器人控制系統通信,完成數據交換。
根據上述西門子S7-1500R冗余控制系統的應用,對使用過程中遇到的冗余系統軟件組態注意事項進行詳細描述。西門子組態為博圖。在博圖軟件中組態S7-1500R/H冗余系統,無論添加和刪除CPU都必須成對,添加雙CPU后軟件會自動為CPU的每個PROFINET接口分配一個 IP(Internet Protocol)地址,用戶也可以手動分配IP地址,但是兩個CPU之間用于組PROFINET環網的接口IP地址必須位于同一個子網中,否則無法進行通信。如圖3所示。

圖3 設備IP地址設置
除了設置各CPU的設備IP地址外,還需要為冗余系統分配系統IP地址,這樣,其他設備就可以通過系統IP地址與冗余系統的主CPU進行數據交換,并且可以確保在冗余系統的主CPU發生故障后,可以與新的主CPU(之前的備用CPU)進行通信。下面以CPU的PROFINET接口X1為例,詳細描述系統IP地址的設置流程。
(1)在網絡視圖中,選擇CPU,在巡視窗口中,選擇“屬性”(Properties)選項卡。
(2)在區域導航中,選擇區域“PROFINET接口[X1]”(PROFINET Interface[X1])和“切換通信的系統IP地址”(System IP Address For Switch Communication)部分。
(3)確保接口X1選中復選框“啟用切換通信的系統IP地址“(Enable The System IP Address For Switched Communication),在“IP 地址”(IP Address)字段中,應用或分配系統IP地址。
(4)為系統IP系統地址分配虛擬MAC(Media Access Control Address)地址,虛擬MAC地址的長度為6個字節,字節分配采用十六進制,需要注意的是要確保以太網廣播域中存儲的MAC地址唯一。如圖4所示。

圖4 系統IP地址設置
(5)另一個CPU將自動應用上述設置。
在S7-1500R/H冗余系統中,每個CPU都有一個冗余ID(Identity),并且僅當兩個CPU的冗余ID不同時,才能實現冗余操作,一般冗余ID的值為1和2。初始調試時的默認狀態下,兩個CPU的冗余ID均為1,可以通過CPU上的顯示屏分配冗余ID,具體操作步驟如下。
(1)冗余系統中兩個CPU相互連接且獨處于Stop操作狀態。
(2)啟動要為其分配冗余ID2的CPU。
(3)在該CPU的顯示屏上,選擇菜單命令“概述> 冗余”(Overview>Redundancy),為該 CPU分配冗余ID2,為CPU分配冗余ID后,CPU將重新啟動。如圖5所示。

圖5 分配冗余ID
需要注意的是,分配好冗余ID后,在項目樹中冗余ID為1的CPU處于頂端,冗余ID為2的CPU處于低端。
S7-1500R/H冗余系統兩個CPU在配對時,主CPU和備用CPU的角色由系統自行分配。在博圖軟件項目樹中選擇S7-1500R/H系統并運行“下載到設備”(Download To Device),操作系統會默認將項目數據下載到主CPU,然后在同步狀態下,項目數據會自動從主CPU傳輸到備用CPU。項目數據默認下載到主CPU的操作步驟如下。
(1)在項目樹中右鍵單擊選擇S7-1500R/H系統。
(2)從快捷菜單中選擇“下載到設備>硬件和軟件(僅更改)”(Download To Device>Hardware And Software(Only Changes))命令。
(3)然后在彈出的對話框中,從“PG/PC接口類型”(Type of the PG/PC Interface)下拉列表中選擇子網(PN/IE);在“PG/PC 接口”(PG/PC Interface)中選擇指向本地網絡的適配器;從“接口/子網連接”(Connection To Interface/Subnet)下拉列表中選擇“嘗試所有接口”(Try All Interface)條目。如圖6所示。

圖6 擴展下載對話框
(4)單擊“開始搜索”(Start Search)按鈕,“選擇目標設備”(Select Target Device) 表中會顯示S7-1500R/H系統中的CPU及其角色,選擇主CPU。
(5)單擊“加載”(Load),即可將項目數據下載到冗余系統的主CPU中。
針對當前工業生產方面,對控制系統的穩定性和可靠性要求越來越高,本文以西門子S7-1500系列PLC為例,對西門子冗余系統S7-1500R/H系統的構成、工作原理和運用場合進行了分析,詳細描述了S7-1500R/H冗余系統的硬件組成,以及其在軟件組態的方面的具體步驟和注意事項,為冗余控制系統的構建和發展提供了進一步支持。