CODESYS AI实践 - 工程同步
环境:CODESYS V3.5 SP17 / SP22 | Windows + PowerShell 5.1
上一篇《CODESYS AI实践 - 导入导出文件》把「工程 ⇄ 文本 ⇄ AI」的闭环跑通了,但那还是个只能改代码的版本,本篇将其补完,变成一个可对工程进行操作、CRUD对象的工具。
还是那个闭环

有四条命令:
| 命令 | 干什么 | 动谁的文件 |
|---|---|---|
export.ps1 |
工程 → 文本树 | 工程副本,IDE 开着也能跑 |
import.ps1 |
文本 → 工程 | 真实工程(自动备份) |
verify.ps1 |
只读对账:文本树 vs 工程 | 谁都不动 |
build.ps1 |
无界面编译,出结构化报告 | 工程副本,IDE 开着也能跑 |
导出布局从旧版的平铺 pous/NNN_*.txt 改成了镜像工程树:
POU 本体是 Application/xxx.st,它的方法、属性放在同名子目录 Application/xxx/ 里,和 IDE 里的树一一对应。
| 产物 | 是什么 |
|---|---|
Application/**/*.st |
每个文本对象一个文件,带 // PATH: 头 |
structure_ops.txt |
结构操作清单(下一节) |
_folders.txt / _index.txt |
文件夹清单、路径 ↔ 对象映射 |
_project_info.txt |
工程属性、设备、任务、库摘要 |
_full_export.xml |
全量 XML(含图形化语言,可导回恢复工程) |
工程能力
支持的能力如下:
| 能力 | 语法 |
|---|---|
| 创建对象 | CREATE_POU|<父路径>|<名称>(FB / FUN / DUT / GVL / 方法 / 属性 / 动作 / 文件夹同理) |
| 建任务 | CREATE_TASK|<任务配置路径>|<名称> |
| 改名 | RENAME|<旧路径>|<新名称>(自动改写全工程引用,文件改名也能按 GUID 识别) |
| 移动 | MOVE|<对象路径>|<新父路径> |
| 删除 | DELETE|<路径>(零引用才允许) |
| 挂任务 | ASSIGN_TO_TASK|<任务路径>|<程序路径> |
| 加库 | ADD_LIBRARY|<库解析串> |
支持场景
- AI 创建/修改工程:文本入库,AI 读写
.st。 - 重构:改名、移动、删除对象,引用自动跟着改。
- 版本管理:PLC 代码进 git,可 diff、可回溯、可 review。
- 命令行自查:改完无UI编译看
errors=,不开 IDE。 - 装成 agent 技能:包含
SKILL.md。
我试验了一下,直接对AI说:
请创建一个SoftMotion的Codesys工程,带三个虚轴,可运行,停止,带TCP协议,它就能搞出一个编译通过,无error的project出来
地址
仓库在 https://github.com/zhouyongh/codesys-sync,里面带 agent 技能: SKILL.md
注意事项
- 导入前关掉 IDE 里的工程
- 不支持图形语言(CFC / FBD)里的引用。
- 机器上多个 CODESYS 版本共存时,用
-CodesysExe/-Profile钉住和工程匹配的版本。 - 仅限 Windows(PowerShell + CODESYS IDE)。
- 已测过Codesys 3 SP17 和 SP22

浙公网安备 33010602011771号