S7-1500 配方功能使用入门

配方通常在两种场合下使用,一是生产不同规格的产品,使用不同工艺参数值,二是在生产一种产品过程中有很多步骤,每个步骤都是有不同的工艺参数。

通常,这些参数数据存放在 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 画面上根据配方号显示配方、修改配方。

硬件:

软件:

例程归档下载链接:下载

1. 组态硬件,激活 Web 服务器功能

打开 TIA Portal 软件,新建项目,添加指定版本及订货号的 CPU ,取消激活安全向导,设置 IP 地址,CPU 时区,激活 Web 页面功能,此处过程略。

如图 3 所示,必须激活 Web 页面用户管理中的“文件浏览器”功能。

图 3 用户管理设置

2. 编写配方程序

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。

3. 绘制并启动 WinCC 画面

新建 PC 站,添加 WinCC Advanced,添加网卡,设置 IP 地址,建立与 CPU 的 HMI 连接,此处过程略。

新建画面如图 11 所示。

图 11 画面

关联左边 IO 域与活动配方 DB 的相对应数据关联。

配方号 IO 域与变量 "RecipeRef".recipeNo 关联。

右下的四个按钮分别关联按下和释放两个事件,按下使得触发位置位,释放使得触发位复位。

之后编译 WinCC 项目,启动画面。

4. 导出导入配方数据

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 数据

5. WinCC 读写活动配方数据

1)在 WinCC 画面配方号处输入“1”,然后点击“读取”按钮,即可将 1# 配方读取到 WinCC,如图 16 所示。

图 16 读取到的配方数据

2)然后任意修改 WinCC 画面左边配方数据,点击“写入”按钮,即可对 1# 配方进行修改,修改后,监视 PLC 程序发现,配方数据 DB 旁边的绿色圆形图标变为半蓝半红,说明位于装载存储器的配方数据值发生了改变,如图 17 所示,此时可以通过重新读取验证写入成功。

图 17 修改配方数据

3)此时如果修改并下载程序,会导致通过 WinCC 修改的配方数据丢失,所以可以在修改配方数据时候通过先上传程序块,再修改下载,或者在下载时选择“同步”,如图 18 所示的红框,然后再进行装载。

图 18 同步功能