找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
{{itemCategory}}
下午题的问题中,程序有点问题,用的手册上的例程,本来想屏蔽的,结果没有把NOT指令屏蔽掉,因为在NOT指令后面有一个RCV指令。现将新的程序贴上
主程序:
网络1
LD SM0.1
MOVB 16#09, SMB30 //初始化自由口
MOVB 16#9C, SMB87 // 16#B2.16#B0 均设置过,没有成功
MOVB 16#7E, SMB88 //起始字符
MOVB 16#5E, SMB89 ///结束字符
MOVW 25, SMW90 ///空闲超过5毫秒
MOVW 50, SMW92 ///计时器超过15毫秒
MOVB 100, SMB94 ////最大接收100个字符
ATCH INT_0:INT0, 23 /// 连接中断0到接收结束事件
ATCH INT_2:INT2, 9 /// 连接中断2到发送结束事件
XMT VB500, 0 /// 发送数据
ENI
INT_0 /// 中断0
LD SM0.0
+D 1, VD2000 ///////中断计数,监控中断
XMT VB500, 0
INT_2
LD SM0.0
+D 1, VD2008 ///中断计数,监控中断
RCV VB300, 0
我的程序本意是想RCV指令在设定的时间内不管有没有收到信息都自动停止接收,再次转入发送(XMT)。但是上述程序经过测试发现,PLC没有收到串口的数据,还是不自动停止接收。收到数据后立即发送数据。
请教我如何完成这个功能:在一定的时间内不管有没有收到信息都自动停止接收,停止RCB指令。要不怎么都发不了数据。
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
SM87.7(SM187.7)被修改后,必须执行一次RCV指令才能启停接收功能。也就是说:在设定的时间内,无论是否有数据,都将SM87.8复位,然后执行一次RCV指令关闭接收功能。如果不执行RCV指令,RCV的状态是不会发生变化的。
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
找答案微信小程序
提问
搜索
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!