基于Modbus協(xié)議的空調(diào)控制系統(tǒng)
1 引言
Modbus 是工業(yè)通訊通用協(xié)議中的一種,已被眾多的廠商所支持并廣泛用于工業(yè)控制領(lǐng)域,并且也是諸多中國國家工業(yè)總線通訊gb標(biāo)準(zhǔn)之一。通過modbus協(xié)議,控制器相互之間、控制器經(jīng)由網(wǎng)絡(luò)和其它設(shè)備之間通信實現(xiàn)監(jiān)控。modbus作為一種通用工業(yè)標(biāo)準(zhǔn),不同廠商生產(chǎn)的控制設(shè)備可以連成工業(yè)網(wǎng)絡(luò),進(jìn)行集中監(jiān)控。
早期的車間自動化設(shè)備基于硬接線plc組建控制系統(tǒng),雖然硬接線方式具有可靠、穩(wěn)定的優(yōu)點,但對于大規(guī)模自動化系統(tǒng)布線成本偏高。若采用modbus協(xié)議等通用工業(yè)標(biāo)準(zhǔn),可減少plc模件使用量,縮減電纜費用,從而降低工程造價。本文結(jié)合工程實際,介紹modbus協(xié)議在空調(diào)控制系統(tǒng)中的應(yīng)用。
2 電廠空調(diào)系統(tǒng)案例
2.1 modbus通訊協(xié)議簡介
modbus 通訊協(xié)議,是一種串行的、非同步的主從通訊協(xié)議,網(wǎng)絡(luò)中只有一個設(shè)備能夠建立協(xié)議,其它的設(shè)備只能通過提供數(shù)據(jù)響應(yīng)主機的查詢,或根據(jù)查詢做出相應(yīng)的動作。modbus協(xié)議定義了主機查詢的格式,其包括:主從機的編址方法(或廣播),要求動作的功能代碼,傳輸數(shù)據(jù)和錯誤校驗等,或不能完成主機要求的動作,它將組織一個故障作為響應(yīng)。modbus協(xié)議不需要特別的接口,典型的物理接口是rs485。在modbus通訊網(wǎng)絡(luò)中,一般可提供ascii、 rtu、plus、tcp/ip等通訊模式。在實際應(yīng)用中,可以使用rs232、rs485/422、modem加電話線、以及tcp/ip來聯(lián)網(wǎng)。所以,modbus的傳輸介質(zhì)種類較多,可以根據(jù)傳輸距離來選擇。
2.2 工程背景
某電廠設(shè)計有4套集中空調(diào)系統(tǒng),配置了觸摸屏可就地控制,要求在暖通控制室遠(yuǎn)程監(jiān)控。每套空調(diào)配有西門子小型plc程控裝置,留有遠(yuǎn)程硬接線接口,該plc帶有485接口,支持modbus協(xié)議,因此可通過通信方式實現(xiàn)機組的遠(yuǎn)程監(jiān)控。
暖通控制室距空調(diào)機組大約200米,因此可組建簡單方便、成本低的rs485/modbus網(wǎng)絡(luò)。采用modbus的rtu形式,這種接線方式為總線式拓樸結(jié)構(gòu),在同一總線上最多可以掛接32個結(jié)點。
考慮輔助控制系統(tǒng)plc設(shè)備統(tǒng)一性,選用羅克韋爾的1763-l16bwa處理器作為該rs485/modbus通訊網(wǎng)絡(luò)的主站,4個空調(diào)機組plc作從站,用一根對絞線電纜以總線方式把主站與從站連接起來,建立簡單的rs485/modbus通信網(wǎng)絡(luò)。1763-l16bwa帶有以太網(wǎng)接口,通過交換機與操作員站連接,便可在上位機對空調(diào)機組進(jìn)行監(jiān)控。
2.3 控制系統(tǒng)實現(xiàn)
當(dāng)一個modbus-rtu主站想要從一臺從站得到數(shù)據(jù)的時候,這個主站會發(fā)送一條包含該設(shè)備地址、功能代碼、所需要數(shù)據(jù)以及一個用于檢測錯誤的求和校驗碼的信息。網(wǎng)絡(luò)上的所有其它從站都可以看到這一條信息,但是只有地址被指定的設(shè)備才會作出反應(yīng)。
設(shè)備地址是一個從0到247的數(shù)字,空調(diào)系統(tǒng)plc從站地址可在就地觸摸屏進(jìn)行設(shè)定。
功能代碼定義了從設(shè)備應(yīng)該執(zhí)行的命令,例如讀取數(shù)據(jù)、接受數(shù)據(jù)、報告狀態(tài)等等。功能代碼為從1到255的數(shù)字。
數(shù)據(jù)為讀取功能定義了在設(shè)備存儲器映射當(dāng)中的地址,它包括被寫入設(shè)備存儲器的數(shù)據(jù)值,或是包括其它根據(jù)功能代碼的要求需要被執(zhí)行的信息。
錯誤檢查是一個描述循環(huán)冗余校驗(crc)的16-bit數(shù)值。循環(huán)冗余校驗碼(crc)由主設(shè)備產(chǎn)生,并且由接收設(shè)備進(jìn)行檢查。如果crc值不符,這個設(shè)備就會要求重新傳送訊息。在有些系統(tǒng)里面,還要對數(shù)據(jù)進(jìn)行奇偶校驗。
當(dāng)從設(shè)備執(zhí)行了所要求的功能,它會返回一條訊息給主設(shè)備。這條返回的訊息包含了從設(shè)備的地址、所要求的功能代碼、所要求的數(shù)據(jù)以及一個錯誤檢查值。
讀取和寫入數(shù)據(jù):modbus擁有最多255個功能代碼,但是01(讀取輸出量)、02(讀取離散輸入)、03(讀取保持寄存器)、04(讀取輸入寄存器)、05(寫入單一離散量輸出)以及06(寫入單一寄存器)是最為常用的讀寫功能代碼,這些代碼被用來從modbus從設(shè)備采集數(shù)據(jù)和向從設(shè)備發(fā)出指令。
本系統(tǒng)中從站已定義了modibus地址所代表的信息,通訊波特率為9600,偶校驗。這樣可以很容易的通過讀寫命令獲得空調(diào)機組狀態(tài)信息和向其發(fā)出指令。
2.4 工業(yè)總線工程經(jīng)驗
在工程調(diào)試中我們會遇到各種各樣的問題,在此結(jié)合本工程作簡單的介紹。
(1) 要使用同一型號雙絞線。在本工程施工中,施工人員接線時由于通訊電纜長度預(yù)估不足,在連接3、4號從站時使用了另一型號雙絞線。在調(diào)試時發(fā)現(xiàn)不能讀寫數(shù)據(jù),為排查問題做了大量工作,最后發(fā)現(xiàn)該問題,更換同一型號雙絞線后問題此解決,這給調(diào)試帶來額外的麻煩,既費時又費力。
(2) 雙絞線與485母口焊接要規(guī)范。在空調(diào)控制系統(tǒng)調(diào)試時遇到了兩芯線短路的現(xiàn)象,這可能也是廣大工程人員經(jīng)常遇到的問題,測量雙絞線兩芯線無電壓,斷定必然存在短路,到就地拆下各從站接口查看,發(fā)現(xiàn)有兩個接口焊接不好,有外漏線芯連在一起造成短路,重新焊接后,檢測線纜電壓,在正常范圍內(nèi)。
(3) 信號地連接。大多情況下,連接rs-485總線時只是用一對雙絞線將各個接口端連接起來。而忽略了信號地的連接,這種連接方法在許多場合是能正常工作的,但卻留下了一定的隱患。
(4) 在構(gòu)建手牽手總線型網(wǎng)絡(luò)結(jié)構(gòu)時,從總線到每個節(jié)點的引出線長度應(yīng)盡量短,若通信距離較長或通信速率提高會造成信號質(zhì)量下降。
以上幾點問題是工程實際經(jīng)常遇到的問題,也是影響控制系統(tǒng)穩(wěn)定運行的重要因素,處理好這些問題,保證通信系統(tǒng)的穩(wěn)定、可靠運行。
3 結(jié)束語
本案例說明了rs485/Modbus通訊方式的簡單易實現(xiàn)和低成本性,這種方式完全能夠滿足電廠部分輔助控制系統(tǒng)的需要,可推廣應(yīng)用。文中還介紹了現(xiàn)場遇到的問題,希望能給工程技術(shù)人員以一定的幫助。