西門子6ES72882DR160AA0模塊使用方法
Modbus應(yīng)用層協(xié)議位于ISO/OSI參考模型中的第七層,它是通過請(qǐng)求-響應(yīng)機(jī)制實(shí)現(xiàn)不同設(shè)備間按客戶/服務(wù)器方式通信。首先客戶發(fā)送請(qǐng)求報(bào)文到服務(wù)器,服務(wù)器接收到報(bào)文后進(jìn)行差錯(cuò)校驗(yàn),若報(bào)文無誤則執(zhí)行操作,并返回響應(yīng)報(bào)文到客戶端,若傳輸出現(xiàn)錯(cuò)誤則返回異常響應(yīng)報(bào)文,從而完成一次通信周期。Modbus協(xié)議定義了一個(gè)與傳輸層無關(guān)報(bào)文格式,該報(bào)文稱之為協(xié)議數(shù)據(jù)元(PDU),協(xié)議數(shù)據(jù)元由占用一個(gè)字節(jié)的功能碼和長252個(gè)字節(jié)的數(shù)據(jù)域組成.
功能碼的有效取值范圍是1~255,功能碼分類分為三類:公用功能碼、用戶自定義功能碼和保留功能碼。由客戶端發(fā)送到服務(wù)器的報(bào)文中的功能碼指示服務(wù)器所要執(zhí)行的操作,一些功能碼還帶有子功能碼,用于執(zhí)行多步操作。如果服務(wù)器接收到的報(bào)文正確并執(zhí)行,由服務(wù)器返回的報(bào)文中的功能碼告訴客戶端設(shè)備該信息為按照該功能碼執(zhí)行的結(jié)果。Modbus網(wǎng)絡(luò)通信中常用到的是公用功能碼,它們在不同公司產(chǎn)品之間的通信中具有統(tǒng)一的定義。表一給出了部分公用功能碼的定義。歡迎轉(zhuǎn)載,本文來自電子發(fā)燒友網(wǎng)
數(shù)據(jù)域內(nèi)存放著Modbus設(shè)備能夠識(shí)別的數(shù)據(jù)信息。由客戶發(fā)送到服務(wù)器的數(shù)據(jù)域含有功能碼操作的附加信息,在某些請(qǐng)求報(bào)文中數(shù)據(jù)域的長度為零。
如果想詳細(xì)了解相關(guān)產(chǎn)品,可以聯(lián)系我公司的技術(shù)工程師。電話:021-691,316,75,手機(jī):180,1943,7157 Q:2355,3388,64 小肖
表一
由表1中可看出Modbus協(xié)議中依據(jù)數(shù)據(jù)屬性的區(qū)別定義了四種數(shù)據(jù)類型:離散輸入、線圈、輸入寄存器和輸出寄存器。這四種數(shù)據(jù)類型的組合構(gòu)成了Modbus數(shù)據(jù)模型。它們在不同的設(shè)備內(nèi)存中分配的方式是由生產(chǎn)廠家預(yù)先制定的,可以是在同一區(qū)域,也可以是有各自的獨(dú)立區(qū)域或其他方式。

西門子6ES72882DR160AA0模塊使用方法
圖2ModbusPDU尋址方式
PDU的尋址方式也在Modbus應(yīng)用層協(xié)議中作出了具體的定義。在ModbusPDU中每一個(gè)數(shù)據(jù)都賦予從0~65535中的一個(gè)值作為該數(shù)據(jù)的地址。而在Modbus數(shù)據(jù)模型中,每一種數(shù)據(jù)類型塊中的數(shù)據(jù)單元都定義了一個(gè)從1到n(設(shè)備容量決定)的值作為其地址。
Modbus數(shù)據(jù)模型要與符合IEC-61131標(biāo)準(zhǔn)的實(shí)際設(shè)備內(nèi)存或者其他模型對(duì)應(yīng)起來,這方面的映射關(guān)系是由設(shè)備生產(chǎn)廠家制定的。圖二給出了Modbus尋址模型,設(shè)備內(nèi)存中的四種數(shù)據(jù)模式的組織方式是由廠家決定的。由圖2可知,一個(gè)ModbusPDU地址所對(duì)應(yīng)的Modbus數(shù)據(jù)模型地址為該P(yáng)DU地址加1。
2.2Modbus通信實(shí)現(xiàn)方式
要實(shí)現(xiàn)設(shè)備間的通信,需要將Modbus應(yīng)用層協(xié)議嵌入到ISO/OSI參考模型中的低層協(xié)議中。現(xiàn)行的通信方式有三種:
(1)通過串行鏈路實(shí)現(xiàn)的異步數(shù)據(jù)傳輸(Modbus-RTUandModbus-ASCII),又稱標(biāo)準(zhǔn)Modbus通信;
(2)高速令牌環(huán)網(wǎng)通信(Modbus-Plus);
(3)基于TCP/IP的客戶/服務(wù)器結(jié)構(gòu)通信(Modbus-TCP)。
表2給出這三種通信方式與ISO/OSI參考模型的比較。
在不同的通信方式中都要對(duì)ModbusPDU進(jìn)行封裝,組成不同的Modbus幀,這種幀在Modbus協(xié)議中有專有的名詞稱之為應(yīng)用數(shù)據(jù)單元(ADU)。在Modbus-RTU和Modbus-Plus通信中采用的是標(biāo)準(zhǔn)應(yīng)用數(shù)據(jù)單元,它只是在PDU前面加上了占用一個(gè)字節(jié)的附加地址和在PDU結(jié)束增加了占用兩個(gè)字節(jié)的校驗(yàn)碼。在Modbus-TCP/IP網(wǎng)絡(luò)通信中需要對(duì)Modbus應(yīng)用層協(xié)議進(jìn)行重新封裝,該封裝是通過在ModbusPDU前加上了Modbus應(yīng)用層協(xié)議幀頭來實(shí)現(xiàn)。
基于串行鏈路的Modbus通信網(wǎng)絡(luò)是一種主從式網(wǎng)絡(luò),在串行網(wǎng)絡(luò)中只允許存在一個(gè)主節(jié)點(diǎn)和多247個(gè)從節(jié)點(diǎn),在這種網(wǎng)絡(luò)下,標(biāo)準(zhǔn)ModbusADU中的附加地址域只包含從節(jié)點(diǎn)的地址,可尋址范圍是0~247,地址0作為廣播模式地址使用,從節(jié)點(diǎn)地址的有效取值范圍是1~247,并且每個(gè)從節(jié)點(diǎn)的地址必須是的,主節(jié)點(diǎn)不存在具體的地址值。主節(jié)點(diǎn)設(shè)備將要訪問的從節(jié)點(diǎn)設(shè)備的地址放入到請(qǐng)求幀的地址域中,當(dāng)該地址的從節(jié)點(diǎn)設(shè)備作出響應(yīng)時(shí),將會(huì)把從節(jié)點(diǎn)設(shè)備的地址復(fù)制到響應(yīng)幀的地址域中,主節(jié)點(diǎn)設(shè)備通過該地址得知是由哪個(gè)從節(jié)點(diǎn)設(shè)備發(fā)來的響應(yīng)。
如果想詳細(xì)了解相關(guān)產(chǎn)品,可以聯(lián)系我公司的技術(shù)工程師。電話:021-691,316,75,手機(jī):180,1943,7157 Q:2355,3388,64 小肖





所有評(píng)論僅代表網(wǎng)友意見,與本站立場無關(guān)。