PolarHub
  • Agents
  • MCP Servers
  • Skills
  • PolarBear
PolarHub © 2026
技能市场测试开发ICDConverter AVIAGE Template
返回「测试开发」

ICDConverter AVIAGE Template

by PolarHub·userskill

2下载测试开发

简介

航空电子系统 ICD 接口控制文件(AVIAGE SYSTEMS 格式)转标准 Template 格式转换专家,适用于 ICD 转换、接口控制文件格式统一和帧结构解析。

SKILL.md 详细内容

来自 USERSKILL · 4KB

ICD源格式转标准Template格式转换技能

背景

航空电子系统接口控制文件(ICD)在不同厂商、不同项目中有不同的格式定义。本技能专门处理一类以Layer列组织帧层级结构的源ICD格式(AVIAGE SYSTEMS格式),将其转换为统一的标准Template格式。

源格式特征

源Excel文件具有以下特征:

  • 约30列表头,关键列包括:Protocol、Src Device、Dest Device、source ID、Msg ID、Layer、Name、Byteoffset in Msg、Message/DS Size (byte)、Bitoffset in DS、Param Size (bit)、Byte Order、Comment等
  • 核心列是Layer列,用于区分帧结构的层次:
    • Message — 帧的根节点,标记一个新帧的开始
    • FSS (Frame Sync Sequence) — 帧同步序列,包起始标识,应忽略
    • FSB (Frame Status Block) — 帧状态块,保留,固定8bit
    • DS (Data Structure) — 数据结构层,层本身是包起始标识应忽略,但其下属的Parameter需要保留
    • Parameter — 具体参数字段,保留
  • Comment列可能包含中文注释(如FSB2曾出现"中文"注释)
  • 协议类型包括CCDL(RS422)、CAN、Discrete等
  • "DS和Parameter成对出现,数量不固定",多组重复的DS/Parameter对均需要保留

目标Template格式

输出为标准Template格式,Sheet命名固定为Sheet1,仅一个Sheet页,18列按固定顺序排列:

| 序号 | 帧名称 | 帧长度(Bytes) | 帧类型 | 字段名 | 数据类型 | 字节序 | 起始位 | 位长度 | 转换系数[ax+b] | 值范围 | 是否帧头 | 帧头数据 | 校验方式 | 校验区间 | 过滤条件 | 枚举信息 | 字段描述 |

转换规则(核心)

1. 帧结构解析规则

Layer类型处理方式说明
Message✅ 新帧开始读取帧名称、长度、字节序等信息
FSS❌ 忽略包起始标识,不作为字段输出
FSB✅ 保留,固定8bit每个FSB固定位长度为8,无位偏移时顺序排列
DS❌ 忽略层本身层本身是包起始标识,但其下的Parameter必须保留
Parameter✅ 保留使用Param Size (bit)列作为位长度

2. 字段起始位计算规则

FSB(不在DS内)

  • 从当前帧已有字段末尾顺序排列
  • 第一个FSB起始位为0

Parameter(在DS内)

  • 起始位 = DS的ByteOffset × 8 + Parameter的Bitoffset in DS
  • 若DS和Parameter成对出现多次(如注释"DS和Parameter成对出现,数量不固定"),各组Parameter均保留,同组内使用相同的DS byte offset计算

Parameter(不在DS内,如CAN协议直接参数)

  • 从当前帧已有字段末尾顺序排列

3. 重名字段处理规则

同一帧内,若有同名字段:

  • 第1次出现:保持原名
  • 第2次及以后:追加 _2、_3、_4... 后缀
  • 示例:AA1、AA2 → 第二次出现时变为 AA1_2、AA2_2

4. 默认值填充规则

字段源数据为空时默认值
帧类型AutoSyncFields
字节序小端序
转换系数1,0
数据类型留空(源文件通常无此列信息)

5. 字节序映射规则

源值转换结果
1小端序
0大端序
空值/其他小端序(默认)

6. Excel输出格式规则

  • 合并单元格:同一帧的"序号"、"帧名称"、"帧长度(Bytes)"、"帧类型"四列纵向合并
  • 列宽:根据内容合理设置,字段名列适当加宽(约22),描述列适当加宽(约24)
  • 字段名不允许为中文,请确保字段名使用英文/数字/下划线组成

7. 帧头数据格式规则(如有帧头)

若是否帧头为"是",则帧头数据列的格式要求:

  • 输入为0xXXXX格式的16进制数(如0xA001)
  • 小端序:输出为 01 A0(低字节在前)
  • 大端序:输出为 A0 01(高字节在前)

处理流程

步骤1:读取源文件

  • 确认用户提供的ICD Excel文件路径
  • 读取所有Sheet,识别数据所在Sheet
  • 打印源文件维度、表头信息供用户确认

步骤2:解析帧结构(核心逻辑)

解析每一行数据,根据Layer列处理:

遍历每一行:
  if Protocol == 'Discrete' 且无Message层:
    创建独立帧(帧名称取自参数字段名)
  if Layer == 'Message':
    结束当前帧,创建新帧
    记录: 帧名称、帧长度、字节序
  if Layer == 'FSS':
    忽略(打印日志)
  if Layer == 'FSB':
    创建FieldInfo,位长=8,起始位顺序排列
  if Layer == 'DS':
    记录DS的ByteOffset(忽略层本身)
  if Layer == 'Parameter':
    计算起始位(在DS内用byte_offset*8+bit_offset,否则顺序排列)
    创建FieldInfo

步骤3:字段去重

  • 遍历每个帧的字段列表
  • 使用计数器记录每个字段名的出现次数
  • 从第2次出现起追加 _N 后缀

步骤4:生成Template表格

  • 按18列标准表头顺序构建DataFrame
  • 应用默认值规则
  • 使用openpyxl写入Excel
  • 合并同一帧的"序号""帧名称""帧长度(Bytes)""帧类型"四列

步骤5:转换为.icd文件

  • 调用icd_converter MCP工具
    • excelPath:Template.xlsx路径
    • outputIcdPath:输出的.icd文件路径

步骤6:(可选)加入数据库

  • 询问用户是否将.icd文件加入数据库
  • 如需加入,调用add_icd_file_to_data_bases工具

注意事项

  1. Python解释器路径:使用用户配置的Python路径(如C:\Users\Administrator\AppData\Local\Programs\Python\Python314\python.exe)
  2. 文件编码:确保脚本使用UTF-8编码,避免中文字符问题
  3. 注释信息:源文件Comment列的中文注释应填入目标Template的"字段描述"列
  4. DS重复问题:当DS和Parameter成对出现多次时,所有参数均保留,不可丢弃
  5. Discrete协议:没有Message层,直接以Parameter行为帧,帧长度设为1字节
  6. 输出路径:过程文件放在与原文件相同的目录下

参考脚本

本技能绑定了 scripts/convert_icd.py 作为参考实现脚本。 当需要执行实际转换时,可参考或直接调用该脚本进行处理。 脚本处理逻辑包含了完整的帧解析、字段映射、合并单元格、默认值填充等逻辑。

相关 Skills(来自「测试开发」)

测试用例生成 Skills v2.0

包含 15 个子 Skill 的测试用例生成流水线,从产品说明书读取、需求分析、测试策略、正负向用例编写、质量审查到 Excel 输出。

50

Simulink HIL Modeling Standard

通用 Simulink HIL 建模、重构、迁移、评审和发布规范。用于设计 Plant/Control/IO/Bus/Fault/Monitor 架构,定义 Subsystem、Bus、ValueType、MonBus 和 Variant 接口,治理数据字典、参数、采样时间、多核任务、引用组件和初始化流程,检查 .slx/.mdl/.sldd/MATLAB Project,或为实时 HIL 模型生成合规报告、迁移方案、测试计划与发布证据。

37

ICDConverter TIU

面向航空电子 ICD Excel 文件的标准 Template 格式转换 Skill,支持协议帧分析、颜色编码识别、字段元数据索引、帧长度校验和 Excel 输出。

2

ai-regression-testing

Regression testing strategies for AI-assisted development. Sandbox-mode API testing without database dependencies, automated bug-check workflows, and patterns to catch AI blind spots where the same model writes and reviews code.

0

angular-developer

Generates Angular code and provides architectural guidance. Trigger when creating projects, components, or services, or for best practices on reactivity (signals, linkedSignal, resource), forms, dependency injection, routing, SSR, accessibility (ARIA), animations, styling (component styles, Tailwind CSS), testing, or CLI tooling.

0

benchmark-methodology

>- Use after competitive-platform-analysis has produced a tiered competitor set. Scores each competitor across nine weighted dimensions (positioning, voice, visual craft, offer packaging, evidence, enterprise-readiness, thought leadership, pricing, client's strategic tension) with explicit 1–5 rubrics and a tension-plot. Precedes competitive-report-structure.

0

给 Agent 的安装提示词

复制下方脚本发给 AI,Agent 会自动完成下载和解压

Download and install a skill. Follow these steps EXACTLY. If any step fails, STOP and report the error.

SKILL_NAME="icdconverter-aviagesystems-template"
DOWNLOAD_URL="/downloads/userskills/ICDConverter_AVIAGESYSTEMS_Template_Skill.zip"
INSTALL_CMD="下载 ZIP 后解压到 Agent Skills 目录,并按 SKILL.md 配置 Python、pandas、openpyxl 和 ICD 转换工具。"

STEP 1 - FIND SKILL DIRECTORY
[ -d "$HOME/.agents/skills" ] && echo "USER: $HOME/.agents/skills"
[ -d "$PWD/.agents/skills" ] && echo "PROJECT: $PWD/.agents/skills"
for d in "$HOME"/.*/skills; do [ -d "$d" ] && echo "USER: $d"; done
for d in "$PWD"/.*/skills; do [ -d "$d" ] && echo "PROJECT: $d"; done

Decide based on output (deduplicate lines first):
a) Only USER lines -> INSTALL_DIR="<that dir>/$SKILL_NAME"
b) Only PROJECT lines -> INSTALL_DIR="<that dir>/$SKILL_NAME"
c) Both USER and PROJECT -> ask the user to pick global install or project install.
d) Nothing found -> mkdir -p "$HOME/.agents/skills"; INSTALL_DIR="$HOME/.agents/skills/$SKILL_NAME"

STEP 2 - PREPARE
[ -f "$INSTALL_DIR/SKILL.md" ] && echo "EXISTS" || echo "NEW"
# If EXISTS, ask user whether to overwrite. If no, STOP.
mkdir -p "$INSTALL_DIR"

STEP 3 - DOWNLOAD
TMPDIR=$(mktemp -d)
curl -fSL -o "$TMPDIR/skill.zip" "$DOWNLOAD_URL" 2>/dev/null || wget -q -O "$TMPDIR/skill.zip" "$DOWNLOAD_URL"
# If both fail, try INSTALL_CMD as fallback: $INSTALL_CMD
# If still fail, STOP.

STEP 4 - EXTRACT & INSTALL
unzip -o "$TMPDIR/skill.zip" -d "$TMPDIR/ext" 2>/dev/null || python3 -m zipfile -e "$TMPDIR/skill.zip" "$TMPDIR/ext"
# If both fail, this is not a valid ZIP. STOP.

SKILL_PATH=$(find "$TMPDIR/ext" -maxdepth 2 -name "SKILL.md" -print | head -1)
if [ -n "$SKILL_PATH" ]; then
  cp -R "$(dirname "$SKILL_PATH")"/. "$INSTALL_DIR"/
else
  echo "FATAL: SKILL.md not found"; find "$TMPDIR/ext" -type f
fi

STEP 5 - VERIFY
head -5 "$INSTALL_DIR/SKILL.md"

DONE
Read "$INSTALL_DIR/SKILL.md" and follow its instructions to finish the user's task.
粘贴到 Claude / Cursor / Codex 等 Agent 后,会按步骤自动安装到 ~/.agents/skills/

自动安装

通过 PolarBear 协议从 ZIP 地址导入 Skill

Skill 压缩包地址
/downloads/userskills/ICDConverter_AVIAGESYSTEMS_Template_Skill.zip

polarbear://skills/download?name=icdconverter-aviagesystems-template&url=%2Fdownloads%2Fuserskills%2FICDConverter_AVIAGESYSTEMS_Template_Skill.zip

手动安装

3 步完成

  1. 1

    下载 Skill 压缩包

    下载 ZIP
  2. 2

    将其解压到 Agent 的 Skills 目录

    ~/.agents/skills/icdconverter-aviagesystems-template/
  3. 3

    重启或重新加载 Agent,让 Skill 可用

    重启 Agent 客户端,或刷新会话后即可调用此 Skill。

来源

平台
userskill
作者
PolarHub
Slug
icdconverter-aviagesystems-template