你這個(gè)程序仍然是程序邏輯原因引起的,MSG報(bào)警6#主要原因是同一時(shí)刻有2條以上的指令有效觸發(fā)。
下面那個(gè)MSG指令的First管腳為什么u調(diào)用沿觸發(fā),該MSG指令的First管腳只允許沿觸發(fā)。
輪詢原則是上一條MSG指令的done位,復(fù)位本MSG指令的觸發(fā),并置位下一條MSG指令,指令完成done位,復(fù)位本指令的觸發(fā),置位下一條或第一條MSG指令,如此循環(huán)。
補(bǔ)充問題回復(fù):
你可能邏輯沒有理順。
第一條的MSG完成位done,復(fù)位自己的觸發(fā)條件,置位下一條MSG,這樣一直到最后一條MSG完成位done,復(fù)位自己的觸發(fā)條件后,置位第一條MSG。
你這么是第2條MSG指令的完成位置位第一條MSG指令?這樣除非你只有2條MSG指令。
輪詢就是一環(huán)扣一環(huán)的過程。
第二條讀指令增加上升沿觸發(fā)試一下。
從你報(bào)錯(cuò)代碼6來看,就是同一時(shí)間同時(shí)激活多條通訊指令。西門子modbus rtu通訊要求輪詢,同一時(shí)間只能激活一條指令。你網(wǎng)絡(luò)5里面M4.2后面要加一個(gè)上升沿。還有不知道你程序里面是否有M4.3接通復(fù)位M4.2的程序。如果沒有也要加上。modbus rtu通訊編程就是再同一時(shí)間只能有一條指令接通。
參考下面鏈接資料
Modbus RTU通信:
https://www.ad.siemens.com.cn/productportal/prods/s7-200-smart-portal/200smarttop/smartsms/020.html
通信例程及視頻:
Modbus RTU常見問題:
第五段程序MSG功能塊 first管腳要加一個(gè)上升沿,M4.3一直置1復(fù)位也沒用。你的M4.0確定只是出發(fā)了一次嗎?或者你把復(fù)位M4.3放在最下面復(fù)位,自己復(fù)位自己。
主要原因是 網(wǎng)絡(luò)5 的主站指令的管腳 FIRST 必須用上升沿,你沒有使用沿引起的。
S7-200 SMART Modbus RTU通信常見問題
http://www.ad.siemens.com.cn/productportal/Prods/s7-200-smart-portal/200SmartTop/SmartSMS/020.html
補(bǔ)充:
網(wǎng)絡(luò)6 保持原樣,只在網(wǎng)絡(luò)5 加上升沿
電話:13818569113
郵箱:13818569113@139.com
網(wǎng)址:http://www.xmzgk.com
地址:中國上海市青浦區(qū)崧盈路398號6棟