Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 
 
 
 

15 KiB

PLSR 项目需求规格统计

文档状态:V0.1(需求基线草案)
整理日期:2026-08-03
目标平台:XDM-60T4-E / XDM-60T10-E
当前首要目标:在 STM32F407 + uC/OS-II 平台实现单轴 PLSR 定位脉冲模块

1. 需求来源

本规格由以下材料及当前项目讨论整理而成:

  1. 任务要求.png
  2. 实现PLSR指令.pdf
  3. 信捷XD_XL系列PLC定位控制手册
  4. 当前工程代码,包括 uC/OS-II、Modbus RTU、Backup SRAM 和上位机测试程序

信捷手册用于功能对标,不要求逐项复制信捷的寄存器地址、软元件和编程软件界面。
本项目的目标是实现功能相当的自有 PLSR 模块。

2. 范围结论

2.1 V1.0 必须交付

  • 基于 uC/OS-II 运行。
  • 单轴 PULSE/DIR 脉冲输出。
  • 指定脉冲数量和输出频率。
  • 正向、反向运动。
  • 相对定位和绝对定位。
  • 前台完成模式和后台运行模式。
  • 运行中修改目标频率。
  • 多段脉冲输出。
  • 多种加减速曲线。
  • 累计脉冲数和逻辑位置记录。
  • 上位机清零累计数据。
  • 参数配置、保存及上电恢复。
  • Modbus RTU 控制和状态监控。
  • 基本自测、错误诊断和完整技术文档。

2.2 建议作为 V1.0 完整版交付

  • 最多 100 段路径。
  • 梯形、S 形、正弦三种加减速曲线。
  • 段间延时等待。
  • 段间输入信号等待。
  • 指定下一段和有限循环。
  • 暂停、继续、减速停止和立即停止。
  • 参数 CRC、双备份和恢复默认值。
  • 逻辑分析仪脉冲数量、频率和曲线验证。

2.3 V1.1 或加分项

  • AB 相正交脉冲输出。
  • 外部输入回读脉冲的硬件自诊断。
  • 伺服到位、报警及编码器位置监控。
  • 多轴扩展。
  • 更高脉冲频率。

2.4 当前不在范围内

  • 闭环位置控制和编码器误差补偿。
  • 多轴直线、圆弧插补。
  • 电子凸轮和龙门同步。
  • 完整机械回零 ZRN 指令。
  • 完整复刻信捷 DRVI、DRVA、PLSF、STOP 和 GOON 指令语法。
  • 兼容信捷 HD、HSD、SFD、SM 等软元件地址。
  • 复制 XDPPro 的 PLSR 参数配置界面。
  • 齿轮间隙补偿和 FOLLOW 前馈控制。

3. 硬件和系统要求

编号 需求 优先级 验收方式
SYS-01 使用 STM32F407 和 12 MHz 外部晶振 必须 检查工程和系统时钟
SYS-02 CPU 主频为 168 MHz 必须 读取时钟配置
SYS-03 运行于 uC/OS-II 必须 检查任务和调度运行
SYS-04 首版适配 XDM-60T4-E(STM32F407IG) 必须 T4-E 开发板测试
SYS-05 架构兼容 XDM-60T10-E(STM32F407ZG) 建议 编译配置和接口评审
SYS-06 使用硬件定时器产生脉冲 必须 检查代码及示波器波形
SYS-07 脉冲输出不依赖 OS Tick 翻转 GPIO 必须 关闭任务调度干扰测试
SYS-08 上电及复位过程中输出保持无效 必须 上电、复位波形测试

3.1 已知板级点位

XDM-60T4-E:

PLC 点 MCU 引脚
Q0 PF6
Q1 PF8
Q2 PF7
Q3 PF9
USART1_TX PA9
USART1_RX PA10

XDM-60T10-E:

PLC 点 MCU 引脚
Q0 PF6
Q1 PF8
Q2 PF7
Q3 PF9
USART1_TX PA9
USART1_RX PA10

Q 点与定时器通道的最终映射仍需结合 STM32 数据手册、板卡原理图和实测确认。

4. 脉冲输出要求

编号 需求 建议指标 优先级
PUL-01 输出形式 PULSE/DIR 必须
PUL-02 脉冲有效边沿 默认上升沿计数 必须
PUL-03 占空比 50% 必须
PUL-04 保证频率范围 1~100,000 Hz 必须
PUL-05 单段脉冲数 1~2,147,483,647 必须
PUL-06 正反方向 独立方向输出电平 必须
PUL-07 方向极性 参数可配置 必须
PUL-08 方向建立时间 默认 10 us,可配置 必须
PUL-09 正常完成脉冲误差 0 个 必须
PUL-10 频率误差 不超过 ±0.1% 必须
PUL-11 运行调频响应 不超过 1 ms 必须
PUL-12 频率修改 不改变剩余脉冲数量 必须

说明:100 kHz 是 V1.0 建议保证值。是否开放更高频率由 PLC 输出电路、伺服输入规格和上板测试决定。

5. 定位模式

5.1 相对定位

相对定位的输入值表示相对当前位置需要移动的脉冲数:

目标位置 = 当前逻辑位置 + 相对位移
  • 正数表示正向运动。
  • 负数表示反向运动。
  • 正常完成后更新逻辑位置。
  • 中途停止时按实际已发脉冲更新逻辑位置。

5.2 绝对定位

绝对定位的输入值表示目标逻辑坐标:

实际输出位移 = 目标绝对位置 - 当前逻辑位置
  • 当前位置必须有效。
  • 位置未建立时禁止绝对定位,并返回错误。
  • 支持设置当前位置和当前位置清零。
  • 绝对定位是 PLC 的逻辑坐标功能,不代表伺服具有绝对值编码器。

6. S0、S1、S2、D 功能模型

项目采用与信捷 PLSR 相似的逻辑模型,但不要求使用相同的物理寄存器地址。

参数 本项目含义 主要内容
S0 路径数据块 总段数、每段频率、脉冲数、等待和跳转
S1 用户执行参数 相对/绝对模式、起始段号、执行方式
S2 运动参数配方 加减速斜率、曲线、最高速度、起止速度
D 输出轴/脉冲点 脉冲输出点及其对应的轴配置

建议的软件接口关系:

PLSR_Start(S0路径, S1执行参数, S2参数套组, D输出轴)

6.1 S0 路径数据

每段至少包含:

有符号脉冲数量
目标频率
等待类型
等待参数
下一段编号

6.2 S1 用户参数

至少包含:

相对/绝对定位模式
起始执行段号
前台/后台执行方式
命令超时时间

6.3 S2 运动参数套组

每个输出轴建议提供 5 套参数(0~4):

  • 第 0 套用于上位机运行时调整。
  • 第 1~4 套用于保存预设运动配方。

每套至少包含:

默认频率
最高频率
起始频率
结束频率
默认加速时间
默认减速时间
加减速曲线
频率刷新周期

6.4 D 输出配置

每个轴至少包含:

脉冲输出点
方向输出点
脉冲有效极性
方向有效极性
方向建立时间

7. 多段路径要求

编号 需求 优先级
SEG-01 支持 1~100 段 建议 V1.0
SEG-02 每段独立设置有符号脉冲数 必须
SEG-03 每段独立设置目标频率 必须
SEG-04 同方向连续段允许不停顿变频 必须
SEG-05 反方向段切换前先减速停止 必须
SEG-06 支持脉冲完成后执行下一段 必须
SEG-07 支持等待指定时间 建议 V1.0
SEG-08 支持等待指定输入点 建议 V1.0
SEG-09 支持指定下一段 建议 V1.0
SEG-10 支持有限循环并检测异常死循环 建议 V1.0
SEG-11 支持从指定段号开始 建议 V1.0

多段路径执行期间,除当前段目标频率外,其余结构参数修改不应影响已经启动的任务。新参数在下一次启动时生效。

8. 加减速要求

编号 曲线 优先级 说明
ACC-01 无加减速 必须 调试和低速场景使用
ACC-02 直线/梯形 必须 首个实现和基础验收曲线
ACC-03 S 形 必须 降低机械冲击
ACC-04 正弦曲线 建议 V1.0 对标信捷增强能力

其他规则:

  • 起始频率和结束频率不得超过最高频率。
  • 目标频率超过最高频率时拒绝启动,不进行静默截断。
  • 加减速距离不足时自动生成三角速度曲线。
  • 加减速过程中必须保证最终脉冲总数准确。
  • 同方向连续段根据完成/后续模式决定在段边界达到本段速度还是下一段速度。
  • 运行中修改目标频率时,按照当前曲线平滑过渡。

9. 运行控制

编号 命令 行为 优先级
CTL-01 START 校验参数并启动任务 必须
CTL-02 STOP_DECEL 按减速曲线停止 必须
CTL-03 STOP_IMMEDIATE 完成当前有效脉冲后立即关闭输出 必须
CTL-04 PAUSE 减速暂停并保留剩余路径 建议 V1.0
CTL-05 RESUME 从暂停状态继续 建议 V1.0
CTL-06 SET_POSITION 设置逻辑当前位置 必须
CTL-07 CLEAR_POSITION 逻辑当前位置清零 必须
CTL-08 CLEAR_TOTAL 累计脉冲数清零 必须
CTL-09 SAVE_CONFIG 保存配置参数 必须
CTL-10 LOAD_CONFIG 重新加载保存参数 必须
CTL-11 RESET_ERROR 清除可恢复错误 必须
CTL-12 SELF_TEST 执行内部自测 必须

9.1 前台完成模式

  • 调用任务等待运动完成、停止、超时或错误。
  • 使用 uC/OS-II 信号量或事件通知。
  • 禁止在中断上下文中等待。

9.2 后台运行模式

  • 参数校验且成功启动后立即返回。
  • 调用方通过状态接口读取结果。
  • 运行中允许调频、暂停、继续和停止。

10. 状态机和状态数据

状态至少包括:

UNINITIALIZED  未初始化
IDLE           空闲
ACCEL          加速
RUN            运行
DECEL          减速
WAIT           段间等待
PAUSED         暂停
COMPLETED      完成
STOPPED        停止
ERROR          错误

上位机至少可以读取:

  • 当前状态和错误码。
  • 当前段号和总段数。
  • 当前方向。
  • 当前设定频率和目标频率。
  • 本段已发、剩余脉冲数。
  • 本次任务已发、剩余脉冲数。
  • 当前逻辑位置。
  • 正向、反向和总累计脉冲数。
  • 最近一次完成或停止原因。
  • 当前使用的 S2 参数套组。
  • 参数版本、保存序号和 CRC 状态。

11. Modbus 要求

现有 USART1 Modbus RTU 从站作为控制和监控通道。

编号 需求 优先级
COM-01 读取 PLSR 配置和实时状态 必须
COM-02 写入单段和多段参数 必须
COM-03 下发启动、停止和清零命令 必须
COM-04 参数范围及组合合法性检查 必须
COM-05 参数写入与运动启动采用提交机制 必须
COM-06 32/64 位状态采用一致性快照 必须
COM-07 非法通信参数不得破坏运行任务 必须
COM-08 保存通信和 PLSR 诊断统计 建议 V1.0

建议采用“影子参数 + 提交命令”机制:

上位机写影子参数
        ↓
发送参数提交命令
        ↓
完整校验
        ↓
原子复制到运行参数
        ↓
允许启动

具体 Modbus 寄存器地址在《PLSR Modbus 通信协议》中单独定义,避免与现有通信历史区冲突。

12. 掉电保存要求

需要保存:

  • 脉冲和方向输出点。
  • 输出极性和方向建立时间。
  • S2 参数套组。
  • 默认运行模式。
  • 累计脉冲数。
  • 逻辑当前位置及有效标志。
  • 数据版本、序号和 CRC。

保存策略:

  • 配置参数使用内部 Flash 双备份。
  • 新副本校验成功后再替代旧副本。
  • 避免每个脉冲或每毫秒写 Flash。
  • 累计位置在任务完成、清零、设置位置及固定周期检查点保存。
  • Backup SRAM 可用于提高异常复位后的恢复精度。
  • 如果板卡没有 VBAT、FRAM 或掉电检测电路,不能承诺任意断电瞬间零脉冲误差恢复。
  • 复位或重新上电后不得自动恢复电机运动。

13. 自测与诊断

13.1 内部自测

  • 参数结构版本和 CRC 检查。
  • 输出点冲突检查。
  • 定时器时钟和分频计算检查。
  • 频率范围检查。
  • 路径段数、跳转和循环检查。
  • 64 位累计计数溢出检查。
  • 状态机非法转换检查。

13.2 外部测试

  • 使用示波器或逻辑分析仪测量输出频率。
  • 统计实际脉冲边沿数量。
  • 检查占空比、方向建立时间及方向切换。
  • 检查梯形、S 形和正弦频率曲线。
  • 连续运行和频繁启停压力测试。
  • 可选使用输入点回接输出脉冲进行硬件自诊断。

14. 错误码要求

至少包含:

参数未初始化
输出点非法
脉冲点与方向点冲突
频率为零或超限
脉冲数非法
段数非法
段参数非法
跳转段号非法
路径循环超限
绝对位置未建立
模块忙
非法状态命令
定时器初始化失败
Flash数据无效
Flash保存失败
等待输入超时
立即停止
内部计数异常

发生严重错误时,模块必须停止装载新脉冲,并使输出回到安全无效电平。

15. 验收标准

编号 验收项 合格标准
TST-01 固定频率 1 Hz~100 kHz 内误差不超过 ±0.1%
TST-02 固定脉冲数 正常完成误差为 0 个脉冲
TST-03 正反转 方向电平及脉冲数量正确
TST-04 相对定位 连续多次相对运动位置累计正确
TST-05 绝对定位 从不同当前位置到同一目标位置结果正确
TST-06 加减速 曲线、起止频率和总脉冲数正确
TST-07 多段路径 段顺序、频率、数量和等待条件正确
TST-08 动态调频 命令后 1 ms 内开始生效且无异常脉冲
TST-09 停止控制 减速停止和立即停止符合定义
TST-10 掉电参数 重新上电后配置校验和恢复正确
TST-11 异常参数 拒绝启动并返回明确错误码
TST-12 连续运行 24 小时无异常停止、计数错误或任务失联
TST-13 Modbus并发 通信压力下脉冲输出数量和频率仍正确
TST-14 上电安全 上电和复位期间无意外脉冲

16. 交付物

  • PLSR 软件源代码和头文件。
  • 硬件定时器、GPIO 和板型适配代码。
  • Modbus 寄存器及命令协议。
  • Flash 参数保存模块。
  • PLSR 需求规格书。
  • PLSR 软件设计说明书。
  • 单元测试和上板测试方案。
  • 测试记录及测试报告。
  • 上位机调试或测试工具。
  • 示例程序和使用说明。

17. 待确认事项

以下项目在开始硬件实现前必须确认:

  1. Q0~Q3 与 STM32 定时器通道的准确映射。
  2. 输出电路的最高可靠频率和有效电平。
  3. 伺服驱动器采用 PULSE/DIR 还是 CW/CCW 接口。
  4. 驱动器的有效边沿、最小脉宽和方向建立时间。
  5. 首版只验收 XDM-60T4-E,还是同时验收 T10-E。
  6. 100 段、外部等待和跳转是否全部列为 V1.0 强制功能。
  7. 掉电位置恢复允许的误差和板卡是否具有 VBAT。
  8. 是否需要将实际距离单位(mm、um)换算放入 PLSR 模块。
  9. 是否需要伺服报警、到位及正负限位输入。
  10. 频率上限最终按 100 kHz 还是更高指标验收。

18. 建议实施顺序

  1. 确认定时器和 Q 点映射。
  2. 完成单段、固定频率和精确脉冲计数。
  3. 完成方向、相对定位和绝对定位。
  4. 完成梯形加减速及运行调频。
  5. 完成前台/后台控制和状态机。
  6. 接入 Modbus 参数提交与状态快照。
  7. 完成多段、等待和跳转。
  8. 完成 S 形及正弦曲线。
  9. 完成 Flash 保存、自测和诊断。
  10. 开展压力测试并整理交付文档。