Controllogix是Rockwell公司推出AB系列的模塊化PLC,它代表了當前PLC發展的最高水平,是目前世界上最具有競爭力的控制系統之一,Control- logix將順序控制、過程控制、傳動控制及運動控制、通訊、I/O技術集成在一個平臺上,可以為各種工業應用提供強有力的支持,適用于各種場合,最大的特點是可以使用網絡將其相互連接,各個控制站之間能夠按照客戶的要求進行信息的交換。Controllogix目前在工業生產中得到廣泛的運用,本文詳細介紹Rockwell Controllogix PLC冗余系統在汽輪機發電中的應用。
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。
上電后,首先在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所示。
圖3 MSG指令的設置
通訊配置如圖4所示。通訊配置的格式為:1,SRM的槽號。
圖4 配置顯示
這一程序表示從處理器中讀出時間,放入到WCT中,然后把WCT的值寫入到SRM中。
程序運行后,處理器和SRM的時間就實現同步了。然后在上位機運行時間同步工具。
"C:Program FilesRockwell SoftwareRSLogix 5000 ToolsLogix5000 Clock Update Tool"
先添加設備,從RSWho中選中要同步的處理器。在添加的處理器圖標上點擊鼠標右鍵,在彈出的菜單中選擇synchronize device,這樣就實現了上位機與CPU的時間同步。那末也就實現了SRM與上位機的時間同步。
如果Controllogix的時間誤差較大,但又對SRM的時間要求較高,可以利用時間同步工具的常駐內存運行功能,實現實時的時間同步。在scheduled synchronizations菜單中可以添加需要進行實時時間同步的CPU,同步的時間間隔進行相應的配置后,就可以實現實時的時間同步了。
利用這個原理,通過相應的設置,可以實現同一網絡中不同Controllogix處理器之間的時間同步,或者不同SRM之間的時間同步,也可以時間不同網絡之間的時間同步。
6 處理器的故障處理
雖然在處理器發生故障時,會導致處理器的切換,但我們可以通過編程來防止可以預見的故障的產生。當處理器在運行過程中出現主要故障時,可以使用程序清除這一故障。
在RSLogix5000的用戶自定義類型中,定義一個名為FaultData的數據類型,內部變量的數據類型如圖5所示。然后定義一個變量CHI為FaultData。然后如圖6所示添加控制器故障處理程序。程序如圖7所示。
圖5 FaultData內部變量的數據類型
圖6 添加控制器故障處理程序
圖7 控制區故障處理程序
通過以上程序可以很好的防止處理器主要故障的發生。一般次要故障不會引起處理器停機和冗余的切換,因此次要故障的處理程序不是很有必要。
7 結束語
自從該汽輪機發電系統投產后,Rockwell Controllogix PLC冗余系統運行相當的穩定,還未出現因為故障導致的切換,通過上位機上開發的Rsview32應用,除對工藝設備進行監視外,對PLC的冗余狀態也能在線監視,整套系統可以做到長期免維護運行。