xuyaoping606
級別: 探索解密
|
各路大神!你們好!情況是這樣的,我用FX1N40MT跟儀表通訊,用485DP,線路連接好,剛開始上電,先寫發(fā)送數(shù)據(jù),把M8122置位1,啟動RS程序,數(shù)據(jù)發(fā)送接收正常,M8123置位位1后自動復(fù)位為0(此疑問不是說結(jié)束標(biāo)識需要手動復(fù)位嗎)?當(dāng)在此想把M8122置位時(shí),發(fā)現(xiàn)M8122無法置位1,數(shù)據(jù)無法發(fā)送。。!具體是什么問題一直都不明白,嘗試過其他也不行,就是M8122無法置位1,除非斷電后重新上電才可以,但是只能置位1次!看各路大神是否碰到過以上問題!坐等求解! |
---|---|
|
xuyaoping606
級別: 探索解密
|
描述:此程序1節(jié)!
圖片:
描述:此程序2節(jié)!
圖片:
描述:此程序3節(jié)!
圖片: !煩請大神支招 |
---|---|
|
zhangqi_1234
級別: 略有小成
|
先問清楚一下,X0和X1是不是外接按鈕,或者是觸摸屏的按鈕。如果是,下面的方法有效。如果不是,就另外再說。 第1步,先執(zhí)行RS指令,且在發(fā)送和接收期間要一直執(zhí)行!例如:X=1,SET M10,M10接RS指令。 第2步,用邊沿指令把數(shù)據(jù)傳送給發(fā)送區(qū)。例如:M10的上升沿執(zhí)行。 第3步,用邊沿觸發(fā)指令使M8122=1,發(fā)送完數(shù)據(jù)后M8122會自動復(fù)位。例如:M10上升沿的最后一行執(zhí)行set m8122。 第4步,收到數(shù)據(jù)后,M8123=1。用M8123=1這個(gè)條件使RS指令和M8123復(fù)位。例如:M8123=1,執(zhí)行RST M10和RST M8123。 第5步,讀取RS指令接收區(qū)數(shù)據(jù)。 你的錯誤在于: 1、用按鈕加定時(shí)器執(zhí)行RS指令,很別扭。換句話說,你得一直按著按鈕不放執(zhí)行RS指令。RS指令的復(fù)位靠M8123,因?yàn)镸8123=1表示收發(fā)工作的完成。 2、不能一直使8122置=1,M4=1的時(shí)間超過100ms。 3、沒有M8123的復(fù)位指令。M8123不復(fù)位可能會影響RS指令的執(zhí)行,以及M8122的置1操作。 [ 此帖被zhangqi_1234在2018-02-27 19:20重新編輯 ] |
---|---|
|
gzcjx555
QQ 296686949
級別: 工控俠客
|
把RS指令使用M8000一直接通,然后使用X1上升沿傳輸數(shù)據(jù)和置位M8122。 |
|
---|---|---|
|
xuyaoping606
級別: 探索解密
|
這個(gè)程序我只能測試通訊,中途修改了幾次,原來的原因是發(fā)送數(shù)據(jù)的時(shí)候沒有一直執(zhí)行RS指令,我以為的步驟是先執(zhí)行數(shù)據(jù)傳送指令,在脈沖執(zhí)行RS指令,!沒想到RS指令要一直接通!M4這個(gè)位置是后面改的置位!很感謝各位! |
---|---|
|