xuyaoping606
级别: 探索解密
精华主题: 0
发帖数量: 21 个
工控威望: 115 点
下载积分: 712 分
在线时间: 23(小时)
注册时间: 2017-03-08
最后登录: 2024-09-18
查看xuyaoping606的 主题 / 回贴
楼主  发表于: 2018-02-27 17:08
各路大神!你们好!情况是这样的,我用FX1N40MT跟仪表通讯,用485DP,线路连接好,刚开始上电,先写发送数据,把M8122置位1,启动RS程序,数据发送接收正常,M8123置位位1后自动复位为0(此疑问不是说结束标识需要手动复位吗)?当在此想把M8122置位时,发现M8122无法置位1,数据无法发送!!!!具体是什么问题一直都不明白,尝试过其他也不行,就是M8122无法置位1,除非断电后重新上电才可以,但是只能置位1次!看各路大神是否碰到过以上问题!坐等求解!
zhangqi_1234
级别: 略有小成
精华主题: 0
发帖数量: 342 个
工控威望: 493 点
下载积分: 4015 分
在线时间: 250(小时)
注册时间: 2013-03-22
最后登录: 2024-11-27
查看zhangqi_1234的 主题 / 回贴
1楼  发表于: 2018-02-27 19:14
先问清楚一下,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重新编辑 ]