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