基于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頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

基于PLC的Modbus通信協(xié)議的實現(xiàn)作者:日期:

摘要:介紹了三菱FX2N系列PLC在無協(xié)議通信方式下與基于DS18b20型數(shù)字溫度傳感器的STA-D溫度采集模塊以Modbus協(xié)議通信,實現(xiàn)即時讀取溫度,并給出了相關(guān)程序。隨著3c技術(shù)迅速發(fā)展,網(wǎng)絡(luò)集成信息自動化正迅速應(yīng)用到現(xiàn)場設(shè)備、控制中,現(xiàn)場總線控制系統(tǒng)正逐步取代傳統(tǒng)的集散控制系統(tǒng),其中Modbus現(xiàn)場總線協(xié)議在基于PLC的控制系統(tǒng)中得到了越來越廣泛的應(yīng)用.在本系統(tǒng)中,以PLC為主機、溫度采集模塊為從機,完成對生產(chǎn)過程的自動控制、工業(yè)流程及工藝參數(shù)的顯示、修改,根據(jù)PLC的無協(xié)議通信功能,用Modbus現(xiàn)場總線協(xié)議實現(xiàn)主機與從機的通訊。本文基于某監(jiān)控系統(tǒng)的設(shè)計,實現(xiàn)了三菱FX2N系列PLC在無協(xié)議通信方式下與DS18b20型數(shù)字溫度傳感器的采集模塊以Modbus協(xié)議通信,在電爐熔化工作過程中,對電爐、電容、冷卻水等100多點的溫度實現(xiàn)巡檢。1系統(tǒng)硬件組成溫度監(jiān)控部分系統(tǒng)的硬件由DS18b20型數(shù)字溫度傳感器、采集模塊、FX2N系列PLC、FX2N—485-BD、HITECH觸摸屏組成, 其結(jié)構(gòu)如圖1所示。通道。觸¥屏1[232(STA-D采集模通道。亡1…亡1白15號傳感器15號傳感器0號傳感器圖1系統(tǒng)硬件組成DS18b20是世界上首個支持單線總線接口(1wirebusinterface)的數(shù)字化溫度傳感器,單總線接口便于構(gòu)建分布式的溫度測控網(wǎng)絡(luò),數(shù)字化的輸出提高了信號傳輸?shù)目煽啃?,而且使外圍電路大為簡化。DS18b20具有很高的適應(yīng)性和性價比,其測溫范圍為一55?125℃,測溫精度為±0.5℃,測溫距離最大為200m,測溫方式使用3線制,本系統(tǒng)使用的傳感器排序方式為指定排序。DS18b20內(nèi)部主要有3個數(shù)字部件:1個溫度傳感器、1個64位的激光刻蝕ROM、9字節(jié)高速暫存器ScratchpadRAM和3字節(jié)EERAM.ROM上64位數(shù)據(jù)是傳感器的序列號。暫存器確保數(shù)據(jù)的完整性, 數(shù)據(jù)先被寫入暫存器,并可以被讀回.數(shù)據(jù)經(jīng)校驗后,可以由拷貝暫存器命令傳輸?shù)紼ERAM,以確保更改存儲器時數(shù)據(jù)的完整性。暫存器為9個字節(jié),第0和第1字節(jié)是溫度編碼的低字節(jié)和高字節(jié).第2和第3字節(jié)是溫度編碼的低字節(jié)和高字節(jié)的拷貝,第4字節(jié)是配置寄存器,其值決定溫度轉(zhuǎn)換的分辨率。本系統(tǒng)采用的STA-D溫度采集模塊,是一種遠程數(shù)字化溫度采集系統(tǒng),有10個通道,每個通道最多可以掛接16個DS18b20型數(shù)字溫度傳感器,總共

可以監(jiān)控160個點的溫度,以RS485方式同上位機通訊,通信協(xié)議為標準Modbus協(xié)議,波特率為9600bps,與上位機通信距離最大為1200m,工作電源為12?24V, 工作溫度為一20?75℃。與FX2N??485??BD采用兩線制的485連線方式(圖2),接線要使用規(guī)范的屏蔽線。FX2N-485-BD STA-DFX2N-485-BD STA-D圖2485連接圖臺灣HITECH公司觸摸屏PWS系列是專為PLC設(shè)計的互動式工作站,用232直接與PLC連接,可以直接讀取PLC的數(shù)據(jù)寄存器,具有良好的人機界面,操作人員通過它可設(shè)置所有參數(shù),控制系統(tǒng)自動運行。并且編程簡便,運行穩(wěn)定,可設(shè)置不同的管理權(quán)限,適合于本系統(tǒng)使用。2Modbus協(xié)議標準的ModbuS口是使用RS??232C兼容串行接口,它定義了連接口的針腳、電纜、信號位、傳輸波特率、奇偶校驗,控制器能直接或經(jīng)由Modem組網(wǎng).控制器通信使用主!從技術(shù),即僅一設(shè)備(主設(shè)備)能初始化傳輸(查詢),其它設(shè)備(從設(shè)備)根據(jù)主設(shè)備查詢提供的數(shù)據(jù)作出相應(yīng)反應(yīng)。表1Modbus部分功能碼定義功能碼名稱 作用0102讀取線圈狀態(tài)讀取輸入狀態(tài)03讀取保持寄存器(M讀取輸入寄存器06頸置單寄存器取得一組邏輯線圈的當前狀態(tài)取得一組開關(guān)輸入的當前狀態(tài)在一個或多個保持寄存器中取得當前的一進制值在一個或多個輸入寄存器中取得當前的二進制值0102讀取線圈狀態(tài)讀取輸入狀態(tài)03讀取保持寄存器(M讀取輸入寄存器06頸置單寄存器取得一組邏輯線圈的當前狀態(tài)取得一組開關(guān)輸入的當前狀態(tài)在一個或多個保持寄存器中取得當前的一進制值在一個或多個輸入寄存器中取得當前的二進制值把具體一進制值裝入-個保持寄存器Modbus通訊協(xié)議有兩種傳送方式?RTU方式和ASCII方式。本系統(tǒng)使用RTU模式,這種方式的主要優(yōu)點是:在同樣的波特率下,可比ASCII方式傳送更多的數(shù)據(jù)。使用RTU模式時,消息發(fā)送至少要以3.5個字符時間的停頓間隔開始,如圖3的Tl-T2—T3-T4所示。傳輸?shù)牡谝粋€域是設(shè)備地址,可以使用的傳輸字符是十六進制數(shù)值。通信期間,網(wǎng)絡(luò)設(shè)備不斷偵測網(wǎng)絡(luò)總線,包括停頓間隔時間內(nèi),當?shù)谝粋€域(地址域)接收到,每個設(shè)備都進行解碼以判斷是否發(fā)往自己的。在最后一個傳輸字符之后,至少要有3. 5個字符時間的停頓以標定消息的結(jié)束,之后可開始新的消息傳輸。典型的消息幀如圖3所示。使用RTU模式,消息包括了一個基于CRC方法的錯誤檢測域.CRC域檢測了整個消息的內(nèi)容。起始位設(shè)備地址起始位設(shè)備地址功能碼T1T48位8位數(shù)據(jù)共CRC校驗停止位□個8位16位Tl-T4圖3Modbus消息幀結(jié)構(gòu)CRC域是兩個字節(jié),包含一個16位的二進制值。它由傳輸設(shè)備計算后加入到消息中。接收設(shè)備重新計算收到消息的CRC,并與接收到的CRC域中的值比較,如果兩值不同,則有誤,后面將具體講述CRC算法的實現(xiàn)。3系統(tǒng)軟件構(gòu)成考慮到操作的方便性,在系統(tǒng)初次安裝時, 先在PC機上用上位機軟件將所有傳感器的ID搜索出來,然后按實際安裝位置給每個傳感器編號,讀溫度測試傳感器是否工作正常。在PLC上使用Modbus協(xié)議通信時首先要對通信格式進行設(shè)定,即對D8120寄存器進行寫操作,在本系統(tǒng)條件下設(shè)置為0C87即數(shù)據(jù)長度為8位,無校驗,無起始位與停止位,波特率9600bps。修改D8120設(shè)置后,確保通斷PLC電源一次。再用RS指令進行數(shù)據(jù)的傳輸,相關(guān)程序格式如圖4所示。

圖4RS指令程序格式按照上述程序格式,即可在數(shù)據(jù)發(fā)送區(qū)寫入指令進行相應(yīng)的操作。1)讀取溫度,其指令格式:[設(shè)備地址][命令號][通道號][傳感器編號][讀取個數(shù)高8位][低8位][CRC低8位][CRC高8位]其中CRC校驗字節(jié)以子程序形式調(diào)用.設(shè)備響應(yīng):[設(shè)備地址][命令號][返回的字節(jié)個數(shù)][數(shù)據(jù)1][數(shù)據(jù)2]...[數(shù)據(jù)n][CRC低8位][CRC高8位]。每個18b20讀取溫度的返回值占用兩個字節(jié).轉(zhuǎn)換方法:將實際溫度擴大100倍,再將此數(shù)值分為兩個字節(jié)傳送出來即可.例如,實測出來溫度是28.65℃,擴大100倍即2865,則發(fā)送的第一個字節(jié)是2865/256即是11,第二個字節(jié)是2865%256即49,那么傳送的兩個字節(jié)為0x0B和0x31。需要注意的是,由于采用兩線制的485連線方式,會產(chǎn)生回波通信,即接收端會先接收到自己發(fā)送出去的數(shù)據(jù),但數(shù)據(jù)還是會正常發(fā)送給采集模塊,此時接收端則應(yīng)該避開前面的無用數(shù)據(jù),接收后面模塊響應(yīng)的有效數(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的傳感器更換后重新設(shè)定為05,執(zhí)行此兩條指令后, 方可重新讀取溫度。3)CRC校驗字節(jié)的生成是比較關(guān)鍵的一步,其過程比較復(fù)雜,步驟如下:①預(yù)置一個16位CRC寄存器為十六進制FFFF,即所有數(shù)位均為1。②該16位寄存器的低8位字節(jié)與信息幀的第一個字節(jié)的低8位進行&異或?運算.運算結(jié)果放入這個16位寄存器。③把這個16寄存器向右移一位,用0填補高位。④若向右(標記位)移出的數(shù)位是1,則生成多項式A001(10001)和這個寄存器進行“異或”運算;若向右移出的數(shù)位是0,則返回③。

⑤重復(fù)③和④,直至移出8位。⑥重復(fù)③?⑤,直至該報文所有字節(jié)均與16位寄存器進行&異或?運算,并移位8次。⑦將得到的16位CRC寄存器的高、低位字節(jié)進行,即2字節(jié)CRC,加到報文。其程序流程如圖5,以上面的溫度讀取指令為例,其CRC校驗梯形圖如圖6。CRC寄存器K4M】10寫入HOFFFF待校驗數(shù)據(jù)與K4M100異或送入K4M100右移一位N右移8N右移8次?K4M100右移E次Y移出位為0?Y移出位為0?K4M100與H0A001異或數(shù)據(jù)校驗完?數(shù)據(jù)校驗完?K4M100高低8位互操發(fā)送圖5CRC校驗流程

141152155171174ISO182199214215216M8000TIM8Q00-HF-rM8000MI00[MOV{WXORD100 [MOVHOFFFF(RST{RST{FORD10V5D100V5[MOVK4M100{INC[FORD100M117 1K6)K4M100}D100 }V5}K8K4M100}MI30—IHHSFTRMl141152155171174ISO182199214215216M8000TIM8Q00-HF-rM8000MI00[MOV{WXORD100 [MOVHOFFFF(RST{RST{FORD10V5D100V5[MOVK4M100{INC[FORD100M117 1K6)K4M100}D100 }V5}K8K4M100}MI30—IHHSFTRMl17Ml00K16M130{WXORK4M100H0A001(M130KID100JFHSFTRM117M100[MOVK16K4M100M8000TD100

{NEXT

{NEXTD100K2M100K2M128K4M120}D101 1DI02}否則就會出現(xiàn)錯誤,丟圖6CR否則就會出現(xiàn)錯誤,丟在讀取溫度時,應(yīng)嚴格遵守DS18b20的讀寫時序,幀等,若用脈沖信號定時讀取,則間隔應(yīng)不小于100ms,一般出現(xiàn)錯誤幀時數(shù)據(jù)顯示為0℃,此時可以進行簡單的濾波,例如傳回值為0時不顯示數(shù)據(jù),或者多組數(shù)據(jù)取平均值后再顯示,以避免溫度

溫馨提示

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

評論

0/150

提交評論