0

我正在使用 Python 3.x 中的 minimummodbus 与辐照传感器通信。我可以建立通信并读取传感器的寄存器。传感器的波特率为 9600,但我想将其更改为 38400。

传感器的数据表上说可以通过使用功能代码 0x46 和子功能 06 来完成。

数据表

我发现minimalmodbus只使用了功能码1、2、3、4、5、6、15和16,我还没有发现任何使用子功能的可能性。

我有什么选择可以更改波特率,还是应该将另一个库的 minimummodbus 更改为 pyModbus?

4

1 回答 1

0

查看 Minimalmodbus 文档,您可以使用 _performCommand() 函数“扩展”它以处理更多功能代码。文档说它将处理 CRC 生成。

链接:https ://minimalmodbus.readthedocs.io/en/master/develop.html#extending-minimalmodbus

我进行了快速搜索,看起来您使用的是 Tamb485 传感器。根据该文档,要将设备上的波特率设置为 38400 并将奇偶校验/停止位(两者同时设置)设置为 8E1,您可以:

_performCommand(0x46, '0x05,0x04,0x02')

0x46 - function code

0x05 - sub function code
0x04 - baud rate 38400
0x02 - parity/stop bits 8E1
于 2019-02-12T15:42:26.280 回答