Pymodbus not find 'grouped'设备上的地址



我正在做一个项目,在这个项目中我使用Pymodbus连接到一个工业风扇系统。我能在这个风扇上读到一些地址,但不能读到其他地址。我正在使用的风扇说明书将地址分为"参数组",如下所示:

tbody> <<tr>
分组 描述
00组基本参数
Group 01V/F模式选择和设置
02组电机参数
组03多功能数字输入/输出
组15PLC监控功能

根据评论,第一个问题是您使用的手册过期了。通过搜索"V/F pattern selections and setup",我找到了一本更新的手册。这个更新后的手册包括一个将"分组"与寄存器联系起来的表("App3-13"至"App3-18"页)。例如函数01-0(01组的一部分)'伏特/赫兹模式'在保持寄存器0100H(100十六进制)。

有了更新的手册,更容易确定如何从分组/函数映射到适当的寄存器。一个潜在的问题是,手册引用了十六进制寄存器(100H),所以在Python中查询时,您需要使用modbus_conn.read_holding_registers(0x100,1,unit=1).registers[0]之类的东西(这可能解释了为什么您最初的尝试失败)。

注意:当张贴这类问题时,您可以提供的细节越多越好(例如设备制造商,型号等)。

设备的文档中可能有如下方案:

Address GGnnH: GG表示参数组,nn表示参数号,例如,Pr 04-01的地址为0401H。("H"表示数字401在本例中是十六进制的。因此0401H是寄存器1025)

将其分类为对我来说很困惑。

要读保持寄存器,你必须传递第一个寄存器的偏移量和你想读的数量,仅此而已。

也许设备的可读寄存器不超过20个,所以如果你传递一个偏移量为10,数量为20,那么你试图读取到第30个寄存器,而这个寄存器可能不存在。

相关内容

最新更新