弈宸
級(jí)別: 探索解密
精華主題: 0
發(fā)帖數(shù)量: 24 個(gè)
工控威望: 148 點(diǎn)
下載積分: 1423 分
在線(xiàn)時(shí)間: 87(小時(shí))
注冊(cè)時(shí)間: 2011-10-08
最后登錄: 2024-08-16
查看弈宸的 主題 / 回貼
樓主  發(fā)表于: 2012-06-10 18:27
請(qǐng)教各位師傅,MODBUS通訊中,MBUS_MSG出現(xiàn)錯(cuò)誤代碼6怎么解決呢?能否幫我看下一下程序?有空幫忙的請(qǐng)加574873445.。。。不勝感激
天使之心
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 189 個(gè)
工控威望: 322 點(diǎn)
下載積分: 4219 分
在線(xiàn)時(shí)間: 139(小時(shí))
注冊(cè)時(shí)間: 2009-02-08
最后登錄: 2024-11-13
查看天使之心的 主題 / 回貼
1樓  發(fā)表于: 2012-06-10 20:25
錯(cuò)誤代碼"6    Modbus忙于處理另一個(gè)請(qǐng)求:一次只能激活一條MBUS_MSG指令。"

你的程序中同時(shí)執(zhí)行了兩條及兩條以上的MBUS_MSG指令。你把程序傳上來(lái)大家?guī)湍憧纯础?/div>
天使之心
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 189 個(gè)
工控威望: 322 點(diǎn)
下載積分: 4219 分
在線(xiàn)時(shí)間: 139(小時(shí))
注冊(cè)時(shí)間: 2009-02-08
最后登錄: 2024-11-13
查看天使之心的 主題 / 回貼
2樓  發(fā)表于: 2012-06-11 23:06
你這個(gè)程序還蠻復(fù)雜的,掛了9個(gè)從站(3~11號(hào)站),調(diào)用了19個(gè)MBUS_MSG指令。你這19個(gè)MBUS_MSG指令都是同時(shí)執(zhí)行的(都用SM0.0使能),肯定出錯(cuò)(錯(cuò)誤代碼6)。應(yīng)該參考幫助里面的程序,讓每個(gè)MBUS_MSG指令輪流執(zhí)行,執(zhí)行完一條MBUS_MSG指令就將激活該MBUS_MSG指令的位復(fù)位并激活下一條MBUS_MSG指令,如下圖:





你可以這樣改,將所有MBUS_MSG指令做在一個(gè)開(kāi)機(jī)無(wú)條件執(zhí)行的塊內(nèi),不要分在那么多個(gè)塊,免得編程的時(shí)候編錯(cuò)了;編一段程序讓PLC一運(yùn)行就將所有激活MBUS_MSG指令的各個(gè)位復(fù)位(用SM0.1);再編一段程序,讓系統(tǒng)一啟動(dòng)就讓MBUS_MSG指令輪流循環(huán)執(zhí)行。

你編程的時(shí)候還有一個(gè)地方錯(cuò)了,就是激活MBUS_MSG指令的EN端和First端必須為同一個(gè)位(見(jiàn)上圖)。
天使之心
級(jí)別: 略有小成
精華主題: 0
發(fā)帖數(shù)量: 189 個(gè)
工控威望: 322 點(diǎn)
下載積分: 4219 分
在線(xiàn)時(shí)間: 139(小時(shí))
注冊(cè)時(shí)間: 2009-02-08
最后登錄: 2024-11-13
查看天使之心的 主題 / 回貼
3樓  發(fā)表于: 2012-06-11 23:16
S7-200PLC的通訊,不管是USS通訊還是MODBUS通訊,都是采用輪詢(xún)方式通訊,同一時(shí)刻只能執(zhí)行一條通訊的指令,所以,必須讓通訊塊一個(gè)輪著一個(gè)執(zhí)行,就是執(zhí)行完上一個(gè)塊后讓其自動(dòng)復(fù)位本塊并激活下一個(gè)塊。