Minimalmodbus功能代码0x46和子功能06

问题描述 投票:0回答:1

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

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

datasheet

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

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

python-3.x modbus minimalmodbus
1个回答
0
投票

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

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

我做了一个快速搜索,看起来你正在使用Tamb485传感器。根据该文档,要将BAUD速率设置为38400并将奇偶校验/停止位(两者同时设置)设置为8E1,您将执行以下操作:

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

0x46 - function code

0x05 - sub function code
0x04 - baud rate 38400
0x02 - parity/stop bits 8E1
© www.soinside.com 2019 - 2024. All rights reserved.