第五章 Modbus總線及其應(yīng)用_第1頁(yè)
第五章 Modbus總線及其應(yīng)用_第2頁(yè)
第五章 Modbus總線及其應(yīng)用_第3頁(yè)
第五章 Modbus總線及其應(yīng)用_第4頁(yè)
第五章 Modbus總線及其應(yīng)用_第5頁(yè)
已閱讀5頁(yè),還剩39頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

《現(xiàn)場(chǎng)總線技術(shù)及其應(yīng)用》(第3版)2第五章Modbus總線及其應(yīng)用一、Modbus協(xié)議概述二、ModbusRTU通信三、S7-200PLC之間的ModbusRTU通信四、FX3UPLC與智能儀表的ModbusRTU通信

Modbus是Modicon公司于1979年開(kāi)發(fā)的一種通用串行通信協(xié)議,是國(guó)際上第一個(gè)真正用于工業(yè)控制的現(xiàn)場(chǎng)總線協(xié)議。由于其功能完善且使用簡(jiǎn)單、數(shù)據(jù)易于處理,因而在各種智能設(shè)備中被廣泛采用,得到了諸如GE、SIEMENS等大公司的應(yīng)用,并把它作為一種標(biāo)準(zhǔn)的通信接口提供給用戶。一、Modbus總線概述1)定義通訊數(shù)據(jù)單元Modbus協(xié)議是一種應(yīng)用層報(bào)文傳輸協(xié)議(OSI模型第七層),它定義了一個(gè)與通信層無(wú)關(guān)的協(xié)議數(shù)據(jù)單元(ProtocolDataUnit,PDU),PDU=(功能碼+數(shù)據(jù)域)。2)對(duì)物理端口不做具體要求

Modbus協(xié)議只定義了通訊消息的結(jié)構(gòu),對(duì)物理端口沒(méi)有作具體規(guī)定,支持RS232、RS422、RS485和以太網(wǎng)接口,可以作為各種智能設(shè)備、儀表之間的通訊標(biāo)準(zhǔn)。1.協(xié)議特點(diǎn)

Modbus分為串口協(xié)議和網(wǎng)口協(xié)議,可用于不同的總線或網(wǎng)絡(luò)。對(duì)應(yīng)于不同的總線或網(wǎng)絡(luò),Modbus協(xié)議引入一些附加域映射成應(yīng)用數(shù)據(jù)單元(ApplicationDataUnit,ADU),ADU=(附加域+PDU),包括RTU、ASCII和TCP三種報(bào)文類型。

2.總線分類Modbus的數(shù)據(jù)通信采用主/從方式。網(wǎng)絡(luò)中只有一個(gè)主設(shè)備,通信采用查詢-回應(yīng)的方式進(jìn)行,主設(shè)備初始化系統(tǒng)通信設(shè)置,并向從設(shè)備發(fā)送消息,從設(shè)備正確接收消息后響應(yīng)主設(shè)備的查詢或根據(jù)主設(shè)備的消息作出響應(yīng)的動(dòng)作。3.通信方式

主設(shè)備初始化系統(tǒng)通信設(shè)置,并向從設(shè)備發(fā)送消息,從設(shè)備正確接收消息后響應(yīng)主設(shè)備的查詢或根據(jù)主設(shè)備的消息作出響應(yīng)的動(dòng)作。3.通信方式功能代碼表示被選中的從設(shè)備要執(zhí)行何種功能,例如指定的從設(shè)備地址為1,功能碼為03,則含義是要求讀取1#從站的多個(gè)寄存器值并返回它們的內(nèi)容。數(shù)據(jù)段包括了從設(shè)備要執(zhí)行功能的任何附加消息,例如從哪個(gè)寄存器地址開(kāi)始讀數(shù)據(jù)、要讀的寄存器數(shù)量是多少個(gè)。3.通信方式3)錯(cuò)誤檢測(cè)域?yàn)閺脑O(shè)備提供了一種

驗(yàn)證消息內(nèi)容是否正確的方法。二、ModbusRTU通信Modbus在串行鏈路上的信息幀結(jié)構(gòu)如圖,為了與從設(shè)備進(jìn)行通訊,主設(shè)備會(huì)發(fā)送一段包含設(shè)備地址、功能代碼、數(shù)據(jù)段、錯(cuò)誤檢查的信息。二、ModbusRTU通信1.地址域:信息幀的第一個(gè)字節(jié)是設(shè)備地址碼,這個(gè)字節(jié)表明由用戶設(shè)置地址的從機(jī)將接收由主機(jī)發(fā)送來(lái)的信息。每個(gè)從機(jī)都必須有唯一的地址碼,并且只有符合地址碼的從機(jī)才能響應(yīng)回送;當(dāng)從機(jī)回送信息時(shí),相應(yīng)的地址碼表明該信息來(lái)自于何處。設(shè)備地址是一個(gè)從0~247的數(shù)字,發(fā)送給地址0的訊息可以被所有從機(jī)接收到。二、ModbusRTU通信2.功能碼:定義了從設(shè)備應(yīng)該執(zhí)行的命令,有些功能代碼還擁有子功能代碼。主機(jī)請(qǐng)求發(fā)送,通過(guò)功碼告訴從機(jī)執(zhí)行什么動(dòng)作;作為從機(jī)響應(yīng),從機(jī)發(fā)送的功能碼與從主機(jī)得到的功能碼一樣,并表明從機(jī)已響應(yīng)主機(jī)進(jìn)行操作。二、ModbusRTU通信功能碼二、ModbusRTU通信3.?dāng)?shù)據(jù):數(shù)據(jù)區(qū)包含需要從機(jī)執(zhí)行什么動(dòng)作或由從機(jī)采集的返送信息,這些信息可以是數(shù)值、參考地址等;對(duì)于不同的從機(jī),地址和數(shù)據(jù)信息都不相同。例如,功能碼告訴從機(jī)讀取寄存器的值,則數(shù)據(jù)區(qū)必需包含要讀取寄存器的起始地址及讀取長(zhǎng)度。二、ModbusRTU通信4.差錯(cuò)校驗(yàn):RTU模式采用循環(huán)冗余校驗(yàn)碼(CRC),該校驗(yàn)方式包含兩個(gè)字節(jié)的錯(cuò)誤檢測(cè)碼,由傳輸設(shè)備計(jì)算后加入到消息中,接收設(shè)備重新計(jì)算收到消息的CRC,并與接收到的CRC域中的值比較,如果兩值不同,表明有錯(cuò)誤。三、S7-200PLC之間的ModbusRTU通信

1.Modbus協(xié)議的安裝Modbus協(xié)議包含在S7-200PLC的編程軟件STEP7-Micro/WIN指令庫(kù)(Libraries)中。當(dāng)STEP7-Micro/WIN安裝了指令庫(kù)以后,通過(guò)指令庫(kù)可以打開(kāi)相應(yīng)的通信編程指令。三、實(shí)現(xiàn)S7-200PLC之間的ModbusRTU通信

2.西門(mén)子Modbus協(xié)議庫(kù)常用功能碼裝三、實(shí)現(xiàn)S7-200PLC之間的ModbusRTU通信

3.注意事項(xiàng)1)使用Modbus指令庫(kù)前,必須將其安裝到STEP7-Micro/WINV3.2或以上版本的軟件中。2)S7-200PLC的CPU版本必須為2.00或者2.01(即訂貨號(hào)為6ES721*-***23-0BA*),1.22版本之前(包括1.22版本)的CPU不支持Modbus指令庫(kù)。3)如果CPU端口被設(shè)為Modbus通信時(shí),該端口就無(wú)法用于其它任何用途,包括用STEP7-Micro/WIN軟件下載程序。三、實(shí)現(xiàn)S7-200PLC之間的ModbusRTU通信

4.主站尋址所有Modbus地址都是從地址1開(kāi)始編號(hào)。三、實(shí)現(xiàn)S7-200PLC之間的ModbusRTU通信

4.從站尋址所有Modbus地址都是從地址1開(kāi)始編號(hào)。三、實(shí)現(xiàn)S7-200PLC之間的ModbusRTU通信

5.硬件連接三、實(shí)現(xiàn)S7-200PLC之間的ModbusRTU通信

6.主站側(cè)指令MBUS_CTRL指令用于初始化主站通信,可初始化、監(jiān)視或禁用Modbus通訊。三、實(shí)現(xiàn)S7-200PLC之間的ModbusRTU通信

6.主站側(cè)指令MBUS_MSG指令用于啟動(dòng)對(duì)Modbus從站的請(qǐng)求并處理應(yīng)答。三、實(shí)現(xiàn)S7-200PLC之間的ModbusRTU通信

7.從站側(cè)指令三、實(shí)現(xiàn)S7-200PLC之間的ModbusRTU通信

7.從站側(cè)指令三、實(shí)現(xiàn)S7-200PLC之間的ModbusRTU通信

8.程序編寫(xiě)1)控制要求

兩臺(tái)型號(hào)為S7-200CPU226CN的PLC進(jìn)行Modbus通信,其中一臺(tái)作為Modbus通信主站,另一臺(tái)作為Modbus通信從站。當(dāng)主站I0.1為ON時(shí),主站給從站發(fā)送信息,并使從站的輸出Q0.0~Q0.7隨主站﹠VB1000的值變化。三、實(shí)現(xiàn)S7-200PLC之間的ModbusRTU通信

8.程序編寫(xiě)2)主程序編寫(xiě)三、實(shí)現(xiàn)S7-200PLC之間的ModbusRTU通信

8.程序編寫(xiě)3)從站程序編寫(xiě)三、實(shí)現(xiàn)S7-200PLC之間的ModbusRTU通信

8.程序編寫(xiě)4)注意事項(xiàng)

利用主從站指令庫(kù)編程前首先應(yīng)為其分配存儲(chǔ)區(qū),否則Step7-Micro/Win編譯時(shí)會(huì)報(bào)錯(cuò)。

1.控制要求

四、

FX3UPLC與智能儀表的ModbusRTU通信

采用MODBUSRTU通信方式,實(shí)現(xiàn)PLC實(shí)時(shí)讀取兩臺(tái)智能儀表檢測(cè)的現(xiàn)場(chǎng)環(huán)境溫度和濕度值。

2.系統(tǒng)結(jié)構(gòu)四、

FX3UPLC與智能儀表的ModbusRTU通信

3.智能儀表介紹四、

FX3UPLC與智能儀表的ModbusRTU通信1)通訊協(xié)議

采用MODBUSRTU通訊方式,波特率為1200、2400、4800、9600四檔可調(diào),數(shù)據(jù)格式為1個(gè)起始位、8個(gè)數(shù)據(jù)位、1個(gè)停止位、無(wú)校驗(yàn)位,可進(jìn)行單字(雙字節(jié))讀寫(xiě)通信。2)主要參數(shù)對(duì)應(yīng)通信地址溫、濕度測(cè)量值的參數(shù)首地址:1001H(十進(jìn)制:4097)主控輸出狀態(tài)的參數(shù)首地址:1101H(十進(jìn)制:4353)報(bào)警輸出狀態(tài)的參數(shù)首地址:1200H(十進(jìn)制:4608)

3.智能儀表介紹四、

FX3UPLC與智能儀表的ModbusRTU通信

智能儀表通信參數(shù)設(shè)置主要有通訊波特率(BAND)、從站地址(ADDR)。例如本項(xiàng)目設(shè)置通訊波特率為9600bps,智能溫度儀從站地址為1,智能濕度儀從站地址為2。

4.FX3U系列PLC通信參數(shù)設(shè)置四、

FX3UPLC與智能儀表的ModbusRTU通信

通信格式可在D8400或D8420中進(jìn)行設(shè)定;使用通信端口(通道1)時(shí)設(shè)定D8400,使用通信端口(通道2)時(shí)設(shè)定D8420;例如D8420通信格式如圖。

4.FX3U系列PLC通信參數(shù)設(shè)置四、

FX3UPLC與智能儀表的ModbusRTU通信

本例中,智能儀表(從站1,2)采用數(shù)據(jù)格式為:8個(gè)數(shù)據(jù)位、1個(gè)停止位、無(wú)校驗(yàn)位,波特率設(shè)為9600kbps,且為RS-485通信。由于同一網(wǎng)絡(luò)需要保持?jǐn)?shù)據(jù)格式一致,因此PLC側(cè)按照上表內(nèi)容含義,將D8420設(shè)置為H1081(二進(jìn)制數(shù)0001,0000,1000,0001)。1)b0=1,8個(gè)數(shù)據(jù)位;2)(b2,b1)=(0,0),無(wú)校驗(yàn);3)b3=0,停止位1位;4)(b7,b6,b5,b4)=(1,0,0,0),將波特率設(shè)為9600kbps;5)b12=1,設(shè)定PLC為RS-485通訊。

4.FX3U系列PLC通信參數(shù)設(shè)置四、

FX3UPLC與智能儀表的ModbusRTU通信

FX3U系列PLC的MODBUS通信協(xié)議可在D8401或D8421中進(jìn)行設(shè)定。使用通道1時(shí)設(shè)定D8401,使用通道2時(shí)設(shè)定D8421;例如通道2參數(shù)設(shè)置如圖。

4.FX3U系列PLC通信參數(shù)設(shè)置四、

FX3UPLC與智能儀表的ModbusRTU通信

本例中,PLC作為主站與智能儀表(從站1,2)進(jìn)行MODBUSRTU通信,

因此PLC側(cè)按照按照上表內(nèi)容含義,將D8421(通道2)設(shè)置為H1(二進(jìn)制數(shù)0000,0000,0000,0001)。1)b0=1,采用MODBUS協(xié)議;2)b4=0,將該臺(tái)PLC設(shè)為主站;3)b8=0,選擇MODBUSRTU通信方式。

4.FX3U系列PLC通信參數(shù)設(shè)置四、

FX3UPLC與智能儀表的ModbusRTU通信

其他通信參數(shù)

4.FX3U系列PLC通信參數(shù)設(shè)置四、

FX3UPLC與智能儀表的ModbusRTU通信

在MODBUS通信時(shí),還需要使用一些特殊輔助繼電器用于顯示通信狀態(tài)、通信信息等。例如:1)M8411:用于設(shè)定MODBUS通信參數(shù)的標(biāo)志位;2)M8029:指令結(jié)束標(biāo)志位;3)M8401/M8421:MODBUS通信中標(biāo)志位。其他通信參數(shù)

5.FX3U系列PLCModbus通信指令四、

FX3UPLC與智能儀表的ModbusRTU通信

5.FX3U系列PLCModbus通信指令四、

FX3UPLC與智能儀表的ModbusRTU通信

6

溫馨提示

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

評(píng)論

0/150

提交評(píng)論