田大海,黃允凱,林鶴云
1 引言
可編程邏輯控制器(PLC)作為工業(yè)自動化的核心設備,在港口、環(huán)保、機械加工、冶金和電力等重要工業(yè)領域的應用愈來愈廣泛,其系統(tǒng)的高可靠性通常通過冗余控制設計來實現(xiàn)。
本文采用Rockwell Automation的新一代控制器ControlLogix5550作為主控制器,設計了一個冗余控制系統(tǒng)。該系統(tǒng)具有較強的容錯功能,當出現(xiàn)某些故障時,系統(tǒng)仍能執(zhí)行規(guī)定的任務,并且執(zhí)行結果也不會因系統(tǒng)中的各種故障而產生差錯。文中詳細介紹了系統(tǒng)結構、冗余設計思路和冗余實現(xiàn)過程,對于重要工業(yè)控制場合的冗余控制設計具有一定的指導意義。
2 ControlLogix5550控制器與系統(tǒng)結構
2.1 ControlLogix5550控制簡介
ControlLogix是新一代PLC產品,其強大的網絡組態(tài)功能為EtherNet/DeviceNet/DH+/Remote I/O/DF1等多種網絡的互相連接提供了極大的方便,它把這些網絡的掃描模塊集中到同一架構的不同插槽上,并由一臺控制器來統(tǒng)一管理,不同網絡中的節(jié)點地址由不同網絡的掃描模塊來決定,可以手動設定。ControlLogix控制器模塊1756-L1是一個32位的控制器。
2.2 系統(tǒng)結構
系統(tǒng)全部采用Rockwell Automation公司的軟硬件,硬件包括兩臺ControlLogix5550控制器、控制開關、1305變頻器以及DeviceNet及ControlNet接口適配器。軟件有組態(tài)軟件RSLinx 和RSNetworx,以及對ControlLogix5550進行編程的RSLogix5000。在連接好網絡之后,使用上述軟件對DeviceNet下的設備網設備進行組態(tài),然后進行編程調試,即可完成對系統(tǒng)的實現(xiàn)。
系統(tǒng)采用了CPU冗余的實現(xiàn)方案,即由兩個CPU同時控制被控對象,兩臺控制器分別監(jiān)視對方的工作狀態(tài),以便在需要的時候迅速做出切換。系統(tǒng)中的被控對象主要是以三相異步電動機為負載的1305變頻調速器。由于程序的不穩(wěn)定性,CPU運行錯誤造成故障的可能性要遠比由硬件損壞造成故障的可能性要大,因而本例中采用雙PLC單總線的結構,兩臺控制器均為ControlLogix5550,以下簡稱PLC1和PLC2,在編程時對兩臺控制器分別寫入程序,兩臺控制器中的程序是完全對稱的。參照圖1,以節(jié)點14的控制開關控制終端的起停,節(jié)點06、60代表兩臺PLC,節(jié)點17是驅動三相異步電動機的變頻調速器AC Driver 1305。
掃描模塊1756-DNB是設備與控制器ControlLogix5550之間的通信接口。它通過網絡與DeviceNet的現(xiàn)場設備進行通信,即從設備讀入數(shù)據(jù)、輸出數(shù)據(jù)到設備、下載組態(tài)數(shù)據(jù)和監(jiān)視設備的運行狀態(tài)。
工作時,1756-DNB以一定的方式依次掃描各個設備,對其參數(shù)進行采集,并將采集到的數(shù)據(jù)映射到掃描器中與掃描方式相對應的數(shù)據(jù)緩沖區(qū),再轉換成ControlLogix5550能接受的數(shù)據(jù)格式供控制器讀取,這樣就可以將現(xiàn)場總線中各設備的實時信息反饋到控制器,以便根據(jù)程序做出相應的反應。數(shù)據(jù)經ControlLogix5550處理之后,送到掃描器的與掃描方式相對應的輸出數(shù)據(jù)緩沖區(qū),轉換為各設備可以接受的數(shù)據(jù)格式,輸出到各設備,從而對其工作進行控制。由此可見,PLC控制器只需要讀入、輸出規(guī)定格式的數(shù)據(jù),專門負責數(shù)據(jù)處理;而數(shù)據(jù)的采集、發(fā)送、緩沖和格式轉換由掃描器完成,ControlLogix5550和1756-DNB并行工作也使得控制器的輸出對輸入的響應時間縮短,有利于實現(xiàn)實時閉環(huán)控制。這樣即便是像PID指令這種對實時性要求較高的操作也可以收到良好的效果。
3 冗余控制的實現(xiàn)
3.1 設計思想
系統(tǒng)控制對象是工業(yè)現(xiàn)場的電機,也可以是其它有較高可靠性要求的工業(yè)控制設備,冗余的實現(xiàn)方式是同時采用兩臺控制器ControlLogix5550,其中一臺為主機,另一臺作為系統(tǒng)的備份,為副機,正常情況下由主機控制整個系統(tǒng),副機保持與主機通訊,監(jiān)控主機的運行狀態(tài)。當副機監(jiān)視到主機的運行故障的時候,立即運行切換程序,將控制權轉到副機,而當主機的故障恢復之后,則控制權重新交還給主機。
3.2 系統(tǒng)監(jiān)控功能
該功能由一個脈沖發(fā)生程序,以及一個脈沖接收程序實現(xiàn)。脈沖發(fā)生電路產生“心跳線”信號,由ControlLogix5550內部自帶的計時器構成,周期0.2秒,接收端的I槽負責接收來自對方機器的“心跳線”信號,故障判斷程序由計數(shù)器和計時器組成,計時器的設定時間比接收到規(guī)定數(shù)目脈沖的時間要長,這樣,在脈沖被正常發(fā)送、接收的時候錯誤信號是不會被觸發(fā)的,只有當一定時間內沒有收到規(guī)定數(shù)量的脈沖信號時,計時器的完成位DN信號就觸發(fā)輸出錯誤信號,給對方接收。在程序中可設定當某臺機器接收到來自對方機器的本機發(fā)生錯誤的信號時,就立即完成一次控制權的更迭。計時器的各控制位的含義及階梯條件見表1。
'
4 編程和調試
4.1 兩臺ControlLogix5550控制器間的通訊
這一部分由三個計時器以及一個計數(shù)器組成,其中兩個計時器配合使用可以使PLC2產生該冗余系統(tǒng)中必須的心跳線信號,作為監(jiān)測PLC1工作狀態(tài)的基準信號。另外的一個計時器和一個計數(shù)器配合使用判斷PLC1的工作狀態(tài)。
輸入輸出位:
Local:I.data[2]:接收對方的心跳信號;
Local:O.data[2]:當檢測到對方機器工作狀態(tài)出現(xiàn)問題的時候觸發(fā);
Local:O.data[1]:輸出本機發(fā)生的脈沖信號。
監(jiān)控原理:
(1) 脈沖發(fā)生部分
首先,當PLC2的Master-ID為1之后,即表示PLC2是從機狀態(tài),計時器Timer0被啟動,然后它以0.1s的周期進行循環(huán)記時操作,當計時到位的時候,用它的DN信號觸發(fā)b.1,即整數(shù)文件b的第一位,作為計時器Timer1的使能信號,它是一個計時周期同樣也是0.1s的計時器,在這段時間之內用Timer3/TT信號取非來鎖住Timer0計時器,使其停止工作,因為控制器Output模塊1746-OB16的Local:O.data[1]位輸出的是Timer1/TT信號,它總是以0.1s為時間間隔交替出現(xiàn)高低電平,因此將該信號輸出,即可得到以0.2s為周期的脈沖方波信號。如圖2所示,Timer0和Timer1交替出現(xiàn)高電平。
(2) 脈沖檢測部分
當計時器Timer1完成第一次計時操作后,也即在PLC2發(fā)出第一個脈沖的時候,Timer1/DN對計時器Timer2的使能信號b.8進行一次置1操作,這時Timer2開始計時,它的預置計時值設為4秒。同時計數(shù)器Counter0開始對它收到的PLC1的脈沖個數(shù)進行計數(shù),設它的計數(shù)預置值為5,因為它所接收的脈沖周期為0.2秒,即在1秒內它應該完成一次計數(shù)操作。計數(shù)器的計數(shù)到位信號Counter0/DN在其完成一次計數(shù)操作之后,自動復位計時器Timer2的使能信號b.8,則在系統(tǒng)正常工作的情況下b.8應該每一秒鐘被置位一次,其計時到位信號Timer2/DN只有在PLC1出現(xiàn)不正常工作狀態(tài)的時候才會出現(xiàn)置位,所以該信號可作為指示對方PLC不正常工作狀態(tài)的信號。
4.2 PLC控制權切換子程序
該程序的主要功能就是將監(jiān)控中發(fā)現(xiàn)的另一臺PLC運行出錯的信號進行輸出,當超過規(guī)定時間后,PLC2仍然沒有收到足夠個數(shù)的脈沖。則Timer2/DN信號置位,表明PLC2監(jiān)測到PLC1工作狀態(tài)出現(xiàn)了問題,這時候Timer2/DN將觸發(fā)另一個計時器Timer3的使能信號b.6完成一次0.4s的計時過程,并將此次計時的Timer3/TT信號作為一個高電平信號輸出,這就是PLC1 收到的Local:I.data[4]信號。
如果一臺PLC控制輸入輸出模塊的掃描周期遠長于Timer3/DN信號的高電平狀態(tài)維持時間,則對方PLC無法讀入脈沖信號,此時可以換用Timer3/TT信號進行輸出。
5 運行結果
將其中一臺ControlLogix控制器斷電,經過若干脈沖后,另一臺控制器在設定的時間內啟動,負載電機順利過渡到副機控制,通過波形分析可知,在這個過渡過程中,電機抖動在合理的范圍內。