ywh
|
f96f713e09
|
P14/P15/P16 批次合并:硬件计数、软限位高频采样、性能遥测与真机测试体系
P14 硬件计数与四轴 100kHz 压力:
- TIM9/TIM12 硬件计数接入(Q0/Q2、Q1/Q3 共享,16 位溢出扩展 counterBlockPulses,目标脉冲 CC1IF 判定)
- 计数资源租约与软件回退(Q2/Q3 走源 UIF),counter_stress 脚本 + 规格文档
P15 软限位边界:
- 制动距离改用真实硬件输出频率,2000Hz 高频采样提前 1 脉冲进入减速
- 四轴正/负 500/2000Hz 矩阵测试(验收 ±1 脉冲),soft_limit_matrix 脚本
P16 性能遥测:
- PlsrProcess/TIM6/输出 ISR/计数 ISR 最坏执行时间遥测(DWT cycles + 分段峰值)
- performance_test 脚本 + 规格文档(全部预算 PASS)
其余:
- Modbus 命令扩展:SAVE/LOAD_CONFIG 持久化命令、错误码 5/6、RESET_ERROR
- Flash 双槽 CRC+代数持久化(SFD900~1419,SAVE/LOAD 已接命令口)
- CW/CCW 段尾停止机制(cwStopPending,物理下降沿停止)
- AB 启动预热机制(abStartupPriming,首次启动 ISR 内释放引脚)
- USB CDC 运行时诊断(Rx 重装失败计数等)
- 上电自测改由 plsr_build_config.h 宏开关控制
- 新增真机测试脚本/文档:AB_STRESS、BIT_INPUT、LONG_STRESS、PERSISTENCE_BOARD
- 交接提示词与问题总清单(2026-08-10)
|
vor 1 Monat |
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 毛刺、无截断尾脉冲、
无意外重启。
|
vor 1 Monat |
ywh
|
1fa91b403e
|
固化四轴地址映射,包括HSD、SFD、SM、SD和I事件入口。[plsr_address_map.h (line 10)](F:\\Xinje_Modbus_IAR\\TrainCamp_yuwenhao_modbus\\PLSR\\Inc\\plsr_address_map.h:10)
实现紧凑软元件存储:HSD:384字节
SFD RAM缓存:2080字节
SD:192字节
SM:4字节
实现地址范围和空洞检查,例如SD1012~1019会判定为非法地址。
实现访问权限:HSD0~15、SM、SD禁止外部直接写入。
HSD460~539和SFD900~1419允许配置写入。
实现HSD相邻两个32位软元件的原子64位读写。
实现HSD脏标志和安全检查点。[plc_device.c (line 254)](F:\\Xinje_Modbus_IAR\\TrainCamp_yuwenhao_modbus\\PLSR\\Src\\plc_device.c:254)
实现I6000~6399事件地址计算,段号使用1~100。[plc_device.c (line 441)](F:\\Xinje_Modbus_IAR\\TrainCamp_yuwenhao_modbus\\PLSR\\Src\\plc_device.c:441)
在系统启动并开启Backup SRAM后初始化软元件层。[main.c (line 164)](F:\\Xinje_Modbus_IAR\\TrainCamp_yuwenhao_modbus\\Core\\Src\\main.c:164)
将新模块加入IAR工程和头文件搜索路径。
|
vor 1 Monat |
ywh
|
e35595aae1
|
完成了初版需求规格书与方案书
|
vor 1 Monat |
ywh
|
4c45d6e670
|
开始做PLSR项目
|
vor 1 Monat |
ywh
|
e9adda50f6
|
增加了代码规范
|
vor 1 Monat |
ywh
|
0267178819
|
增加了0x14功能码,用于读取通信历史
|
vor 1 Monat |
ywh
|
3b0ea45b7b
|
更新了测试报告
|
vor 1 Monat |
ywh
|
d49b1f3663
|
写了点测试报告,增加了提升单数个寄存器读取效率的功能
|
vor 1 Monat |
ywh
|
63abe443c0
|
增加了主站异常码测试窗口,增加了通信历史功能
|
vor 1 Monat |
ywh
|
cac11d26c2
|
增加了ccram的配置
|
vor 1 Monat |
ywh
|
a338c8cfa3
|
增加了触摸屏上主站的代码
|
vor 1 Monat |
ywh
|
d6825564ee
|
新增掉电保持功能
|
vor 1 Monat |
ywh
|
dc8b337b2e
|
修改了IDLE重复重启DMA的bug
|
vor 1 Monat |
ywh
|
17f2578f93
|
增加了0X05功能码,写了测试大纲,设计方案书,需求规格书
|
vor 1 Monat |
ywh
|
3a44a1e033
|
新增ModbusRTU代码,测试通过,可以和触摸屏通信
|
vor 1 Monat |