文档版本:V2.0
字节序:每个 32 位量均为低 16 位字在前、高 16 位字在后
访问方式:配置和控制支持 FC06/FC16,状态和诊断仅支持 FC03
0x1000..0x11970x1000..0x1013| 地址 | 类型 | 名称 | 取值/单位 |
|---|---|---|---|
0x1000 |
U16 | 脉冲输出 | 0..3,对应 Y0..Y3 |
0x1001 |
U16 | 方向输出 | 0..3,对应 Y12..Y15;AB 模式忽略 |
0x1002 |
U16 | 等待输入 | 0=X4,1=X5 |
0x1003 |
U16 | 外部中断输入 | 0=X4,1=X5 |
0x1004 |
U16 | 发送模式 | 0=完整发送,1=后续发送 |
0x1005 |
U16 | 方向延时 | ms;AB 模式忽略 |
0x1006 |
U16 | 方向负逻辑 | 0/1;AB 模式忽略 |
0x1007 |
U16 | 曲线模式 | 0=直线,1=S 曲线,2=正弦曲线 |
0x1008 |
U16 | 位置模式 | 0=相对,1=绝对 |
0x1009 |
U16 | 有效段数 | 1..10 |
0x100A |
U16 | 起始段 | 1..10,启动时不得超过有效段数 |
0x100B..0x100C |
U32 | 默认速度 | Hz,1..100000 |
0x100D..0x100E |
U32 | 起始速度 | Hz,0..100000 |
0x100F |
U16 | 保留 | 读为 0,仅允许写 0 |
0x1010..0x1011 |
U32 | 停止速度 | Hz,0..100000 |
0x1012 |
U16 | 加速时间 | ms |
0x1013 |
U16 | 减速时间 | ms |
0x1014..0x10FF 为保留区,读为 0,仅允许写 0。32 位参数必须在同一次请求中完整访问两个寄存器。
0x1100..0x1197第 n 段(n=1..10)首地址为 0x1100 + (n-1)*0x10。
| 段内偏移 | 类型 | 名称 | 取值/单位 |
|---|---|---|---|
+0x0..+0x1 |
U32 | 段频率 | Hz,1..100000 |
+0x2..+0x3 |
I32 | 位移/脉冲数 | 正数为正向,负数为反向 |
+0x4 |
U16 | 等待类型 | 0=定时等待,1=信号等待,2=定时动作,3=外部信号,4=外部或完成 |
+0x5 |
U16 | 等待时间 | ms |
+0x6 |
U16 | 动作时间 | ms |
+0x7 |
U16 | 跳转段 | 0=不跳转,1..10=目标段 |
+0x8..+0xF |
U16 | 保留 | 读为 0,仅允许写 0 |
0x1200| 地址 | 类型 | 名称 | 取值 |
|---|---|---|---|
0x1200 |
U16 | 输出模式 | 0=PULSE/DIR,1=AB 正交脉冲 |
该参数参与持久化。AB 模式只允许 0x1000=0(Y0/Y1)或 0x1000=2(Y2/Y3);其他组合返回非法数据值。运行期间不得修改输出模式或脉冲输出。
AB 模式的频率单位是完整正交周期/秒,一个 00 起止的四状态周期等于一个指令脉冲:
00 -> 10 -> 11 -> 01 -> 0000 -> 01 -> 11 -> 10 -> 00方向由段位移的符号决定。独立 DIR 输出、DIR 极性和 DIR 延时在 AB 模式中不参与输出。
0x2000..0x2006(只读)| 地址 | 类型 | 名称 | 说明 |
|---|---|---|---|
0x2000..0x2001 |
I32 | 当前位置 | 累计指令脉冲位置 |
0x2002..0x2003 |
U32 | 当前频率 | Hz |
0x2004 |
U16 | 运行状态 | 0=未初始化,1=空闲,2=加速,3=运行,4=减速,5=等待,6=暂停,7=完成,8=停止,9=错误 |
0x2005 |
U16 | 当前段 | 0=无,1..10=段号 |
0x2006 |
U16 | 错误码 | 0=无错误,其余见 PLSR_ERROR 定义 |
0x2100..0x2119(只读)| 地址 | 类型 | 名称 | 说明 |
|---|---|---|---|
0x2100 |
U16 | 诊断标志 | 位定义见下表 |
0x2101 |
U16 | 首个锁存原因 | 0=无,1=计数,2=频率,3=曲线,4=无效采样 |
0x2102 |
U16 | 段号 | 当前或末次诊断段 |
0x2103 |
U16 | 模式与方向 | bit0..7=输出模式,bit8=1 正向/0 反向 |
0x2104..0x2105 |
U32 | 期望脉冲数 | 当前或末次诊断段的完整指令脉冲数 |
0x2106..0x2107 |
U32 | 实测脉冲数 | 当前或末次诊断段的实测值;目标板来自独立硬件计数链 |
0x2108..0x2109 |
I32 | 计数误差 | 实测 - 期望 |
0x210A..0x210B |
U32 | 请求频率 | Hz,规划器本次请求值 |
0x210C..0x210D |
U32 | 期望定时器频率 | Hz,根据实际 PSC/ARR 可实现的量化值 |
0x210E..0x210F |
U32 | 活动定时器频率 | Hz,实际生效的定时器配置值 |
0x2110..0x2111 |
I32 | 请求量化误差 | 期望定时器频率 - 请求频率,Hz |
0x2112..0x2113 |
U32 | 采样数 | 本次诊断累计的有效样本数 |
0x2114..0x2115 |
U32 | 不匹配数 | 频率或曲线不匹配的累计样本数 |
0x2116..0x2117 |
U32 | 最大频率误差 | abs(活动定时器频率 - 期望定时器频率),Hz |
0x2118..0x2119 |
U32 | 首个不匹配样本 | 无不匹配时为 0xFFFFFFFF |
0x2100 标志位:
| 位 | 名称 | 置位条件 |
|---|---|---|
| bit0 | monitoring_active |
正在采集诊断数据 |
| bit1 | count_checked |
已完成计数核对 |
| bit2 | count_pass |
计数核对通过 |
| bit3 | frequency_checked |
已执行频率核对 |
| bit4 | frequency_pass |
频率核对通过 |
| bit5 | curve_checked |
已执行加减速次序核对 |
| bit6 | curve_pass |
曲线核对通过 |
| bit7 | fault_latched |
至少一个诊断故障已锁存 |
诊断使用定时器分频值、完整周期计数和频率变化次序核对输出配置。它能发现内部计数、频率和曲线不一致,但不能代替逻辑分析仪对端子占空比、窄脉冲或电气波形的验收。
| 地址 | 类型 | 名称 | 写入值 |
|---|---|---|---|
0x3000 |
U16 | PLSR 命令 | 0=无操作,1=START,2=STOP,4=CLEAR |
0x3100 |
U16 | 诊断控制 | 0=无操作,1=清除诊断锁存和统计 |
控制寄存器读取恒为 0。除上述单一值外的位组合均返回非法数据值。
运行期间写 0x3100=1 返回设备忙,避免清除正在采集的诊断上下文。
0x1000..0x1197、0x2000..0x2006、0x3000 保持不变。0x1200、0x2100..0x2119、0x3100。