1

我一直在使用西门子 PLC 使用 RS232 发送数据。通信本身运行良好,如果我将 PLC 连接到我的 PC(通过串行通信端口),我可以对其进行监控。

现在,我想让这种通信无线化。我发现了 HC-05 模块并决定购买一些。我用我的 arduino 设置了其中的 2 个(一个作为主机,一个作为从机,都配对并使用 UART 9600,1,0,这与我的 PLC 使用的相同)。

我做了以下连接:

PC 连接(带有串行通讯适配器)

PLC 连接

假设我想发送这个字符串:

<SoH>1RZ<CR>

如果我检查我的串行监视器,我会得到奇怪的东西。喜欢:

@#NULL©#NUL

奇怪的是,如果我只是移除蓝牙模块并将 PLC 的 Rx 和 Tx 分别连接到 PC 的 Tx 和 Rx,数据就会完美发送。所以我知道我已经在 PLC/PC 端解决了所有问题。

有没有人经历过这个,或者有没有人有我可以尝试的建议?

4

1 回答 1

0

RS232 通常使用 ±12V。-3V 和 -15V 之间的负电压为逻辑高电平,正电压 +3V 至 +15V 为逻辑低电平。

另一方面,您的蓝牙模块使用 TTL 逻辑。电压范围为0-5V。0-0.8V为低,2-5V为高。

所以

a) 您无法创建必要的电压电平

b) 将 5V 硬件连接到 ±12V 可能会损坏它。

c) 您可能会遇到问题,因为 RS232 还具有可选的流量控制机制。所以 Rx 和 Tx 可能还不够。

您至少需要一个用于 PLC 端的 TTL-> RS232 电平转换器和一个用于 PC 的 USB 到 TTL 串行适配器

于 2020-09-14T09:41:21.173 回答