modbus電(diàn)磁流量(liàng)計在污水(shuǐ)計量中應用 發(fā)布時(shí)間:2019-07-22
【摘要】本(běn)文分析了(le)基于modbus協議的電磁(cí)流(liú)量計(jì) 通訊(xùn)在污(wū)水計量(liàng)中的應用,通過rs-485串(chuàn)口連(lián)接,進(jìn)行相關的(de)流量(liàng)信息的讀取,從(cóng)而切實可(kě)靠的保(bǎo)證(zhèng)了數(shù)據穩(wěn)定性、可靠性和(hé)正(zhèng)确(què)率。 0引(yǐn)言 随着(zhe)中國城(chéng)市經濟的(de)發展,無論(lùn)是(shì)生活污(wū)水量(liàng)還是工業(yè)污水(shuǐ)量都出現(xiàn)了較快增長的(de)态勢,使(shǐ)得水環(huán)境污染和(hé)水環境質(zhì)量下降的(de)趨勢也在不斷加劇。因(yīn)此,國(guó)家(jiā)加強了(le)對污水(shuǐ)處理(lǐ)的投資,興(xìng)建和(hé)投運了大(dà)量的(de)污水(shuǐ)處理(lǐ)廠,從而(ér)改善(shàn)我(wǒ)們所處(chù)的(de)生态(tài)環境。如(rú)何(hé)保證(zhèng)污水(shuǐ)處理的水(shuǐ)質、水量達到國(guó)家排(pái)放标準(zhǔn),這(zhè)就對計量檢測儀表的(de)配置和(hé)管理提(tí)出(chū)了新的要求(qiú)。 目前,污(wū)水處理廠(chǎng)對電(diàn)磁流量計(jì)這種(zhǒng)計量(liàng)比較準确的儀表逐漸推(tuī)廣和普及。在傳統的污水(shuǐ)處理(lǐ)廠的自動(dòng)化監(jiān)控及信息集成(chéng)系統(tǒng)中,電磁流(liú)量(liàng)計(jì)采用4-20ma(傳送(sòng)模拟量(liàng)信息)或24vdc(傳送開(kāi)關量信息)信号(hào)進(jìn)行通(tōng)訊傳輸,很多現(xiàn)場層流量計與(yǔ)控制器之(zhī)間(jiān)的(de)連接是一對一(yī)(一個(gè)i/o點(diǎn)對設備(bèi)的一個測控點)所謂i/o接線方式(shì)。但是這樣的系(xì)統存在一(yī)些明(míng)顯的缺點(diǎn),那就(jiù)是信(xìn)息集(jí)成能(néng)力(lì)不(bú)強;系(xì)統不開放、可集成性(xìng)差、專業性(xìng)不強;可靠性不易保(bǎo)證;可維護性不高(gāo)等(děng)。 如果現場(chǎng)層設備配有串(chuàn)行數(shù)據(jù)接口(如(rú)rs-232/485),控制(zhì)器就可以(yǐ)按接(jiē)口規(guī)定協議,通過串行通(tōng)信方(fāng)式(shì)(而(ér)不是(shì)i/o方式)完成對現場設備的監控(kòng)。[1]如果設想(xiǎng)全部或大(dà)部分現場(chǎng)設備都(dōu)具有(yǒu)串行通信接口并具有統一(yī)的通信協(xié)議(yì),控(kòng)制器(qì)隻需一根通信(xìn)電纜就(jiù)可将(jiāng)分(fèn)散的現場(chǎng)設備(bèi)連接(jiē),完(wán)成對所(suǒ)有現(xiàn)場設(shè)備的(de)監控(kòng),這就(jiù)是所(suǒ)說的采(cǎi)用(yòng)現場(chǎng)總線技術(shù)。 1modbus協議(yì)在電磁(cí)流量計(jì)通訊中(zhōng)實現的簡介 目前,污水(shuǐ)處理(lǐ)廠(chǎng)所用的電磁(cí)流量計大(dà)部分都(dōu)配有串(chuàn)行數據接(jiē)口(如(rú)rs-232/485),并(bìng)且(qiě)接口支持(chí)modbus總線協議。一般(bān)電磁流(liú)量(liàng)轉換(huàn)器modbus通訊采(cǎi)用标(biāo)準modbus通(tōng)訊(xùn)協議,modbus模(mó)塊(kuài)和上位機進(jìn)行通訊的波特(tè)率爲600–19200,波(bō)特率設(shè)備地(dì)址可以通(tōng)過鍵盤(pán)進行設置。通(tōng)訊(xùn)由(yóu)主機(jī)發起,主(zhǔ)機首(shǒu)先(xiān)發送(sòng)消息幀,消息幀(zhēn)的發送間隔必須大于3.5個以上字符的發(fā)送時(shí)間(jiān)。[2]消息幀(zhēn)發送的第一個(gè)字節是設備地(dì)址,從設(shè)備(bèi)不斷(duàn)的(de)偵測網絡總(zǒng)線當接(jiē)收到(dào)第(dì)一個字節(jiē),每一(yī)個設備(bèi)都進行解碼以判(pàn)斷是否是(shì)發往(wǎng)自己(jǐ)的消(xiāo)息(xī)幀(zhēn);接收(shōu)到一個字(zì)符之(zhī)後,如果(guǒ)停頓時(shí)間超(chāo)過3.5個以上(shàng)字符的(de)發送時(shí)間,标(biāo)志着前一個消(xiāo)息幀發送結束,一(yī)個(gè)新的(de)消息(xī)幀在此停(tíng)頓後開始(shǐ)。字符(fú)間隔不(bú)能大于(yú)一個字符,否則(zé)認爲是(shì)一(yī)條新的消息幀(zhēn)開始(shǐ),老的消息幀結(jié)束。 消息幀(zhēn)定義(yì)如下(xià): modbus通(tōng)訊協議(yì)規定了2種通訊(xùn)方式(shì)。rtu(remoteterminalunit)方式通訊采(cǎi)用(yòng)8位字節的(de)二進制數據通(tōng)訊,數據校驗采用crc循(xún)環(huán)冗(rǒng)餘校(xiào)驗,通訊速度較快;ascii方式采用7位(wèi)ascii碼進行通(tōng)訊,數(shù)據校驗采(cǎi)用lrc邏(luó)輯冗餘校驗,通訊速(sù)率較慢。針(zhēn)對modbus在電磁(cí)流量(liàng)轉換器上的應(yīng)用,在modbus的功(gōng)能碼(mǎ)中,不(bú)同公司采(cǎi)用不(bú)同的方式實現(xiàn),有(yǒu)的公司(sī)隻用了3個功能碼:03、04、06。03号功能(néng)碼主(zhǔ)要用來(lái)讀取流量信(xìn)息,包(bāo)括瞬時(shí)流量、流速、流(liú)量百分比、電極(jí)電阻、正(zhèng)向(xiàng)累計(jì)、反向累(lèi)計、儀表(biǎo)口徑(jìng)、報警狀态(tài)等;04号(hào)功能碼用(yòng)來讀取鍵盤參數,06号(hào)功能(néng)碼用(yòng)來設置(zhì)鍵盤參數。 2基(jī)于modbus協(xié)議的(de)電磁流(liú)量計信(xìn)息讀取 在污水(shuǐ)處理廠和(hé)運行(háng)泵站中作爲污(wū)水計(jì)量的儀表(biǎo),電(diàn)磁流量(liàng)計信(xìn)息的讀取就顯(xiǎn)得異(yì)常重(zhòng)要。現(xiàn)場儀(yí)表(biǎo)的(de)流量信息(xī),由(yóu)瞬時流(liú)量(liàng)、流速(sù)、百(bǎi)分比(bǐ)、報警狀态等(děng)參(cān)數進行反(fǎn)映,參(cān)數存放(fàng)地(dì)址如下表: 定義如下:讀取流(liú)量信息(xī)時,主(zhǔ)機(jī)發出功(gōng)能編碼03:讀取輸(shū)入寄存器值。參(cān)數存(cún)放首址對(duì)應輸入寄存器(qì)首址的低字節。主機發(fā)送命令(lìng)格式(shì)如(rú)下: 從機(jī)地址(1byte)+功能編碼(mǎ)(1byte)+輸入寄存器首(shǒu)址(2byte)+輸入寄存器(qì)個數(2byte)+crc校驗(yàn)值(2byte),從(cóng)機地(dì)址值(zhí)範圍在1-99; 輸(shū)入寄存器高字節全部是(shì)0,低字節範(fàn)圍在(zài)01~09,對應上面(miàn)表格(gé)中參(cān)數(shù)存放首(shǒu)址。輸入寄存器(qì)個數高字節是(shì)0,低字節是3,從機(jī)回應(yīng)格式(shì)如下(xià): 從機地址(zhǐ)(1byte)+功能編碼(mǎ)(1byte)+讀出的字(zì)節(jiē)個數(1byte)+字(zì)節内容(6byte)+crc校驗值(2byte),返回(huí)的參數占(zhàn)6個字節,故(gù)字節個數(shù)是6。 注:讀取(qǔ)流量(liàng)信息(xī)時,對瞬時(shí)流量、流速(sù)、百分(fèn)比、報警狀态等(děng)參數,用戶可以分别(bié)讀取,即一(yī)次隻讀(dú)取一個(gè)參數。用戶也可(kě)以一次(cì)性(xìng)讀取(qǔ)所有的8個參數(shù)或一(yī)次(cì)讀取其(qí)中(zhōng)的(de)幾(jǐ)個(gè)參數(shù)。讀出的流(liú)量信息有(yǒu)兩種(zhǒng)表示(shì)方法:整(zhěng)形(xíng)數表(biǎo)示法(fǎ)和浮點數(shù)表示法。如沒有(yǒu)特殊聲明,儀表(biǎo)一般采用(yòng)整形(xíng)數據進(jìn)行傳輸(shū)。 詳細信息結構(gòu)定義如下: 1)瞬時(shí)流量(liàng)信息(xī)定義(yì) 主機發送(sòng): 01h03h00h01h00h03h54h0bh 從機(jī)響應: 01h03h06hd0d1d2d3d4d5crc16低crc16高 如果數據(jù)以整形數(shù)格式進行傳輸,則d0、d1代(dài)表瞬時流(liú)量整數(shù)部(bù)分的高4位(wèi)(16進(jìn)制),d2、d3代表(biǎo)瞬時(shí)流量整數部(bù)分的低4位(16進(jìn)制),d4、d5代表瞬(shùn)時流量小(xiǎo)數(shù)部分值(16進制)。 2)流速信息(xī)定義 主機發送(sòng): 01h03h00h04h00h03h44h0ah 從機響應(yīng): 01h03h06hd0d1d2d3d4d5crc16低crc16高 如果(guǒ)數(shù)據以整(zhěng)形數格式(shì)進行(háng)傳輸,則(zé)d0、d1代(dài)表流(liú)速整(zhěng)數部(bù)分的高4位(16進制(zhì)),d2、d3代表(biǎo)流速整數部分的低(dī)4位(wèi)(16進(jìn)制),d4、d5代表流(liú)速(sù)小數部(bù)分值(zhí)(16進制)。 3)正向總量(liàng)信息定義(yì) 主機發送: 01h03h00h0dh00h03h94h08h 從(cóng)機(jī)響應 01h03h06hd0d1d2d3d4d5crc16低crc16高 如果(guǒ)數據以整形數格式進(jìn)行(háng)傳輸(shū),則将d0、d1由16進制轉(zhuǎn)換成10進制(zhì)x0x1x2x3,将(jiāng)d2、d3由(yóu)16進制轉換成10進制x4x5x6x7,将d4、d5由(yóu)16進制轉(zhuǎn)換成(chéng)10進制x8x9x10x11,數據(jù)由(yóu)x0x1x2x3x4x5x6x7x8x9組成,小數點(diǎn)位置(zhì)和累計單位由x10x11決(jué)定(dìng)。 舉例說明如下: 如接收到(dào)的數據是 01h04h06h00h22h16430c84686b 則0022(16進(jìn)制(zhì))=34(十(shí)進制(zhì)) 則1643(16進(jìn)制)=5699(十進制) 則0c84(16進制)=3204(十(shí)進制(zhì)) 則數據可(kě)表示(shì)爲34569932,04是(shì)小數點位數,查(chá)表爲(wèi)0.001m3,故實(shí)際數據爲34569.932m3。 4)反向(xiàng)總量信息定義(yì) 主機發送: 01h03h00h10h00h03h04h0eh 從機(jī)響應: 01h03h06hd0d1d2d3d4d5crc16低crc16高 數據(jù)表示方法和正(zhèng)向總量一樣。 5)報警狀态信(xìn)息定(dìng)義 主機發送: 01h03h00h16h00h03he4h0fh 從(cóng)機響應(yīng): 01h03h06hd0d1d2d3d4d5crc16低crc16高 如(rú)果數據(jù)以(yǐ)整形(xíng)數格式(shì)進行傳(chuán)輸,則d2、d3代表(biǎo)報警狀态(tài)整數值(十(shí)六進制),d0、d1、d4、d5保(bǎo)留。 報(bào)警狀(zhuàng)态的值範(fàn)圍不會超過1024,用二進制位(wèi)表示(shì)爲:bit9bit8bit7bit6bit5bit4bit3bit2bit1bit0,分别(bié)定義如(rú)下: 位定義:bitx=0無警狀态;bitx=1報警狀态(tài); 3基于modbus協議的(de)電(diàn)磁流(liú)量計參數(shù)讀取 基于modbus協議(yì)的電磁流(liú)量計在進(jìn)行參數讀(dú)取時,可以先定義 現場儀(yí)表的各個參數,參數(shù)編号定義如下(xià): 3.1語言選(xuǎn)擇 參數(shù)值=0:中文 參數值(zhí)=1:英文 3.2流量(liàng)量程設置(zhì):0~65535。 4電(diàn)磁流量(liàng)計modbus通訊(xùn)的安裝(zhuāng)與布線 電磁流(liú)量計(jì)按照rs-485串口(kǒu)方式進行布線(xiàn)和連接,按照下(xià)圖方式進行連(lián)接: 工(gōng)控機或(huò)pc機通過串口(kǒu)連接到rs232/rs485轉(zhuǎn)換器(qì),轉換器的+a、+b分(fèn)别連(lián)接到各(gè)個電(diàn)磁流量(liàng)計(jì)。 如果(guǒ)是 分體式(shì)電磁流量計 ,将rs232/rs485轉換器(qì)的+a、+b分别和電磁流量計的a2、b2相連接(jiē),如果(guǒ)接線較長(zhǎng),連接(jiē)的儀(yí)表較多,有(yǒu)必要在遠(yuǎn)端加(jiā)一個100Ω-200Ω的匹(pǐ)配電(diàn)阻。 如(rú)果是 一體式電磁流(liú)量計 ,将rs232/rs485轉(zhuǎn)換(huàn)器的+a、+b分别和(hé)電磁流量(liàng)計的trx+、trx-相連接,如果接線較長,連(lián)接的儀(yí)表(biǎo)較多,有必(bì)要在遠端加一個100Ω-200Ω的匹配(pèi)電阻。 5電磁流量(liàng)計的modbus通訊測試(shì) 如果用戶需要和現場儀表進(jìn)行modbus通(tōng)訊,可以安(ān)裝測試程序進(jìn)行測(cè)試,利用測試應用程(chéng)序modbusv1.0及通訊範例源程序(vb)進行(háng)通(tōng)訊測試。 用(yòng)戶在應用(yòng)modnus之前(qián)應該仔細閱讀(dú)電磁流量計modbus通(tōng)訊協(xié)議,這(zhè)樣上位機才能(néng)正确的(de)讀(dú)、寫電(diàn)磁流(liú)量計的相(xiàng)關參數(shù)。測試時,打開(kāi)測(cè)試(shì)應用程序modbusv1.0,如下圖: 如(rú)果(guǒ)rs232/rs485轉(zhuǎn)換器(qì)輸出(chū)是與多台(tái)電磁流量(liàng)計相連接(jiē),首先應(yīng)該注意的是(shì): 1)必須将每(měi)一台電磁流量(liàng)計設置爲不(bú)同(tóng)的地址,地(dì)址範(fàn)圍是(shì)01-32。地址如果重複(fú),通訊很容易出錯。 2)記住每(měi)一台(tái)電磁流量計的通訊速度(dù)。通訊速(sù)度的波特率(lǜ)包括600、1200、2400、4800、9600、14400、19200。每一(yī)台電磁流量計(jì)的通訊速度應(yīng)該盡量一緻,這樣操作方(fāng)便,也減少(shǎo)了出錯的(de)幾(jǐ)率。 連接完畢(bì)後,操(cāo)作如(rú)下(xià): 如(rú)果連接的儀表中有一台儀表地址是02,通訊速(sù)度(dù)是19200,則首(shǒu)先在(zài)測試(shì)畫面(miàn)的左(zuǒ)面,在通訊速度的列表(biǎo)框中選擇19200,在(zài)設備地址(zhǐ)的列表框中選(xuǎn)擇02;此時在(zài)右邊(biān)的空(kōng)白框中就(jiù)會有(yǒu)數(shù)據顯示(shì)。點擊(jī)顯示刷新(xīn)按扭,會(huì)對(duì)右邊的數據進行瞬(shùn)間清屏。 如(rú)果要(yào)對02号儀(yí)表的鍵(jiàn)盤參數進(jìn)行讀(dú)、寫,可點擊(jī)左邊(biān)的讀/寫(xiě)參數按扭,彈(dàn)出下(xià)圖: 寫參數時,可(kě)在下(xià)拉列表框中選(xuǎn)擇(zé),或在文本框(kuàng)中輸(shū)入參數。參(cān)數下面有提示(shì),輸入(rù)不(bú)能超過(guò)範圍。 6結束語 目(mù)前中國對于環(huán)境治(zhì)理(lǐ)的(de)重(zhòng)視(shì)程度(dù)日(rì)益增強(qiáng),其中污水處理是重中之重。[3]在(zài)污(wū)水計量(liàng)中起到關鍵作用(yòng)的(de)流量計就(jiù)顯得非常重要,爲了(le)保證計(jì)量數據的(de)穩定性、可靠(kào)性和(hé)精确性,采用串口(kǒu)方式基(jī)于modbus協議進行數(shù)據通(tōng)訊的優勢(shì)就尤爲突出。這種串口通訊(xùn)方(fāng)式,必将在(zài)今後污水(shuǐ)處理廠的(de)自動化系統和信(xìn)息(xī)集成(chéng)系統(tǒng)中,應(yīng)用的更加(jiā)廣泛。
以(yǐ)上(shàng)内容(róng)源于網絡,如有侵權(quán)聯(lián)系即删(shān)除!