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

Script Engine(IronPython)暴露全局对象 online:
set_default_credentials+ 网关127.0.0.1:11740create_online_device/create_online_applicationlogin(OnlineChangeOption, ...)→start/stopread_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。
注意事项
- 版本匹配:创建、下载、在线读写尽量用同一个 CODESYS SP,与工程上次保存的版本一致;混用(例如 SP22 存过的工程再用 SP17 打开)会出现对象不完整、登录失败。
- 设备类型要对:x64 软 PLC 用
4102/0000 0004,32 位用0000 0001;对不上时会提示目标系统与连接设备不同。 - 每条命令都会起一次无界面 CODESYS(秒级),变量适合成批读写,不适合一条变量一条命令。
- 账号密码保存在本地 session 文件(
%USERPROFILE%\.codesys-connect\),一般不要提交进仓库。

浙公网安备 33010602011771号