开源连载①|PLC轴控「三件套」—— AI+工控时代,先从数据结构开始
未来十年,工控行业最大的变量不是硬件,是AI。
一个判断
2026年的今天,AI已经在改写软件行业的每一个角落——自动生成代码、自动Debug、自动架构设计。
但工控行业呢?
我问过自己一个问题:如果让AI来写PLC程序,它首先需要什么?
不是算法,不是模型精度。首先需要一套语义清晰、结构稳定、命名规范的基础数据结构。
因为AI理解工控逻辑的前提,是它读得懂数据。
AI 读懂代码的前提 = 数据结构语义化
数据结构语义化的前提 = 开源 + 固化
为什么是”开源+固化”?
开源 — 让AI有数据可学
没有开源数据,AI就学不会工控语言。C++/Python有万亿行开源代码喂养大模型,而工控ST语言的开源数据少得可怜。
这不是技术问题,是生态问题。
固化 — 让行业有标准可用
每个公司、每个项目、每个人都写一套自己的结构体——这个叫 bEnable,那个叫 xPowerOn。
散装的命名,不仅人看着累,AI更是学不动。
所以我想做的这件事很简单:把经过多个项目验证的数据结构沉淀下来,开源出去,让它们成为AI可以理解的”工控语料”。
轴控三件套:给AI的第一份”工控语料”
控制一个轴,本质上就三件事,对应三套结构体:
┌─────────────────────────────────────────────────────┐
│ AI + 工控 │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 指令 │ │ 参数 │ │ 状态 │ │
│ │ Command │───▶│Parameter │───▶│ Message │ │
│ └──────────┘ └──────────┘ └──────────┘ │
│ │ │ │ │
│ └───────────────┴───────────────┘ │
│ 轴控数据结构层 │
└─────────────────────────────────────────────────────┘
1️⃣ ST_AxisCommand — 轴控制指令
11 个语义明确的指令位,AI一看就懂:
bPower → "上电使能"
bReset → "故障复位"
bStop → "急停"
bHome → "回零"
bJogP → "正向点动"
bRel → "相对模式"
bAbs → "绝对模式"
每个字段都带标准注释,人读得懂,AI也读得懂。
2️⃣ ST_AxisMessage — 轴状态信息
轴上电了吗?到位了吗?报错了吗?
11 个状态位 + PLCopen标准状态机 + 3个实时值。给AI一个标准化的”轴状态视图”。
3️⃣ ST_AxisParameter — 轴参数配置
最”重”的一块——编码器分辨率、电子齿轮比、回零方式、加加速时间……
我把这些参数按业务分组固化:
| 分组 | 字段数 | 说明 |
|---|---|---|
| 基本属性 | 3 | 虚实轴 / 方向 / 编码器类型 |
| 电子齿轮比 | 5 | 编码器PUU + 减速比 + 用户单位 |
| 回零参数 | 4 | 回零方式 + 快慢速 + 加速度 |
| 运动学参数 | 4 | 最大速度 + 加减速时间 + 点动速度 |
| 预置表 | 20 | 10段位置 + 10段速度 |
一次配好,AI辅助调参就有了数据基础。
加固态化 = 加速AI落地
想象一下未来的工作流:
你: "AI,帮我配一条传送带轴,减速比1:20,编码器2500线"
AI: "好的,已生成 ST_AxisParameter 配置,是否需要写入控制器?"
这不是科幻。这件事需要的前提是——数据结构先标准化。
如果每个项目都有一套自己的命名,AI需要先学”方言”。而通过开源固化出一套通用结构,AI只需要学一次,就能服务所有用这套结构的项目。
这个连载要做什么
5天时间,把这三套结构体讲透:
| 篇次 | 主题 | 核心 |
|---|---|---|
| 🔴 ① | **开篇 | AI+工控的数据基石** |
| ② | ST_AxisCommand 详解 | 指令设计中的取舍与互斥策略 |
| ③ | ST_AxisMessage 详解 | 状态机设计 + 实时数据刷新策略 |
| ④ | ST_AxisParameter 详解 | 参数分组的学问 & 调参经验 |
| ⑤ | 三件套合体 + 开源发布 | 完整示例 + GitHub链接 + 后续计划 |
时代变了。
以前我们写代码,是给下一个维护的人看。 现在写代码,既是给人看,也是给AI看。
开源 + 固化的每一步,都是在给未来的AI工控铺路。
📌 本文是「轴控三件套开源计划」连载第 1 篇。 每晚更新一篇,欢迎持续关注 👇
你在项目中用过哪些好用的数据结构?留言聊聊,一起把工控的AI底座搭起来 💪