配方通常在两种场合下使用,一是生产不同规格的产品,使用不同工艺参数值,二是在生产一种产品过程中有很多步骤,每个步骤都是有不同的工艺参数。
通常,这些参数数据存放在 CPU 的 DB 块或 M 区,然后正常编程,无需使用配方功能。
但是,某些时候这些参数数据的数据量特别大,数值却是固定不变的,或者只是偶尔在需要的时候小做改动,此时,就可以利用配方功能。可以将配方数据导出到电脑,使用例如 Excel 的编辑工具方便的输入参数然后再进行导入,并且在程序中可以读取及小量改动。
而对于 S7-1500 系列的 CPU 来说,配方数据可以仅保存在装载存储器,也可以同时保存在工作存储器以及装载存储器,即常规的 DB 块,这两种方法优缺点如下:
所以总的来说,推荐第一种方案,本次例程中也是使用第一种方案。
当然对于配方数据量不大的项目,也可以使用第二种方案。
配方功能使用过程如图 1 所示。
图 1 配方功能使用流程
配方功能使用到的指令位置如图 2 所示。
图 2 配方使用相关指令
RecipeExport 指令将完整的配方数据块导出,按照标准 csv 格式存储在 CPU 装载存储器的永久性配方数据文件中。
RecipeImport 指令将配方数据从装载存储器上的 csv 文件导入到装载存储器上的配方数据块中。此过程会覆盖之前数据块中的值。
READ_DBL 指令将配方数据从配方数据块读取到活动配方。
WRIT_DBL 指令将活动配方数据写入到配方数据块。
注意:以上四个指令都不支持使用 PLCSIM 或者 PLCSIM Advanced 进行仿真,只能使用真实 CPU 测试执行。
例程为制作不同冰淇淋选择不同的配方,并在 WinCC 画面上根据配方号显示配方、修改配方。
硬件:
软件:
例程归档下载链接:下载。
打开 TIA Portal 软件,新建项目,添加指定版本及订货号的 CPU ,取消激活安全向导,设置 IP 地址,CPU 时区,激活 Web 页面功能,此处过程略。
如图 3 所示,必须激活 Web 页面用户管理中的“文件浏览器”功能。
图 3 用户管理设置
1)创建配方数据类型
项目树中,展开 PLC 数据类型文件夹,添加新 PLC 数据类型 “typeIceCream” 用作配方数据类型,并在其中添加相关变量,如图 4 所示。
图 4 配方数据类型
2)创建配方 DB
创建配方 DB,然后新建配方数据类型数组的变量,并修改 DB 属性仅存储在装载内存中,如图 5 - 6 所示。
图 5 配方 DB
图 6 DB 设置
3)创建活动配方
创建活动配方 DB,然后新建配方数据类型的变量,如图 7 所示。
图 7 活动配方
4)创建配方操作相关变量
创建配方操作相关变量的 DB,用于编程,说明如图 8 所示的注释。
图 8 配方操作相关变量
5)编写导入导出程序及捕捉错误代码
在 OB 1 编程及注释如图 9 所示。
图 9 编写导入导出程序
6) 编写读写配方程序
继续在 OB1 编程,读指定配方号配方数据到活动配方,将活动配方写入指定配方号的配方数据,如图 10 所示。
读取到的活动配方即可以用于后续工艺编程,或者关联到上位机画面显示修改。
图 10 编程读写配方程序
7)程序编写完成,将硬件组态及程序下载至 CPU。
新建 PC 站,添加 WinCC Advanced,添加网卡,设置 IP 地址,建立与 CPU 的 HMI 连接,此处过程略。
新建画面如图 11 所示。
图 11 画面
关联左边 IO 域与活动配方 DB 的相对应数据关联。
配方号 IO 域与变量 "RecipeRef".recipeNo 关联。
右下的四个按钮分别关联按下和释放两个事件,按下使得触发位置位,释放使得触发位复位。
之后编译 WinCC 项目,启动画面。
1)导出配方数据
启动 WinCC 画面后,点击“导出”按钮,然后打开电脑上的浏览器,输入 CPU IP 地址,浏览到“文件浏览器 > Recipes”,如图 12 所示。
图 12 打开 Web 页面
2) 编辑配方数据
点击图 12 的 csv 文件,下载到电脑中,之后点击图 12 红框处的图标删除该文件。
使用 Excel 软件对 csv 文件打开编辑保存,如图 13 所示。
图 13 编辑后的配方数据
3)导入配方数据
如图 14 所示的操作。
图 14 上传配方
①点击该图标,浏览到修改的 csv 文件
②点击该图标上传
③上传成功后,文件显示在这里
之后在 WinCC 画面点击“导入”按钮,即完成配方数据导入。
4)此时可以通过 PLC 在线情况下上载程序块,看到配方数据里的数据,如图 15 所示。
图 15 配方 DB 数据
1)在 WinCC 画面配方号处输入“1”,然后点击“读取”按钮,即可将 1# 配方读取到 WinCC,如图 16 所示。
图 16 读取到的配方数据
2)然后任意修改 WinCC 画面左边配方数据,点击“写入”按钮,即可对 1# 配方进行修改,修改后,监视 PLC 程序发现,配方数据 DB 旁边的绿色圆形图标变为半蓝半红,说明位于装载存储器的配方数据值发生了改变,如图 17 所示,此时可以通过重新读取验证写入成功。
图 17 修改配方数据
3)此时如果修改并下载程序,会导致通过 WinCC 修改的配方数据丢失,所以可以在修改配方数据时候通过先上传程序块,再修改下载,或者在下载时选择“同步”,如图 18 所示的红框,然后再进行装载。
图 18 同步功能