ywh
|
fdbbe71aea
|
P13 Modbus 控制窗口打通:COMMIT/START 分离、命令应答与一致性状态读取 + PAUSE/RESUME 修复
本批完成内容:
Modbus 控制窗口(新增 plsr_modbus_control/data + modbus_data_store):
- COMMIT 与 START 分离:COMMIT 校验通过后生效;COMMIT 后
再修改 S0/S1,START 返回 BUSY,要求重新提交。
- 命令支持:停止、暂停、继续、位置设置、清零、保存;
重复命令序号幂等,不重复执行。
- 四轴状态均可读取;32/64 位状态用首尾版本号保证一致性
(防撕裂读取)。
- 控制窗口基址可配置:P13 暂用 D1200~D1455(非信捷固定
地址),S0=D1600、S1=D1700。
PAUSE/RESUME 闭环修复:
- PAUSE 不再终止当前 S0 路径,保留当前段与已发脉冲;
RESUME 从 S2 起始速度重新激活速度曲线。
- 硬件定时器恢复时不清零脉冲计数,任务累计连续。
- 暂停回差补偿段时恢复专用速度参数。
- STOP_DECEL 正常收到减速完成事件并进入 STOPPED。
- Python 脚本增加"频率非零 + 计数增长"恢复判定,不再把
ACCEL+0Hz 误判为恢复成功。
测试:
- Host:3500 项检查全部通过(含控制窗口/命令/一致性/幂等)。
- IAR:0 errors,0 warnings。
- 上板验证(逻辑分析仪,Q0):
START 后 1000Hz 平滑加速至 2000Hz → 稳定段 → PAUSE 约
200ms 平滑减速停止,暂停期间 0 边沿恒低 → 重复 PAUSE
无第二次动作 → RESUME 从 ~1000Hz 重新加速 → STOP_DECEL
平滑减速至停。全程 0 个 <10µs 毛刺、无截断尾脉冲、
无意外重启。
|
před 1 měsícem |
ywh
|
c776438bcd
|
P5 软限位保护 + 受控停止落地:限位提前减速真机验证 + 已知问题清单
本批完成内容:
软限位保护(P5):
- profile 新增受控停止入口 PlsrProfileRequestStop:目标频率/终止
频率置 0,按减速斜率平滑减速至停(无斜率时直接停止)。
- 软限位判定接入运动循环:位置到达限位前按减速距离提前触发
受控停止,避免撞击限位后急停。
- 自测新增 PlsrProtectionSelfTestQueue:Q0 脉冲 + Q4 方向,
目标 +10000 脉冲、正软限位 +500、1000Hz、减速 100ms、
方向延时 10ms(SFD900 软限位使能、SFD912/915 端子配置)。
- main.c 上电自测入口切换为保护测试(验证后可删除)。
文档:
- 新增《已知问题清单_2026-08-09.md》:记录 AB 启动边沿
(7501)与软限位边界精度(502)两个未关闭问题及根因方向。
上板验证(逻辑分析仪实测):
- 恒定 1000Hz 输出 460 脉冲后进入减速段(84.5ms 平滑减速
至 134Hz),共 502 个脉冲停止——验收 499~501,**超停 1~2
个脉冲**(触发点晚 ~9 个),停止后零残余边沿、无毛刺,
Q4 方向正向正常。
- 边界偏差已记录到已知问题清单,待定位(判定位置源/
提前量公式)。
|
před 1 měsícem |
ywh
|
3d3662d27a
|
fix(plsr): 校正首脉冲及减速尾段频率输出
- 修正 Q0~Q3 对应定时器的实际时钟频率
- 清除 UG 产生的 UIF,避免更新事件被误计为物理脉冲
- 增加共享中断 UIF 检查和硬件脉冲计数原子读取
- 在方向稳定期间暂停运动曲线推进
- 根据频率积分计算线性加速首脉冲周期
- 使用硬件实际计数同步运动曲线虚拟脉冲数
- 根据剩余脉冲数反算减速频率并补偿 ARR 预装载延迟
- 增加减速距离计算的 uint64_t 溢出保护
- 增加 Q0 定时器调试快照及相关主机测试
- 忽略并取消追踪本地截图和波形分析文件
验证:
- 实际上板波形验证通过
- 1308 项主机测试全部通过
- IAR 全量编译 0 错误、0 警告
|
před 1 měsícem |
ywh
|
ec430e357c
|
PLSR 新增 P2 速度规划器(Q32.32 定点曲线计算)
- 新增 plsr_profile.c/.h:梯形/S形/正弦三种曲线,Q32.32 定点,刷新中断内零浮点,
正弦用 256 项查表(无 FPU/库依赖),总脉冲数精确到误差 0
- 支持三角曲线(短距离自动降峰值)、起始/终止速度、完成/后续模式衔接参数、
运行中动态调频(升频平滑过渡,降频先减速到新目标再匀速)
- 1ms/0.1ms 双刷新率;PlsrProfilePlan 提供时间轴诊断(非中断内 double)
- 新增 test_plsr_profile 13 场景 75 项(积分精度逐场景验证),
五套 host 测试共 771 项全绿,IAR 0 错误 0 警告
|
před 1 měsícem |