Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 
 
 
 

3.2 KiB

PLSR P14 四轴高速计数压力测试

1 测试目的

验证四轴同时以100kHz输出时的脉冲计数、16位计数器跨界、计数资源冲突回退和Modbus并发读状态。P14按硬件连接动态分配计数资源:Q0/Q2共享TIM9,Q1/Q3共享TIM12;按Q0、Q1、Q2、Q3顺序启动时,Q0/Q1使用硬件计数,Q2/Q3使用软件回退。

2 准备

  1. 使用验证构建编译并烧录当前工程:PLSR_ENABLE_BOARD_SELF_TEST=1PLSR_BOARD_TEST_SELECT可选PLSR_BOARD_TEST_HW_COUNTERPLSR_BOARD_TEST_DUAL_AB,两者都会准备P14所需K1参数。
  2. 复位开发板。
  3. 逻辑分析仪连接Q0、Q1、Q2、Q3和GND,采样率建议不低于10MS/s,采集时间至少5秒。
  4. 保持Modbus RTU参数与工程一致:默认站号1、9600 bit/s、偶校验、1停止位。

3 运行

python HostComputer\plsr_modbus_counter_stress_test.py --port COM5

脚本会自动完成四轴位置清零、S0/S1写入、COMMIT、START、运行期状态轮询和最终计数核对,不需要在Watch窗口手工修改变量。

当前固件同时为后续P15配置了±1000000软限位;P14每轴只运动200000脉冲,因此不会触发该限位。

4 自动判定标准

  • 四轴均进入运行态,频率均为100000Hz。
  • Q0/Q1运行期hardwareCounter=1,Q2/Q3为0。
  • 四轴均进入PLSR_STATE_COMPLETED
  • 每轴logicalPositiontaskPulses均精确等于200000;physicalPulses是上电累计值,脚本以运行前基线为准,要求本次增量精确等于200000,不能直接比较累计绝对值。
  • 四轴error=0且最后执行结果为PLSR_RESULT_OK

可选Watch观察项(只需观察,不需要修改):

  • PlsrHwCounterOwners[0]:运行期为0,表示TIM9分配给Q0。
  • PlsrHwCounterOwners[1]:运行期为1,表示TIM12分配给Q1。
  • PlsrHwAxes[0].counterBlockPulsesPlsrHwAxes[1].counterBlockPulses:运行中依次跨过65536、131072、196608。
  • PlsrHwAxes[0..3].hardwareCounterActive:运行期依次为1、1、0、0;完成后租约释放并回到0。

5 波形判定标准

  • Q0、Q1、Q2、Q3各200000个上升沿。
  • 每路稳定频率100kHz,周期10us,占空比约50%。
  • 无额外首沿、段尾截断、窄脉冲或停止后的残余脉冲。
  • 四轴启动时刻允许因串行发送START命令而不同;这不是同步插补测试。

若脚本通过而硬件计数轴的波形数量不符,应优先检查TIM9/TIM12内部触发边沿与物理输出反相关系;Host测试无法覆盖这一项。

6 已关闭的板测记录(2026-08-10)

  • P14脚本通过:四轴本次任务计数和physicalPulses增量均为200000。
  • 逻辑分析仪确认Q0~Q3各严格200000个物理上升沿,稳定频率100000.0Hz。
  • 周期中位数10.000us,实测范围9.990~10.010us;高电平宽度5.000us。
  • 无小于0.5us窄脉冲、无启动毛刺、无停止后残余,四路最终均为低电平。

上述记录关闭当前P14 PULSE/DIR计数验收,但不能替代双AB、掉电恢复或长稳并发专项验收。
该记录也是最终AB/持久化/USB批次合入前的基线;烧录当前最终工作区后应再执行一次本脚本和四通道
边沿统计,确认共享HAL与中断改动没有造成PULSE/DIR回退。