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