RS-232轉RS-485網絡的通信
4 網絡通訊協議的介紹
通過UT-201 在監控計算機和智能儀表之間搭建的RS-485 網絡,硬件是采用RS-485 接線,主從式半雙工通訊,主機呼叫從機地址,從機應答方式通訊。通信協議是遵循MODBUS 協議,由于是和現場智能儀表進行通訊,所以選擇MODBUS 通訊協議的RTU(遠程終端設備)模式,數據幀10 位,1 個起始位,8 個數據位,1 個停止位,無校驗。波特率:9600;19200;38400。
MODBUS 協議共有二十幾個功能編碼,我們用的智能儀表是XMD5000 萬能輸入多路巡檢儀,它只需要用到MODBUS 協議的03H、06H、83H、86H 等幾個功能編碼就能夠實現基本數據的傳送。
例如主機希望讀取1 號儀表第1 通道(寄存器地址0010)的瞬時值(假設為130),則只需要調用功能編碼03H。主機請求和從機響應的幀格式如下:
主機發送:


第1 字節ARD : 從機地址碼(=001~254)
第 2 字節03H : 讀寄存器值功能碼
第3、4 字節 : 要讀的寄存器開始地址
第5、6 字節 : 要讀的寄存器數量
第7、8 字節 : 從字節1 到6 的CRC16 校驗和
從機回送:

浮點數:43020000 表示整數130 (符合IEEE-754 標準的單精度浮點數)
第1 字節ARD : 從機地址碼(=001~254)
第2 字節03H : 返回讀功能碼
第3 字節 : 字節總數
第4~7 字節 : 寄存器數據
第8、9 字節 : 從字節1 到7 的CRC16 校驗和
當從機接收錯誤時,從機回送:

第1 字節ARD : 從機地址碼(=001~254)
第2 字節83H : 讀寄存器值出錯
第3 字節信息碼 : 可查信息碼表
第4、5 字節 : 從字節1 到3 的CRC16 校驗和
UT-201接口轉換器遵循MODBUS 通訊協議,幀格式以及所執行的功能都有明確的定義,不能隨意更改。在通信過程中,要確保主機和從機的對應關系正確。此外,用戶可以根據實際需要配置合適的傳輸波特率。
5 應用VB(Visual Basic)開發通信程序
自來水廠泵站監控組態軟件很多都是應用美國羅克韋爾(Rockwell)公司開發的RSView32軟件,RSView32 軟件支持VB 編程,在此基礎上開發通信應用程序相當方便、實用。
在開發VB 通信應用程序中,調用MSComm 控件,使得程序更加簡明、有效。MSComm控件是Microsoft 公司提供的簡化Windows 下串行通信編程的ActiveX 控件,它為應用程序提供了通過串行接口收發數據的簡便方法。程序主要由以下幾個部分組成:
初始化MSComm 控件,主要是對串口進行設置,包括波特率、校驗位、數據位、停止位的設置。
設置并發送讀指令,主要是根據MODBUS 通訊協議對要讀取的智能儀表和寄存器地址進行設置,以及計算出CRC16 校驗和。
接收數據,主要是讀取智能儀表回送的響應幀。
處理數據,主要是判斷響應幀數據的有效性,正確則存取數據,否則重新再讀取。
根據UT-201 轉換器及智能儀表的通信原理畫出了圖3 所示的主機通信程序結構框圖。

圖3 通訊程序框圖。
6 結束語
經過現場調試,實現了1 臺監控計算機通過1 個UT-201接口轉換器與10 臺智能儀表組成的RS-485網絡連接,每臺智能儀表連接兩個埋置式鉑熱電阻和三個埋置式銅電阻。實際應用證明,這種方式組成的系統,結構簡單,應用方便,能滿足控制需要。
本文的創新點是:通過該系統能夠根據具體的協議實現智能儀表與監控組態軟件RSView32 之間的數據交換,從而把現場智能儀表檢測到的數據實時地在監控計算機上顯示。










評論