一键导入
plc-station-db-mapper
面向西门子PLC站台化项目的点位映射技能。支持4种输入方式(DB截图、PDF导出、Excel导出、手动输入),交互式引导用户选择输入类型后,按对应路径标准化为统一Excel并批量生成目标站台点位表。用于 Task/Alarm/State 等类别的点位扩展、补表、续表。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
面向西门子PLC站台化项目的点位映射技能。支持4种输入方式(DB截图、PDF导出、Excel导出、手动输入),交互式引导用户选择输入类型后,按对应路径标准化为统一Excel并批量生成目标站台点位表。用于 Task/Alarm/State 等类别的点位扩展、补表、续表。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
标书响应文件制作 - 解析招标文件、匹配公司资料、按流程生成商务+技术响应文件并组装成品DOCX。当用户提到"投标"、"标书"、"响应文件"、"应标"、"招标文件分析"、"制作标书"、"解标"、"偏离表"、"bid"、"tender"等关键词时触发。
Design polished architecture diagrams, system overviews, platform maps, solution blueprints, technical landscape slides, and layered capability views. Use when creating or revising an architecture visual in HTML, SVG, slides, images, or other visual formats. Default to a connector-free composition with no arrows or relationship lines; communicate structure through containment, aligned layers, grouping, spacing, labels, and restrained color.
将长篇文档、业务教材或文章,转换为带有"视觉排版建议"和"讲师口语化逐字稿"的结构化 PPT 大纲。适用于需要快速备课、制作汇报演示文稿的场景。当用户提供长文本并要求生成 PPT、演示大纲、幻灯片内容时触发此技能。
Generate minimalist hand-drawn narrative scene illustrations around any theme, with multiple loose action vignettes, strong whitespace, playful gestures, and varied narrative structures.
专业 PPT 生成执行层,将结构化 PPT 大纲转化为可编辑的 .pptx 文件。支持 13 种标准页型渲染、4 套主题预设、备注区写入、自动质检。当用户说"帮我做PPT"、"把这段内容转成幻灯片"、"做培训课件"、"做汇报材料"、"做方案PPT"、"制作演示文稿"、"制作PPT"、"给我出PPT结构"、"帮我整理成PPT",或提供文本/讲稿希望转化为演示文稿时,必须触发此 Skill。
为真实工作场景生成高可读、强叙事、网页化展示的 HTML 演示文稿。强调信息压缩、版式决策、设计一致性与企业表达,而不是单纯堆砌卡片和装饰。输出 index.html + assets,可直接浏览器演示。当用户提到"生成PPT"、"做演示文稿"、"创建幻灯片"、"做presentation"、"做汇报材料"、"做slides",或提供了一段内容希望制作成PPT/演示文稿时,必须触发此Skill。
| name | plc-station-db-mapper |
| description | 面向西门子PLC站台化项目的点位映射技能。支持4种输入方式(DB截图、PDF导出、Excel导出、手动输入),交互式引导用户选择输入类型后,按对应路径标准化为统一Excel并批量生成目标站台点位表。用于 Task/Alarm/State 等类别的点位扩展、补表、续表。 |
DB50=20、DB70=2 仅为参考示例,不可默认复用。每次用户调用本 skill 时,必须先询问以下选择:
请选择你本次提供的原始点位格式:
1. DB截图 — TIA Portal 中 DB 块的截图(如 DB50.png),包含 Name/Type/Offset 等列
2. 导出PDF — TIA Portal 导出的 DB 定义 PDF 文件(如 堆垛机DDJ_Data (DB142).pdf)
3. 导出XLSX — TIA Portal 导出的变量表 Excel(如 原料库南D02变量表.xlsx)
4. 手动输入 — 直接给出初始点位列表、偏移量(stride)、以及点位结构
请告诉我编号(1/2/3/4),以及:
- 目标站台范围(如 1009-1022)
- 基准站台号(如 1009)
- 点位类别(如 Task / Alarm / State,可多个)
根据用户的选择,进入对应分支。
适用场景:用户提供 TIA Portal 中 DB 块编辑器的截图(PNG/JPG),截图中能看到字段表格。
Name(字段名)、Type(数据类型)、Offset(偏移量)、Comment(注释)。M[5001] Struct 0.0),说明这是站台化的重复结构。Tag Name:<station>.<category>.<field>(category 由步骤 5 判定)Address:DB{N},{kind}{byte}[.{bit}](用 Offset + DB 号 + 数据类型推断 kind)Data Type、Respect Data Type(默认1)、DescriptionDrive_FAULT → DriveFault)适用场景:用户提供从 TIA Portal 导出的 DB 定义 PDF。
适用场景:用户提供从 TIA Portal 导出的变量表 Excel 文件。
DB{N},X/B/W/D{byte} 或 %DB{N}.DB{X/B/W/D}{byte})%DB TIA 格式(如 %DB142.DBX0.0),先转换为 DB142,X0.0。%I、%Q、%M 开头)16.2、160)--default-db(DB 号)。Name / Tag / Field / 字段 / 字段名 / 变量名Type / Data Type / Datatype / 数据类型 / 类型Address / Addr / Offset / Logical Address / 地址 / 偏移Comment / Description / 备注 / 注释 / 描述适用场景:用户直接提供点位信息,无需解析文件。
DB{N},{kind}{byte} 格式)DB51=20,DB76=2所有分支最终输出统一的 Excel,包含:
# PLC站台点位表
生成日期: YYYY-MM-DD HH:MM:SS
站台范围: 1009-1022 (共14个站台)
基准站台: 1009
DB块步长: DB51=20字节, DB76=2字节
步长来源: auto_struct_size / auto_inferred_from_input / manual
总点位数: N个
Tag Name | Address | Data Type | Respect Data Type | Description
<station>.<category>.<field>
当用户提供的原始数据(截图/PDF/手动输入)未明确区分类别时,根据字段名和含义自动归类:
| 类别 | 判定规则 | 典型字段名关键词 |
|---|---|---|
| Task | 任务相关:任务号、条码、站台地址、货物类型 | Task, Code, StartSta, DestSta, TpType |
| Alarm | 故障/报警类:字段名含 Fault、Error、Alarm | *Fault, *Error, *Alarm, TimeOut, Estop, QF_, QS_, PH_, LS_ |
| State | 运行状态类:运行、负载、选中、备用等 | Running, Load, Run, Select, BY*, State_* |
优先级:
--category 时,全部使用指定类别,不做自动判定。命名规范(参考 reference/托盘输送线.csv):
DriveFault,不用 Drive_FAULT)DB{db_no},{kind}{byte}[.{bit}]
| 数据类型 | Kind | 字节数 |
|---|---|---|
| Boolean / Bool | X | 0.125(需 bit 位 0-7) |
| Byte / Char / USInt / SInt | B | 1 |
| Short / Int / Word / UInt | W | 2 |
| DInt / DWord / UDInt / Real / Float | D | 4 |
%DB142.DBX0.0 → DB142,X0.0
%DB142.DBW160 → DB142,W160
%DB50.DBD2 → DB50,D2
r"^DB(\d+),(X|B|W|D)(\d+)(?:\.(\d+))?$"
stride = 最后字段的 offset + 该字段字节长度
例:Struct 最后字段 BY2 Int 28.0,Int 占 2 字节 → stride = 28 + 2 = 30。
stride = (byte2 - byte1) / (station2 - station1)
scripts/normalize_screenshot_excel.py截图/OCR 表 → 标准五列 Excel。
python scripts/normalize_screenshot_excel.py \
--input raw_db.xlsx \
--output normalized.xlsx \
--station 1009 \
--category Task \
--default-db 51
scripts/generate_station_table.py标准 Excel → 目标站台批量点位表。支持 3 种模式。
# 模式1: 自动 stride(需 ≥2 站台数据)
python scripts/generate_station_table.py \
--input normalized.xlsx \
--stations 1009-1022 \
--output output/站台点位表.xlsx \
--base-station 1009 \
--insert-separator
# 模式2: Struct 大小作为 stride(单站台即可)
python scripts/generate_station_table.py \
--input normalized.xlsx \
--stations 1009-1022 \
--struct-size DB51=20,DB76=2 \
--output output/站台点位表.xlsx \
--base-station 1009
# 模式3: 手动 stride
python scripts/generate_station_table.py \
--input normalized.xlsx \
--stations 1009-1022 \
--stride DB51=20,DB76=2 \
--output output/站台点位表.xlsx \
--base-station 1009
# 一步到位: 从原始Excel直接生成(跳过normalize中间步骤)
python scripts/generate_station_table.py \
--raw-input raw_db_screenshot.xlsx \
--station 1009 --category Task --default-db 51 \
--stations 1009-1022 \
--struct-size DB51=20 \
--output output/站台点位表.xlsx \
--base-station 1009 \
--insert-separator
注意:
--raw-input模式每次只支持单个--category。如果原始文件包含多个类别(如 Task + Alarm),需要分别运行再合并,或先用 normalize 脚本分类处理。
每次完成后,输出以下信息:
normalize_screenshot_excel.py 增加 Real/Float/USInt/SInt/UInt/UDInt 类型支持%DB TIA 格式地址的自动转换(%DB142.DBX0.0 → DB142,X0.0)--struct-size 参数从单站台直接指定 stride--raw-input 模式)