CODESYS AI实践 - 在线连接

环境:CODESYS V3.5 SP17 | SoftMotion Win 64 | Windows + PowerShell 5.1

上一篇《CODESYS AI实践 - 工程同步》解决了「工程 ⇄ 文本 ⇄ AI」,但程序还躺在工程里。

本篇继续:让 AI 把程序下载到软 PLC、启停、读写变量。

目标是对 AI 说一句话,它就能自己编程序、建工程、登录、下载、启动、调试,把这一串闭环做完。

方式

启动、登录、下载、调试,本身没什么技术难度——CODESYS 自带的 Script Engine 就能做到,对它做一层薄封装即可。

GitHub 上已经有不少 Codesys-MCP,功能也能覆盖;但 MCP 每回要带上工具描述和 JSON 回包,费 token。这里做成极简命令行:只留动词和值。

在线闭环

连接、下载、启停、读写的在线闭环

命令 干什么 典型输出
connect 配会话、连网关、登录应用 OK connected=1 logged_in=1
download 程序装进软 PLC OK downloaded=1 app_state=run
start / stop 控制运行 OK started=1 op_state=...
read 读符号 GVL.g_bPoweredAll=TRUE
write 写符号 GVL.g_bMove=TRUE + OK written=N
status / disconnect 看状态 / 断开 connected=True ... / OK logged_in=0

一次调用,一行结果

AI 怎么摸到 PLC

AI → Script Engine → 软 PLC

Script Engine(IronPython)暴露全局对象 online:

  • set_default_credentials + 网关 127.0.0.1:11740
  • create_online_device / create_online_application
  • login(OnlineChangeOption, ...) → start / stop
  • read_value / set_prepared_value + write_prepared_values

外层 cc.ps1,内层 online_ops.py,和 codesys-sync 同一条 --runscript 路子。

支持场景

  • AI 闭环:和 codesys-sync 配对使用;AI改完代码之后,下载到仿真验收。
  • 读取参数:程序出了问题,让AI在线读取变量,分析排查问题。

验证说明

在 SoftMotion Win V3 x64(DeviceID 4102/0000 0004)+ 三虚轴工程、SP17 下按

open → gateway → login/download → start → write → read

走通一遍;其他版本未逐一验证。

地址

仓库:https://github.com/zhouyongh/codesys-connect,技能在 SKILL.md。

工程同步仍见 codesys-sync。

注意事项

  1. 版本匹配:创建、下载、在线读写尽量用同一个 CODESYS SP,与工程上次保存的版本一致;混用(例如 SP22 存过的工程再用 SP17 打开)会出现对象不完整、登录失败。
  2. 设备类型要对:x64 软 PLC 用 4102/0000 0004,32 位用 0000 0001;对不上时会提示目标系统与连接设备不同。
  3. 每条命令都会起一次无界面 CODESYS(秒级),变量适合成批读写,不适合一条变量一条命令。
  4. 账号密码保存在本地 session 文件(%USERPROFILE%\.codesys-connect\),一般不要提交进仓库。
posted @ 2026-10-20 08:22  周永恒  阅读(28)  评论(0)    收藏  举报