程序聚合 软件案例 AI西门子PLC代码生成器

AI西门子PLC代码生成器

2026-07-13 05:29:57
行业:工业互联网、人工智能
载体:网站、算法模型
技术:Node.js、TypeScript、Tailwind CSS

业务和功能介绍

1. 为什么要做这个)
PLC工程师写SCL代码有个很烦的事——语法规矩特别多。等于号在C语言里是==,在SCL里是=。赋值在别处用=,SCL非得用:=。IF后面忘了END_IF,CASE漏了ELSE,编译器只告诉你错了,不告诉你哪错,更不会帮你改。一个工程师来回编译、报错、猜、改能折腾很长时间。后来发现大模型也能写SCL,但写出来的更离谱——&&、!=这些C语言习惯全带进来,true/false小写不认,IF/CASE各种缺胳膊少腿。思路很简单:既然LLM犯的错就那么几类,每类长什么样我们也知道,写一套固定规则帮它改就行了。不用重新训练模型,写死规则,来一个修一个,结果永远确定。
2. 能干什么
拆成四块:第一,让大模型写代码。用大白话描述控制需求,背后接了好几个大模型可以换着用。第二,帮它补骨架。LLM经常忘了关IF、关CASE,用一个叫下推自动机的方法跟踪成对关键字,哪缺了自动在正确位置补上。本质是聪明的括号匹配,但能处理嵌套——IF里套CASE,正则搞不定,必须用栈。第三,帮它改小毛病。&&改AND,!=改<>,true改TRUE,一共11种常见错误,8种自动改,3种标记提醒。改等于号最危险——在IF条件里它是合法比较符不能瞎改,设了三层保护确保不破坏逻辑。第四,浏览器打开就能用,代码直接复制到TIA Portal编译。
3. 怎么用
三步:网页上用大白话写控制逻辑,选PLC型号。点生成等几秒,大模型出初稿。工具自动修一遍语法错误,拷走拿去编译。想再改可以手动编辑或者对话精修。从需求到能编译的代码,快的就几分钟。

项目实现

1. 整体架构和设计思路
整个系统分三层。最底层是大模型调度层,用TypeScript写了一个统一的dispatcher,同时接了DeepSeek、Gemini、Qwen三个模型,哪个出活稳定用哪个,支持流式输出给前端实时展示。中间层是核心纠错管线——也是纯TypeScript实现,不依赖任何AI推理。L1用栈结构做关键字配对校验,19种结构关键字的状态转移表驱动;L2用规则引擎做词法级修复,11类错误按一对一映射去匹配替换。两层都是纯函数,同样的输入永远出同样的结果。最上面是React前端,Vite构建,Tailwind CSS做界面,Framer Motion做动效,浏览器里直接写需求看代码。后端Express扛API请求,natapp隧道公网暴露,前端SSE长连接接收生成进度。
2. 我负责的模块和结果
我主要做了核心纠错管线——L1栈式校验和L2规则引擎,还有整个后端的API层和SSE流式管道。L1这边,定义了19种结构关键字的栈匹配规则表,支持IF/CASE/FOR/WHILE/REPEAT五类控制流嵌套,以及FUNCTION_BLOCK、VAR区段等程序单元的配对校验。在47个工业场景样本上跑下来,结构错误全检出,缺失关键字自动补全位置准确。L2规则引擎覆盖了11类高频错误,其中8类自动修复准确率100%——因为都是确定性映射,不存在误判。3类告警(变量活性、定时器校验、安全模式)在47个样本中触发了[待实测]次。赋值修复的三重约束设计保证了不改变任何布尔表达式真值,零副作用。后端API层撑住了并发生成、流式输出、会话管理这些需求,单次生成延迟控制在LLM响应时间+后处理50ms以内。
3. 遇到的难点和解决方案
最大的坑是等于号的替换。SCL里等于号有三个身份:赋值应该用:=(motor = TRUE → motor := TRUE),比较应该用=(IF x == 1 → IF x = 1),连续赋值a:=b:=c里已经是:=。一刀切替换必定引入逻辑错误。最后的方案是三重约束:先判断当前行是不是条件行(IF/ELSIF/WHILE/UNTIL开头),非条件行才把=改:=,条件行只把==改=,已经是:=的不管。这样保证所有布尔表达式的真值不变。第二个坑是管线顺序——L1补全缺失关键字会改变行号偏移,如果L2先跑了再补L1,分号插到错行。结论是强制L1优先,且两层之间不做任何缓存行号的跨层引用。第三个是SSE超时,LLM调用有时候很慢,浏览器端超时断开。加了TCP Keep-Alive和10秒心跳,隧道不断,连接不断。

示例图片视频


Cambridge
3天前活跃
方向: 爬虫/脚本-爬虫/脚本、后端-Python、
交付率:100.00%
相似推荐
企业数字化管理系统-企航 EasyOps
这个系统主要是给中小企业用来管理日常业务的。很多小公司平时用 Excel 记录客户、订单和库存,时间久了数据容易乱,也不好查。这个项目就是把客户、订单、库存、审批和报表这些内容集中到一个系统里管理.系统里有工作台、客户管理、订单管理、库存管理、审批中心和经营报表。用户可以在系统里录入客户信息,查看客户跟进情况;也可以创建订单、查看订单状态和订单金额;库存数量可以统一管理,库存低了系统会提醒;一些订单折扣、合同、退款申请可以走审批;最后还能通过报表查看销售额、客户数量、库存预警等经营数据。
基于多智能体与知识图谱的复杂知识分析平台
1. 立项背景和目标 面向复杂知识问答、多步任务拆解和证据驱动分析场景,搭建统一的 AI Agent 平台。旨在解决传统问答系统在复杂任务中可分解性不足、证据链不可追溯、文档与图谱数据割裂、模型选型缺乏统一评测等痛点,降低知识密集型分析任务的人工操作成本。 2. 核心功能模块 多智能体协作: 采用 planner -> dispatcher -> summary 主链路,支持任务拆解、依赖编排和拓扑执行。 知识检索与定位: 集成文档多格式解析、片段级检索、页级定位及 Neo4j 知识图谱 Cypher 检索。 评测与选型底座: 支持对不同模型、提示词策略和子代理组合进行横向对比与流程稳定性观察。 前端工作台: 支持多会话聊天、模型参数配置、执行轨迹面板、知识图谱可视化及结果下载。 3. 业务流程与功能路径 用户上传多格式文档或输入复杂分析任务 -> 系统提取分析并构建图谱 -> 多智能体协作编排并调度任务(子代理执行文档精读和图谱检索) -> 聚合生成可追溯、可信的结构化报告或演示文稿 -> 通过 SSE 流式反馈、渲染任务轨迹并展示给前端。
豪视界-AI 图像处理平台
AI 图像处理平台("流行智能"后更名"豪视界") —— 一个面向电商卖家的 SaaS 化 AI图像处理工具站。核心业务逻辑:卖家上传商品图,平台调用多个 AI引擎完成换背景、生成模特图、扩图/高清/去水印等处理,按张扣积分,处理结果存云端图库。 支撑业务的系统能力 - 账户体系:邮箱/手机注册登录、JWT 鉴权、图形验证码、访客可浏览(登录才可下单) - 积分计费系统:注册赠送 100 积分、按任务类型差异化定价(可后台配置)、消费流水记录、积分套餐 - 异步任务系统:任务状态机(等待→处理中→完成/失败)、批量提交、全局任务列表、结果轮询 - 图库:处理结果云端存储(阿里云 OSS)、缩略图、任务详情回看 - 管理后台:用户管理(禁用/启用/改积分)、任务监控与重试、系统配置、积分规则/套餐配置、操作日志、仪表盘统计
企业内部ERP系统
面向鞋类全栈 ERP 系统,覆盖从客户接单、模具管理、BOM 拆解、生产排程、出入库管理到标签打印、报表分析的全链路业务流程。系统采用前后端分离架构,后端基于 Spring Boot 3 提供 RESTful API,前端为 Vue 3 + Vite SPA,支持本地开发与 Docker 生产部署两套环境。
统一开发平台-统一开发平台
1. **雪花算法**:支持 5 种 WorkerId 分配策略(配置固定值、本地随机、Redis、ZooKeeper、Nacos) 2. **号码段模式**:数据库维护号码段,应用启动时自动建表,支持步长和号段缓存 3. **号码段链模式**:优化号码段的双 Buffer 机制,消除号码段切换时的耗时 4. **缓存集成**:号码段和号码段链支持本地(Caffeine)+ Redis 双级缓存 5. **代理服务**:独立部署的 ID 代理服务,提供 HTTP + Dubbo 接口 6. **Starter 集成**:应用通过 Starter 直接集成 ID 生成能力 7. **MyBatis 自动注入**:通过 MyBatis-Plus MetaObjectHandler 自动填充 ID 8. **独立 ID 池**:每个 `表名 + 主键字段名` 可拥有独立的 ID 池配置
帮助文档   Copyright @ 2021-2024 程聚宝 | 浙ICP备2021014372号
人工客服