AI画各种图及PLC编程

AI画各种图及PLC编程


利用AI生成的Typora画的工作原理流程图。

提示词:请用mermaid或Typora形式表示,画个流程图,这样就会画出流程图来。将生成的代码在https://mermaid.live中解释;或者是Typora中解析;如果是对文档类进行处理,如生成docx文档,一般可以生成html格式,因为这种格式可以有很多样式上的选择,然后下载并勾选背景颜色进行打印成PDF即可。

常见的思维导图有以下八种

圆圈图Circle Map 
气泡图Bubble Map
双重气泡图Double Bubble Map
树状图Tree Map 
括号图Brace Map 
流程图Flow Map
多重流程图Multi-Flow Map 
桥状图Bridge Map

DeepSeek+Xmind:生成思维导图

使用步骤
1.使用DeepSeek生成文件,并让其返回“xmind支持的markdown格式”
2.复制返回的文本,保存成后缀为.md的文件,并且是UTF-8的类型
3.打开Xmind,点击"文件->导入",选择上一步的md文件,即可
4.可以在Xmind软件中进行编辑修改

让AI学习一些程序后再让其写程序

  • 让AI什么事情;
  • 让AI怎么做事情,把要实现的动作过程精准的表达给AI;

AI学习过后给一个控制需求,看能写出怎样的一个程序。

控制过程
初始状态:按下启动按钮,进入程序1
程序1:气缸 1导通,之后,左限位开关ON,进入程序2
程序2:气缸2导通,之后,下限位开关ON,进入程序3
程序3:气缸2断开,之后,上限位开关ON,进入程序4
程序 4:气缸 1断开,之后,右限位开关 ON,进入程序1

在VScoder中安装SCL插件

再安装MarsCode插件可以

irm https://raw.githubusercontent.com/yuaotian/go-cursor-help/master/scripts/install.ps1 | iex

不管以哪种语言编写都得新建一个新的窗口并让AI先训练一下,如:熟悉200SMART系统编程规则;

在cursor中输入让其以指令语句的方式;在Samrt中可以进行LAD和STL的转换;

可以将源程序导出为awl格式,然后再用记事本打开另存为UTF-16LE格式的txt文件,vscode的GitHub Copilot插件或者Cursor软件来学习这个txt文件。然后再提问或训练;

将AI生成的语句表粘贴到记事本中并保存为awl格式;

打开Micro/WIN SMART软件,文件—–导入——将上一步的awl格式的文件导入;这样程序就直接生成了。

如果是博途软件可以让AI先训练规则再写程序,如果写的是SCL程序,此时可以在博途软件中将表格视图改为文本视图,这样直接粘贴过来就可以使用了;选项—–设置—-PLC编程——-SCL(结构化控制语言)—–块接口将默认的表格视图改为文本视图;此时再新建SCL功能块就是文本视图模式了。这是全局有效的;

可以打开claude软件,如:

用西门子SCL语言写程序
要求:
1.所有的变量都用中文表
2.请严格按照西门子SCL标准语法,CASE分支不使用BEGIN...END
3.所有TON定时器调用都必须包含IN和PT两个参数 
4.即使是复位定时器,也必须传递PT参数,不能省略
5.时间格式使用T#数值单位的格式,如T#2S(2秒)、T#s(3秒)

将编程手册或者案例程序给AI学习,将模式改为思考模式,并上传一个手册,让其学习,学习完以后让其写一个Modbus通讯程序。

如何把博途中其它项目中的程序块拷贝到当前项目中?

视图—–勾选参考项目——在左侧就会多出一个参考项目栏;此时就可以将曾备份的项目加载进来。此时就会有当前的项目和曾经的程序两个栏,这样就可以灵活的拷贝粘贴了。

博途写的梯形图程序,将图形化的LAD转换为结构化的文本格式,然后将这些文本作为上下文(Context)提供给大型语言模型(LLM),如GPT系列。

方法一:导出为源代码 (AWL/STL) – 最佳选择

AWL (Anweisungsliste) 或 STL (Statement List) 是西门子PLC的一种底层文本指令集,类似于汇编语言。TIA Portal可以将任何LAD或FBD程序块无损地转换为AWL。这种格式保留了所有的逻辑、变量名、网络注释,是AI理解逻辑的完美格式。

实现步骤:

  1. 打开你的TIA Portal项目,找到你想要转换的LAD程序块(例如一个FC或FB)。
  2. 在项目树中,右键点击该程序块。
  3. 选择 “生成源文件” (Generate source from blocks)
  4. 在弹出的对话框中,选择一个保存位置,并确保源文件语言选择为 AWL(它通常是默认选项)。给文件取个名字,比如 MyFunctionBlock_Source.awl
  5. 点击“生成”。你会得到一个 .awl.stl 结尾的文本文件。

.awl 文件内容示例:

一个简单的“启动-停止”电路的LAD,转换成AWL后可能看起来像这样:

awl复制FUNCTION "MotorControl" : VOID
{ S7_Optimized_Access := 'TRUE' }
VERSION : 0.1
   VAR_INPUT 
      Start_Button : Bool;   // 启动按钮
      Stop_Button : Bool;    // 停止按钮
   END_VAR

   VAR_OUTPUT 
      Motor_On : Bool;   // 电机运行状态
   END_VAR


BEGIN
	NETWORK
	  TITLE = 启动逻辑
	  // 当按下启动按钮,并且电机未运行时,启动电机。
	  // 使用常开触点“或”上电机自身的状态,形成自锁。
	  
	      U(    ; 
	      O(    ; 
	      U     "Start_Button"; 
	      U     "Motor_On"; 
	      )     ; 
	      U     "Stop_Button"; 
	      )     ; 
	      =     "Motor_On"; 
	END_NETWORK;

END_FUNCTION

为什么这个格式对AI很友好?

  • 结构清晰:有明确的NETWORK(网络)、TITLE(标题)、变量声明和指令(U=AND, O=OR, ==Assign)。
  • 包含元数据:变量名、注释(//后面的内容)都完整保留,这些是AI理解代码意图的关键。
  • 纯文本:可以直接复制粘贴给AI。

应用:代码生成

你的提问 (Prompt):

你是一位精通西门子PLC编程的专家。我现在需要编写一个功能块,实现一个简单的交通灯控制逻辑:

  1. 有三个输出:红灯(Red_Light)、黄灯(Yellow_Light)、绿灯(Green_Light)。
  2. 有一个启动输入(System_Start)。
  3. 流程:系统启动后,绿灯亮10秒,然后熄灭;接着黄灯亮3秒,然后熄灭;接着红灯亮15秒,然后熄灭;循环此过程。
  4. 请为我生成实现该功能的AWL源代码,并添加必要的注释。

AI可能的回答:

AI会为你生成一段包含定时器(TON)和逻辑判断的AWL代码。你只需将这段代码:

  1. 在TIA Portal中创建一个“外部源文件”。
  2. 将AI生成的代码粘贴进去。
  3. 右键该源文件,选择“根据源文件生成块”。
  4. TIA Portal会自动为你创建一个FB或FC,并且里面的逻辑就是梯形图!你可以直接切换视图查看。

TIA Portal 里面,梯形图转成文本语言需要注意几点:

  • 在 TIA Portal 里 没有 LAD → SCL 的自动转换
  • 想要用 SCL,必须在建程序块时就选择 SCL 语言块(类似新建 OB/FC/FB 时,选择语言为 SCL)。因此如果你想让 AI 学习 SCL,需要:
  1. 手工在 TIA Portal 里新建一个 SCL 块;
  2. 把你的 LAD 逻辑翻译进去;
  3. 导出项目时,SCL 会以可读的文本形式保存
  • 最稳妥的方法是:

    1. 在 TIA 里右键 程序块 → 生成源文件
    2. 得到 .xml.awl / .scl 文件;
    3. 把这个文件给 AI,它能解析逻辑,不用再截图梯形图。

 


转载请注明出处:  https://www.cntworld.cn
智能工控 » AI画各种图及PLC编程

发表回复

提供最优质的资源集合

立即查看 了解详情
文章加载时间:2.1285 秒