李宇軒+張曉清
【摘 要】 一體化溴化鋰非電中央空調(diào)控制系統(tǒng)設(shè)計包括中央空調(diào)主機(jī)控制系統(tǒng)和水輸配控制系統(tǒng),其中變頻控制部分設(shè)計關(guān)系到系統(tǒng)可靠運(yùn)行和節(jié)能運(yùn)行,以往變頻器頻率調(diào)節(jié)多采用端子模擬量調(diào)節(jié),抗干擾能力差,本文針對溴化鋰非電中央空調(diào)變頻控制系統(tǒng)可靠性設(shè)計,提出了一種通信控制和端子模擬量控制相結(jié)合的控制方法,并給出了使用Siemens S7-300系列PLC和施奈德ATV312系列變頻器實(shí)現(xiàn)的方法。
【關(guān)鍵詞】 Modbus RTU協(xié)議 CRC校驗(yàn) 串行通信 PLC
【Abstract】 For the reliability of Non-electric central air conditioning control system design, A kind of inverter control system combined communication control and analog control is presented, and also the realization based on Siemens S7-300 Series PLC and Shneider ATV312 series inverter is introduced in detail.
【Key words】 Modbus RTU;CP340;CRC;PLC
溴化鋰非電中央空調(diào)主機(jī)與水輸配系統(tǒng)組合設(shè)計形成了中央空調(diào)一體化系統(tǒng),控制系統(tǒng)中的變頻部分設(shè)計是一體化系統(tǒng)設(shè)計的重要內(nèi)容。一體化系統(tǒng)變頻設(shè)計包括主機(jī)部分的發(fā)生泵變頻和冷劑泵變頻,水輸配系統(tǒng)中的空調(diào)水泵變頻、冷卻風(fēng)機(jī)變頻和冷卻水泵變頻。發(fā)生泵用于控制主機(jī)溴化鋰溶液的循環(huán),通過變頻設(shè)計可以使發(fā)生泵能準(zhǔn)確控制主機(jī)溶液循環(huán)量;冷劑泵控制冷劑二次噴淋,變頻控制可以精確控制冷凍水出水溫度;空調(diào)水泵和冷卻水泵用于空調(diào)水和冷卻水循環(huán),部分負(fù)荷情況下,變頻運(yùn)行能達(dá)到節(jié)能的目的;冷卻風(fēng)機(jī)控制冷卻水入口溫度,變頻設(shè)計可以恒定冷卻水入口溫度,保證機(jī)組穩(wěn)定運(yùn)行。以往變頻系統(tǒng)設(shè)計通常采用端子控制,頻率通過4-20mA信號給定,在實(shí)際運(yùn)行過程中模擬量信號很容易受到干擾,變頻器頻率不穩(wěn)定,有時甚至損壞模擬量模塊輸出通道。隨著工業(yè)通信技術(shù)進(jìn)步,基于RS485總線技術(shù)的通信控制正在被廣泛應(yīng)用于多臺變頻器控制系統(tǒng)設(shè)計中,并逐步取代模擬量控制。溴化鋰中央空調(diào)一體化變頻系統(tǒng)設(shè)計必須能滿足中央空調(diào)系統(tǒng)連續(xù)可靠性運(yùn)行要求,本文結(jié)合實(shí)際給出了一種Modbus RTU通信控制和端子控制相結(jié)合的設(shè)計方法,大大提高了系統(tǒng)運(yùn)行的可靠性。
1 控制系統(tǒng)硬件設(shè)計
1.1 控制系統(tǒng)結(jié)構(gòu)
一體化變頻控制系統(tǒng)由Modbus RTU通信控制部分和端子模擬量控制部分組成,系統(tǒng)結(jié)構(gòu)如圖1所示。通信部分由PLC串行通信模塊CP340和施耐德ATV312變頻器組成,通信系統(tǒng)采用主從通信方式,CP340是通信網(wǎng)絡(luò)中的主站,變頻器是通信網(wǎng)絡(luò)中的從站,整個通信系統(tǒng)共有5臺變頻器從站。端子模擬量控制部分由Profinet網(wǎng)絡(luò)中的子站完成,子站輸入模塊DI-131用于檢測變頻器運(yùn)行故障,輸出模塊DO-132輸出模塊控制變頻器啟停和變頻器故障復(fù)位,同時可以切換通信控制和模擬量控制,模擬量輸出模塊AO-135輸出 4-20mA模擬量信號控制變頻器運(yùn)行頻率。
1.2 變頻器控制接口設(shè)計
控制系統(tǒng)設(shè)計要求實(shí)際運(yùn)行時以通信控制為主,通信控制出現(xiàn)異常時必須切換到端子控制,通信恢復(fù)后系統(tǒng)必須自動恢復(fù)通信控制,并且要求在切換過程中變頻器頻率波動最小。施奈德ATV312系列變頻器提供了遠(yuǎn)程通信控制功能和強(qiáng)制本地控制功能,遠(yuǎn)程通信控制功能和強(qiáng)制本地控制功能是實(shí)現(xiàn)變頻器通信控制和端子控制的關(guān)鍵。系統(tǒng)設(shè)計時使用的變頻器接口包括Modbus通信控制時的通信控制接口,端子控制時的啟??刂平涌?、通信轉(zhuǎn)端子控制的強(qiáng)制接口、模擬量信號輸入接口、故障復(fù)位控制接口、故障信號輸出接口。變頻器通信采用RJ45接口,4腳5腳為Modbus RS485數(shù)據(jù)線,8腳為公共端,通信信號有CP340模塊給出;在端子控制時,變頻器LI1端子設(shè)定為啟停控制端子,同時必須定義為強(qiáng)制轉(zhuǎn)換端子,信號由ET200S從站的8DO-132輸出繼電器KAS給出。變頻器LI3端子定義為故障復(fù)位端子,復(fù)位信號同樣由8DO-132模塊的輸出繼電器KAR給出。變頻器內(nèi)部繼電器R1設(shè)置為模擬量運(yùn)行的故障輸出,故障信號輸出到8DI-131模塊。變頻器端子AI3設(shè)置為4-20mA模擬量輸入,輸入信號由PLC模擬量模塊2AO-135給定。
在控制系統(tǒng)設(shè)計時考慮到應(yīng)用的可靠性,變頻器參數(shù)必須在運(yùn)行前手動設(shè)定。變頻器IO菜單中Tcc設(shè)置為兩線控制,模擬量最小值參數(shù)CrL3設(shè)置為4mA,模擬量最大值參數(shù)CrH3設(shè)置為20mA,輸出繼電器R1設(shè)置為故障輸出。變頻器使用AI3作為模擬量輸入端,CtL菜單參數(shù)Fr1參數(shù)設(shè)為AI3,tFC設(shè)置為Fr1。通信菜單COM中,Add為變頻器通信站號,Tbr為通信速率,設(shè)置為9600,tFO為通信格式,設(shè)為8N1,TTO為變頻器超時檢測,防止變頻器失去控制時仍繼續(xù)運(yùn)行,設(shè)置時間為20秒,F(xiàn)LO為強(qiáng)制本機(jī)模式,設(shè)置為LI1,和兩線制起??刂乒灿?,即變頻器切換到端子控制時,強(qiáng)制本機(jī)控制和起??刂仆瑫r生效。變頻器設(shè)計接口原理如圖2所示。
1.3 CP340模塊通信設(shè)置
CP340是Siemens公司經(jīng)濟(jì)型的串口通信模塊,支持RS485/RS422通信,可以實(shí)現(xiàn)多站點(diǎn)間的主從通信,因此采用支持RS485通信的CP340模塊可以方便的實(shí)現(xiàn)Modbus RTU串行協(xié)議。在本系統(tǒng)設(shè)計中參數(shù)設(shè)置為通信接口模式選擇RS485,2線制,半雙工通信;協(xié)議采用ASCII通信協(xié)議,以字符傳送時間間隔作為信息幀結(jié)束標(biāo)志,延時時間為4ms;通信格式中通信速率9600bps,8位數(shù)據(jù)位,1位停止位,無校驗(yàn);傳送過程無數(shù)據(jù)流控制,數(shù)據(jù)緩沖區(qū)大小設(shè)置為250,接收開始緩沖區(qū)清零。
2 控制系統(tǒng)軟件設(shè)計
2.1變頻器Modbus RTU通信控制邏輯
ATV312變頻器Modbus通信可以實(shí)現(xiàn)參數(shù)配置、運(yùn)行參數(shù)修改、運(yùn)行控制和狀態(tài)監(jiān)視功能。ATV312變頻器用于通信控制的內(nèi)部寄存器包括狀態(tài)寄存器ETA和命令寄存器CMD。狀態(tài)寄存器ETA主要用于顯示變頻器當(dāng)前狀態(tài),包括上電初始化、參數(shù)配置、變頻器鎖定、變頻器允許運(yùn)行、變頻器故障以及變頻器正反轉(zhuǎn)等狀態(tài);命令寄存器CMD通信過程用于上位機(jī)命令的存儲,變頻器根據(jù)寄存器CMD的代碼決定下一步如何運(yùn)行。在實(shí)際變頻器通信設(shè)計時,上位機(jī)必須時刻檢測狀態(tài)寄存器ETA狀態(tài)值,并根據(jù)狀態(tài)代碼決定發(fā)送到命令寄存器CMD命令代碼。
2.2 PLC通信程序設(shè)計
ATV312變頻器通信控制狀態(tài)寄存器ETA的Modbus地址為W8603,命令寄存器CMD的Modbus地址為W8601。ATV312變頻器Modbus通信支持0x03功能碼和0x10功能碼,變頻器通信控制運(yùn)行時,PLC首先使用0x03功能碼讀狀態(tài)寄存器ETA狀態(tài),再根據(jù)ETA不同狀態(tài)使用功能碼0x10向變頻器發(fā)送命令進(jìn)行變頻器控制。PLC通信程序設(shè)計包括通信主功能塊FB500、發(fā)送接收通信過程功能塊FB501、Modbus命令封裝功能FC500、命令CRC校驗(yàn)功能FC501。程序執(zhí)行時循環(huán)組織塊OB1調(diào)用通信主功能塊FB500,F(xiàn)B500首先調(diào)用Modbus命令封裝功能FC500和CRC校驗(yàn)功能FC501封裝通信命令,然后調(diào)用發(fā)送接收通信過程功能塊FB501,F(xiàn)B501調(diào)用發(fā)送數(shù)據(jù)功能塊FB2和數(shù)據(jù)接收功能塊FB3完成數(shù)據(jù)通信過程。如圖3所示。
通信主功能塊FB500控制通信程序流程,實(shí)現(xiàn)通信參數(shù)的初始化、控制發(fā)送接收過程和通信異常處理等功能。通信過程分三個階段,即讀狀態(tài)寄存器ETA階段,發(fā)送控制命令階段和讀變頻器運(yùn)行數(shù)據(jù)階段。變頻器啟停控制時,程序首先讀狀態(tài)寄存器,此過程必須將系統(tǒng)中的所有變頻器狀態(tài)都讀上來,并存儲到對應(yīng)的數(shù)據(jù)塊中;第二階段是根據(jù)寄存器狀態(tài)進(jìn)行變頻器復(fù)位控制和啟??刂疲坏谌A段是當(dāng)變頻器執(zhí)行完控制過程命令后讀取變頻器運(yùn)行數(shù)據(jù),用來反饋?zhàn)冾l器運(yùn)行狀態(tài)。程序在處理變頻器通信異常和變頻器故障時采取不同的方法,通信異常時程序自動切換到端子控制,變頻器故障時程序根據(jù)ETA狀態(tài)對變頻器進(jìn)行復(fù)位,直到將變頻器復(fù)位到啟動前狀態(tài)。圖4是主模塊通信控制流程。
發(fā)送接收通信過程功能塊FB501主要完成數(shù)據(jù)接收和發(fā)送,當(dāng)FB500封裝完命令后調(diào)用FB501進(jìn)行數(shù)據(jù)通信。首先FB501程序根據(jù)輸入?yún)?shù)解析出要發(fā)送命令的DB號,然后解析出命令的首地址,調(diào)用數(shù)據(jù)發(fā)送功能塊FB3完成數(shù)據(jù)發(fā)送,并延時調(diào)用數(shù)據(jù)接收功能塊FB2完成數(shù)據(jù)接收。程序在命令發(fā)送完成后進(jìn)行了接收超時檢測處理,并在數(shù)據(jù)接收完成后向通信主功能塊發(fā)送接收完成標(biāo)志,啟動下一次循環(huán)過程。下面是FB501功能塊的部分程序。
//調(diào)用Modbus命令
A #bCommunicating_Enable
FP M 27.0
= #bSend_Enable
R #bCommunication_Forward
L P##pCommand_Address
LAR1
L W [AR1,P#0.0]
T #nDB_NO
L D [AR1,P#2.0]
SRD 3
T #nDBB_NO
//發(fā)送命令
CALL #fbVFD_Send (FB3)
REQ :=#bSend_Enable
R :=
LADDR :=#nCP340_Address
DB_NO :=#nDB_NO
DBB_NO:=#nDBB_NO
LEN :=#nCommand_Length
DONE :=#bSend_Done
ERROR :=#bSndAbnomal
STATUS:=#wSend_Status
//超時檢測
A #bSend_Done
FP M 27.1
S #bSend_Finished
A #bSend_Finished
L S5T#1S500MS
SD T 100
//接收延時
A #bSend_Finished
L S5T#100MS
SD T 101
A T 101
= #bReceive_Enable
L 501
T #nDB_NO
L 318
T #nDBB_NO
//數(shù)據(jù)接收
CALL #fbVFD_Receive (FB2)
EN_R :=#bReceive_Enable
R :=
LADDR :=#nCP340_Address
DB_NO :=#nDB_NO
DBB_NO:=#nDBB_NO
NDR :=#bReceive_Done
ERROR :=#bRevAbnomal
LEN :=#nReceive_Length
STATUS:=#wReceive_Status
//通信處理
O #bReceive_Done
O #bRevAbnomal
O T 100
= #bCommunicating_Disable
A #bCommunicating_Disable
AN #bCommunicating_Enable
O #bReceive_Done
O #bRevAbnomal
R #bSend_Finished
R T 100
A #bSend_Finished
FN M 27.2
S #bCommunication_Forward
//啟動下一次命令
A #bCommunication_Forward
AN #bSend_Finished
L S5T#1S
SD T 102
A T 102
= #bCommunication_End
R #bCommunication_Forward
//超時報警
A T 100
= #bRevTimeout
2.3 切換通信控制和端子控制
控制系統(tǒng)上電運(yùn)行時,變頻器以通信控制為主,當(dāng)系統(tǒng)檢測到PLC與變頻器之間通信異常時,系統(tǒng)通過程序切換到端子控制,在端子控制運(yùn)行時同時,系統(tǒng)不斷檢測通信狀態(tài),一旦通信恢復(fù)正常,系統(tǒng)立即回通信控制狀態(tài)。變頻器通信故障是通過發(fā)送功能塊、接收功能塊和通信超時檢測進(jìn)行判斷的,當(dāng)系統(tǒng)報通信故障并持續(xù)一定的時間后,PLC輸出模塊閉合KAS繼電器,強(qiáng)制變頻器為端子控制狀態(tài),此時頻率信號通過4-20mA模擬量輸出模塊給出;變頻器在端子控制時,PLC仍然不斷地試圖通過通信連接變頻器,當(dāng)檢測到通信正常后系統(tǒng)會立即切換到通信控制狀態(tài),此時繼電器KAS斷開,模擬量信號停止輸出。
3 結(jié)語
采用通信控制和端子控制的變頻系統(tǒng)實(shí)際運(yùn)行中,通信異常判斷檢測時間必須小于變頻器設(shè)定的通信超時時間,否則變頻器會由于運(yùn)行頻率不能保持而自動停止運(yùn)行。當(dāng)變頻器處于端子控制時,只要檢測通信穩(wěn)定下來即可切回通信控制。如果系統(tǒng)在變頻器停止運(yùn)行前仍不能恢復(fù)通信控制,變頻器停止運(yùn)行時必須首先將將模擬量信號減小到4mA以下,直到變頻器運(yùn)行頻率降為零時,才可斷開繼電器KAS。采用通信控制和端子模擬量控制的變頻器控制系統(tǒng)設(shè)計,在溴化鋰中央空調(diào)系統(tǒng)中得到了很好的應(yīng)用,保證了空調(diào)系統(tǒng)的平穩(wěn)運(yùn)行。
參考文獻(xiàn):
[1]甘朝輝.Siemens CP340模塊實(shí)現(xiàn)Modbus RTU協(xié)議的研究[J].工業(yè)控制計算機(jī),2005(2).
[2]周國祥.基于MODBUS總線的變頻調(diào)速系統(tǒng)設(shè)計與實(shí)現(xiàn)[J].工業(yè)控制,2007(12).
[3]西門子公司.CP340/341/440/441通信及編程.