Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 
 
 
 
 

1.7 KiB

PLSR P12 Modbus 数据源测试

本测试验证 PLSR 从真实 Modbus 寄存器读取 S0/S1,并在运行中通过 Modbus 原子更新当前段频率。

固件自测数据

  • S0:D1000,单段。
  • S1:D1100,相对定位,从第 1 段开始。
  • 当前段频率:D1010(低 16 位)、D1011(高 16 位)。
  • 脉冲数:100000,Q0 输出,Q4 为方向。
  • S2:K1,默认 1000Hz,最高 5000Hz,刷新周期 0.1ms。

这些地址只是 P12 自测选择的动态 S0/S1 地址,不是新增的固定 PLSR 地址。

运行

安装依赖:

py -m pip install -r HostComputer\requirements.txt

连接当前工程使用的 Modbus 串口后运行:

py HostComputer\plsr_modbus_frequency_test.py --port COM5

串口参数默认与固件一致:9600、8E1、从站地址 1。若电脑只有一个串口,可以省略 --port

脚本使用功能码 0x10 一次写入 D1010/D1011,再用 0x03 回读。不要用两次 0x06 更新一个 32 位值,否则两次 Modbus 事务之间必然存在半新半旧的中间值。

预期结果

脚本依次写入:1000、4000、500、0、8000、-1、2000Hz。逻辑分析仪观察 Q0:

  • 1000→4000、4000→500、1000→5000、5000→2000 平滑变频,无窄脉冲。
  • 写入 0 后目标变为 S2 默认的 1000Hz。
  • 写入 8000 后目标被钳位为 5000Hz。
  • 写入 -1 后保持 5000Hz,随后可恢复到 2000Hz。
  • 全程脉冲连续,不因 Modbus 请求结束或主站断开而停止。

IAR Watch 可辅助观察 PlsrHwAxes[0].currentFrequencyHzPlsrAxes[0].liveTargetFrequencyHzPlsrAxes[0].liveFrequencyRejectCountPlsrAxes[0].lastLiveFrequencyResult