1 引言
Controllogix是Rockwell公司在1998年推出AB系列的模塊化PLC,代表了當前PLC發展的最高水平,是目前世界上最具有競爭力的控制系統之一,Control- logix將順序控制、過程控制、傳動控制及運動控制、通訊、I/O技術集成在一個平臺上,可以為各種工業應用提供強有力的支持,適用于各種場合,最大的特點是可以使用網絡將其相互連接,各個控制站之間能夠按照客戶的要求進行信息的交換。
Controllogix可以提供完善的控制器的冗余功能,采用熱備的方式構建控制器,兩個控制器框架采用完全相同的配置,它們之間使用同步電纜連接,不僅控制器可以采用熱備,通訊網絡也可以采用相似的方式進行熱備,除以上的部分可以熱備外,控制器的電源也可以進行熱備,這樣大大提高了控制器的運行的可靠性。
2 系統介紹
在某焦化廠干熄焦汽輪機發電項目的DCS控制系統中,采用了冗余的Controllogix,系統結構如圖1所示。上位機通過交換機與PLC處理器通訊,遠程框架通過冗余的ControlNet連接到控制器框架,同時,遠程框架采用了冗余電源配置。整套系統具有很高的可靠性,滿足了汽輪機發電系統對于PLC控制部分需要長期無故障運行的要求。上位機采用Rsview32軟件,用以監控現場設備的運行。
圖1 系統結構圖
本地框架由L1和L2 框架構成,運行時L1和L2互為熱備,構成了冗余,L1和L2框架各個槽位的所配置的模塊如表1所示。R1,R2和R3是遠程框架,所有的點號都連接到遠程框架的模塊,遠程框架的供電使用了AB的冗余電源(1756-PAR2)。
表1 L1和L2框架各個槽位的所配置的模塊

設置主從控制器框架的1756-CNBR/D的節點地址時應注意,他們的地址撥碼應該相同,應該是系統中掛接在冗余ControlNET網上所有節點的最高地址,在本系統里面都設置為4,遠程站的節點地址分別為1,2,3。在冗余系統正常運行時,從控制器框架的CNBR/D節點地址會自動加1,變為5。
1757-SRM是用于同步的冗余模塊,主從控制器框架的SRM通過光纖連接。正常工作時,1756-L61中所有的程序和數據通過光纖進行同步,在RSLOGIX5000編程中,不必對此模塊進行組態。
1756-ENBT是以太網接口模塊,通過網線連接到交換機。ENBT的地址分配為兩個連續的IP即可, 在這個系統中IP地址分別為192.168.1.11和192.168.1.12。
3 模塊的升級
冗余系統中,主控制器框架和從控制器框架上各個模塊的版本必須嚴格一致,并到達到要求的版本號,否則無法正常工作。
當版本不一致時,在RSLinx中可能無法看到從控制器框架上的處理器,同時,從控制器框架的處理器狀態指示燈(OK燈)變為紅色長亮。因此,一般系統在第一次上電時,需要進行固件升級。根據AB公布的信息,當前一些模塊的固件版本如表2所示,這個版本同樣適用于1756-L62, 1756-L63。
表2 一些模塊的固件版本

上電后,首先在RSLinx中檢查模塊的版本號,如果與表2不一致,需要到AB網站上去下載這個版本的升級包V13.71 Redundancy Bundle。升級工作需要使用Rockwell的固件升級軟件ControlFLASH。
升級前,先要取消SRM的從框架資格,在RSLinx中,從框架比主框架的節點地址大1。從圖標上進入1757-SRM的屬性,找到Configration的Auto-Synchonization選項,將參數改為NEVER.然后進入Synchonization選項卡,單擊Disqualify Secondary(取消從框架資格),這個時候主從處理器之間就不會同步了。
升級時,先打開一個處理器框架的電源,關閉另一個框架的電源。等1757-SRM顯示PRIM后,在RSLinx中可以找到這個框架中的模塊。然后使用ControlFLASH分別進行升級。升級完畢后,關閉這個處理器框架的電源,打開另一個框架的電源,也如此進行升級。
升級完畢后,進入1757-SRM的屬性,將從控制器設為主控制器,使用RSLogix5000將程序下載到從處理器,關閉機架電源,進入從1757-SRM的屬性,選擇BecomePrimary,然后進入RSLogix5000的通訊菜單,清除掉故障。完成以上升級工作后,主從控制器框架都上電,然后使用RSNetWorx for ControlNET對網絡進行調度。
在正常工作情況下,一般哪一個框架先上電,哪一個就是主框架,另一個是從框架,主框架的1757-SRM會顯示PRIM,從框架的會顯示SYNC。正常運行時,在SRM屬性中可以進行主從的切換。如果顯示狀態與這個不一致,表示系統同步出現問題,需要進行進行檢查,剛上電時因為SRM需要自檢,可能要花一些時間。如果同步光纖、ControlNET或者以太網出現連接問題,都有可能導致同步不正常。
在RSLogix5000中進行冗余系統的編程時,只能使用一個連續性任務或幾個周期性任務。盡量不要使用SINT和INT型的數據,另外,數據的定義最好都采用數組完成,這樣可以提高同步時的效率。在打點和程序調試期間,由于經常下載程序,這個時候容易導致同步出錯,最好在1757-SRM中把自動同步選項設為禁用,采用手動的方式進行同步。等調試完畢后,再把這個選項打開,正式將系統投運。
4 RSLinx中的冗余配置
為了保證冗余系統能夠和上位機的HMI軟件正常通訊,需要在RSLinx中進行冗余配置。
RSLinx中,首先定義兩個Topic,分別指向主框架和從框架的處理器,然后,在Alias Topic中,定義一個別名Topic,指向剛才定義的兩個Topic,在使用時,HMI中的節點的定義只要指向別名Topic就可以了,當處理器發生主從切換時,HMI仍然可以保持正常的通訊。
5 SRM時間同步
1757-SRM正常運行時,需要對同步過程中發生的事件按照時間順序進行記錄,1757-SRM出廠時的缺省時間不是當前的時間,因此需要對SRM進行時間重新設置。在設置1757-SRM時間時,筆者采用編程的方式將1757-SRM的時間與處理器的時間進行同步,同時,利用AB提供的時間同步工具,筆者可以將處理器的時間與上位機的時間進行同步,這樣也就實現了1757-SRM與上位機的時間同步。
在RSLogix5000中添加程序,如圖2所示:
圖2 RSLogix5000中添加程序
GSV中讀出的時間數據寫入到WCT(WCT定義為DINT[2].)然后,由MSG把數組WCT的值寫入到SRM的時間屬性。MSG指令的設置如圖3所示。