XMT/RCV 常见问题

1、S7-200 SMART CPU RS485 通信端口具有4 个连接资源用于 CPU HMI 之间的通信,自由口通信时是否也只能连接 4 个设备?

S7-200 SMART CPU RS485 通信端口采用 PPI 协议时具有4 个连接资源用于 CPU 与 HMI 之间的通信,自由口通信时则不受该连接资源限制。

2、S7-200 SMART CPU 与第三方设备自由口通信时,第三方设备接收到的消息内容与 CPU 发送的不同,造成该故障现象的可能原因有哪些?

该故障现象需要从通信电缆接线和通信端口设置等两个方面进行排查,可能的故障原因有以下几点:
1. 通信电缆的正、负信号线是否接反;通信电缆周围是否存在干扰源以及通信双方是否做好等电位连接。
2. S7-200 SMART CPU 通信端口模式设置是否与第三方设备一致。通信双方的通信波特率、奇偶校验和数据位个数需要相同。
3. 通信双方的停止位个数是否相同。S7-200 SMART CPU只支持1位停止位,不能与含有2位停止位的第三方设备进行通信。

3执行 RCV 指令或 XMT 指令时,为什么有时指令会出现红色错误?

针对同一通信端口,同一时刻执行多个RCV 指令或 XMT 指令时会报错。S7-200 SMART CPU 集成的RS485 端口以及信号板 SB CM01 工作模式都为半双工,信息的发送与接收不能同时执行。
出现以下几种情况时通信指令都会出现红色错误 :
1. XMT 指令还未发送完成时又触发了新的 XMT 指令。
2. XMT 指令还未发送完成时又触发了新的 RCV 指令。
3. RCV 指令还未接收完成时又触发了新的 XMT 指令。
4. RCV 指令还未接收完成时又触发了新的 RCV 指令。

4、S7-200 SMART CPU通信端口当前正处于信息接收状态时,如何手动终止信息的接收?

应用场合:S7-200 SMART CPU 为通信主站,对通信从站发送查询报文后需要调用 RCV 指令接收从站的应答报文,如果从站故障或者通信电缆损坏时,S7-200 SMART CPU 的通信端口将始终处于接收状态,无法亦发送数据。

介绍两种方法:

方法一: 使用任意字符检测为接收消息的起始条件时,选择消息定时器和其它结束条件组合为接收消息的结束条件。

方法二:S7-200 SMART CPU 在发送完成中断中执行 RCV 指令并捕捉信息接收开始时间,如果捕捉间隔时间超出一定时间依然未接收到信息,则认为信息接收超时,需要人为终止信息的接收。

人为终止信息接收简单来说就是设置 SM87.7/SM187.7 = 0 ,同时执行 RCV 指令可以禁用 RCV 指令的执行,将立即终止消息接收功能。

以上方法相关例程参考链接:RCV 接收指令例程