文档版本:V1.3 Rev.B(正式需求规格基线)
更新日期:2026-08-05
目标平台:XDM-60T4-E
软件平台:STM32F407 + uC/OS-II
对标基线:信捷 XD/XL 系列 PLC 定位控制手册 PLSR(印刷页 5~87,重点为 49~56)
本项目计划在新一代 XDM 系列 PLC 中实现一个高性能定位脉冲输出模块, 通过
PLC 指令或 Modbus 命令驱动伺服驱动器,完成四轴独立位置控制。
项目当前已有以下基础:
本项目以信捷 PLC 的 PLSR 功能作为最低功能基线:信捷 PLSR 已有的功能和
可观察运行语义均应具备;本项目已有的四轴资源管理、Modbus原子提交、命令防重、
64位累计、诊断和Backup
SRAM等增强功能继续保留。Y0~Y3的PLSR固定配置参数和固定状态地址必须与信捷手册
一比一对应;S0、S1保持动态首地址语义,S2、D保持指令操作数语义;不复制XDPPro参数配置界面。
逐项对应关系见PLSR信捷对标追踪矩阵。矩阵中未关闭的
差异不得宣称为"严格功能对标完成”。
V1.0 的目标范围如下:
外部脉冲回读、编码器闭环和多轴插补等功能作为后续版本或加分项。
| 名称 | 定义 |
|---|---|
| PLSR | 本项目的定位脉冲输出模块,支持单段及多段位置控制 |
| PULSE/DIR | 脉冲加方向的伺服控制接口,PULSE 表示位置增量,DIR 表示方向 |
| AB 相输出 | A、B 两路相差 90° 的正交脉冲接口,通过相位先后表示方向 |
| 指令位置 | PLC 根据已输出脉冲累计得到的位置,不等同于编码器实际位置 |
| 相对定位 | 以当前逻辑位置为基准移动指定距离 |
| 绝对定位 | 移动到指定逻辑坐标 |
| 异步返回 | 启动成功后立即返回,通过状态接口查询运动结果 |
| 完成方式 | 上一段脉冲发送完后,才开始向下一段频率加减速 |
| 后续方式 | 在上一段内提前变频,使段结束时已经达到下一段频率 |
| S0 | 路径数据块,保存段数、频率、脉冲数、等待和跳转参数 |
| S1 | 用户执行参数,仅保存定位模式和起始段 |
| S2 | K0~K4运动参数套组,保存速度限制、起止频率、加减速、补偿、FOLLOW和刷新周期 |
| D | 输出轴或脉冲输出点 |
| 控制周期 | PLSR 更新状态和速度规划的周期,由 S2 配置为 1 ms 或 0.1 ms |
| 检查点 | 为掉电恢复而保存的一致性累计数据快照 |
| 影子参数 | 上位机可编辑但尚未提交给运行模块的参数副本 |
本文使用以下约束词:
需求发生冲突时,按以下优先级解释:
Y0~Y3表示信捷兼容的逻辑脉冲轴;本项目硬件图纸使用Q0~Q3标识对应物理输出点,
两者在本规格中按Y0↔Q0、Y1↔Q1、Y2↔Q2、Y3↔Q3对应。除非特别说明,
涉及固定软元件时使用Y轴语义,涉及板级引脚和资源时使用Q点语义。
V1.0 以信捷 PLSR 为最低功能基线,并保留以下已确认差异或增强:
| 项目 | 信捷手册语义 | 本项目冻结语义 | 分类 |
|---|---|---|---|
| 段脉冲数为0 | 手册印刷页56将“频率为0或脉冲数为0”并列描述为采用默认速度,脉冲数为0时的数量行为不明确 | 跳过当前段,不输出脉冲并进入下一段;最后一段则完成 | 冻结差异 |
| AB相计数 | 手册仅规定AB相输出方式,未定义本项目计数口径 | 一个完整四状态正交周期计1个指令脉冲 | 冻结增强 |
| 累计位置 | 固定HSD状态为32位 | 固定地址保持32位兼容,内部另以64位累计并做溢出检查 | 增强 |
| 输出模式 | 单向脉冲、AB相 | 增加CW/CCW双脉冲,不占用或改写信捷固定字段语义 | 增强 |
| 参数提交 | 运行前直接读取软元件 | 增加影子参数、原子提交和不可变运行快照 | 增强 |
| 命令与诊断 | 主要通过指令、STOP和固定状态软元件 | 增加命令防重、状态机、自测及详细诊断 | 增强 |
信捷固定地址、S0/S1相对布局和可观察状态不得因增强功能改变。逐项对应关系见
PLSR信捷对标追踪矩阵。
| 编号 | 需求 | 优先级 |
|---|---|---|
| FR-SYS-01 | 系统应运行在 STM32F407 和 uC/OS-II 平台上 | 必须 |
| FR-SYS-02 | 系统应使用 12 MHz 外部晶振并运行于 168 MHz 主频 | 必须 |
| FR-SYS-03 | 首版应在 XDM-60T4-E(STM32F407IG)上完成验收 | 必须 |
| FR-SYS-05 | 脉冲必须由硬件定时器产生,不得使用 OS 延时翻转 GPIO | 必须 |
| FR-SYS-06 | 上电、复位和初始化期间,脉冲及方向输出应处于安全无效状态 | 必须 |
| FR-SYS-07 | V1.0 应支持四轴独立运行,各轴具有独立状态和参数上下文 | 必须 |
| FR-SYS-08 | 四轴之间不要求直线、圆弧或其它形式的插补 | 必须 |
已知主要输出点如下:
| PLC 点 | MCU 引脚 |
|---|---|
| Q0 | PF6 |
| Q1 | PF8 |
| Q2 | PF7 |
| Q3 | PF9 |
| Q4 | PI8 |
| Q5 | PE6 |
| Q6 | PE5 |
| Q7 | PE4 |
| Q10 | PG7 |
| Q11 | PG6 |
| Q12 | PH9 |
| Q13 | PH8 |
| Q14 | PH7 |
| Q15 | PH6 |
| Q16 | PF11 |
| Q17 | PB0 |
| Q20 | PH5 |
| USART1_TX | PA9 |
| USART1_RX | PA10 |
Q0~Q3 的脉冲映射为 Q0/PF6/TIM10_CH1、Q1/PF8/TIM13_CH1、
Q2/PF7/TIM11_CH1、Q3/PF9/TIM14_CH1,仍应通过上板波形测试确认。
方向点允许从 XDM-60T4-E 的有效输出点 Q0~Q7、Q10~Q17、Q20 中配置,
但不得与脉冲点或其它已占用输出点冲突;四轴脉冲全部启用时,方向点应从
Q4~Q7、Q10~Q17、Q20 中选择。
| 编号 | 需求 | V1.0 指标 |
|---|---|---|
| FR-PUL-01 | 输出形式 | PULSE/DIR、AB 相、CW/CCW 双脉冲 |
| FR-PUL-02 | PULSE/DIR 有效计数边沿 | 固定为物理上升沿 |
| FR-PUL-03 | 脉冲占空比 | 50% |
| FR-PUL-04 | 输出频率范围 | 1~100,000 Hz |
| FR-PUL-05 | 单段脉冲数量 | 完整有符号32位,范围 -2,147,483,648~2,147,483,647 |
| FR-PUL-06 | 输出方向 | 正向、反向 |
| FR-PUL-07 | 方向有效极性 | 参数可配置 |
| FR-PUL-08 | 方向延时时间 | 默认10 ms,以ms为单位并可配置 |
| FR-PUL-09 | 输出点 | 脉冲点和方向点可配置且不得重复 |
| FR-PUL-10 | 运行调频 | 修改目标频率后不改变剩余脉冲数量 |
| FR-PUL-11 | 四轴运行 | 四轴可独立启动、停止、调频和查询状态 |
| FR-PUL-12 | AB 相方向和计数 | 通过A、B相位先后控制方向;一个完整A/B正交周期计1个指令脉冲 |
| FR-PUL-13 | AB 相轴数 | 最多同时运行两轴;D只允许选择Y0或Y2,分别占用Q0(A)/Q1(B)、Q2(A)/Q3(B)固定点对 |
| FR-PUL-14 | 高速点资源 | PULSE/DIR轴数 + 2 × AB轴数 + 2 × CW/CCW轴数不得超过4,启动前必须检查资源冲突 |
| FR-PUL-15 | AB 相频率 | 目标频率表示每秒完整AB周期数;每周期含4次相位跳变,但只计1个指令脉冲 |
| FR-PUL-16 | 默认速度 | 段频率为0时使用当前S2套组的脉冲默认速度 |
| FR-PUL-17 | 扩展频率 | 100,001~200,000 Hz作为非保证扩展区,仅在板级测试通过后开放并报告警告 |
系统支持三种输出模式:
| 模式编号 | 输出模式 | 说明 |
|---|---|---|
| 0 | PULSE/DIR | 脉冲+方向输出 |
| 1 | AB 相 | 正交脉冲输出 |
| 2 | CW/CCW | 双脉冲方向输出 |
要求:
高速输出资源按以下规则统一:
CW/CCW模式下,正向只允许CW端输出脉冲,反向只允许CCW端输出脉冲;另一端和停止
状态均保持无效电平,任何时刻禁止CW、CCW同时输出。
方向输出点、方向有效极性和方向延时只作用于PULSE/DIR模式。AB相和CW/CCW不使用独立DIR点;
发生方向反转时仍必须先减速到0,再按对应相序或通道重新启动。
AB模式的段脉冲数量按完整正交周期累计。每完成00→相邻相位→相邻相位→相邻相位→00
的一轮四相位状态转换,段剩余脉冲数减1;四次相位跳变不得分别扣减脉冲数量。正反方向
通过相位先后顺序区分。
PULSE/DIR模式每个有效上升沿计1个指令脉冲;CW/CCW模式在当前方向通道每输出一个完整
脉冲计1个指令脉冲。段脉冲数量的符号决定相对模式方向,绝对模式方向由目标坐标与当前位置
之差决定。实现-2,147,483,648的绝对值时必须先扩展到64位,禁止32位取反溢出。
最小有效脉宽、输出极性及最高可靠频率还应满足 PLC 输出电路和伺服驱动器
的电气要求。100 kHz 是 V1.0 建议保证值,更高频率需通过硬件测试后开放。
当段目标频率为0时:
使用当前 S2 默认速度。
如果:
默认速度 <= 0
则:
相对定位按下式计算:
目标位置 = 当前逻辑位置 + 相对位移
绝对定位按下式计算:
输出位移 = 目标绝对位置 - 当前逻辑位置
系统内部应维护以下64位增强数据:
上位机应能够读取并清零累计数据。运行期间禁止清零或设置当前位置。
信捷兼容的固定累计状态HSD0~15仍按每个值两个16位寄存器组成32位数据;内部64位
累计不得改变该固定地址布局。将内部值发布到信捷兼容状态前必须进行范围检查,超出32位
范围时报告累计溢出,不得静默截断。
项目采用信捷PLSR的S0、S1、S2、D逻辑模型。Y0~Y3固定配置和状态地址必须按
PLSR地址映射一比一对应;S0、S1保持动态首地址语义。
| 参数 | 功能 | 主要内容 |
|---|---|---|
| S0 | 路径数据块 | 总段数、每段频率、脉冲数、等待及跳转 |
| S1 | 用户执行参数 | 仅包含相对/绝对模式和起始执行段;异步调用属于指令接口而非S1字段 |
| S2 | 运动参数套组 | K0~K4,包含默认频率、最高频率、起止频率、加减速、曲线、补偿、FOLLOW和刷新周期 |
| D | 输出轴 | 指定Y0~Y3脉冲轴;输出模式、方向点、极性和方向延时由该轴配置参数决定 |
逻辑调用形式为:
PLSR S0 S1 S2 D
FR-CMD-04: PLSR指令必须支持S0、S1、S2、D四个操作数语义,分别表示路径数据、
用户执行参数、K0~K4系统运动参数组和输出资源配置。
S0首地址由调用方动态指定。占用范围从S0+0开始,到最后一段
S0+N×10+8双字结束;由于末字段为双字,实际最后一个16位字位于S0+N×10+9。
| 相对地址 | 数据类型 | 定义 |
|---|---|---|
| S0+0 | INT32 | 总段数N,范围1~100 |
| S0+2~S0+9 | 8个WORD | 保留;写入时应为0,读取时不得解释为项目扩展字段 |
| S0+N×10+0 | INT32 | 第N段目标频率;非负,0表示使用当前S2默认速度 |
| S0+N×10+2 | INT32 | 第N段脉冲数量;相对模式为有符号位移,绝对模式为目标坐标 |
| S0+N×10+4 | WORD | 高8位为等待条件,低8位为等待参数来源类型 |
| S0+N×10+5 | INT32 | 等待常数或等待变量编号 |
| S0+N×10+7 | WORD | 低8位为跳转目标来源类型,高8位保留 |
| S0+N×10+8 | INT32 | 下一段常数或保存下一段号的变量编号 |
表中的N在段字段公式中取1~总段数。所有双字均由连续两个16位字组成,低地址保存低16位、
下一地址保存高16位;有符号值采用二进制补码。启动前必须验证完整数据块均位于允许的数据区内,且计算
S0+N×10+9时不得发生地址溢出。
| 相对地址 | 数据类型 | 定义 |
|---|---|---|
| S1+0 | INT32 | 定位模式:0为相对模式,1为绝对模式;其它值非法 |
| S1+2 | INT32 | 起始执行段:0或1均从第1段开始,2~100从指定段开始 |
起始段不得大于S0总段数。相对模式下,每段脉冲数量表示相对本段起点的位移;绝对模式下,
每段脉冲数量表示目标逻辑坐标,实际输出位移为该目标坐标减去进入本段时的逻辑位置。
每个输出轴必须提供第0~4套S2参数:
每套S2至少包含:
K0参数固定使用HSD460~539中对应轴的地址;K1~K4及公共参数固定使用
SFD900~1419中对应轴的地址。各地址不得重排或复用,具体范围见
PLSR地址映射。
S2 的控制刷新周期只允许配置为 1 ms 或 0.1 ms。系统OS Tick保持1 ms;
0.1 ms运动控制刷新应由独立硬件定时器触发,不得通过提高全局OS Tick实现。
运行中修改当前段目标频率后,系统应在当前S2所配置的刷新周期内开始应用新目标;该指标表示
调频响应时间,不表示脉冲输出周期。
D的信捷兼容含义是脉冲输出端口。本项目中:
S0和S1由调用方在未占用数据区选择不重叠的连续首地址。数据块不永久绑定到轴,多个空闲轴
可以只读共享同一数据块。COMMIT成功时应为目标轴创建不可变运行快照,随后修改原数据块不得
改变已提交任务,但下列兼容行为除外:
系统应支持 1~100 段路径,每段至少包含:
有符号脉冲数量
目标频率
等待类型
等待参数
下一段编号
S0应提供与信捷每段数据一致的相对布局和动态引用能力;S0首地址由调用方动态指定:
等待条件编码必须与信捷S0布局一致:
| 编码 | 条件 | 进入下一段的时机 |
|---|---|---|
| H00 | 脉冲发送完成 | 本段规定脉冲发送完成后 |
| H01 | Wait时间 | 本段完成后开始计时,计时到达后 |
| H02 | Wait信号 | 本段完成且指定位信号有效后 |
| H03 | ACT时间 | 从本段开始计时,到时后;若脉冲先完成则等待到时 |
| H04 | EXT信号 | 指定X输入出现OFF→ON;若脉冲先完成则继续等待边沿 |
| H05 | EXT信号或脉冲完成 | 两者任一先到 |
等待参数来源编码必须为:H00=常数、H01=D、H02=HD、H03=FD、H04=X、
H05=M、H06=HM。Wait时间和ACT时间只允许常数、D、HD或FD,数值范围为
0~2,147,483,647;H04和H05等待条件只允许使用X来源;Wait信号只允许使用X、M或HM。
EXT使用外部中断输入时不得再由同一物理边沿重复触发普通外部中断业务。
跳转来源编码必须为:H00=常数、H01=D、H02=HD、H03=FD。解析出的跳转值:
段参数的零值判断顺序固定为:先判断脉冲数量,再判断目标频率。脉冲数量为0时直接跳段,
不得因目标频率也为0而输出默认速度脉冲;脉冲数量非0且目标频率为0时才使用S2默认速度。
多段路径应满足:
| 编号 | 需求 | 优先级 |
|---|---|---|
| FR-SEG-01 | 每段可独立设置有符号脉冲数量 | 必须 |
| FR-SEG-02 | 每段可独立设置目标频率 | 必须 |
| FR-SEG-03 | 段起止频率由S2和相邻段目标频率自动推导,不要求每段显式配置 | 必须 |
| FR-SEG-04 | 同方向连续段允许不停顿变频 | 必须 |
| FR-SEG-05 | 反方向段切换前必须减速停止 | 必须 |
| FR-SEG-06 | 支持当前段完成后执行下一段 | 必须 |
| FR-SEG-07 | 支持等待指定时间及ACT指定时间后跳段 | 必须 |
| FR-SEG-08 | 支持等待指定输入点、EXT立即跳段及输入有效或本段完成 | 必须 |
| FR-SEG-09 | 支持指定下一段;跳转值为0时顺序执行,最后一段为0时结束 | 必须 |
| FR-SEG-10 | 不设置独立有限循环次数字段;有限循环由寄存器、计数器和动态下一段实现 | 必须 |
| FR-SEG-11 | 支持从指定段号开始;跳转到自身表示有意无限循环 | 必须 |
| FR-SEG-12 | 每个实际完成或被条件切换的段均产生带轴号、段号和原因的段事件 | 必须 |
| FR-SEG-13 | 最后一段使用等待类条件时保持WAIT/运行状态,直到条件成立或STOP,不得静默结束 | 必须 |
| FR-SEG-14 | 最大路径段数固定为100;超过限制时拒绝执行并返回SEGMENT_OVERFLOW | 必须 |
运行期间除当前段目标频率外,其余路径参数修改不得影响当前任务。新参数应在下一次成功提交并
启动时生效。项目内部可把S0编码解析为结构化字段,但不得改变S0对外相对布局。
系统应支持:
加减速应满足以下规则:
SPEED_CLAMPED诊断告警;不得把限幅伪装成未经记录的正常输出。调用方式和脉冲衔接方式是两个独立配置项。
PLSR启动采用上升沿触发方式。
| 编号 | 需求 | 优先级 |
|---|---|---|
| FR-CMD-01 | PLSR启动必须检测启动信号上升沿 | 必须 |
| FR-CMD-02 | 启动成功后,解除启动条件不会影响当前任务 | 必须 |
| FR-CMD-03 | 已经接受的任务必须锁存执行参数,不受原参数区修改影响 | 必须 |
禁止:
系统至少应支持以下命令:
| 命令 | 行为 | 优先级 |
|---|---|---|
| START | 校验并启动任务 | 必须 |
| STOP_DECEL | 按减速曲线停止 | 必须 |
| STOP_IMMEDIATE | 完成本次有效脉冲后关闭输出 | 必须 |
| PAUSE | 减速暂停并保存剩余路径 | 必须 |
| RESUME | 从暂停状态继续 | 必须 |
| SET_POSITION | 设置逻辑当前位置 | 必须 |
| CLEAR_POSITION | 逻辑当前位置清零 | 必须 |
| CLEAR_TOTAL | 累计脉冲数清零 | 必须 |
| SAVE_CONFIG | 保存稳定配置 | 必须 |
| LOAD_CONFIG | 加载已保存配置 | 必须 |
| RESET_ERROR | 清除可恢复错误 | 必须 |
| SELF_TEST | 执行内部自测 | 必须 |
命令边界行为:
运行过程中参数修改规则:
| 参数 | 运行中修改 |
|---|---|
| 当前段目标频率 | 允许,在当前S2配置的0.1 ms或1 ms刷新周期内开始生效 |
| STOP命令 | 允许 |
| PAUSE命令 | 允许 |
| 方向 | 禁止 |
| 脉冲数量 | 禁止 |
| 路径段数据 | 禁止 |
| 输出模式 | 禁止 |
| 输出点配置 | 禁止 |
| 加减速参数 | 下一次启动生效 |
启动时必须生成不可变运行快照。
FR-PUL-23: 运行过程中禁止直接修改方向;必须终止当前任务后重新提交并启动。
暂停要求:
恢复:
减速停止:
立即停止:
PLSR 至少应包含以下状态:
UNINITIALIZED 未初始化
IDLE 空闲
ACCEL 加速
RUN 运行
DECEL 减速
WAIT 段间等待
PAUSED 暂停
COMPLETED 完成
STOPPED 停止
ERROR 错误
上位机至少能够读取:
绝对模式目标等于当前累计位置时不得输出脉冲;完成状态不得依赖必须出现一次
“运行标志下降沿”,应直接返回零位移完成结果。
增加 PLC 用户可观察状态:
| 状态 | 说明 |
|---|---|
| BUSY | 当前轴存在已接受但尚未终止的任务,包括运动、WAIT和PAUSED |
| PULSE_ACTIVE | 当前物理脉冲正在输出;WAIT和PAUSED期间为0 |
| DONE | 当前任务正常完成并锁存 |
| WAIT | 当前任务正在等待段条件 |
| ERROR | 当前任务异常结束并锁存错误 |
采用方案A:
FR-STA-01: DONE只表示正常完成,并按上述方案A产生、保持和清零。
四轴固定状态和段事件入口必须保持以下对应关系:
| 逻辑轴 | 累计状态 | 运行/方向标志 | 实时状态 | 段事件入口 |
|---|---|---|---|---|
| Y0/Q0 | HSD0~3 | SM1000、SM1001 | SD1000~1011 | I6000~6099 |
| Y1/Q1 | HSD4~7 | SM1020、SM1021 | SD1020~1031 | I6100~6199 |
| Y2/Q2 | HSD8~11 | SM1040、SM1041 | SD1040~1051 | I6200~6299 |
| Y3/Q3 | HSD12~15 | SM1060、SM1061 | SD1060~1071 | I6300~6399 |
HSD每轴四个字的相对布局固定为:+0/+1累计指令脉冲量,+2/+3累计当量,均为有符号
32位值。项目内部64位累计发布到HSD前必须做范围检查;超出INT32范围时锁存累计溢出错误,
不得回绕或静默截断。
SM运行和方向标志语义固定为:
每轴SD实时状态以对应轴起始地址B表示,其相对布局固定为:
| 相对地址 | 定义 |
|---|---|
| B+0、B+1 | 当前段号,32位 |
| B+2、B+3 | 当前段已输出指令脉冲量,32位 |
| B+4、B+5 | 当前段已输出当量,32位 |
| B+6、B+7 | 当前输出频率,指令脉冲单位,32位 |
| B+8、B+9 | 当前输出速度,当量单位,32位 |
| B+10 | 信捷兼容脉冲错误码 |
| B+11 | 错误脉冲数据块号 |
I6000~I6399按轴和段映射:第N段事件入口为该轴事件基址加N-1。每个实际执行段在结束或
被条件切换时产生一次事件。
事件处理应至少提供轴号、段号和结束原因;正常脉冲完成必须与信捷每段中断的可观察时机一致,
跳转顺序不得改变事件入口与原段号的对应关系。
现有 USART1 Modbus RTU 从站作为配置和监控通道。
系统应支持:
协议规则如下:
PLSR内存地址、数据类型和固定占用规则见
PLSR地址映射。地址分配必须避开现有演示、
Backup
SRAM保持区。原Modbus通信历史功能不纳入PLSR版本,原历史寄存器区域释放给
S0/S1动态数据池使用。
需要保存:
保存规则如下:
position_valid。测试报告应记录板卡是否安装 VBAT 以及最终采用的数据恢复等级。 XDM-60T4-E
已确认安装有效 VBAT,Backup SRAM 可用于保持动态检查点;
当前逻辑位置必须具有独立的 position_valid 标志。
每个轴必须提供以下与PLSR直接相关的公共参数,字段地址严格采用
PLSR地址映射中的信捷原地址,不得采用自定义轴块偏移:
信捷固定地址中的电气原点、机械回零、Z相、CLR及闭环脉冲字段应保留原地址,不得挪作项目
扩展用途;其中不属于V1.0 PLSR范围的功能无需实现。未使用的保留位必须按0写入并在读取时忽略。
工程单位必须在内核换算层支持,不再限定为上位机换算。换算应保存小数余数,
避免多段或重复运动的累计舍入漂移。
软限位按当前逻辑位置判断。到达对应软限位时执行减速停止,禁止继续向越界方向
启动,但允许反向离开。软限位和硬限位可同时启用。
发生运动方向反转时,应按配置加入对应方向的齿隙补偿脉冲,并使用补偿加减速时间;
补偿段与正式运动段应分开执行。齿隙补偿脉冲不得计入本段指令脉冲、逻辑位置或信捷兼容HSD
累计值,但应计入项目增强的物理输出诊断计数,以便核对实际输出边沿。
内部自测至少包括:
外部诊断和测试至少包括:
使用示波器或逻辑分析仪测量输出频率。
统计实际脉冲边沿数量。
检查占空比和方向建立时间。
检查梯形、S 形和正弦曲线。
进行连续运行和频繁启停压力测试。
| 诊断项 | 要求 |
|---|---|
| 软件累计脉冲 | 记录实际发送数量 |
| 硬件边沿计数 | 记录输出实际边沿 |
| 差值诊断 | 判断输出异常 |
| 频率记录 | 保存当前和最高频率 |
| 段事件记录 | 记录结束原因 |
用于定位:
至少应定义以下错误:
参数未初始化
输出点非法或冲突
默认速度为零或硬件频率超限
脉冲数或段数非法
段参数冲突
跳转段号非法
非预期闭环路径或运行保护超限
绝对位置未建立
模块忙
非法状态命令
定时器初始化失败
Flash数据无效或保存失败
等待输入超时
立即停止
累计计数溢出
内部计数异常
运动控制事件优先级:
急停
>
硬限位
>
STOP_IMMEDIATE
>
STOP_DECEL
>
PAUSE
>
正常运行
要求:
固定实时状态中的信捷兼容错误码应至少实现下列与PLSR有关的取值:
| 兼容码 | 说明 | 适用处理 |
|---|---|---|
| 1 | 脉冲数据段配置错误 | 拒绝启动,错误数据块号写入对应SD的B+11 |
| 2 | 当量模式下每转脉冲数或每转移动量为0 | 拒绝启动 |
| 3 | S2系统参数块号错误 | 拒绝启动 |
| 4 | 脉冲参数块号或范围超过限制 | 拒绝启动 |
| 5 | 正限位触发后停止 | 按减速停止并禁止继续正向启动 |
| 6 | 负限位触发后停止 | 按减速停止并禁止继续反向启动 |
| 15 | FOLLOW性能参数不在1~100 | 拒绝启动 |
| 16 | FOLLOW前馈补偿不在0~100 | 拒绝启动 |
| 26 | 控制块或高速输出资源分配失败 | 拒绝启动或进入ERROR |
项目增强诊断使用符号错误码,不得占用或改变上述固定兼容码:
| 错误码 | 说明 |
|---|---|
| DEFAULT_SPEED_INVALID | 默认速度非法 |
| SEGMENT_OVERFLOW | 路径段数超过100 |
| OUTPUT_MODE_INVALID | 输出模式非法 |
| RESOURCE_CONFLICT | 输出资源冲突 |
| PARAMETER_LOCKED | 运行参数禁止修改 |
| DONE_STATE_ERROR | 完成状态异常 |
| SPEED_CLAMPED | 目标速度被S2最高速度限幅;属于告警,不单独终止任务 |
| POSITION_INVALID | 绝对定位前逻辑位置无效 |
| COUNTER_OVERFLOW | 内部或兼容累计计数溢出 |
| 编号 | 性能项 | 验收指标 |
|---|---|---|
| PR-01 | 保证频率范围 | 1 Hz~100 kHz |
| PR-02 | 固定频率误差 | 使用可实现的最佳定时器分频值,记录目标值、实际值及误差,不设统一百分比限值 |
| PR-03 | 正常完成脉冲误差 | 0 个脉冲 |
| PR-04 | 占空比 | 目标 50%,满足驱动器最小高低电平时间 |
| PR-05 | 方向建立时间 | 不小于配置值 |
| PR-06 | 运行调频开始生效 | 不超过当前 S2 配置的 1 ms 或 0.1 ms |
| PR-07 | 段边界 | 不得产生非配置停顿、窄脉冲或重复边沿 |
以下是 V1.0 初始预算,首次 100 kHz 压力测试后可根据实测调整,但必须经过
设计评审并记录原因:
| 编号 | 性能项 | 初始指标 |
|---|---|---|
| PR-RT-01 | 控制更新周期 | S2 可配置为 1 ms 或 0.1 ms |
| PR-RT-02 | 脉冲产生 | 由硬件定时器维持,不受 OS 调度影响 |
| PR-RT-03 | 脉冲级中断最坏执行时间 | 实测并记录,不得导致脉冲数量错误 |
| PR-RT-04 | PLSR CPU 占用率 | 四轴 100 kHz 并发时以实测记录并验证不影响系统实时性 |
| PR-RT-05 | PLSR 静态 RAM | 实测并记录,不设固定8 KiB限制 |
| PR-RT-07 | 共享数据 | 使用原子快照或临界区保护 |
| PR-RT-08 | 通信压力 | Modbus/USB 压力下脉冲计数误差仍为 0 |
| 编号 | 性能项 | 验收指标 |
|---|---|---|
| PR-REL-01 | 连续运行 | 测试时长由测试方案确定,运行期间不得出现计数错误或任务失联 |
| PR-REL-02 | 频繁启停 | 不产生额外脉冲和非法状态转换 |
| PR-REL-03 | 异常参数 | 拒绝执行且不影响当前合法任务 |
| PR-REL-04 | 重新上电 | 输出安全,不自动恢复运动 |
| PR-REL-05 | 参数恢复 | 已成功保存的固定配置和Backup SRAM动态数据能够按定义恢复 |
| PR-REL-06 | 通信并发 | 连续读写状态时运动结果保持准确 |
| 编号 | 验收项 | 合格标准 |
|---|---|---|
| AT-01 | 固定频率 | 1 Hz~100 kHz 使用最佳定时器分频值,并记录实际误差 |
| AT-02 | 固定脉冲数 | 正常完成误差为 0 个 |
| AT-03 | 正反转 | 方向电平和脉冲数量正确 |
| AT-04 | 相对定位 | 连续相对运动位置累计正确 |
| AT-05 | 绝对定位 | 从不同当前位置到同一目标位置结果正确 |
| AT-06 | 加减速 | 曲线、起止频率和脉冲总数正确 |
| AT-07 | 多段路径 | 段顺序、频率、数量和等待条件正确 |
| AT-08 | 完成方式 | 段结束后才向下一段频率变化 |
| AT-09 | 后续方式 | 段结束时已经达到下一段目标频率 |
| AT-10 | 动态调频 | 在 S2 配置的 1 ms 或 0.1 ms 内开始生效且无异常脉冲 |
| AT-11 | 停止控制 | 减速停止和立即停止符合定义 |
| AT-12 | 重复命令 | 相同命令序号不产生重复运动 |
| AT-13 | 掉电恢复 | 不自动运动,位置有效性符合恢复等级 |
| AT-14 | 上电安全 | 上电和复位期间无意外脉冲 |
| AT-15 | S0/S1布局 | 使用动态首地址验证完整相对布局、保留区、六种等待条件和四种跳转来源 |
| AT-16 | 最高速度限幅 | 目标速度高于S2最高速度时按最高速度运行并产生SPEED_CLAMPED告警 |
| AT-17 | 四轴独立运行 | 四轴同时以100 kHz运行时无丢脉冲、重复脉冲和异常周期,且状态和累计数据互不串扰 |
| AT-18 | AB 相输出 | 两个AB轴可独立运行;一个完整正交周期计1个指令脉冲,周期频率、相位方向和数量正确 |
| AT-19 | S0等待与跳转 | 六种等待条件、动态参数来源、提前/延后触发和0/指定/自身跳转语义与信捷一致 |
| AT-20 | 公共参数 | 单位换算、软限位、方向延时、齿隙补偿和FOLLOW参数均通过测试 |
| AT-21 | 零值及边界 | INT32最小值、频率0、脉冲数0跳段和绝对零位移行为符合本规格 |
| AT-22 | 段事件和监控 | 每段事件、运行标志、当前段计数和累计计数可被稳定读取 |
| AT-23 | 固定软元件 | HSD、SM、SD和I6000~I6399的地址、位宽、轴映射及可观察语义与信捷一致 |
新增测试:
正式测试应使用开发板、逻辑分析仪和PC Modbus测试工具,并记录测试固件、
参数、接线、测量设备、原始波形和测试结论。
以下事项不改变V1.0需求范围,属于设计、实现和上板验收阶段需要验证的内容:
Core、Modbus、Middlewares、EWARM 和 HostComputer