MODBUS總線簡介
MODBUS傳輸協(xié)議定義了控制器可以識別和使用的信息結(jié)構(gòu),而不須考慮通信網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)。它定義了各種數(shù)據(jù)幀格式,描述了控制器訪問另一設(shè)備的過程,怎樣作出應(yīng)答響應(yīng),以及可檢查和報(bào)告的錯(cuò)誤。字串5
MODBUS有兩種傳送方式,RTU(Remote Terminal Unit)方式和ASCⅡ方式。MODBUS以LSB在先的形式傳送數(shù)字量,以MSB在先的形式傳送模擬量。MODBUS把通信參與者規(guī)定為“主站”(MASTER)和“從站”(SLAVE)。主站可向多個(gè)從站發(fā)送通信請求,最多可達(dá)247個(gè)從站。每個(gè)從站都有自己的地址編號。
字串8
MODBUS的RTU方式規(guī)定通信字符串的最后兩個(gè)字節(jié)用于傳遞循環(huán)冗余校驗(yàn)數(shù)據(jù)。其校驗(yàn)方式是將整個(gè)字符串(不包括最后兩個(gè)字節(jié))的所有字節(jié)按規(guī)定的方式進(jìn)行位移并進(jìn)行XOR(異或)計(jì)算。接收方在收到該字符串時(shí)按同樣的方式進(jìn)行計(jì)算,并將結(jié)果同收到的循環(huán)冗余校驗(yàn)的兩個(gè)字節(jié)進(jìn)行比較,如果一致則認(rèn)為通信正確,如果不一致,則認(rèn)為通信有誤,從站將發(fā)送CRC錯(cuò)誤應(yīng)答。MODBUS中RTU采用CRC-16的冗余校驗(yàn)方式。字串7
控制器與PLC之間通信的內(nèi)容包括主站對從站的讀取和寫入,MODBUS規(guī)定,只有主站具有主動權(quán),從站只能被動的響應(yīng),包括回答出錯(cuò)信息。數(shù)據(jù)通信的一般格式如下:
字串9
從功能上講,MODBUS包括24種命令,每一功能都有相應(yīng)的功能碼。最基本的功能主要包括AI/AO、DI/DO的數(shù)據(jù)傳送, PLC如果支持MODBUS,那么都應(yīng)該包含這些基本命令。PLC將模擬量和數(shù)字量存放在不同的寄存器中。模擬量在PLC中是保存在寄存器(Holding Register)中,數(shù)字量保存在線圈中(Holding Coils)。 字串7
主站:從站地址
從站:從站地址
字串4
MODBUS除了定義通信功能碼外,同時(shí)還定義了出錯(cuò)碼,這有助于通信主站發(fā)現(xiàn)通信的錯(cuò)誤內(nèi)容和原因,并采取相應(yīng)措施,從而保證了通信的可靠進(jìn)行。
字串2
評論