You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

35 KiB

PLSR 需求规格书

文档版本:V1.3 Rev.A(需求冲突统一冻结版)
更新日期:2026-08-05
目标平台:XDM-60T4-E
软件平台:STM32F407 + uC/OS-II

目录

1 概述

1.1 项目背景

本项目计划在新一代 XDM 系列 PLC 中实现一个高性能定位脉冲输出模块, 通过
PLC 指令或 Modbus 命令驱动伺服驱动器,完成四轴独立位置控制。

项目当前已有以下基础:

  • STM32F407 硬件平台和 IAR 工程。
  • uC/OS-II 实时操作系统。
  • USART1 DMA Modbus RTU 从站。
  • USB CDC 框架。
  • Backup SRAM 数据保持基础。
  • PC 端 Modbus RTU 测试工具。

本项目以信捷 PLC 的 PLSR 功能作为最低功能基线:信捷 PLSR 已有的功能和
可观察运行语义均应具备;本项目已有的四轴资源管理、Modbus原子提交、命令防重、
64位累计、诊断和Backup
SRAM等增强功能继续保留。Y0~Y3的PLSR固定配置参数和固定状态地址必须与信捷手册
一比一对应;S0、S1保持动态首地址语义,S2、D保持指令操作数语义;不复制XDPPro参数配置界面。

逐项对应关系见PLSR信捷对标追踪矩阵。矩阵中未关闭的
差异不得宣称为"严格功能对标完成”。

V1.0 的目标范围如下:

  • 四轴独立 PULSE/DIR 脉冲输出,不包含多轴插补。
  • AB 相正交脉冲输出和方向控制,最多同时运行两轴。
  • 指定频率、脉冲数量和方向。
  • 相对定位和绝对定位。
  • 单段和多段路径。
  • 多种加减速曲线。
  • 异步返回调用。
  • 完成方式和后续方式两种多段衔接模式。
  • 运行中调频。
  • Modbus 配置和状态监控。
  • 参数及累计数据保存。
  • 自测、诊断和测试文档。

外部脉冲回读、编码器闭环和多轴插补等功能作为后续版本或加分项。

1.2 定义

名称 定义
PLSR 本项目的定位脉冲输出模块,支持单段及多段位置控制
PULSE/DIR 脉冲加方向的伺服控制接口,PULSE 表示位置增量,DIR 表示方向
AB 相输出 A、B 两路相差 90° 的正交脉冲接口,通过相位先后表示方向
指令位置 PLC 根据已输出脉冲累计得到的位置,不等同于编码器实际位置
相对定位 以当前逻辑位置为基准移动指定距离
绝对定位 移动到指定逻辑坐标
异步返回 启动成功后立即返回,通过状态接口查询运动结果
完成方式 上一段脉冲发送完后,才开始向下一段频率加减速
后续方式 在上一段内提前变频,使段结束时已经达到下一段频率
S0 路径数据块,保存段数、频率、脉冲数、等待和跳转参数
S1 用户执行参数,仅保存定位模式和起始段
S2 K0~K4运动参数套组,保存速度限制、起止频率、加减速、补偿、FOLLOW和刷新周期
D 输出轴或脉冲输出点
控制周期 PLSR 更新状态和速度规划的周期,由 S2 配置为 1 ms 或 0.1 ms
检查点 为掉电恢复而保存的一致性累计数据快照
影子参数 上位机可编辑但尚未提交给运行模块的参数副本

2 功能需求

2.1 系统与硬件功能

编号 需求 优先级
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 中选择。

2.2 脉冲输出功能

编号 需求 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 相轴数 最多同时运行两轴;物理点对固定为 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 双脉冲方向输出

要求:

  • 三种模式均应支持正反方向控制;
  • 输出模式运行前不可修改;
  • 输出点必须支持资源冲突检查;
  • 不同轴之间高速输出资源不得重复占用。

高速输出资源按以下规则统一:

  • 物理高速资源固定为Q0~Q3,不改变其MCU引脚和定时器映射;
  • 逻辑运动轴不永久绑定高速资源,START时申请、任务终止时释放;
  • PULSE/DIR占用1个高速资源;AB相和CW/CCW各占用2个高速资源;
  • AB相及CW/CCW只能使用Q0/Q1或Q2/Q3有效点对;
  • 正常完成、STOP或ERROR退出后必须释放本任务占用的高速资源;
  • 运行期间输出模式、高速点绑定和定时器资源保持锁定。

CW/CCW模式下,正向只允许CW端输出脉冲,反向只允许CCW端输出脉冲;另一端和停止
状态均保持无效电平,任何时刻禁止CW、CCW同时输出。

  • FR-PUL-20: PLSR任务正常完成、STOP停止或ERROR退出后必须释放高速输出资源。
  • FR-PUL-21: CW/CCW必须遵守上述互斥输出和停止安全电平规则。
  • FR-PUL-22: 单段脉冲数量为0时跳过当前段,不输出脉冲并进入下一段;若为最后一段则完成任务。

AB模式的段脉冲数量按完整正交周期累计。每完成00→相邻相位→相邻相位→相邻相位→00
的一轮四相位状态转换,段剩余脉冲数减1;四次相位跳变不得分别扣减脉冲数量。正反方向
通过相位先后顺序区分。

最小有效脉宽、输出极性及最高可靠频率还应满足 PLC 输出电路和伺服驱动器
的电气要求。100 kHz 是 V1.0 建议保证值,更高频率需通过硬件测试后开放。

当段目标频率为0时:

使用当前 S2 默认速度。

如果:

默认速度 <= 0

则:

  • 禁止启动;
  • 返回 DEFAULT_SPEED_INVALID。

2.3 定位功能

2.3.1 相对定位

相对定位按下式计算:

目标位置 = 当前逻辑位置 + 相对位移
  • 相对位移为正数时正向运动,为负数时反向运动。
  • 正常完成后,逻辑位置应等于目标位置。
  • 中途停止时,应按实际已输出脉冲更新逻辑位置。

2.3.2 绝对定位

绝对定位按下式计算:

输出位移 = 目标绝对位置 - 当前逻辑位置
  • 执行绝对定位前,当前位置必须有效。
  • 位置未建立或掉电恢复无效时,应拒绝启动并报告错误。
  • 系统应支持设置当前位置和当前位置清零。
  • 绝对定位只表示 PLC 逻辑坐标,不代表伺服具有绝对值编码器。

2.3.3 位置与累计计数

系统内部应维护以下64位增强数据:

  • 当前逻辑位置。
  • 本次任务累计脉冲数。
  • 总累计脉冲数。

上位机应能够读取并清零累计数据。运行期间禁止清零或设置当前位置。

信捷兼容的固定累计状态HSD0~15仍按每个值两个16位寄存器组成32位数据;内部64位
累计不得改变该固定地址布局。将内部值发布到信捷兼容状态前必须进行范围检查,超出32位
范围时报告累计溢出,不得静默截断。

2.4 S0、S1、S2、D 功能模型

项目采用信捷PLSR的S0、S1、S2、D逻辑模型。Y0~Y3固定配置和状态地址必须按
PLSR地址映射一比一对应;S0、S1保持动态首地址语义。

参数 功能 主要内容
S0 路径数据块 总段数、每段频率、脉冲数、等待及跳转
S1 用户执行参数 仅包含相对/绝对模式和起始执行段;异步调用属于指令接口而非S1字段
S2 运动参数套组 K0~K4,包含默认频率、最高频率、起止频率、加减速、曲线、补偿、FOLLOW和刷新周期
D 输出配置 输出形式、PULSE/DIR 点或 AB 点对、输出极性和方向建立时间

逻辑调用关系为:

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

S0和S1由调用方在未占用数据区选择不重叠的连续首地址;数据块不永久绑定到轴,多个轴
允许只读共享同一数据块。COMMIT成功时为目标轴创建不可变运行快照,随后修改原动态
数据块不得影响已经启动或已经提交的轴任务。K0~K4固定配置和固定运行状态使用
PLSR地址映射规定的信捷原地址;D只指定输出资源,不自拟固定参数地址。

FR-CMD-04: PLSR指令必须支持S0、S1、S2、D四个操作数语义,分别表示路径数据、
用户执行参数、K0~K4系统运动参数组和输出资源配置。

每个输出轴必须提供第0~4套S2参数:

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

每套S2至少包含:

  • 脉冲默认速度;段频率为0时采用该速度。
  • 默认速度加速时间、默认速度减速时间;二者与默认速度共同定义加减速斜率。
  • 齿隙补偿加减速时间。
  • 直线、S形、正弦三种加减速模式。
  • 最高速度限制、起始速度和终止速度。
  • FOLLOW性能参数,范围1~100。
  • FOLLOW前馈补偿百分比,范围0~100。
  • 脉冲频率刷新周期,0.1 ms或1 ms。

S2 的控制刷新周期只允许配置为 1 ms0.1 ms。系统OS Tick保持1 ms;
0.1 ms运动控制刷新应由独立硬件定时器触发,不得通过提高全局OS Tick实现。
运行中修改目标频率后, 系统应在当前 S2
所配置的刷新周期内开始应用新目标;该指标表示调频响应时间,
不表示脉冲输出周期。

2.5 单段与多段路径

系统应支持 1~100 段路径,每段至少包含:

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

S0应提供与信捷每段数据一致的相对布局和动态引用能力;S0首地址由调用方动态指定:

  • 等待条件和等待参数均可表达常数或受支持的数据/位变量引用。
  • 跳转目标可为常数或运行时数据变量引用,范围0~100。
  • Wait时间范围1~2,147,483,647 ms,配置0时按1
    ms处理;计时从本段脉冲完成后开始。
  • Wait信号在本段完成后判断;若信号已有效则立即跳段,否则保持WAIT直至有效。
  • ACT从本段开始输出时计时;时间到时放弃本段剩余脉冲并跳段;若脉冲先完成则等待ACT到时。
  • EXT采用输入上升沿;运动中触发立即放弃剩余脉冲并跳段,脉冲先完成则等待后续EXT边沿。
  • EXT或脉冲完成采用先到条件;EXT先到时放弃剩余脉冲,脉冲先完成时立即跳段。
  • 外部中断输入应优先用于EXT,以避免普通IO映射周期造成响应延迟。

多段路径应满足:

编号 需求 优先级
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 必须

运行期间除当前目标频率外,其余路径参数修改不得影响当前任务。新参数应在
下一次成功提交并启动时生效。

每段数据增加以下逻辑字段:

字段 说明
PulseCount 有符号脉冲数量
TargetFrequency 目标频率
WaitType 等待类型
WaitSourceType 等待数据来源
WaitAddress 等待变量地址
WaitParameter 等待参数
JumpType 跳转来源
JumpAddress 跳转变量地址
NextSegment 下一段编号

支持:

  • 常量等待;
  • 输入等待;
  • 数据变量等待;
  • 动态跳转;
  • 条件循环。

2.6 加减速与段内变频

系统应支持:

  • 无加减速。
  • 直线或梯形加减速。
  • S 形加减速。
  • 正弦曲线加减速。

加减速应满足以下规则:

  1. 起始频率、目标频率和结束频率不得超过最高频率。
  2. 目标频率超限时应拒绝启动,不得静默截断。
  3. 加减速距离不足时,应自动生成三角或短距离曲线。
  4. 无法在指定脉冲数量内满足起止频率和曲线约束时,应报告参数冲突。
  5. 加减速过程中必须保证最终脉冲数量准确。
  6. 变频点应由脉冲位置和控制周期共同约束,不得只依赖 OS 延时。
  7. 运行中修改目标频率时,应按照当前曲线平滑过渡。
  8. 反向前应减速至停止,切换方向并等待方向建立时间。

2.7 调用与多段衔接模式

调用方式和脉冲衔接方式是两个独立配置项。

2.7.1 调用方式

  • V1.0 只提供异步返回:启动成功后立即返回,通过状态接口查询结果。
  • START被接受后即锁存执行;启动条件或通信请求结束不应中断运动,只有正常完成、STOP、限位、急停或错误才能结束。

2.7.2 多段衔接方式

  • 完成方式:上一段按其频率发送完规定脉冲后,才向下一段频率变化。
  • 后续方式:在上一段内提前变频,使上一段结束时已经达到下一段频率。
  • 两种方式都必须保证各段及整个任务的脉冲数量准确。

2.8 运行控制

2.8.1 PLSR启动触发规则

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 执行内部自测 必须

命令边界行为:

  • IDLE 状态收到 START 时,校验通过后接受。
  • 运行、减速、等待或暂停状态再次收到 START
    时拒绝执行,不重启任务,也不要求返回BUSY。
  • ERROR 状态收到 START 时,应拒绝执行,必须先清除错误。
  • 相同命令序号重复到达时,应返回上次结果,不得重复执行运动。
  • 多次 STOP_IMMEDIATE 应按幂等命令处理。
  • CLEAR_POSITION、SET_POSITION 和 CLEAR_TOTAL 在运行期间应被拒绝。
  • 发生数值溢出时应报告错误,不得依赖整数回绕。

2.8.2 参数修改生效规则

运行过程中参数修改规则:

参数 运行中修改
目标频率 允许,立即生效
STOP命令 允许
PAUSE命令 允许
方向 禁止
脉冲数量 禁止
路径段数据 禁止
输出模式 禁止
输出点配置 禁止
加减速参数 下一次启动生效

启动时必须生成不可变运行快照。

FR-PUL-23: 运行过程中禁止直接修改方向;必须终止当前任务后重新提交并启动。

2.8.3 PAUSE、RESUME、STOP语义

PAUSE

暂停要求:

  1. 按当前减速曲线降低速度;
  2. 输出频率降为0;
  3. 保存当前段号;
  4. 保存剩余脉冲数量;
  5. 等待RESUME。
RESUME

恢复:

  • 从暂停位置继续执行;
  • 不重新加载路径;
  • 不重新计算已完成段。
STOP_DECEL

减速停止:

  • 按当前减速曲线停止;
  • 当前任务结束。
STOP_IMMEDIATE

立即停止:

  • 完成本次有效脉冲输出后关闭;
  • 锁存停止原因;
  • 不自动恢复。

2.9 状态机与状态监控

PLSR 至少应包含以下状态:

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

上位机至少能够读取:

  • 当前状态和错误码。
  • 当前段号和总段数。
  • 当前方向。
  • 当前设定频率和目标频率。
  • 本段已发、剩余脉冲数。
  • 本次任务已发、剩余脉冲数。
  • 当前逻辑位置和累计脉冲数。
  • 最近一次完成或停止原因。
  • 当前 S2 参数套组。
  • 每轴正在发送脉冲标志。
  • 当前段已发送脉冲数,以及最近一次段事件的轴号、段号和结束原因。

绝对模式目标等于当前累计位置时不得输出脉冲;完成状态不得依赖必须出现一次
“运行标志下降沿”,应直接返回零位移完成结果。

增加 PLC 用户可观察状态:

状态 说明
BUSY 当前轴存在已接受但尚未终止的任务,包括运动、WAIT和PAUSED
PULSE_ACTIVE 当前物理脉冲正在输出;WAIT和PAUSED期间为0
DONE 当前任务正常完成并锁存
WAIT 当前任务正在等待段条件
ERROR 当前任务异常结束并锁存错误

2.9.1 DONE定义

采用方案A:

  • 运动正常完成后 DONE 置1;
  • DONE保持有效;
  • 下一次 START 成功接受后清零;
  • DONE 不依赖 BUSY 下降沿。
  • STOP_DECEL、STOP_IMMEDIATE和ERROR结束不得置DONE。

FR-STA-01: DONE只表示正常完成,并按上述方案A产生、保持和清零。

2.10 Modbus 通信

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

系统应支持:

  • 读取 PLSR 配置和实时状态。
  • 写入单段和多段参数。
  • 下发启动、停止、暂停、继续、保存、清零和自测命令。
  • 校验参数范围和组合合法性。
  • 使用影子参数和提交命令,原子更新运行参数。
  • 对 32 位和 64 位状态提供一致性快照。
  • 非法通信参数不得破坏正在运行的任务。

协议规则如下:

  1. 16 位寄存器按 Modbus 大端字节序传输。
  2. 32/64 位数据的寄存器顺序必须在通信协议中统一定义。
  3. 参数提交应携带命令序号,响应返回相同序号、状态和错误码。
  4. 重复收到相同序号时,应返回上次结果,不重复启动运动。
  5. 参数提交成功与 START 接受成功应作为两个独立结果。
  6. 主站断开不停止已经接受的运动,也不要求记录通信断开状态。
  7. 运行中写影子参数不得改变当前任务,允许运行修改的目标频率除外。
  8. 协议应包含版本号,新增字段时不得改变既有寄存器语义。

PLSR内存地址、数据类型和固定占用规则见
PLSR地址映射。地址分配必须避开现有演示、
Backup
SRAM保持区。原Modbus通信历史功能不纳入PLSR版本,原历史寄存器区域释放给
S0/S1动态数据池使用。

2.11 参数与累计数据保存

需要保存:

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

保存规则如下:

  1. 固定配置参数使用内部 Flash 保存。
  2. 动态参数、累计位置和第0套动态S2参数使用有VBAT维持的 Backup SRAM
    保存。
  3. 不得每个脉冲写 Flash。
  4. 正常完成、正常停止、清零和设置位置后,应保存一致累计值。
  5. SAVE_CONFIG 返回成功后,重新上电必须完整恢复固定配置。
  6. 重新上电不得自动继续未完成运动。
  7. 异常掉电或异常复位后可恢复最近检查点供诊断,但必须清除
    position_valid
  8. 重新清零、设置当前位置或完成回零前,禁止绝对定位。
  9. 任意掉电瞬间零脉冲误差恢复需要额外硬件,Backup SRAM单独不能保证。

测试报告应记录板卡是否安装 VBAT 以及最终采用的数据恢复等级。 XDM-60T4-E
已确认安装有效 VBAT,Backup SRAM 可用于保持动态检查点;
当前逻辑位置必须具有独立的 position_valid 标志。

2.11.1 信捷等效脉冲公共参数

每个轴必须提供以下与PLSR直接相关的公共参数,字段地址严格采用
PLSR地址映射中的信捷原地址,不得采用自定义轴块偏移:

  • 脉冲方向逻辑正/负配置。
  • 软限位启用、正极限值和负极限值。
  • 脉冲单位:脉冲、1 μm、0.01 mm、0.1 mm、1 mm。
  • 每转指令脉冲数和每转移动量。
  • 输出类型:PULSE/DIR或AB相。
  • 多段脉冲发送方式:完成方式或后续方式。
  • 方向输出点和方向延时时间;默认10 ms,单位ms,可配置。
  • 正向和反向齿隙补偿量。
  • 电气原点位置。
  • 正负限位输入点及常开/常闭逻辑。

工程单位必须在内核换算层支持,不再限定为上位机换算。换算应保存小数余数,
避免多段或重复运动的累计舍入漂移。

软限位按当前逻辑位置判断。到达对应软限位时执行减速停止,禁止继续向越界方向
启动,但允许反向离开。软限位和硬限位可同时启用。

发生运动方向反转时,应按配置加入对应方向的齿隙补偿脉冲,并使用补偿加减速时间;
补偿脉冲、指令位置和累计脉冲的统计口径必须在设计书中分别定义。

2.12 自测与诊断

内部自测至少包括:

  • 输出点冲突检查。
  • 定时器时钟和分频结果检查。
  • 频率范围检查。
  • 路径段数、等待、跳转和循环检查。
  • 累计计数溢出检查。
  • 状态机非法转换检查。

外部诊断和测试至少包括:

  • 使用示波器或逻辑分析仪测量输出频率。

  • 统计实际脉冲边沿数量。

  • 检查占空比和方向建立时间。

  • 检查梯形、S 形和正弦曲线。

  • 进行连续运行和频繁启停压力测试。

诊断项 要求
软件累计脉冲 记录实际发送数量
硬件边沿计数 记录输出实际边沿
差值诊断 判断输出异常
频率记录 保存当前和最高频率
段事件记录 记录结束原因

用于定位:

  • 参数错误;
  • 状态机错误;
  • 定时器异常;
  • 输出资源异常。

2.13 安全与异常处理

  • 上电、复位、HardFault 和看门狗复位时,脉冲输出必须保持无效。
  • 立即停止命令应具有高于普通运行命令的处理优先级。
  • 不可恢复错误发生后,应禁止装载新脉冲并锁存 ERROR 状态。
  • 清除错误不得自动重新启动未完成运动。
  • 配置限位输入后,限位有效时应禁止向该方向启动,但允许反向离开限位。
  • 运动中限位触发默认执行减速停止。
  • V1.0
    急停没有外部硬件切断回路;急停输入由软件立即禁止脉冲输出并锁存状态。
  • 软件急停不具备独立硬件安全回路的故障容错能力,不得宣称为安全认证急停。

至少应定义以下错误:

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

运动控制事件优先级:

急停
 >
硬限位
 >
STOP_IMMEDIATE
 >
STOP_DECEL
 >
PAUSE
 >
正常运行

要求:

  • 高优先级事件不能被低优先级命令覆盖;
  • 错误清除后禁止自动恢复运动。

2.13.1 错误码补充

新增:

错误码 说明
DEFAULT_SPEED_INVALID 默认速度非法
SEGMENT_OVERFLOW 路径段数超过100
OUTPUT_MODE_INVALID 输出模式非法
RESOURCE_CONFLICT 输出资源冲突
PARAMETER_LOCKED 运行参数禁止修改
DONE_STATE_ERROR 完成状态异常

3 性能需求

3.1 脉冲性能

编号 性能项 验收指标
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 段边界 不得产生非配置停顿、窄脉冲或重复边沿

3.2 实时性能

以下是 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

3.3 可靠性

编号 性能项 验收指标
PR-REL-01 连续运行 测试时长由测试方案确定,运行期间不得出现计数错误或任务失联
PR-REL-02 频繁启停 不产生额外脉冲和非法状态转换
PR-REL-03 异常参数 拒绝执行且不影响当前合法任务
PR-REL-04 重新上电 输出安全,不自动恢复运动
PR-REL-05 参数恢复 已成功保存的固定配置和Backup SRAM动态数据能够按定义恢复
PR-REL-06 通信并发 连续读写状态时运动结果保持准确

3.4 工程单位与换算边界

  • PLSR内核同时支持脉冲模式和当量模式,当量单位为1 μm、0.01 mm、0.1
    mm或1 mm。
  • 当量模式根据每转指令脉冲数和每转移动量换算频率与脉冲数量。
  • 换算层必须定义舍入方式并保存累计余数,连续多段运动不得持续产生单向舍入漂移。
  • 上位机仍可提前换算,但不得成为使用工程单位的唯一途径。
  • PLSR 累计脉冲表示指令位置,不等同于电机实际反馈位置。

4 其它需求

4.1 验收要求

编号 验收项 合格标准
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-17 四轴独立运行 四轴同时以100 kHz运行时无丢脉冲、重复脉冲和异常周期,且状态和累计数据互不串扰
AT-18 AB 相输出 两个AB轴可独立运行;一个完整正交周期计1个指令脉冲,周期频率、相位方向和数量正确
AT-19 S0等待与跳转 六种等待条件、动态参数来源、提前/延后触发和0/指定/自身跳转语义与信捷一致
AT-20 公共参数 单位换算、软限位、方向延时、齿隙补偿和FOLLOW参数均通过测试
AT-21 零值及边界 INT32最小值、频率0、脉冲数0跳段和绝对零位移行为符合本规格
AT-22 段事件和监控 每段事件、运行标志、当前段计数和累计计数可被稳定读取

新增测试:

  • FR-TEST-01四轴100 kHz并发测试;
  • PLSR启动上升沿测试;
  • BUSY/DONE状态测试;
  • DONE保持及清零测试;
  • PULSE/DIR测试;
  • AB相测试;
  • CW/CCW测试;
  • PAUSE/RESUME测试;
  • STOP优先级测试;
  • 参数运行修改测试;
  • 输出诊断一致性测试。

正式测试应使用开发板、逻辑分析仪和PC Modbus测试工具,并记录测试固件、
参数、接线、测量设备、原始波形和测试结论。

4.2 交付物

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

4.3 后续版本或加分项

  • 完整机械回零。

4.4 不在当前范围内

  • 编码器闭环控制和位置误差修正。
  • 多轴直线或圆弧插补。
  • 电子凸轮和龙门同步。
  • 完整复制信捷 PLSR、PLSF、DRVI、DRVA、ZRN、STOP 和 GOON 语法。
  • XDPPro参数配置界面兼容。

4.5 实施验证事项

以下事项不改变V1.0需求范围,属于设计、实现和上板验收阶段需要验证的内容:

  1. Q0~Q3 定时器输出映射的上板波形确认。
  2. 输出电路的最高可靠频率、有效电平和最小脉宽。
  3. 两个 AB 轴的定时器/DMA同步方案及上板波形验证。
  4. 四轴100 kHz并发及0.1 ms控制刷新时的CPU和中断资源实测结果。
  5. Backup SRAM检查点的具体更新时机和诊断数据允许损失量。
  6. 段脉冲数为0时无脉冲输出、跳过当前段并正确进入下一段或完成任务。

5 参考资料

  1. PLSR 嵌入式方向任务要求
  2. 实现 PLSR 指令
  3. 信捷 XD/XL 系列 PLC 定位控制手册
  4. C 语言规范
  5. 当前工程 CoreModbusMiddlewaresEWARMHostComputer
    目录
  6. PLSR地址映射
  7. PLSR信捷对标追踪矩阵