S7-200作自由口通信时,当无信号返回时,SMB87一直为零。XMT执行时无法发出信号。RCV指令连接9号中断。SMB87为156(十进制),将SMB87赋值为0。也无法结束接收指令
问题补充:
当有信号返回时,状态字节变为4,一切正常。当我将从站断电后无信号返回,状态字节一直为0,处于接收状态。怎样才能中止接收状态。控制字节EN位写入0也没能中止接收
最佳答案
你首先搞清楚这个SMB87是接收指令的控制字节,修改这个控制字节,接收的条件将被修改。
其次,SMB86是状态字节,是反映接收消息的状态。
你应该通过这个控制字节,改写SM87.7 = 1或者其它方式中断接收,再重新启动发送指令。
补充问题回复:
你采用了空闲线定时器作为消息的开始和消息定时器作为消息的结束(SMB87),那只要是SMW92消息定时器时间到就结束消息了的。
你无法执行发送可能的原因:程序没有的接收中断中编写发送程序;外部通讯受阻(从站没有响应,通讯线路开路);发送完成与接收完成中断的程序没有配合完整等。
结束接收指令可以人工改写SM87.7= 0就可以了。
提问者对于答案的评价:
已解决
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc128708.html