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

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





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

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