首页 > 解决方案 > 在 minimummodbus 中更改波特率

问题描述

Python(和Linux)的绝对初学者试图设置一个modbus RTU主控来控制步进电机。

最终我将尝试在 Raspberry Pi 上实现该解决方案,但现在我正试图让它在 Windows 机器上运行。我安装了 python 3.8 并使用 Pycharm 作为 IDE。

我认为出于我的目的,图书馆'minimalmodbus'将拥有我需要的一切。但是,我还没有弄清楚如何正确打开端口。我正在尝试遵循此处的文档:https ://minimalmodbus.readthedocs.io/en/stable/index.html

我的特定从设备恰好是 115200 波特,而 minimummodbus 中的默认端口是 19200。

在示例中给出:

instrument = minimalmodbus.Instrument('/dev/ttyUSB1', 1, minimalmodbus.MODE_ASCII)
instrument.serial.port                     # this is the serial port name
instrument.serial.baudrate = 19200         # Baud

在文档中进一步说明了以下内容,我认为我没有理解:

模块级常量 minimummodbus.BAUDRATE 等在 1.0 版中被删除

无论如何,这是我尝试过的:

instrument = minimalmodbus.Instrument('COM5', 1, minimalmodbus.MODE_RTU)
instrument.serial.BAUDRATE = 115200

第一行可以接受,第二行不行。.baudrate 的情况相同。我一定遗漏了一些明显的东西。

谢谢!

标签: pythonmodbusminimalmodbus

解决方案


事实证明 .baudrate 实际上是正确的并且按预期编译/执行。Pycharm 只是出于某种原因指出“波特率”可能是一个错字


推荐阅读