基于PLC的Modbus通信協(xié)議的實現(xiàn)參考_第1頁
基于PLC的Modbus通信協(xié)議的實現(xiàn)參考_第2頁
基于PLC的Modbus通信協(xié)議的實現(xiàn)參考_第3頁
基于PLC的Modbus通信協(xié)議的實現(xiàn)參考_第4頁
基于PLC的Modbus通信協(xié)議的實現(xiàn)參考_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、基于PLC的Modbus通信協(xié)議的實現(xiàn)基于PLC的Modbus通信協(xié)議的實現(xiàn)基于PLC的Modbus通信協(xié)議的實現(xiàn)摘要:介紹了三菱FX2N 系列 HYPERLINK /product/searchfile/6079.html t _blank PLC 在無協(xié)議通信方式下與基于 HYPERLINK /stock-ic/DS18B20.html t _blank DS18b20 型數(shù)字溫度 HYPERLINK /product/file471.html t _blank 傳感器的STA-D 溫度采集模塊以Modbus 協(xié)議通信, 實現(xiàn)即時讀取溫度, 并給出了相關程序。隨著3C 技術迅速發(fā)展, 網(wǎng)絡

2、集成信息自動化正迅速應用到現(xiàn)場設備、控制中, 現(xiàn)場 HYPERLINK /product/searchfile/4067.html t _blank 總線控制系統(tǒng)正逐步取代傳統(tǒng)的集散控制系統(tǒng), 其中Modbus 現(xiàn)場總線協(xié)議在基于PLC 的控制系統(tǒng)中得到了越來越廣泛的應用. 在本系統(tǒng)中, 以PLC 為主機、溫度采集模塊為從機, 完成對生產過程的自動控制、工業(yè)流程及工藝參數(shù)的顯示、修改, 根據(jù)PLC 的無協(xié)議通信功能, 用Modbus 現(xiàn)場總線協(xié)議實現(xiàn)主機與從機的通訊。本文基于某 HYPERLINK /product/searchfile/1015.html t _blank 監(jiān)控系統(tǒng)的設計,

3、實現(xiàn)了三菱FX2N 系列PLC 在無協(xié)議通信方式下與DS HYPERLINK /stock-ic/18B20.html t _blank 18b20型數(shù)字 HYPERLINK /product/searchfile/1950.html t _blank 溫度傳感器的采集模塊以Mo dbus 協(xié)議通信, 在電爐熔化工作過程中, 對電爐、電容、冷卻水等100 多點的溫度實現(xiàn)巡檢。1 系統(tǒng)硬件組成溫度監(jiān)控部分系統(tǒng)的硬件由DS18b20 型 HYPERLINK /product/searchfile/2010.html t _blank 數(shù)字溫度傳感器、采集模塊、FX2N 系列PLC、FX2N-485

4、-BD、HITECH HYPERLINK /product/file825.html t _blank 觸摸屏組成, 其結構如圖1 所示。圖1 系統(tǒng)硬件組成DS18b20 是世界上首個支持單線總線 HYPERLINK /product/searchfile/5540.html t _blank 接口( 1w ire bus inter face) 的數(shù)字化溫度傳感器, 單總線接口便于構建分布式的溫度測控網(wǎng)絡, 數(shù)字化的輸出提高了信號傳輸?shù)目煽啃? 而且使外圍電路大為簡化。 DS18b20 具有很高的適應性和性價比, 其測溫范圍為- 55 125 , 測溫精度為0. 5 , 測溫距離最大為200

5、 m , 測溫方式使用3 線制, 本系統(tǒng)使用的傳感器排序方式為指定排序。DS18b20 內部主要有3 個數(shù)字部件: 1 個溫度傳感器、1 個64 位的激光刻蝕ROM、9 字節(jié)高速暫存器Scratchpad RAM 和3 字節(jié)EERAM. ROM 上64 位數(shù)據(jù)是傳感器的序列號。暫存器確保數(shù)據(jù)的完整性, 數(shù)據(jù)先被寫入暫存器, 并可以被讀回. 數(shù)據(jù)經校驗后, 可以由拷貝暫存器命令傳輸?shù)紼ERAM, 以確保更改 HYPERLINK /product/searchfile/310.html t _blank 存儲器時數(shù)據(jù)的完整性。暫存器為9 個字節(jié), 第0 和第1 字節(jié)是溫度編碼的低字節(jié)和高字節(jié).第2

6、 和第3 字節(jié)是溫度編碼的低字節(jié)和高字節(jié)的拷貝, 第4 字節(jié)是配置寄存器, 其值決定溫度轉換的分辨率。本系統(tǒng)采用的STA-D 溫度采集模塊, 是一種遠程數(shù)字化溫度采集系統(tǒng), 有10 個通道, 每個通道最多可以掛接16 個DS18b20 型數(shù)字溫度傳感器,總共可以監(jiān)控160 個點的溫度, 以 HYPERLINK /icstock/291/RS485.html t _blank RS485 方式同上位機通訊, 通信協(xié)議為標準Modbus 協(xié)議, 波特率為9 600 bps, 與上位機通信距離最大為1 200 m, 工作 HYPERLINK /product/searchfile/2937.html

7、 t _blank 電源為12 24 V, 工作溫度為- 20 75 。 與FX2N?485?BD 采用兩線制的485 連線方式( 圖2) ,接線要使用規(guī)范的 HYPERLINK /product/searchfile/5168.html t _blank 屏蔽線。圖2 485 連接圖臺灣HITECH 公司觸摸屏PWS 系列是專為PLC 設計的互動式工作站, 用232 直接與PLC 連接, 可以直接讀取PLC 的數(shù)據(jù)寄存器, 具有良好的 HYPERLINK /product/searchfile/2754.html t _blank 人機界面, 操作人員通過它可設置所有參數(shù), 控制系統(tǒng)自動運行

8、。并且編程簡便, 運行穩(wěn)定, 可設置不同的管理權限, 適合于本系統(tǒng)使用。2 Modbus 協(xié)議標準的Modbus 口是使用RS? HYPERLINK /stock-ic/232C.html t _blank 232C 兼容串行接口, 它定義了連接口的針腳、 HYPERLINK /product/searchfile/29.html t _blank 電纜、信號位、傳輸波特率、奇偶校驗, 控制器能直接或經由Mo dem 組網(wǎng). 控制器通信使用主! 從技術, 即僅一設備( 主設備) 能初始化傳輸( 查詢) , 其它設備( 從設備) 根據(jù)主設備查詢提供的數(shù)據(jù)作出相應反應。表1 Modbus 部分功能

9、碼定義Modbus 通訊協(xié)議有兩種傳送方式? RT U 方式和ASCII 方式。 本系統(tǒng)使用RTU 模式, 這種方式的主要優(yōu)點是: 在同樣的波特率下, 可比ASCII 方式傳送更多的數(shù)據(jù)。使用RTU 模式時, 消息發(fā)送至少要以3. 5 個字符時間的停頓間隔開始, 如圖3 的T1- T 2- T 3- T 4 所示。 傳輸?shù)牡谝粋€域是設備地址, 可以使用的傳輸字符是十六進制數(shù)值。 通信期間, 網(wǎng)絡設備不斷偵測網(wǎng)絡總線, 包括停頓間隔時間內, 當?shù)谝粋€域( 地址域) 接收到, 每個設備都進行解碼以判斷是否發(fā)往自己的。 在最后一個傳輸字符之后, 至少要有3. 5 個字符時間的停頓以標定消息的結束,

10、之后可開始新的消息傳輸。典型的消息幀如圖3 所示。 使用RT U 模式, 消息包括了一個基于CRC 方法的錯誤檢測域. CRC 域檢測了整個消息的內容。圖3 M odbus 消息幀結構CRC 域是兩個字節(jié), 包含一個16 位的二進制值。它由 HYPERLINK /product/searchfile/6264.html t _blank 傳輸設備計算后加入到消息中。 接收設備重新計算收到消息的CRC, 并與接收到的CRC 域中的值比較, 如果兩值不同, 則有誤, 后面將具體講述CRC 算法的實現(xiàn)。3 系統(tǒng)軟件構成考慮到操作的方便性, 在系統(tǒng)初次安裝時, 先在PC 機上用上位機軟件將所有傳感器的

11、ID 搜索出來, 然后按實際安裝位置給每個傳感器編號, 讀溫度測試傳感器是否工作正常。在PLC 上使用Mo dbus協(xié)議通信時首先要對通信格式進行設定, 即對D8120 寄存器進行寫操作, 在本系統(tǒng)條件下設置為0C87 , 即數(shù)據(jù)長度為8 位, 無校驗, 無起始位與停止位, 波特率9 600 bps。 修改D8120 設置后, 確保通斷PLC 電源一次。 再用RS 指令進行數(shù)據(jù)的傳輸, 相關程序格式如圖4 所示。圖4 RS 指令程序格式按照上述程序格式, 即可在數(shù)據(jù)發(fā)送區(qū)寫入指令進行相應的操作。1) 讀取溫度, 其指令格式: 設備地址 命令號 通道號 傳感器編號 讀取個數(shù)高8 位 低8位 CR

12、C 低8 位 CRC 高8 位 , 其中CRC 校驗字節(jié)以子程序形式調用. 設備響應: 設備地址 命令號 返回的字節(jié)個數(shù) 數(shù)據(jù)1 數(shù)據(jù)2 . . . 數(shù)據(jù)n CRC 低8 位 CRC 高8 位 。每個18b20 讀取溫度的返回值占用兩個字節(jié).轉換方法: 將實際溫度擴大100 倍, 再將此數(shù)值分為兩個字節(jié)傳送出來即可. 例如, 實測出來溫度是28.65 , 擴大100 倍即2 865, 則發(fā)送的第一個字節(jié)是2 865/ 256 即是11, 第二個字節(jié)是2 865% 256 即49, 那么傳送的兩個字節(jié)為00B 和031。需要注意的是, 由于采用兩線制的485 連線方式, 會產生回波通信, 即接收

13、端會先接收到自己發(fā)送出去的數(shù)據(jù), 但數(shù)據(jù)還是會正常發(fā)送給采集模塊, 此時接收端則應該避開前面的無用數(shù)據(jù), 接收后面模塊響應的有效數(shù)據(jù)。2) 在系統(tǒng)運行后, 若需更換傳感器, 則需執(zhí)行以下兩條指令, 首先, 搜索ID, 01 06 0c 00 00 00 CRC 低 CRC 高 , 此指令為搜索模塊1上各個通道的所有傳感器。 然后寫編號, 例如: 01 06 09 05 00 05 CRC 低 CRC 高 , 表示將第9 通道的原來編號為05 的傳感器更換后重新設定為05, 執(zhí)行此兩條指令后, 方可重新讀取溫度。3) CRC 校驗字節(jié)的生成是比較關鍵的一步,其過程比較復雜, 步驟如下:預置一個1

14、6 位CRC 寄存器為十六進制 HYPERLINK /stock-ic/FFFF.html t _blank FFFF, 即所有數(shù)位均為1。該16 位寄存器的低8 位字節(jié)與信息幀的第一個字節(jié)的低8 位進行& 異或?運算. 運算結果放入這個16 位寄存器。 把這個16 寄存器向右移一位, 用0 填補高位。若向右( 標記位) 移出的數(shù)位是1, 則生成多項式 HYPERLINK /stock-ic/A001.html t _blank A001( 1010000000000001) 和這個寄存器進行“異或”運算; 若向右移出的數(shù)位是0, 則返回。重復 和, 直至移出8 位。重復 , 直至該報文所有字

15、節(jié)均與16 位寄存器進行& 異或?運算, 并移位8 次。將得到的l6 位CRC 寄存器的高、低位字節(jié)進行, 即2 字節(jié)CRC, 加到報文。其程序流程如圖5, 以上面的溫度讀取指令為例, 其CRC 校驗梯形圖如圖6。圖5 CRC 校驗流程圖6 CRC 校驗程序在讀取溫度時, 應嚴格遵守DS18b20 的讀寫時序, 否則就會出現(xiàn)錯誤, 丟幀等, 若用脈沖信號定時讀取, 則間隔應不小于100 ms. 一般出現(xiàn)錯誤幀時數(shù)據(jù)顯示為0, 此時可以進行簡單的濾波, 例如傳回值為0 時不顯示數(shù)據(jù), 或者多組數(shù)據(jù)取平均值后再顯示, 以避免溫度顯示的大幅度跳動。 DS18b20的初始化溫度顯示為85, 若一直不變, 則此傳感器可能已經損壞或是接線不良, 應進行相

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論