引言
廣東某鉛鋅礦運轉工區的空氣壓縮機組是采礦生產中的關鍵設備,共有六臺進口的英格索蘭CENTAC空氣壓縮機,它的運行穩定與否直接關系到整個礦區的安全生產和經濟效益。
原上位機監控軟件為英格索蘭公司的CEM2.52,由于其數據處理量大,數據更新速度慢;并且軟件必須運行在Windows95英文版操作平臺上,操作人員很難看懂英文數據,軟件版本也無法升級;另外,上位機的報警功能失效,遠程操作與管理功能無法實現,造成操作人員無法及時發現問題,處理突發事件。為了解決上述存在的問題,提高生產自動化程度,決定對空氣壓縮機組原有的監控系統進行改造。控制系統間的通訊是改造過程中的難點,本文介紹了采用Modbus通訊協議實現上述通訊的方法,采用力控組態軟件開發了空氣壓縮機監控系統,實現了空氣壓縮機組的智能化控制,使得空氣壓縮機運轉穩定、可靠、精度高、維護方便,而且保證了礦區的安全生產,具有直接的經濟效益。
Modbus通訊協議
1.1協議
Modbus協議是由MODICON公司為其控制器設計的一種可靠而有效的工業控制系統通信協議。從功能上看,可以認為是一種現場總線[1]。Modbus協議定義了消息域格式和內容的公共格式,使控制器能認識和使用消息結構,而無需考慮通信網絡的拓撲結構,它描述了一個控制器訪問其它設備的過程。當采用Modbus協議通信時,此協議規定每個控制器需要知道自己的設備地址,識別按地址發來的消息,如何響應來自其它設備的請求,如何偵測錯誤并記錄。其數據通訊采用主―從方式,主機只能有1臺,每個從機都有指定的地址,地址范圍在0~247之間(其中0為廣播地址),只有主機具有主動權,從機只能對主機發送的命令作出響應。當主機端發出數據請求消息(查詢)時,從機端接收到正確消息后就可以發送數據到主機端以響應請求;主機端也可以直接發消息修改從機端的數據,實現讀和寫。查詢―回應周期如圖1。如果采用廣播方式(地址為0)查詢,從機不作任何回應。
1.2信息塊格式
Modbus通訊時主機發出的指令字符串的通常格式如表1。
從機地址:主機指明的接收命令的從機地址。
功能碼:功能碼決定本次通訊要求從機執行的動作,功能碼占1個字節,MODBUS可能的功能代碼范圍是十進制的1~255。其中有些代碼適用于所有的控制器,有些是針對某種MODICON控制器,有些是為用戶保留或備用。表2為Modbus協議規定的標準功能碼,某些設備的Modbus協議只兼容其中的一部分功能碼,表中的功能碼為16進制數。
數據起始地址:通訊時讀出、寫入數據的起始地址。Modbus有多種批量數據操作功能碼,可同時讀出或寫入多個具有連續地址的數據。數據起始地址占用2個字節。
數據量:命令中進行讀出或寫入的數據數量,這些數據從起始地址開始連續地址排列,在對模擬量進行操作時,每個數據具有2字節;在對數字量進行操作時每8個數據為1個字節。數據量占用2個字節。
1.3數據格式
Modbus通訊協議規定了2種通訊方式。RTU(REMOTE?TERMINAL?UNIT)方式通訊采用8位字節的二進制數據通訊,數據校驗采用CRC循環冗余校驗,通訊速度較快;ASCII方式采用7位ASCII碼進行通訊,數據校驗采用LRC邏輯冗余校驗,通訊速率較慢。在一個通訊系統中,只能選用一種通訊方式,兩種方式不能并用。為了減少網絡數據傳輸量,在我們的應用系統中一般使用RTU通訊方式。
2 系統的硬件組成
下位監控站采用六個英格索蘭單片機對六臺空氣壓縮機進行控制,包括對壓力、振動、溫度,油溫、油壓等參數的監控,每個單片機外接一個通用通訊模塊,上位監控站采用工控機,由于現場控制站與工控機相距60m左右,使用RS485/RS232?轉換器,轉換器與現場控制站采用RS485總線,工控機與轉換器之間采用RS232總線,這樣既解決了傳輸距離過遠而無法連接問題,也提高了系統的抗干擾能力。其硬件組成Modbus通訊網絡如圖2所示。軟件平臺采用WindowsXP,選用三維科技有限公司的力控組態軟件。
3 力控的I/O驅動配置
在使用力控軟件進行組態時,I/O設備驅動配置為:采用標準的Modbus,選RTU串行口通訊方式,按設備地址從01―06匹配六臺現場控制機,數據更新周期為500毫秒,超時時間為8秒,使用串口(RS232/422/485)通訊,COM1端口設置與現場控制機的端口參數設置一樣為9600.8.無.1
4 通訊過程
Modbus協議通訊時主機首先向從機發送通訊請求命令字符串,從機接收到命令字符串后,根據命令字符串中的命令碼向主機作出相應的回答,完成一次通訊,整個的網絡通訊都是由主機進行調度。下面舉例說明04和05功能碼實現模擬量數據讀取和遠程操作功能的通訊過程[2]。
例1:假定主機要求讀取01從機的系統壓力數值時,主機將發送如表3所示的通訊請求命令字符串,在英格索蘭單片機中系統壓力數據起始地址為十六進制代碼0BBE(Modbus協議規定通訊字符串中的地址比實際地址小“1”),正常情況下從機回信字符串如表4。
從機地址即01號機的設備地址,數據量0002表示存放系統壓力數值有兩個寄存器,該位占兩個字節。
英格索蘭單片機是一個32位浮點數處理器,數據“42DCD4C6”經過IEEE32位浮點數轉換后得出系統壓力為110.4156psi。
例2:假定主機要求遠程啟動01從機,主機將發送如表5所示的通訊請求命令字符串,在英格索蘭單片機中遠程啟動數據起始地址為十六進制代碼00E0,正常情況下從機回信字符串如表6。
從機回信的字符串與主機發送的通訊請求命令字符串應該是同樣的,數據“FF00”迫使01從機的遠程啟動繼電器線圈打開,數據“0000”迫使01從機的遠程啟動繼電器線圈關閉。
5 結束語
利用Modbus協議實現了礦區空氣壓縮機監控系統中的上位工控機與下位英格索蘭通用通訊模塊的數據通訊,開發了空氣壓縮機監控系統。運轉兩個多月來的情況表明,該系統運行可靠,維護方便,監控過程顯示形象直觀,為礦區運轉工區最終實現“無人值班,少人值守”的目標奠定了基礎。
李松柏1 劉義倫1 張波2 王廣斌1 康煜華1
(1.中南大學機電工程學院 2. 三維力控科技有限公司武漢辦事處)