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

注意事项

  1. 导入前关掉 IDE 里的工程
  2. 不支持图形语言(CFC / FBD)里的引用。
  3. 机器上多个 CODESYS 版本共存时,用 -CodesysExe / -Profile 钉住和工程匹配的版本。
  4. 仅限 Windows(PowerShell + CODESYS IDE)。
  5. 已测过Codesys 3 SP17 和 SP22
posted @ 2026-10-18 19:17  周永恒  阅读(2)  评论(0)    收藏  举报