diff --git a/Document/PLSR_document/PLSR需求规格统计.md b/Document/PLSR_document/PLSR需求规格统计.md new file mode 100644 index 0000000..cec46c7 --- /dev/null +++ b/Document/PLSR_document/PLSR需求规格统计.md @@ -0,0 +1,483 @@ +# PLSR 项目需求规格统计 + +> 文档状态:V0.1(需求基线草案) +> 整理日期:2026-08-03 +> 目标平台:XDM-60T4-E / XDM-60T10-E +> 当前首要目标:在 STM32F407 + uC/OS-II 平台实现单轴 PLSR 定位脉冲模块 + +## 1. 需求来源 + +本规格由以下材料及当前项目讨论整理而成: + +1. [任务要求.png](./任务要求.png) +2. [实现PLSR指令.pdf](./实现PLSR指令.pdf) +3. [信捷XD_XL系列PLC定位控制手册](./信捷XD_XL系列PLC定位控制手册_PD02_20260510_V1.3.pdf) +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 相对定位 + +相对定位的输入值表示相对当前位置需要移动的脉冲数: + +```text +目标位置 = 当前逻辑位置 + 相对位移 +``` + +- 正数表示正向运动。 +- 负数表示反向运动。 +- 正常完成后更新逻辑位置。 +- 中途停止时按实际已发脉冲更新逻辑位置。 + +### 5.2 绝对定位 + +绝对定位的输入值表示目标逻辑坐标: + +```text +实际输出位移 = 目标绝对位置 - 当前逻辑位置 +``` + +- 当前位置必须有效。 +- 位置未建立时禁止绝对定位,并返回错误。 +- 支持设置当前位置和当前位置清零。 +- 绝对定位是 PLC 的逻辑坐标功能,不代表伺服具有绝对值编码器。 + +## 6. S0、S1、S2、D 功能模型 + +项目采用与信捷 PLSR 相似的逻辑模型,但不要求使用相同的物理寄存器地址。 + +| 参数 | 本项目含义 | 主要内容 | +|---|---|---| +| S0 | 路径数据块 | 总段数、每段频率、脉冲数、等待和跳转 | +| S1 | 用户执行参数 | 相对/绝对模式、起始段号、执行方式 | +| S2 | 运动参数配方 | 加减速斜率、曲线、最高速度、起止速度 | +| D | 输出轴/脉冲点 | 脉冲输出点及其对应的轴配置 | + +建议的软件接口关系: + +```text +PLSR_Start(S0路径, S1执行参数, S2参数套组, D输出轴) +``` + +### 6.1 S0 路径数据 + +每段至少包含: + +```text +有符号脉冲数量 +目标频率 +等待类型 +等待参数 +下一段编号 +``` + +### 6.2 S1 用户参数 + +至少包含: + +```text +相对/绝对定位模式 +起始执行段号 +前台/后台执行方式 +命令超时时间 +``` + +### 6.3 S2 运动参数套组 + +每个输出轴建议提供 5 套参数(0~4): + +- 第 0 套用于上位机运行时调整。 +- 第 1~4 套用于保存预设运动配方。 + +每套至少包含: + +```text +默认频率 +最高频率 +起始频率 +结束频率 +默认加速时间 +默认减速时间 +加减速曲线 +频率刷新周期 +``` + +### 6.4 D 输出配置 + +每个轴至少包含: + +```text +脉冲输出点 +方向输出点 +脉冲有效极性 +方向有效极性 +方向建立时间 +``` + +## 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. 状态机和状态数据 + +状态至少包括: + +```text +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 | + +建议采用“影子参数 + 提交命令”机制: + +```text +上位机写影子参数 + ↓ +发送参数提交命令 + ↓ +完整校验 + ↓ +原子复制到运行参数 + ↓ +允许启动 +``` + +具体 Modbus 寄存器地址在《PLSR Modbus 通信协议》中单独定义,避免与现有通信历史区冲突。 + +## 12. 掉电保存要求 + +需要保存: + +- 脉冲和方向输出点。 +- 输出极性和方向建立时间。 +- S2 参数套组。 +- 默认运行模式。 +- 累计脉冲数。 +- 逻辑当前位置及有效标志。 +- 数据版本、序号和 CRC。 + +保存策略: + +- 配置参数使用内部 Flash 双备份。 +- 新副本校验成功后再替代旧副本。 +- 避免每个脉冲或每毫秒写 Flash。 +- 累计位置在任务完成、清零、设置位置及固定周期检查点保存。 +- Backup SRAM 可用于提高异常复位后的恢复精度。 +- 如果板卡没有 VBAT、FRAM 或掉电检测电路,不能承诺任意断电瞬间零脉冲误差恢复。 +- 复位或重新上电后不得自动恢复电机运动。 + +## 13. 自测与诊断 + +### 13.1 内部自测 + +- 参数结构版本和 CRC 检查。 +- 输出点冲突检查。 +- 定时器时钟和分频计算检查。 +- 频率范围检查。 +- 路径段数、跳转和循环检查。 +- 64 位累计计数溢出检查。 +- 状态机非法转换检查。 + +### 13.2 外部测试 + +- 使用示波器或逻辑分析仪测量输出频率。 +- 统计实际脉冲边沿数量。 +- 检查占空比、方向建立时间及方向切换。 +- 检查梯形、S 形和正弦频率曲线。 +- 连续运行和频繁启停压力测试。 +- 可选使用输入点回接输出脉冲进行硬件自诊断。 + +## 14. 错误码要求 + +至少包含: + +```text +参数未初始化 +输出点非法 +脉冲点与方向点冲突 +频率为零或超限 +脉冲数非法 +段数非法 +段参数非法 +跳转段号非法 +路径循环超限 +绝对位置未建立 +模块忙 +非法状态命令 +定时器初始化失败 +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. 开展压力测试并整理交付文档。 + diff --git a/Document/PLSR_document/信捷XD_XL系列PLC定位控制手册_PD02_20260510_V1.3.pdf b/Document/PLSR_document/信捷XD_XL系列PLC定位控制手册_PD02_20260510_V1.3.pdf new file mode 100644 index 0000000..ab43f8a Binary files /dev/null and b/Document/PLSR_document/信捷XD_XL系列PLC定位控制手册_PD02_20260510_V1.3.pdf differ diff --git a/EWARM/Modbus.ewd b/EWARM/Modbus.ewd index f361881..37932a8 100644 --- a/EWARM/Modbus.ewd +++ b/EWARM/Modbus.ewd @@ -1,1485 +1,1489 @@ - 3 - - Modbus - - ARM - - 1 - - C-SPY - 2 - - 30 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ARMSIM_ID - 2 - - 1 - 1 - 1 - - - - - - - - CADI_ID - 2 - - 0 - 1 - 1 - - - - - - - - - CMSISDAP_ID - 2 - - 4 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - GDBSERVER_ID - 2 - - 0 - 1 - 1 - - - - - - - - - - - IJET_ID - 2 - - 8 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - JLINK_ID - 2 - - 16 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - LMIFTDI_ID - 2 - - 2 - 1 - 1 - - - - - - - - - - NULINK_ID - 2 - - 0 - 1 - 1 - - - - - - - PEMICRO_ID - 2 - - 3 - 1 - 1 - - - - - - - - STLINK_ID - 2 - - 6 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - THIRDPARTY_ID - 2 - - 0 - 1 - 1 - - - - - - - - TIFET_ID - 2 - - 1 - 1 - 1 - - - - - - - - - - - - - - - - - - - XDS100_ID - 2 - - 8 - 1 - 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8BE.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin - 0 - - - $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin - 0 - - - $EW_DIR$\common\plugins\CodeCoverage\CodeCoverage.ENU.ewplugin - 1 - - - $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin - 0 - - - $EW_DIR$\common\plugins\TargetAccessServer\TargetAccessServer.ENU.ewplugin - 0 - - - $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin - 0 - - - + 3 + + Modbus + + ARM + + 1 + + C-SPY + 2 + + 32 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ARMSIM_ID + 2 + + 1 + 1 + 1 + + + + + + + + CADI_ID + 2 + + 0 + 1 + 1 + + + + + + + + + CMSISDAP_ID + 2 + + 4 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GDBSERVER_ID + 2 + + 0 + 1 + 1 + + + + + + + + + + + IJET_ID + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + JLINK_ID + 2 + + 16 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + LMIFTDI_ID + 2 + + 2 + 1 + 1 + + + + + + + + + + NULINK_ID + 2 + + 0 + 1 + 1 + + + + + + + PEMICRO_ID + 2 + + 3 + 1 + 1 + + + + + + + + STLINK_ID + 2 + + 6 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + THIRDPARTY_ID + 2 + + 0 + 1 + 1 + + + + + + + + TIFET_ID + 2 + + 1 + 1 + 1 + + + + + + + + + + + + + + + + + + + XDS100_ID + 2 + + 8 + 1 + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\CMX\CmxTinyArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\embOS\embOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\FreeRtos\FreeRtosArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\HWRTOSplugin\HWRTOSplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\Mbed\MbedArmPlugin2.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\OpenRTOS\OpenRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\RemedyRtosViewer\RemedyRtosViewer.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SafeRTOS\SafeRTOSPlugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\SMX\smxAwareIarArm8BE.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\ThreadX\ThreadXArmPlugin.ENU.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\TI-RTOS\tirtosplugin.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-286-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-II\uCOS-II-KA-CSpy.ewplugin + 0 + + + $TOOLKIT_DIR$\plugins\rtos\uCOS-III\uCOS-III-KA-CSpy.ewplugin + 0 + + + $EW_DIR$\common\plugins\Orti\Orti.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\TargetAccessServer\TargetAccessServer.ENU.ewplugin + 0 + + + $EW_DIR$\common\plugins\uCProbe\uCProbePlugin.ENU.ewplugin + 0 + + +