Controllogix是Rockwell公司推出AB系列的模塊化PLC,它代表了當(dāng)前PLC發(fā)展的最高水平,是目前世界上最具有競爭力的控制系統(tǒng)之一,Control- logix將順序控制、過程控制、傳動控制及運動控制、通訊、I/O技術(shù)集成在一個平臺上,可以為各種工業(yè)應(yīng)用提供強有力的支持,適用于各種場合,最大的特點是可以使用網(wǎng)絡(luò)將其相互連接,各個控制站之間能夠按照客戶的要求進行信息的交換。Controllogix目前在工業(yè)生產(chǎn)中得到廣泛的運用,本文詳細介紹Rockwell Controllogix PLC冗余系統(tǒng)在汽輪機發(fā)電中的應(yīng)用。
Controllogix可以提供完善的控制器的冗余功能,采用熱備的方式構(gòu)建控制器,兩個控制器框架采用完全相同的配置,它們之間使用同步電纜連接,不僅控制器可以采用熱備,通訊網(wǎng)絡(luò)也可以采用相似的方式進行熱備,除以上的部分可以熱備外,控制器的電源也可以進行熱備,這樣大大提高了控制器的運行的可靠性。
2 系統(tǒng)介紹
在某焦化廠干熄焦汽輪機發(fā)電項目的DCS控制系統(tǒng)中,采用了冗余的Controllogix,系統(tǒng)結(jié)構(gòu)如圖1所示。上位機通過交換機與PLC處理器通訊,遠程框架通過冗余的ControlNet連接到控制器框架,同時,遠程框架采用了冗余電源配置。整套系統(tǒng)具有很高的可靠性,滿足了汽輪機發(fā)電系統(tǒng)對于PLC控制部分需要長期無故障運行的要求。上位機采用Rsview32軟件,用以監(jiān)控現(xiàn)場設(shè)備的運行。
圖1 系統(tǒng)結(jié)構(gòu)圖
本地框架由L1和L2 框架構(gòu)成,運行時L1和L2互為熱備,構(gòu)成了冗余,L1和L2框架各個槽位的所配置的模塊如表1所示。R1,R2和R3是遠程框架,所有的點號都連接到遠程框架的模塊,遠程框架的供電使用了AB的冗余電源(1756-PAR2)。
表1 L1和L2框架各個槽位的所配置的模塊
設(shè)置主從控制器框架的1756-CNBR/D的節(jié)點地址時應(yīng)注意,他們的地址撥碼應(yīng)該相同,應(yīng)該是系統(tǒng)中掛接在冗余ControlNET網(wǎng)上所有節(jié)點的最高地址,在本系統(tǒng)里面都設(shè)置為4,遠程站的節(jié)點地址分別為1,2,3。在冗余系統(tǒng)正常運行時,從控制器框架的CNBR/D節(jié)點地址會自動加1,變?yōu)?。
1757-SRM是用于同步的冗余模塊,主從控制器框架的SRM通過光纖連接。正常工作時,1756-L61中所有的程序和數(shù)據(jù)通過光纖進行同步,在RSLOGIX5000編程中,不必對此模塊進行組態(tài)。
1756-ENBT是以太網(wǎng)接口模塊,通過網(wǎng)線連接到交換機。ENBT的地址分配為兩個連續(xù)的IP即可, 在這個系統(tǒng)中IP地址分別為192.168.1.11和192.168.1.12。
3 模塊的升級
冗余系統(tǒng)中,主控制器框架和從控制器框架上各個模塊的版本必須嚴(yán)格一致,并到達到要求的版本號,否則無法正常工作。
當(dāng)版本不一致時,在RSLinx中可能無法看到從控制器框架上的處理器,同時,從控制器框架的處理器狀態(tài)指示燈(OK燈)變?yōu)榧t色長亮。因此,一般系統(tǒng)在第一次上電時,需要進行固件升級。根據(jù)AB公布的信息,當(dāng)前一些模塊的固件版本如表2所示,這個版本同樣適用于1756-L62, 1756-L63。
上電后,首先在RSLinx中檢查模塊的版本號,如果與表2不一致,需要到AB網(wǎng)站上去下載這個版本的升級包V13.71 Redundancy Bundle。升級工作需要使用Rockwell的固件升級軟件ControlFLASH。
升級前,先要取消SRM的從框架資格,在RSLinx中,從框架比主框架的節(jié)點地址大1。從圖標(biāo)上進入1757-SRM的屬性,找到Configration的Auto-Synchonization選項,將參數(shù)改為NEVER.然后進入Synchonization選項卡,單擊Disqualify Secondary(取消從框架資格),這個時候主從處理器之間就不會同步了。
升級時,先打開一個處理器框架的電源,關(guān)閉另一個框架的電源。等1757-SRM顯示PRIM后,在RSLinx中可以找到這個框架中的模塊。然后使用ControlFLASH分別進行升級。升級完畢后,關(guān)閉這個處理器框架的電源,打開另一個框架的電源,也如此進行升級。
升級完畢后,進入1757-SRM的屬性,將從控制器設(shè)為主控制器,使用RSLogix5000將程序下載到從處理器,關(guān)閉機架電源,進入從1757-SRM的屬性,選擇BecomePrimary,然后進入RSLogix5000的通訊菜單,清除掉故障。完成以上升級工作后,主從控制器框架都上電,然后使用RSNetWorx for ControlNET對網(wǎng)絡(luò)進行調(diào)度。
在正常工作情況下,一般哪一個框架先上電,哪一個就是主框架,另一個是從框架,主框架的1757-SRM會顯示PRIM,從框架的會顯示SYNC。正常運行時,在SRM屬性中可以進行主從的切換。如果顯示狀態(tài)與這個不一致,表示系統(tǒng)同步出現(xiàn)問題,需要進行進行檢查,剛上電時因為SRM需要自檢,可能要花一些時間。如果同步光纖、ControlNET或者以太網(wǎng)出現(xiàn)連接問題,都有可能導(dǎo)致同步不正常。
在RSLogix5000中進行冗余系統(tǒng)的編程時,只能使用一個連續(xù)性任務(wù)或幾個周期性任務(wù)。盡量不要使用SINT和INT型的數(shù)據(jù),另外,數(shù)據(jù)的定義最好都采用數(shù)組完成,這樣可以提高同步時的效率。在打點和程序調(diào)試期間,由于經(jīng)常下載程序,這個時候容易導(dǎo)致同步出錯,最好在1757-SRM中把自動同步選項設(shè)為禁用,采用手動的方式進行同步。等調(diào)試完畢后,再把這個選項打開,正式將系統(tǒng)投運。
4 RSLinx中的冗余配置
為了保證冗余系統(tǒng)能夠和上位機的HMI軟件正常通訊,需要在RSLinx中進行冗余配置。
RSLinx中,首先定義兩個Topic,分別指向主框架和從框架的處理器,然后,在Alias Topic中,定義一個別名Topic,指向剛才定義的兩個Topic,在使用時,HMI中的節(jié)點的定義只要指向別名Topic就可以了,當(dāng)處理器發(fā)生主從切換時,HMI仍然可以保持正常的通訊。
5 SRM時間同步
1757-SRM正常運行時,需要對同步過程中發(fā)生的事件按照時間順序進行記錄,1757-SRM出廠時的缺省時間不是當(dāng)前的時間,因此需要對SRM進行時間重新設(shè)置。在設(shè)置1757-SRM時間時,筆者采用編程的方式將1757-SRM的時間與處理器的時間進行同步,同時,利用AB提供的時間同步工具,筆者可以將處理器的時間與上位機的時間進行同步,這樣也就實現(xiàn)了1757-SRM與上位機的時間同步。
在RSLogix5000中添加程序,如圖2所示:
圖2 RSLogix5000中添加程序
GSV中讀出的時間數(shù)據(jù)寫入到WCT(WCT定義為DINT[2].)然后,由MSG把數(shù)組WCT的值寫入到SRM的時間屬性。MSG指令的設(shè)置如圖3所示。
圖3 MSG指令的設(shè)置
通訊配置如圖4所示。通訊配置的格式為:1,SRM的槽號。
圖4 配置顯示
這一程序表示從處理器中讀出時間,放入到WCT中,然后把WCT的值寫入到SRM中。
程序運行后,處理器和SRM的時間就實現(xiàn)同步了。然后在上位機運行時間同步工具。
"C:Program FilesRockwell SoftwareRSLogix 5000 ToolsLogix5000 Clock Update Tool"
先添加設(shè)備,從RSWho中選中要同步的處理器。在添加的處理器圖標(biāo)上點擊鼠標(biāo)右鍵,在彈出的菜單中選擇synchronize device,這樣就實現(xiàn)了上位機與CPU的時間同步。那末也就實現(xiàn)了SRM與上位機的時間同步。
如果Controllogix的時間誤差較大,但又對SRM的時間要求較高,可以利用時間同步工具的常駐內(nèi)存運行功能,實現(xiàn)實時的時間同步。在scheduled synchronizations菜單中可以添加需要進行實時時間同步的CPU,同步的時間間隔進行相應(yīng)的配置后,就可以實現(xiàn)實時的時間同步了。
利用這個原理,通過相應(yīng)的設(shè)置,可以實現(xiàn)同一網(wǎng)絡(luò)中不同Controllogix處理器之間的時間同步,或者不同SRM之間的時間同步,也可以時間不同網(wǎng)絡(luò)之間的時間同步。
6 處理器的故障處理
雖然在處理器發(fā)生故障時,會導(dǎo)致處理器的切換,但我們可以通過編程來防止可以預(yù)見的故障的產(chǎn)生。當(dāng)處理器在運行過程中出現(xiàn)主要故障時,可以使用程序清除這一故障。
在RSLogix5000的用戶自定義類型中,定義一個名為FaultData的數(shù)據(jù)類型,內(nèi)部變量的數(shù)據(jù)類型如圖5所示。然后定義一個變量CHI為FaultData。然后如圖6所示添加控制器故障處理程序。程序如圖7所示。
圖5 FaultData內(nèi)部變量的數(shù)據(jù)類型
圖6 添加控制器故障處理程序
圖7 控制區(qū)故障處理程序
通過以上程序可以很好的防止處理器主要故障的發(fā)生。一般次要故障不會引起處理器停機和冗余的切換,因此次要故障的處理程序不是很有必要。
7 結(jié)束語
自從該汽輪機發(fā)電系統(tǒng)投產(chǎn)后,Rockwell Controllogix PLC冗余系統(tǒng)運行相當(dāng)?shù)姆€(wěn)定,還未出現(xiàn)因為故障導(dǎo)致的切換,通過上位機上開發(fā)的Rsview32應(yīng)用,除對工藝設(shè)備進行監(jiān)視外,對PLC的冗余狀態(tài)也能在線監(jiān)視,整套系統(tǒng)可以做到長期免維護運行。