產(chǎn)品列表PRODUCTS LIST
衡水西門子300plc模塊供應(yīng)商
上圖是一個(gè)典型的主站和從站的網(wǎng)絡(luò)結(jié)構(gòu),對(duì)于Modbus主站而言可以對(duì)從站進(jìn)行讀或者寫的操作,其中它所支持的功能碼(FC,F(xiàn)unction Code)包括主站左側(cè)表格中所述功能,例如功能碼為'01'時(shí)表示讀取單個(gè)/多個(gè)線圈(DO)狀態(tài)或功能碼為'04'時(shí)表示讀取單個(gè)/多個(gè)輸入寄存器(AI)狀態(tài)。
而對(duì)于從站,我們只需要把Modbus的標(biāo)準(zhǔn)地址和從站的地址對(duì)應(yīng)關(guān)系建立好就可以了,S7-200的從站與Modbus標(biāo)準(zhǔn)的對(duì)應(yīng)關(guān)系如從站右側(cè)表格所示。
表中左側(cè)是Modbus標(biāo)準(zhǔn)地址碼,其中1-128對(duì)應(yīng)于S7-200的Q0.0-Q15.7,10001-10128對(duì)應(yīng)于S7-200的I0.0-I15.7,30001-30032對(duì)應(yīng)于AIW0-AIW62,40001-4xxx對(duì)應(yīng)的是S7-200的保持寄存器(V區(qū)),它的范圍是T-T+2*(xxxx-1),T表示的是V區(qū)的起始地址,這一點(diǎn)由Modbus從站的指令所決定的。
Modbus的主站指令叫做MBUS_MSG,通過這條指令可以將Modbus的標(biāo)準(zhǔn)報(bào)文發(fā)給從站,例如在上圖例子當(dāng)中從站的*個(gè)字節(jié)是03,表示的是從站的地址,F(xiàn)C功能碼為03,表示的是讀取單個(gè)/多個(gè)保存寄存器,Modbus標(biāo)準(zhǔn)地址是40001,長(zhǎng)度是10。隨著功能碼的不同,報(bào)文的格式會(huì)發(fā)生相應(yīng)的變化,具體的報(bào)文格式需要去參閱Modbus的通訊手冊(cè)。
從站的指令時(shí)MBUS _SLAVE,在接到主站發(fā)給它的報(bào)文后會(huì)根據(jù)報(bào)文的需求返回報(bào)文,比如在上圖例子中返回的格式是*個(gè)字節(jié)為從站的地址,第二個(gè)為功能碼,第三個(gè)是數(shù)據(jù)返回給主站,這樣就完成了一次Modbus通訊的請(qǐng)求與應(yīng)答的過程。
如果想要應(yīng)用Modbus指令庫,那么首先需要到因特網(wǎng)上或者向西門子的客服人員申請(qǐng)名稱為'Toolbox_V32-STEP 7-Micro WIN' 的指令庫,將它解壓并且安裝到Micro WIN當(dāng)中就可以使用了,安裝后會(huì)在Micro WIN的庫文件當(dāng)中出現(xiàn)上圖標(biāo)記的三個(gè)庫,其中Port0和Port1都可以做Modbus Master,而Slave只有Port0口可以做。
西門子內(nèi)存卡6ES7 953-8LJ20-0AA0
使用方法很簡(jiǎn)單,打開Modbus主站指令庫會(huì)有相應(yīng)的指令塊出現(xiàn),直接把指令塊拖拽到程序當(dāng)中進(jìn)行調(diào)用就可以了。