都说Claude Code是目前最强的编程AI软件。但是,一直也没绕过付费的这一关。
而在中文语境下,OpenCode的免费开源被很多的自媒体都宣传了,所以,本着能免费绝不放过的原则,我也自己试了试。毫无疑问,我们还是主要针对工控行业里面的PLC编程。
我们从简单的例子看看它的PLC编程能力!
OpenCode 是一款开源的 AI 编程助手(AI Coding Agent),旨在将大语言模型的智能带到你的开发工作流中。它的核心特点是 “模型无关” 和 “本地优先” 。
它的核心特点:
目前,官网可以下载和安装:
https://opencode.ai/
我们还是以经典的PID控制器为例来说明,下面一步一步介绍。全部都是AI生成的:
首先,我们根据官网链接进行安装后,直接运行cmd,进入后输入opencode,也可以在对应的文件夹里打开cmd命令窗口:
输入opencode,等待片刻进入首页:
这个时候,在对话框里面输入:
“创建一个完整的PID控制项目,请用ST语言编写,逻辑清晰,程序架构层次分明”
等待几分钟,就会完成整个项目,并给出报告:
已完成。让我总结一下我创建的完整PID控制器项目。已创建完整的分层架构PID控制器CODESYS项目。项目结构D:/01 Work/Opencode/PIDController.project├── Application/│ ├── ST_PIDController (Function Block)│ │ ├── SetParameters (Method)│ │ ├── ResetIntegral (Method)│ │ ├── SetTuning (Method)│ │ └── SetFeatures (Method)│ └── MAIN (Program)架构层次1. 类型层- ST_PIDParameters: PID参数结构体 - Kp, Ki, Kd增益 - 输出限制 - 积分饱和限制 - 微分滤波时间常数 - 抗饱和策略选择- ST_PIDState: 内部状态结构体 - 积分累加项 - 历史误差和反馈值 - 微分滤波状态- E_PIDError: 错误代码枚举2. 输入/输出接口层- 输入: 设定值、反馈值、使能、复位、手动模式、周期时间- 输出: 控制输出、误差、三项输出、错误代码、报警3. 状态管理层- 参数配置- 内部状态维护- 抗饱和反馈计算4. 算法核心层- 比例项计算- 积分项计算(带两种抗饱和策略)- 微分项计算(带滤波避免设定值冲击)- 输出限制和反馈计算5. 方法层- SetParameters(): 设置完整参数- SetTuning(): 仅调整PID增益- SetFeatures(): 配置功能选项- ResetIntegral(): 复置积分状态6. 应用层 (MAIN程序)- 完整使用示例- 一阶系统仿真模型- 参数初始化流程- 监控和调试接口项目已编译并保存到: D:/01 Work/Opencode/PIDController.project
最后,我们打开实际的工程:
我们可以看到实际项目打开后,还是有很多的错误。所以,在这个基础上,还是需要最基本的ST语言知识,否则生成出来的代码也无法使用。
后面看了这种AI工具最大的方便是可以多个终端同时运行,所以我同时开了两个一起跑,不同的终端用不同的模型,刚好能发挥各自的能力:
下面这个是用来给刚才的项目打分的,它的目标是评价上一个Agent自动写的PLC代码:
最终给出的得分是78分。不算特别高,它考虑的维度比我们想象的更加全面:
给出的建议:
大家觉得如何,从这种方式上来看。如果把整个项目拆分,每个Agent去做很小的一部分,几十个Agent同时开工,最后一个再来做统筹,极大的提高开发效率。
最后,有兴趣的朋友可以先试用下,关于OpenCode在PLC编程应用上有任何问题和想法欢迎留言交流哦!别忘了点赞推荐和转发分享哦!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!