Java 多设备RS-485半双工通信

Java 多设备RS-485半双工通信,java,rs485,Java,Rs485,RS-485网络由一个主设备(带RxTx的微型服务器)和两个从设备组成。 一个从设备是实际设备,另一个是前面提到的设备的模拟器 模拟器是通过不使用RxTx并在micro server上运行来实现的。 在使用stty命令设置一些选项之后,它通过FileInput/OutputStream读取/dev/ttySx。 它的行为就像有许多设备一样 主设备要求从设备周期性地获取一些数据 问题是主机无法从实际设备获取数据 当使用模拟器运行时,尽管模拟器在实际设备转动时不起任何作用。不确定我是否能帮助解决这个

RS-485网络由一个主设备(带RxTx的微型服务器)和两个从设备组成。 一个从设备是实际设备,另一个是前面提到的设备的模拟器

模拟器是通过不使用RxTx并在micro server上运行来实现的。 在使用stty命令设置一些选项之后,它通过FileInput/OutputStream读取/dev/ttySx。 它的行为就像有许多设备一样

主设备要求从设备周期性地获取一些数据

问题是主机无法从实际设备获取数据
当使用模拟器运行时,尽管模拟器在实际设备转动时不起任何作用。

不确定我是否能帮助解决这个问题,我最后一次使用RS485是在20多年前。。。有很多潜在的原因。您应该提供一些附加信息:您确定您的从属设备实际上正在发送数据吗?你的拓扑结构是什么?您的线路是否正确终止?当你移除模拟器时,它能工作吗?你的主人能和模拟器说话吗?您是否有逻辑分析仪或可用于监控数据的设备?模拟器是否位于主机和设备之间?如果是这样,请检查它是否没有终止线路。谢谢您的早日回复,托马斯。我确认实际的从设备正在正确发送数据。当模拟器关闭时,它可以从中获取数据。无论如何,当它与模拟器并行工作时,无法获取数据。物理拓扑是总线。模拟器(微服务器)实际上是终端设备。我试过用实际的设备作为终端设备。但是,一切都没有改变。我想这不是软件和物理上的错误(接线或类似的事情)的原因?我发现实际设备没有回复数据的原因。当模拟器发送0x20的连续字节时,实际设备不工作。当流中没有0x20时,实际设备正确回复数据。因此,我将模拟器更改为发送0x20的一个字节。但是,0x20的连续字节出现在另一个响应报文和请求报文之间的流中。实际设备实际上是测试设备。我无法确认0x20的连续字节来自何处。它可能是由实际设备发送的?顺便说一句,0x20在RS-485协议中是否有特殊含义?RS-485标准仅定义了物理层。使用什么协议完全取决于你。你是对的。我认为模拟器还有另一个问题。无论如何,非常感谢!