我一直在与一家西门子PLC合作,使用RS232发送数据。通信本身工作正常,如果我将PLC连接到我的PC (通过串行通信端口),我就可以监控它。
现在,我想让这种交流变得无线。我发现了HC-05模块,并决定买几个。我用我的arduino设置了其中的两个(一个作为主,一个作为从,都是配对的,并使用UART9600,1,0,这与我的PLC使用的是相同的)。
我建立了以下连接:
PC Connection (with a serial comm adapter)
假设我想发送这个字符串:
<SoH>1RZ<CR>如果我检查我的串行监视器,我得到奇怪的东西。像这样:
@#NULL©#NUL奇怪的是,如果我移除蓝牙模块,并将PLC的Rx和Tx分别连接到PC的Tx和Rx,数据就会发送得无懈可击。所以我知道我已经解决了PLC/PC端的所有问题。
有没有人经历过这种情况,或者有没有人建议我可以试一试?
发布于 2020-09-14 17:41:21
RS232通常使用±12V。-3V和-15V之间的负电压为逻辑高,正电压为+3V,直到+15V为逻辑低。
另一方面,您的蓝牙模块使用TTL逻辑。电压范围为0-5V。0-0.8V为低电压,2-5V为高电压。
所以
a)您无法创建必要的电压电平
b)如果将5V硬件连接到±12V,则可能会损坏5V硬件。
c)您可能会遇到问题,因为RS232还具有可选的流控制机制。所以Rx和Tx可能还不够。
您至少需要一个用于PLC端的TTL-> RS232电平转换器和一个用于PC的USB串行适配器
https://stackoverflow.com/questions/63881286
复制相似问题