基于 Modbus的電磁流量計通訊在污水計量中的應用研究
【摘要】本文深入分析了基于 Modbus協議的電磁流量計通訊在污水計量中的應用,通過 RS-485串口連接,進行相關的流量信息的讀
取,從而切實可靠的保證了數據穩定性、可靠性和精確性。
【關鍵詞】Modbus協議;串口;信息幀
0引言
隨著中國城市經濟的發展,無論是生活污水量還是工業污水量都出現了較快增長的態勢,使得水環境污染和水環境質量下降的趨勢也在不斷加劇。因此,國家加強了對污水處理的投資,興建和投運了大量的污水處理廠,從而改善我們所處的生態環境。如何保證污水處理的水質、水量達到國家排放標準,這就對計量檢測儀表的配置和管理提出了新的要求。
目前,污水處理廠對電磁流量計這種計量比較準確的儀表逐漸推廣和普及。在傳統的污水處理廠的自動化監控及信息集成系統中,電磁流量計采用 4-20mA(傳送模擬量信息)或 24VDC(傳送開關量信息)信號進行通訊傳輸,很多現場層流量計與控制器之間的連接是一對一(一個 I/O點對設備的一個測控點)所謂 I/O接線方式。但是這樣的系統存在一些明顯的缺點,那就是信息集成能力不強;系統不開放、可集成性差、專業性不強;可靠性不易保證;可維護性不高等。
如果現場層設備配有串行數據接口(如 RS-232/485),控制器就可以按接口規定協議,通過串行通信方式(而不是 I/O方式)完成對現場設備的監控。 [1]如果設想全部或大部分現場設備都具有串行通信接口并具有統一的通信協議,控制器只需一根通信電纜就可將分散的現場設備連接,完成對所有現場設備的監控,這就是所說的采用現場總線技術。
1 Modbus協議在電磁流量計通訊中實現的簡介
目前,污水處理廠所用的電磁流量計大部分都配有串行數據接口(如 RS-232/485),并且接口支持 MODBUS總線協議。一般電磁流量轉換器 MODBUS通訊采用標準 MODBUS通訊協議,MODBUS模塊和上位機進行通訊的波特率為 600 – 19200,波特率設備地址可以通過鍵盤進行設置。通訊由主機發起,主機首先發送消息幀,消息幀的發送間隔必須大于 3.5個以上字符的發送時間。 [2]消息幀發送的個字節是設備地址,從設備不斷的偵測網絡總線當接收到個字節,每一個設備都進行解碼以判斷是否是發往自己的消息幀;接收到一個字符之后,如果停頓時間超過 3.5個以上字符的發送時間,標志著前一個消息幀發送結束,一個新的消息幀在此停頓后開始。字符間隔不能大于一個字符,否則認為是一條新的消息幀開始,老的消息幀結束。
消息幀定義如下:
0 1 2 3 4 5 6 7設備地址功能編碼地址高字節地址低字節數據高字節數據低字節 CRC低字節 CRC高字節 8位字節 8位字節 8位字節 8位字節 8位字節 8位字節 8位字節 8位字節
Modbus通訊協議規定了 2種通訊方式。 RTU (REMOTE TERMINAL UNIT)方式通訊采用 8位字節的二進制數據通訊,數據校驗采用 CRC循環冗余校驗,通訊速度較快;ASCII方式采用 7位 ASCII碼進行通訊,數據校驗采用 LRC邏輯冗余校驗,通訊速率較慢。針對 MODBUS在電磁流量轉換器上的應用,在 MODBUS的功能碼中,不同公司采用不同的方式實現,有的公司只用了 3個功能碼:03、
04、06。 03號功能碼主要用來讀取流量信息,包括瞬時流量、流速、流量百分比、電極電阻、正向累計、反向累計、儀表口徑、報警狀態等;04號功能碼用來讀取鍵盤參數,06號功能碼用來設置鍵盤參數。
2基于 Modbus協議的電磁流量計信息讀取
在污水處理廠和運行泵站中作為污水計量的儀表,智能電磁流量計信息的讀取就顯得異常重要?,F場儀表的流量信息,由瞬時流量、流速、百分比、報警狀態等參數進行反映,參數存放地址如下表:
參數存放首址參數定義數據長度 01瞬時流量 3 04流速 3 07百分比 3 10空管電阻 3 13正向累計 3 16反向累計 3 19儀表口徑 3 22報警狀態 3
定義如下:讀取流量信息時,主機發出功能編碼 03:讀取輸入寄存器值。參數存放首址對應輸入寄存器首址的低字節。主機發送命令格式如下:
從機地址 (1Byte) +功能編碼 (1Byte) +輸入寄存器首址 (2Byte) +輸入寄存器個數 (2Byte) + CRC校驗值 (2Byte),從機地址值范圍在 199;
輸入寄存器高字節全部是 0,低字節范圍在 01~09,對應上面表格中參數存放首址。輸入寄存器個數高字節是 0,低字節是 3,從機回應格式如下:
從機地址 (1Byte) +功能編碼 (1Byte) +讀出的字節個數(1Byte) +字節內容 (6Byte) + CRC校驗值 (2Byte),返回的參數占 6個字節,故字節個數是 6。
注:讀取流量信息時,對瞬時流量、流速、百分比、報警狀態等參數,用戶可以分別讀取,即一次只讀取一個參數。用戶也可以一次性讀取所有的 8個參數或一次讀取其中的幾個參數。讀出的流量信息有兩種表示方法:整形數表示法和浮點數表示法。如沒有特殊聲明,儀表一般采用整形數據進行傳輸。
詳細信息結構定義如下:
1)瞬時流量信息定義主機發送:01H03H00H01H00H03H54H0BH從機響應:
01H03H06HD0D1D2D3D4D5CRC16低CRC16高431
如果數據以整形數格式進行傳輸,則 D0、D1代表瞬時流量整數部分的高 4位(16進制), D2、D3代表瞬時流量整數部分的低 4位(16進制), D4、D5代表瞬時流量小數部分值(16進制)。
2)流速信息定義主機發送:01H03H00H04H00H03H44H0AH從機響應:
01H03H06HD0D1D2D3D4D5CRC16低CRC16高如果數據以整形數格式進行傳輸,則 D0、D1代表流速整數部分的高 4位(16進制), D2、D3代表流速整數部分的低 4位(16進制), D4、D5代表流速小數部分值(16進制)。
3)正向總量信息定義主機發送:01H03H00H0DH00H03H94H08H從機響應:
01H03H06HD0D1D2D3D4D5CRC16低CRC16高如果數據以整形數格式進行傳輸,則將 D0、D1由 16進制轉換成 10進制 X0X1X2X3,將 D2、D3由 16進制轉換成 10進制 X4X5X6X7,將 D4、D5由 16進制轉換成 10進制 X8X9X10X11,數據由 X0X1X2X3X4X5X6X7X8X9組成,小數點位置和累計單位由 X10X11決定。
列表如下:
X10X11 0 1 2 3 4 5 6 7單位 0.001L 0.01L 0.1L 1L 0.001m3 0.01m3 0.1m3 1m3 X10X11 8 9 10 11 12 13 14 15單位 0.001USgal 0.01USgal 0.1USgal 1USgal 0.001igal 0.01igal 0.1igal 1igal X10X11 16 17 18 19 20 21 22 23單位 0.001kg 0.01kg 0.1kg 1kg 0.001t 0.01t 0.1t 1t
舉例說明如下:
如接收到的數據是
01H04H06H00H22H16430C84686B則 0022(16進制)=34(十進制)
則 1643(16進制)=5699(十進制)
則 0C84(16進制)=3204(十進制)
則數據可表示為 34569932,04是小數點位數,查表為 0.001m3,故實際數據為 34569.932m3。
4)反向總量信息定義
主機發送:01H03H00H10H00H03H04H0EH從機響應:
01H03H06HD0D1D2D3D4D5CRC16低CRC16高數據表示方法和正向總量一樣。
5)報警狀態信息定義主機發送:01H03H00H16H00H03HE4H0FH從機響應:
01H03H06HD0D1D2D3D4D5CRC16低CRC16高432
如果數據以整形數格式進行傳輸,則 D2、D3代表報警狀態整數值(十六進制 ),D0、D1、D4、D5保留。報警狀態的值范圍不會超過 1024,用二進制位表示為:Bit9 Bit8 Bit7 Bit6 Bit5 Bit4 BIT3 bit2 Bit1 Bit0,分別定義如下:位定義:Bitx= 0無警狀態;Bitx= 1報警狀態;
ALAM位 Bit0 Bit1 Bit2 Bit3 Bit4報警定義保留勵磁報警電極報警空管報警上限報警 ALAM位 Bit5 Bit6 Bit7 Bit8 Bit9報警定義下限報警保留保留保留保留
3 基于 Modbus協議的電磁流量計參數讀取
基于 Modbus協議的電磁流量計在進行參數讀取時,可以先定義
參數編號顯示文字設置方式默認值 1語言選擇選擇中文 2測量管道口徑選擇 100 3流量量程單位選擇 m3/h 4流量量程倍率選擇 -2 5流量量程設定設置 28274 6量程自動切換選擇禁止 7測量阻尼時間選擇 4.0S 8流量方向選擇選擇正向 9流量零點修正設置 +0.000 10小信號切除點設置 0.5% 11切除允許選擇選擇允許 12變化率限制值設置 00% 13不敏感時間值設置 00S 14流量積算單位選擇 1.0m3 15脈沖輸出方式選擇頻率 16脈沖當量選擇設置 10 17脈沖當量單位選擇 0 18頻率輸出滿度設置 2000 19空管報警允許選擇 0 20電極報警閥值設置 200.0K 21上限報警允許選擇禁止 22上限報警閥值設置 90.0% 23下限報警允許選擇禁止 24下限報警閥值設置 15.0% 25反向測量允許選擇禁止 26傳感器系數值設置 1.0000 27勵磁方式選擇選擇方式一 28儀表標定系數設置 1.0000 29電流零點修正設置 1.0000 30電流滿度修正設置 1.0000 31出廠標定系數設置 1.0000
現場儀表的各個參數,參數編號定義如下:
3.1 語言選擇參數值 =0:中文參數值 =1:英文3.2流量量程設置 :0~65535。 4電磁流量計
Modbus通訊的安裝與布線
電磁流量計按照 RS-485串口方式進行布線和連接,按照下圖方式進行連接:
電磁流量計 MODBUS通訊接線圖
工控機或 PC機通過串口連接到 RS232/RS485轉換器,轉換器的+A、+B分別連接到各個電磁流量計。
如果是分體式電磁流量計,將 RS232/RS485轉換器的 +A、+B分別和電磁流量計的 A2、B2相連接,如果接線較長,連接的儀表較多,有必要在遠端加一個 100Ω-200Ω的匹配電阻。
如果是一體式電磁流量計,將 RS232/RS485轉換器的 +A、+B分別和電磁流量計的 TRX+、TRX-相連接,如果接線較長,連接的儀表較多,有必要在遠端加一個 100Ω-200Ω的匹配電阻。
5電磁流量計的 Modbus通訊測試
如果用戶需要和現場儀表進行 MODBUS通訊,可以安裝測試程序進行測試,利用測試應用程序 MODBUSV1.0及通訊范例源程序(VB)進行通訊測試。
用戶在應用 MODNUS之前應該仔細閱讀電磁流量計 MODBUS通訊協議,這樣上位機才能正確的讀、寫電磁流量計的相關參數。測試時,打開測試應用程序 MODBUSV1.0,如下圖:
如果 RS232/RS485轉換器輸出是與多臺電磁流量計相連接,首先應該注意的是:
1)必須將每一臺電磁流量計設置為不同的地址,地址范圍是 0132。地址如果重復,通訊很容易出錯。 2)記住每一臺電磁流量計的通訊速度。通訊速度的波特率包括 600、1200、2400、4800、9600、14400、19200。每一臺電磁流量計的通訊速度應該盡量一致,這樣操作方便,也減少了出錯的幾率。連接完畢后,操作如下:
●
如果連接的儀表中有一臺儀表地址是 02,通訊速度是 19200,則首先在測試畫面的左面,在通訊速度的列表框中選擇 19200,在設備地址的列表框中選擇 02;此時在右邊的空白框中就會有數據顯示。點擊顯示刷新按扭,會對右邊的數據進行瞬間清屏。
如果要對 02號儀表的鍵盤參數進行讀、寫,可點擊左邊的讀 /寫參數按扭,彈出下圖:
寫參數時,可在下拉列表框中選擇,或在文本框中輸入參數。參數下面有提示,輸入不能超過范圍。
6結束語
目前中國對于環境治理的重視程度日益增強,其中污水處理是重中之重。 [3]在污水計量中起到關鍵作用的流量計就顯得非常重要,為了保證計量數據的穩定性、可靠性和精確性,采用串口方式基于 Modbus協議進行數據通訊的優勢就尤為突出。這種串口通訊方式,必將在今
后污水處理廠的自動化系統和信息集成系統中,應用的更加廣泛。--擴展閱讀:開封中儀流量儀表有限公司專業生產電磁流量計、孔板流量計、渦街流量計、文丘里流量計、v錐流量計、v型錐流量計、噴嘴流量計、插入式電磁流量計、智能電磁流量計、分體式電磁流量計、一體式電磁流量計、標準孔板流量計、標準孔板、一體化孔板流量計、標準噴嘴流量計、長徑噴嘴流量計、標準噴嘴、長徑噴嘴、插入式渦街流量計、智能渦街流量計、錐型流量計、v錐型流量計、節流裝置、節流孔板、限流孔板等流量產品,更多有關電磁流量計、孔板流量計、渦街流量計的信息請訪問開封中儀網站:
免責聲明
客服熱線: 13199863987
加盟熱線: 13199863987
媒體合作: 0571-87759945
投訴熱線: 0571-87759942
下載儀表站APP
Ybzhan手機版
Ybzhan公眾號
Ybzhan小程序