新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > RS-232轉(zhuǎn)RS-485網(wǎng)絡(luò)的通信

RS-232轉(zhuǎn)RS-485網(wǎng)絡(luò)的通信

作者: 時(shí)間:2016-12-16 來源:網(wǎng)絡(luò) 收藏

  4 網(wǎng)絡(luò)通訊協(xié)議的介紹

  通過UT-201 在監(jiān)控計(jì)算機(jī)和智能儀表之間搭建的RS-485 網(wǎng)絡(luò),硬件是采用RS-485 接線,主從式半雙工通訊,主機(jī)呼叫從機(jī)地址,從機(jī)應(yīng)答方式通訊。通信協(xié)議是遵循MODBUS 協(xié)議,由于是和現(xiàn)場智能儀表進(jìn)行通訊,所以選擇MODBUS 通訊協(xié)議的RTU(遠(yuǎn)程終端設(shè)備)模式,數(shù)據(jù)幀10 位,1 個(gè)起始位,8 個(gè)數(shù)據(jù)位,1 個(gè)停止位,無校驗(yàn)。波特率:9600;19200;38400。

  MODBUS 協(xié)議共有二十幾個(gè)功能編碼,我們用的智能儀表是XMD5000 萬能輸入多路巡檢儀,它只需要用到MODBUS 協(xié)議的03H、06H、83H、86H 等幾個(gè)功能編碼就能夠?qū)崿F(xiàn)基本數(shù)據(jù)的傳送。

  例如主機(jī)希望讀取1 號儀表第1 通道(寄存器地址0010)的瞬時(shí)值(假設(shè)為130),則只需要調(diào)用功能編碼03H。主機(jī)請求和從機(jī)響應(yīng)的幀格式如下:

  主機(jī)發(fā)送:

  第1 字節(jié)ARD : 從機(jī)地址碼(=001~254)

  第 2 字節(jié)03H : 讀寄存器值功能碼

  第3、4 字節(jié) : 要讀的寄存器開始地址

  第5、6 字節(jié) : 要讀的寄存器數(shù)量

  第7、8 字節(jié) : 從字節(jié)1 到6 的CRC16 校驗(yàn)和

  從機(jī)回送:

浮點(diǎn)數(shù):43020000 表示整數(shù)130 (符合IEEE-754 標(biāo)準(zhǔn)的單精度浮點(diǎn)數(shù))

  第1 字節(jié)ARD : 從機(jī)地址碼(=001~254)

  第2 字節(jié)03H : 返回讀功能碼

  第3 字節(jié) : 字節(jié)總數(shù)

  第4~7 字節(jié) : 寄存器數(shù)據(jù)

  第8、9 字節(jié) : 從字節(jié)1 到7 的CRC16 校驗(yàn)和

  當(dāng)從機(jī)接收錯(cuò)誤時(shí),從機(jī)回送:

  第1 字節(jié)ARD : 從機(jī)地址碼(=001~254)

  第2 字節(jié)83H : 讀寄存器值出錯(cuò)

  第3 字節(jié)信息碼 : 可查信息碼表

  第4、5 字節(jié) : 從字節(jié)1 到3 的CRC16 校驗(yàn)和

  UT-201接口轉(zhuǎn)換器遵循MODBUS 通訊協(xié)議,幀格式以及所執(zhí)行的功能都有明確的定義,不能隨意更改。在通信過程中,要確保主機(jī)和從機(jī)的對應(yīng)關(guān)系正確。此外,用戶可以根據(jù)實(shí)際需要配置合適的傳輸波特率。

  5 應(yīng)用VB(Visual Basic)開發(fā)通信程序

  自來水廠泵站監(jiān)控組態(tài)軟件很多都是應(yīng)用美國羅克韋爾(Rockwell)公司開發(fā)的RSView32軟件,RSView32 軟件支持VB 編程,在此基礎(chǔ)上開發(fā)通信應(yīng)用程序相當(dāng)方便、實(shí)用。

  在開發(fā)VB 通信應(yīng)用程序中,調(diào)用MSComm 控件,使得程序更加簡明、有效。MSComm控件是Microsoft 公司提供的簡化Windows 下串行通信編程的ActiveX 控件,它為應(yīng)用程序提供了通過串行接口收發(fā)數(shù)據(jù)的簡便方法。程序主要由以下幾個(gè)部分組成:

  初始化MSComm 控件,主要是對串口進(jìn)行設(shè)置,包括波特率、校驗(yàn)位、數(shù)據(jù)位、停止位的設(shè)置。

  設(shè)置并發(fā)送讀指令,主要是根據(jù)MODBUS 通訊協(xié)議對要讀取的智能儀表和寄存器地址進(jìn)行設(shè)置,以及計(jì)算出CRC16 校驗(yàn)和。

  接收數(shù)據(jù),主要是讀取智能儀表回送的響應(yīng)幀。

  處理數(shù)據(jù),主要是判斷響應(yīng)幀數(shù)據(jù)的有效性,正確則存取數(shù)據(jù),否則重新再讀取。

  根據(jù)UT-201 轉(zhuǎn)換器及智能儀表的通信原理畫出了圖3 所示的主機(jī)通信程序結(jié)構(gòu)框圖。

圖3 通訊程序框圖。

  6 結(jié)束語

  經(jīng)過現(xiàn)場調(diào)試,實(shí)現(xiàn)了1 臺監(jiān)控計(jì)算機(jī)通過1 個(gè)UT-201接口轉(zhuǎn)換器與10 臺智能儀表組成的RS-485網(wǎng)絡(luò)連接,每臺智能儀表連接兩個(gè)埋置式鉑熱電阻和三個(gè)埋置式銅電阻。實(shí)際應(yīng)用證明,這種方式組成的系統(tǒng),結(jié)構(gòu)簡單,應(yīng)用方便,能滿足控制需要。

  本文的創(chuàng)新點(diǎn)是:通過該系統(tǒng)能夠根據(jù)具體的協(xié)議實(shí)現(xiàn)智能儀表與監(jiān)控組態(tài)軟件RSView32 之間的數(shù)據(jù)交換,從而把現(xiàn)場智能儀表檢測到的數(shù)據(jù)實(shí)時(shí)地在監(jiān)控計(jì)算機(jī)上顯示。


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉