使用指南

用 AI 为 CODESYS 生成 ST 代码

用聊天助手写 ST,意味着来回复制代码、手动修编译错误。接入 IDE 之后,AI 智能体会把代码直接写进你的 CODESYS 工程,编译,并一直修到编译干净为止。本指南介绍具体怎么运作,以及使用边界在哪里。

← 全部指南 · 更新于

AI 能写什么

借助 Rung Coder,AI 直接在 CODESYS 当前打开的工程里工作,能看到工程里已有的数据类型、变量和库,在此基础上编写,而不是凭空猜测。

  • 程序、功能块和函数,以及其中的方法、属性和接口。
  • 数据类型(DUT):结构体、枚举、别名和联合体。
  • 全局变量表(GVL),包括数组、初始值和 STRING 字面量。
  • 修改现有代码:编辑 POU、GVL 和 DUT,以及在代码范围内重命名符号;任务和可视化里仍使用旧名称的绑定会列出来,由你更新。
  • 库:添加代码需要的库,并在线安装缺失的库。

从提示词到编译干净

  1. 你用日常语言描述需要的功能,或者指定一个现有的 POU 让 AI 扩展。
  2. AI 读取工程中相关的部分,创建或修改对象。
  3. Rung Coder 在真实 IDE 中重新编译工程,把编译消息原样交回。
  4. AI 修复错误后再次编译。只有 0 错误且 0 警告才算完成;无法修复的警告(例如第三方库自带的)会如实告诉你,而不是隐瞒。
  5. 你授予完全控制权限后,程序可以下载到控制器,用实时变量检验运行效果。

提示词示例

提示词越具体,代码越具体。把信号、状态和期望的时序都写清楚。截图里的功能块就是由这段提示词生成的:

新建功能块 FB_Conveyor,输入 bStart、bStop、bOverload、bReset 和 rSpeedSet,
输出 bMotorOn 和 rSpeedOut。
用状态机实现,状态为 Idle、Running、Fault(用枚举定义)。
过载时锁存 Fault,直到 bReset。启动后 2 秒内把速度斜坡升到设定值。
在 PLC_PRG 中调用它,编译并修复所有问题,直到 0 错误 0 警告。
CODESYS ST 编辑器中的 FB_Conveyor 功能块
AI 根据这段提示词写出的 FB_Conveyor:状态机、锁存故障和软启动,编译 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。配置方法见快速教程。

在你自己的 CODESYS 工程上试一试

首次登录起免费使用 2 个月,无需绑定支付方式。支持 Windows 10/11 与 CODESYS V3.5 SP18 及以上版本。