《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于PLC的Modbus協(xié)議的實(shí)現(xiàn)
基于PLC的Modbus協(xié)議的實(shí)現(xiàn)
摘要: 隨著3C技術(shù)迅速發(fā)展,網(wǎng)絡(luò)集成信息自動(dòng)化正迅速應(yīng)用到現(xiàn)場(chǎng)設(shè)備、控制中,現(xiàn)場(chǎng)總線控制系統(tǒng)正逐步取代傳統(tǒng)的集散控制系統(tǒng),其中Modbus現(xiàn)場(chǎng)總線協(xié)議在基于PLC的控制系統(tǒng)中得
Abstract:
Key words :

         隨著3C 技術(shù)" title="3C 技術(shù)">3C 技術(shù)迅速發(fā)展, 網(wǎng)絡(luò)集成信息自動(dòng)化正迅速應(yīng)用到現(xiàn)場(chǎng)設(shè)備、控制中, 現(xiàn)場(chǎng)總線控制系統(tǒng)正逐步取代傳統(tǒng)的集散控制系統(tǒng), 其中Modbus 現(xiàn)場(chǎng)總線協(xié)議在基于PLC" title="PLC">PLC 的控制系統(tǒng)中得到了越來越廣泛的應(yīng)用. 在本系統(tǒng)中, 以PLC 為主機(jī)、溫度采集模塊為從機(jī), 完成對(duì)生產(chǎn)過程的自動(dòng)控制、工業(yè)流程及工藝參數(shù)的顯示、修改, 根據(jù)PLC 的無協(xié)議通信功能, 用Modbus 現(xiàn)場(chǎng)總線協(xié)議實(shí)現(xiàn)主機(jī)與從機(jī)的通訊。

  本文基于某監(jiān)控系統(tǒng)的設(shè)計(jì), 實(shí)現(xiàn)了三菱FX2N 系列PLC 在無協(xié)議通信方式下與DS18b20型數(shù)字溫度傳感器" title="數(shù)字溫度傳感器">數(shù)字溫度傳感器的采集模塊以Mo dbus 協(xié)議通信, 在電爐熔化工作過程中, 對(duì)電爐、電容、冷卻水等100 多點(diǎn)的溫度實(shí)現(xiàn)巡檢。

  1 系統(tǒng)硬件組成

  溫度監(jiān)控部分系統(tǒng)的硬件由DS18b20 型數(shù)字溫度傳感器、采集模塊、FX2N 系列PLC、FX2N-485-BD、HITECH 觸摸屏組成, 其結(jié)構(gòu)如圖1 所示。


圖1 系統(tǒng)硬件組成

  DS18b20 是世界上首個(gè)支持單線總線接口( 1w ire bus inter face) 的數(shù)字化溫度傳感器, 單總線接口便于構(gòu)建分布式的溫度測(cè)控網(wǎng)絡(luò), 數(shù)字化的輸出提高了信號(hào)傳輸?shù)目煽啃? 而且使外圍電路大為簡(jiǎn)化。 DS18b20 具有很高的適應(yīng)性和性價(jià)比, 其測(cè)溫范圍為- 55~ 125 ℃ , 測(cè)溫精度為±0. 5℃ , 測(cè)溫距離最大為200 m , 測(cè)溫方式使用3 線制, 本系統(tǒng)使用的傳感器排序方式為指定排序。

  DS18b20 內(nèi)部主要有3 個(gè)數(shù)字部件: 1 個(gè)溫度傳感器、1 個(gè)64 位的激光刻蝕ROM、9 字節(jié)高速暫存器Scratchpad RAM 和3 字節(jié)EERAM. ROM 上64 位數(shù)據(jù)是傳感器的序列號(hào)。暫存器確保數(shù)據(jù)的完整性, 數(shù)據(jù)先被寫入暫存器, 并可以被讀回. 數(shù)據(jù)經(jīng)校驗(yàn)后, 可以由拷貝暫存器命令傳輸?shù)紼ERAM, 以確保更改存儲(chǔ)器時(shí)數(shù)據(jù)的完整性。暫存器為9 個(gè)字節(jié), 第0 和第1 字節(jié)是溫度編碼的低字節(jié)和高字節(jié).

  第2 和第3 字節(jié)是溫度編碼的低字節(jié)和高字節(jié)的拷貝, 第4 字節(jié)是配置寄存器, 其值決定溫度轉(zhuǎn)換的分辨率。

  本系統(tǒng)采用的STA-D 溫度采集模塊, 是一種遠(yuǎn)程數(shù)字化溫度采集系統(tǒng), 有10 個(gè)通道, 每個(gè)通道最多可以掛接16 個(gè)DS18b20 型數(shù)字溫度傳感器,總共可以監(jiān)控160 個(gè)點(diǎn)的溫度, 以RS485 方式同上位機(jī)通訊, 通信協(xié)議為標(biāo)準(zhǔn)Modbus 協(xié)議, 波特率為9 600 bps, 與上位機(jī)通信距離最大為1 200 m, 工作電源為12 ~ 24 V, 工作溫度為- 20 ~ 75 ℃。 與FX2N??485??BD 采用兩線制的485 連線方式( 圖2) ,接線要使用規(guī)范的屏蔽線。


圖2 485 連接圖

  臺(tái)灣HITECH 公司觸摸屏PWS 系列是專為PLC 設(shè)計(jì)的互動(dòng)式工作站, 用232 直接與PLC 連接, 可以直接讀取PLC 的數(shù)據(jù)寄存器, 具有良好的人機(jī)界面, 操作人員通過它可設(shè)置所有參數(shù), 控制系統(tǒng)自動(dòng)運(yùn)行。并且編程簡(jiǎn)便, 運(yùn)行穩(wěn)定, 可設(shè)置不同的管理權(quán)限, 適合于本系統(tǒng)使用。

  2 Modbus 協(xié)議

  標(biāo)準(zhǔn)的Modbus 口是使用RS??232C 兼容串行接口, 它定義了連接口的針腳、電纜、信號(hào)位、傳輸波特率、奇偶校驗(yàn), 控制器能直接或經(jīng)由Mo dem 組網(wǎng). 控制器通信使用主! 從技術(shù), 即僅一設(shè)備( 主設(shè)備) 能初始化傳輸( 查詢) , 其它設(shè)備( 從設(shè)備) 根據(jù)主設(shè)備查詢提供的數(shù)據(jù)作出相應(yīng)反應(yīng)。

表1 Modbus 部分功能碼定義


  Modbus 通訊協(xié)議有兩種傳送方式? RT U 方式和ASCII 方式。 本系統(tǒng)使用RTU 模式, 這種方式的主要優(yōu)點(diǎn)是: 在同樣的波特率下, 可比ASCII 方式傳送更多的數(shù)據(jù)。

  使用RTU 模式時(shí), 消息發(fā)送至少要以3. 5 個(gè)字符時(shí)間的停頓間隔開始, 如圖3 的T1- T 2- T 3- T 4 所示。傳輸?shù)牡谝粋€(gè)域是設(shè)備地址, 可以使用的傳輸字符是十六進(jìn)制數(shù)值。 通信期間, 網(wǎng)絡(luò)設(shè)備不斷偵測(cè)網(wǎng)絡(luò)總線, 包括停頓間隔時(shí)間內(nèi), 當(dāng)?shù)谝粋€(gè)域( 地址域) 接收到, 每個(gè)設(shè)備都進(jìn)行解碼以判斷是否發(fā)往自己的。 在最后一個(gè)傳輸字符之后, 至少要有3. 5 個(gè)字符時(shí)間的停頓以標(biāo)定消息的結(jié)束, 之后可開始新的消息傳輸。典型的消息幀如圖3 所示。 使用RT U 模式, 消息包括了一個(gè)基于CRC 方法的錯(cuò)誤檢測(cè)域. CRC 域檢測(cè)了整個(gè)消息的內(nèi)容。


圖3 M odbus 消息幀結(jié)構(gòu)

  CRC 域是兩個(gè)字節(jié), 包含一個(gè)16 位的二進(jìn)制值。它由傳輸設(shè)備計(jì)算后加入到消息中。 接收設(shè)備重新計(jì)算收到消息的CRC, 并與接收到的CRC 域中的值比較, 如果兩值不同, 則有誤, 后面將具體講述CRC 算法的實(shí)現(xiàn)。

  3 系統(tǒng)軟件構(gòu)成

  考慮到操作的方便性, 在系統(tǒng)初次安裝時(shí), 先在PC 機(jī)上用上位機(jī)軟件將所有傳感器的ID 搜索出來, 然后按實(shí)際安裝位置給每個(gè)傳感器編號(hào), 讀溫度測(cè)試傳感器是否工作正常。在PLC 上使用Mo dbus協(xié)議通信時(shí)首先要對(duì)通信格式進(jìn)行設(shè)定, 即對(duì)D8120 寄存器進(jìn)行寫操作, 在本系統(tǒng)條件下設(shè)置為0C87 , 即數(shù)據(jù)長(zhǎng)度為8 位, 無校驗(yàn), 無起始位與停止位, 波特率9 600 bps。 修改D8120 設(shè)置后, 確保通斷PLC 電源一次。 再用RS 指令進(jìn)行數(shù)據(jù)的傳輸, 相關(guān)程序格式如圖4 所示。


圖4 RS 指令程序格式
 

        按照上述程序格式, 即可在數(shù)據(jù)發(fā)送區(qū)寫入指令進(jìn)行相應(yīng)的操作。

  1) 讀取溫度, 其指令格式: [ 設(shè)備地址] [ 命令號(hào)] [ 通道號(hào)] [ 傳感器編號(hào)] [ 讀取個(gè)數(shù)高8 位] [ 低8位] [ CRC 低8 位] [ CRC 高8 位] , 其中CRC 校驗(yàn)字節(jié)以子程序形式調(diào)用. 設(shè)備響應(yīng): [ 設(shè)備地址] [ 命令號(hào)] [ 返回的字節(jié)個(gè)數(shù)] [ 數(shù)據(jù)1] [ 數(shù)據(jù)2] . . . [ 數(shù)據(jù)n] [ CRC 低8 位] [ CRC 高8 位] 。

  每個(gè)18b20 讀取溫度的返回值占用兩個(gè)字節(jié).

  轉(zhuǎn)換方法: 將實(shí)際溫度擴(kuò)大100 倍, 再將此數(shù)值分為兩個(gè)字節(jié)傳送出來即可. 例如, 實(shí)測(cè)出來溫度是28.65℃ , 擴(kuò)大100 倍即2 865, 則發(fā)送的第一個(gè)字節(jié)是2 865/ 256 即是11, 第二個(gè)字節(jié)是2 865% 256 即49, 那么傳送的兩個(gè)字節(jié)為0×0B 和0×31。

  需要注意的是, 由于采用兩線制的485 連線方式, 會(huì)產(chǎn)生回波通信, 即接收端會(huì)先接收到自己發(fā)送出去的數(shù)據(jù), 但數(shù)據(jù)還是會(huì)正常發(fā)送給采集模塊, 此時(shí)接收端則應(yīng)該避開前面的無用數(shù)據(jù), 接收后面模塊響應(yīng)的有效數(shù)據(jù)。

  2) 在系統(tǒng)運(yùn)行后, 若需更換傳感器, 則需執(zhí)行以下兩條指令, 首先, 搜索ID, [ 01] [ 06] [ 0c] [ 00][ 00] [ 00] [ CRC 低] [ CRC 高] , 此指令為搜索模塊1上各個(gè)通道的所有傳感器。 然后寫編號(hào), 例如: [ 01][ 06] [ 09] [ 05] [ 00] [ 05] [ CRC 低] [ CRC 高] , 表示將第9 通道的原來編號(hào)為05 的傳感器更換后重新設(shè)定為05, 執(zhí)行此兩條指令后, 方可重新讀取溫度。

  3) CRC 校驗(yàn)字節(jié)的生成是比較關(guān)鍵的一步,其過程比較復(fù)雜, 步驟如下:

  ①預(yù)置一個(gè)16 位CRC 寄存器為十六進(jìn)制FFFF, 即所有數(shù)位均為1。

  ②該16 位寄存器的低8 位字節(jié)與信息幀的第一個(gè)字節(jié)的低8 位進(jìn)行& 異或?運(yùn)算. 運(yùn)算結(jié)果放入這個(gè)16 位寄存器。

  ③ 把這個(gè)16 寄存器向右移一位, 用0 填補(bǔ)高位。

  ④若向右( 標(biāo)記位) 移出的數(shù)位是1, 則生成多項(xiàng)式A001( 1010000000000001) 和這個(gè)寄存器進(jìn)行“異或”運(yùn)算; 若向右移出的數(shù)位是0, 則返回③。

  ⑤重復(fù)③ 和④, 直至移出8 位。

  ⑥重復(fù)③ ~⑤, 直至該報(bào)文所有字節(jié)均與16 位寄存器進(jìn)行& 異或?運(yùn)算, 并移位8 次。

  ⑦將得到的l6 位CRC 寄存器的高、低位字節(jié)進(jìn)行, 即2 字節(jié)CRC, 加到報(bào)文。

  其程序流程如圖5, 以上面的溫度讀取指令為例, 其CRC 校驗(yàn)梯形圖如圖6。


圖5 CRC 校驗(yàn)流程

 圖6 CRC 校驗(yàn)程序

  在讀取溫度時(shí), 應(yīng)嚴(yán)格遵守DS18b20 的讀寫時(shí)序, 否則就會(huì)出現(xiàn)錯(cuò)誤, 丟幀等, 若用脈沖信號(hào)定時(shí)讀取, 則間隔應(yīng)不小于100 ms. 一般出現(xiàn)錯(cuò)誤幀時(shí)數(shù)據(jù)顯示為0℃, 此時(shí)可以進(jìn)行簡(jiǎn)單的濾波, 例如傳回值為0 時(shí)不顯示數(shù)據(jù), 或者多組數(shù)據(jù)取平均值后再顯示, 以避免溫度顯示的大幅度跳動(dòng)。 DS18b20的初始化溫度顯示為85℃, 若一直不變, 則此傳感器可能已經(jīng)損壞或是接線不良, 應(yīng)進(jìn)行相應(yīng)的檢查。

  4 結(jié)束語(yǔ)

  該系統(tǒng)應(yīng)用于生產(chǎn)過程實(shí)時(shí)監(jiān)控中, PLC 既作為現(xiàn)場(chǎng)控制機(jī)完成對(duì)生產(chǎn)過程的自動(dòng)控制, 又作為主從通信的主機(jī), 與相關(guān)儀表連接, 實(shí)現(xiàn)與基于Modbus 現(xiàn)場(chǎng)總線協(xié)議的DS18b20 型數(shù)字溫度傳感器的采集模塊的主從通信, 并通過PLC 高速實(shí)時(shí)網(wǎng)絡(luò)實(shí)現(xiàn)對(duì)其的遠(yuǎn)程監(jiān)控。 該系統(tǒng)目前處于試運(yùn)行階段, 表現(xiàn)較為穩(wěn)定, 通信可靠, 效果良好。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美电影专区| 国产区二精品视| 性做久久久久久免费观看欧美| 亚洲免费av网站| 亚洲国产精品久久久久秋霞不卡| 亚洲自拍偷拍福利| 亚洲一区二区精品| 亚洲天堂av综合网| 99re66热这里只有精品3直播 | 欧美一级二区| 亚洲永久免费精品| 亚洲尤物在线| 欧美亚洲系列| 亚洲电影自拍| 亚洲第一页自拍| 亚洲国产专区校园欧美| 亚洲韩国日本中文字幕| 91久久久亚洲精品| 日韩天堂在线视频| 在线亚洲欧美视频| 亚洲午夜免费视频| 亚洲综合电影| 香蕉久久夜色精品| 久久精品一区二区| 蜜桃av一区二区在线观看| 欧美成人嫩草网站| 欧美日韩理论| 国产精品毛片一区二区三区| 亚洲欧美国产毛片在线| 国产精品另类一区| 亚洲天堂av在线免费观看| 一区二区日韩免费看| 一区二区三区视频观看| 亚洲自拍偷拍福利| 欧美一区二区福利在线| 久久精品一区蜜桃臀影院| 一色屋精品亚洲香蕉网站| 99re8这里有精品热视频免费| 亚洲美女中文字幕| 亚洲视频一区在线观看| 亚洲欧美一区二区在线观看| 久久av红桃一区二区小说| 久久理论片午夜琪琪电影网| 欧美国产第一页| 欧美午夜免费电影| 国产日韩欧美精品综合| 激情欧美一区二区| 亚洲日本无吗高清不卡| 亚洲一区二区3| 亚洲成人在线视频播放| 亚洲国产一二三| 99视频有精品| 欧美一区免费视频| 男人的天堂亚洲| 国产精品高清一区二区三区| 国产一区美女| 亚洲免费观看高清在线观看| 午夜精品久久久久久久99热浪潮| 亚洲第一天堂无码专区| 亚洲午夜高清视频| 久久视频一区二区| 欧美视频一区二区三区| 国产在线不卡视频| 夜夜嗨av色一区二区不卡| 欧美在线播放| 中文亚洲视频在线| 久久免费视频网| 欧美日韩免费| 黑人巨大精品欧美黑白配亚洲| 日韩系列欧美系列| 久久国内精品视频| 亚洲欧美欧美一区二区三区| 免费高清在线一区| 国产欧美视频一区二区| 亚洲日本成人| 久久精品123| 亚洲欧美在线观看| 欧美日韩精品一区二区三区四区| 国产亚洲欧美日韩精品| 一区二区三区四区蜜桃| 亚洲欧洲偷拍精品| 亚洲综合社区| 欧美一区二区黄| 午夜亚洲激情| 欧美日韩国产电影| 精品1区2区3区4区| 午夜精品久久久久久久99热浪潮| 一个色综合导航| 免费观看久久久4p| 国产一区二区三区黄| 亚洲网站在线播放| 一区二区三区精品视频| 欧美h视频在线| 国产综合在线视频| 亚洲欧美国产一区二区三区| 中文精品视频| 欧美激情一区二区三区成人| 国内揄拍国内精品久久 | 在线欧美一区| 欧美亚洲日本网站| 性欧美videos另类喷潮| 欧美视频你懂的| 亚洲精品乱码久久久久久黑人| 亚洲国产精品激情在线观看| 欧美淫片网站| 国产精品丝袜白浆摸在线| 99国产成+人+综合+亚洲欧美| 亚洲精品乱码久久久久久| 久久婷婷久久| 国产主播一区二区三区四区| 午夜精品久久久久久久99樱桃| 午夜精彩视频在线观看不卡| 欧美三级日本三级少妇99| 亚洲精品久久| 一本色道久久综合亚洲精品小说| 欧美激情国产高清| 亚洲国产精品久久久久婷婷884| 亚洲高清不卡在线观看| 久久综合伊人77777蜜臀| 国产主播精品| 亚洲高清影视| 欧美aⅴ99久久黑人专区| 伊人春色精品| 亚洲福利在线视频| 嫩草伊人久久精品少妇av杨幂| 在线国产亚洲欧美| 亚洲人成在线观看| 欧美国产日韩一区二区| 亚洲啪啪91| 一区二区欧美日韩视频| 欧美特黄一区| 亚洲综合精品一区二区| 午夜伦理片一区| 国产情侣一区| 亚洲高清免费在线| 嫩草国产精品入口| 亚洲日本精品国产第一区| 一本色道久久综合亚洲二区三区| 欧美日韩国产在线播放网站| 日韩一区二区电影网| 亚洲影视九九影院在线观看| 国产精品成人一区二区三区吃奶| 亚洲先锋成人| 久久久久久久久蜜桃| 激情校园亚洲| 日韩视频一区二区三区| 欧美日韩调教| 亚洲欧美中文字幕| 久热精品视频在线观看| 亚洲精品欧美日韩| 亚洲欧美日韩精品久久亚洲区 | 欧美福利视频| 一本久久综合亚洲鲁鲁五月天| 午夜综合激情| 狠狠色香婷婷久久亚洲精品| 亚洲欧洲一区二区天堂久久 | 国产一区二区三区电影在线观看| 亚洲福利视频专区| 欧美人与性禽动交情品| 亚洲一区二区三区免费视频| 久久婷婷综合激情| 99热免费精品| 久久精品亚洲一区二区三区浴池| 亚洲国产激情| 午夜精彩国产免费不卡不顿大片| 国产亚洲在线观看| 99伊人成综合| 国产日产欧产精品推荐色| 亚洲欧洲另类| 国产精品美女主播| 亚洲国产日韩在线| 欧美午夜激情小视频| 久久成人免费电影| 欧美视频一区二| 亚洲国产精品日韩| 国产精品乱码一区二区三区| 亚洲高清三级视频| 国产精品国产自产拍高清av| 久久精品1区| 国产精品久久国产愉拍| 亚洲国产精品一区二区久| 欧美日韩国产成人| 久久黄色影院| 国产精品ⅴa在线观看h| 亚洲经典自拍| 国产日本亚洲高清| 中文日韩在线| 亚洲福利视频一区二区| 欧美一区二区性| 亚洲人成人99网站| 久久精品人人| 正在播放欧美一区| 欧美不卡视频| 香蕉久久国产| 欧美色123| 亚洲人体1000| 国精品一区二区三区| 午夜一区二区三区在线观看| 亚洲毛片一区二区| 欧美成年人网站|