2

我目前正在开发一个小型应用程序来监控我们的太阳能收集器正在产生的功率/电流。

该阵列连接到 3 个逆变器。每台逆变器都有一个RS232接口,每10秒传输一条信息(当前状态)。

由于我想使用只有一个串行端口的设备进行监控,因此我需要想出一种能够并行读取所有逆变器数据的方法。我不需要向其中一个逆变器发送任何东西!

是否可以将 3 根 RS232 线并行连接到一个串行端口?由于每个逆变器仅传输 64Byte / 10 秒并以换行符结尾,因此不太可能发生冲突,因此我可以检查可变的行长度以检测冲突。

4

2 回答 2

2

我有点对世界末日和古怪的答案嗤之以鼻,这些答案经常出现在stackoverflow上......

但无论如何,在过去的几年里,我使用了使用二极管的并联 RS-232 传输线,它可以在不太可能发生碰撞的情况下正常工作。在一个特定的应用程序中,我使用了这种技术,有两个输入终端,用户可以在其中键入简单的命令来控制系统(一个专门的安全系统),两个人不太可能同时试图从两个不同的终端。令人惊讶的是,我当时测试的大多数 RS-232A 接收器的电压电平都没有问题,并且它们能够容忍由于简单地使用与 TXD 信号串联的二极管而产生的信号特性(无负电压)。然而,

在任何情况下,我都建议不要使用这种技术,除非在非常具体、有限和非关键任务的情况下,并且不会在您有多个设备以编程的间隔发送信息的情况下使用它,就像 OP 的情况一样或者有软件握手的地方。

In 可以是解决串行输入端口不足问题的简单解决方案,但只能在非常有限的一组环境中使用。

于 2013-09-10T15:16:42.423 回答
1

,您不应该并联 3 个串行输出端口。如果这样做,您可能会损坏逆变器的 RS232 输出电路。

您有 3 个 RS232 输出,因此您需要 3 个 RS232 输入,然后您可以按照自己喜欢的方式管理这 3 个输入:也许您可以缓冲每个输入的数据,然后在单个 RS232 输出上重新输出数据,以连接到您的监控设备....但您应该在数据流中添加一些代码来区分来自 3 个逆变器的数据。

也许你可以使用某种 IC 来为你完成这项工作,我不确定,但也许已经存在一些在单个 RS232 输出上多路复用多个 RS232 输入的 IC。试试这个搜索:Google 上的 rs232 端口输入多路复用器

或者,如果监控设备是 Window 计算机,您可以使用 3 个串口转 USB 转换器:这将在您的计算机上创建 3 个虚拟 COM 端口,您可以使用任何软件从中读取数据。

更新
关于使用二极管保护输出电路以阻止重新进入电流的假设,我认为它不会起作用......
自上次我在低电平使用 RS232 链路以来已经过去了很多年(所以也许我'm错了)但我认为RS232输入和输出端口(使用速度,奇偶校验,停止位......)之间正在进行某种握手。
每个 RS232 端口都有用于数据和传输控制的输入和输出信号,因此您的多个 RS232 输出确实有一些输入信号,而您的单个 RS232 输入确实有一些输出。
这意味着您的输入监控 RS323 端口将尝试同时与 3 个 RS323 端口握手......并且 3 个 RS232 端口可能会同时响应......所以我认为它不会去工作。

除此之外,如果您在输出端放置二极管,您将失去 0.7v,我不记得 RS232 信号电平的容差,但也许 0.7v 可能是相关的。

于 2012-10-12T10:19:08.733 回答