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