s7-200smart modbus 輪詢第一次正常,第二次改了一下別的參數(shù)就所有的mbus-msg同時(shí)開始輪詢
問題補(bǔ)充:請(qǐng)問一下西門子modbus初始化把輪詢復(fù)位的程序改怎么寫,用什么條件去觸發(fā)啊
圖片說明:
你的話讓人看不懂,什么叫同時(shí)輪詢?
Modbus RTU 主站 (最下面有MODBUS RTU 輪循實(shí)例)
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-smart-portal/200SmartTop/communication/serial_port/modbus/Master/Master.htm
注意鏈接中前面4個(gè)網(wǎng)絡(luò),以及第一次激發(fā)MSG的時(shí)機(jī)。這個(gè)程序是久經(jīng)沙場(chǎng)的。
S7-200 SMART Modbus RTU通信常見問題
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-smart-portal/200SmartTop/SmartSMS/020.html
MSG報(bào)警6#,只能說明你在同一時(shí)刻觸發(fā)2個(gè)以上的MSG,雖然,看似可能性非常小,你的邏輯還不夠嚴(yán)謹(jǐn)。
可能的問題:
1)SM0.1加不加沿,結(jié)果是同樣的。
2)沒有理解ctrl指令的done位含義,網(wǎng)絡(luò)3的程序段欠考慮,如果重復(fù)啟動(dòng)PLC時(shí)。
3)沒有初始化觸發(fā)MSG的M區(qū)域,如M12.2等,在網(wǎng)絡(luò)1中同樣復(fù)位它們。
補(bǔ)充問題回復(fù):
我這里是指你在網(wǎng)絡(luò)1中的程序段,復(fù)位M11.1開始的6個(gè)位,加上MSG指令的First管腳的所有M觸發(fā)位,這樣當(dāng)plc程序下載程序后或者重新啟動(dòng)plc時(shí),這些M會(huì)從你的邏輯點(diǎn)開始輪詢了。
如:網(wǎng)絡(luò)1
LD SM0.1
R M12.2, 10
程序里面寫個(gè)初始化,把輪訓(xùn)位先復(fù)位 ,SM0.1復(fù)位所有參與輪訓(xùn)的控制位
注意時(shí)序的問題,上面給了很好的例子,如果不參照就自己從新編寫,還是完成位的時(shí)序處理,其實(shí)實(shí)際還需考慮通訊錯(cuò)誤問題
電話:13818569113 15721373211
郵箱:fushidianji@139.com
網(wǎng)址:http://www.jiansujiabc.com
地址:上海青浦區(qū)北青公路7171號(hào)111-112室