使用指南
用 AI 为 CODESYS 生成 ST 代码
用聊天助手写 ST,意味着来回复制代码、手动修编译错误。接入 IDE 之后,AI 智能体会把代码直接写进你的 CODESYS 工程,编译,并一直修到编译干净为止。本指南介绍具体怎么运作,以及使用边界在哪里。
AI 能写什么
借助 Rung Coder,AI 直接在 CODESYS 当前打开的工程里工作,能看到工程里已有的数据类型、变量和库,在此基础上编写,而不是凭空猜测。
- 程序、功能块和函数,以及其中的方法、属性和接口。
- 数据类型(DUT):结构体、枚举、别名和联合体。
- 全局变量表(GVL),包括数组、初始值和 STRING 字面量。
- 修改现有代码:编辑 POU、GVL 和 DUT,以及在代码范围内重命名符号;任务和可视化里仍使用旧名称的绑定会列出来,由你更新。
- 库:添加代码需要的库,并在线安装缺失的库。
从提示词到编译干净
- 你用日常语言描述需要的功能,或者指定一个现有的 POU 让 AI 扩展。
- AI 读取工程中相关的部分,创建或修改对象。
- Rung Coder 在真实 IDE 中重新编译工程,把编译消息原样交回。
- AI 修复错误后再次编译。只有 0 错误且 0 警告才算完成;无法修复的警告(例如第三方库自带的)会如实告诉你,而不是隐瞒。
- 你授予完全控制权限后,程序可以下载到控制器,用实时变量检验运行效果。
提示词示例
提示词越具体,代码越具体。把信号、状态和期望的时序都写清楚。截图里的功能块就是由这段提示词生成的:
新建功能块 FB_Conveyor,输入 bStart、bStop、bOverload、bReset 和 rSpeedSet, 输出 bMotorOn 和 rSpeedOut。 用状态机实现,状态为 Idle、Running、Fault(用枚举定义)。 过载时锁存 Fault,直到 bReset。启动后 2 秒内把速度斜坡升到设定值。 在 PLC_PRG 中调用它,编译并修复所有问题,直到 0 错误 0 警告。
在现有工程上修改
AI 可以打开已有的 .project 文件,读取工程结构和每个 POU 的代码,再在此基础上新增或修改。在第一次修改前,Rung Coder 会保存整个工程的基线,你可以按对象和代码行对比 AI 改了什么,并一键回滚。
较大的重构建议让 AI 分步进行,每一步后查看差异,就像审核同事的提交一样。
使用边界
编译通过只证明语法和引用正确,并不证明工艺逻辑正确。时序和联锁请自己审核,在机器上运行之前先在仿真器或备用设备上测试。急停等安全功能不得用 Rung Coder 编写。
ST 是默认语言。如果你的工厂统一使用梯形图,请参阅用 AI 编写 CODESYS 梯形图。
准备条件:Windows 10/11、带脚本引擎的 CODESYS V3.5 SP18 及以上版本,以及支持 MCP 或命令行的 AI 客户端,例如 Claude Desktop、Codex 或 Cursor。配置方法见快速教程。