最近,有用户在使用我们的 RS422 六轴力传感器时反应,在正常通信一段时间后,数据中断的概率非常小。此时,传感器仍正常通电。重新启动后,他们会发现传感器的波特率发生了变化。修改波特率后,他们又可以正常通信了。
通过与用户的沟通,我们发现这些用户将 422 的四条通信线路放在一起使用,并接入了一个 485 通信接口。这其实就是出现这个问题的原因。

485 总线是一种半双工串行协议,使用两根导线。 半双工是指总线中的数据方向在一定时间内是单一的。例如,A 和 B 通过 485 总线连接。任何时候,A 要么向 B 发送数据,要么接收 B 发送的数据。就像 A 和 B 通过对讲机通话一样,当 A 与 B 通话时,B 也不能通过对讲机与 A 通话。

然而 的 RS422 协议是全双工 4 线协议这就好比 A 和 B 之间从对讲机到电话的通话。甲说话时,乙也能说话,双方都能听到。也可以说,422 是连接在一起的两条 485 总线。两条总线中的一条只用于从 A 向 B 传输,另一条只用于从 B 向 A 传输。

这位用户将 422 的四根线成对连接到他的 485 设备上,这在理论上是没有问题的,因为只要用户自己的设备一直处于 485 的接收状态,传感器仍然可以通过 422 总线中的两根发送线将数据发送到用户的设备上。但事实上,这也带来了一个问题。此时,六轴力传感器用于接收数据的两根导线也与发送数据的导线相连。这就好比刚刚通过电话的 A 设备和 B 设备中的 A,把耳朵贴在自己的麦克风上听自己说话一样。

此时,如果六轴力传感器发送的数据中有符合自身命令协议的信息,它就会认为用户的设备已经发送了相关命令。添加该命令是为了修改波特率,它会执行自身波特率的修改,然后等待用户在新波特率下进行操作。这就是用户无法意外接收数据的原因。在无法接收数据时,传感器会误以为自己发送的数据就是用户要求修改波特率的命令。
事实上,针对这种情况,我们建议用户直接选择 RS485 通信的六轴力传感器。如果条件有限,必须这样使用。请随时联系我们,关闭传感器的接收命令功能,这样传感器就不会将数据信息作为命令发送出去。






