我正在使用Python3.x中的minimalmodbus与辐射传感器通信。我可以建立通信并读取传感器的寄存器。传感器的波特率是9600,但我想把它改为38400。
传感器的数据表显示,可以使用功能代码0x46和子功能06来完成此操作。
我发现minimalmodbus只使用函数代码1,2,3,4,5,6,15和16,并且我还没有发现使用子函数的任何可能性。
是否有任何选项可供我更改波特率,或者我是否应将另一个库的最小pyModbus更改为pyModbus?
发布于 2019-02-12 23:42:26
查看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 8E1https://stackoverflow.com/questions/54634108
复制相似问题