[西门子] S7-1500 配方功能使用入门

[复制链接]
查看97961 | 回复0 | 2024-1-25 14:32:30 | 显示全部楼层 |阅读模式
配方通常在两种场合下使用,一是生产不同规格的产品,使用不同工艺参数值,二是在生产一种产品过程中有很多步骤,每个步骤都是有不同的工艺参数。

通常,这些参数数据存放在 CPU 的 DB 块或 M 区,然后正常编程,无需使用配方功能。

但是,某些时候这些参数数据的数据量特别大,数值却是固定不变的,或者只是偶尔在需要的时候小做改动,此时,就可以利用配方功能。可以将配方数据导出到电脑,使用例如 Excel 的编辑工具方便的输入参数然后再进行导入,并且在程序中可以读取及小量改动。

而对于 S7-1500 系列的 CPU 来说,配方数据可以仅保存在装载存储器,也可以同时保存在工作存储器以及装载存储器,即常规的 DB 块,这两种方法优缺点如下:

    对于仅保存在装载存储器的配方数据

      优点:减小对工作存储器以及保持存储器的占用,可以通过更换存储容量更大规格的存储卡,存储更多的配方数据。

      缺点:在读写配方数据时,必须使用 READ_DBL 以及 WRIT_DBL 指令,无法使用普通指令进行读写,这两个指令专门用于处理仅存储在装载存储器的数据,是异步指令,也就是说无法实时的读写,需要一定的处理时间,并且对于存储卡来说频繁使用 WRIT_DBL 指令会导致存储卡损坏。

    对于同时保存在工作存储器以及装载存储器的配方数据

      优点:使用方便,使用常规指令例如 MOVE 指令就可以对配方数据进行读写

      缺点:需要占用 CPU 宝贵的工作存储器空间,尤其是对于工作存储器小的 CPU 1511、CPU 1510SP 等使用时更是需要提前规划好使用量。数据保持方面有两种方案,一种是不激活配方 DB 数据的保持性,那样数据读写还是需要 READ_DBL 以及 WRIT_DBL ,那样相对仅保存在装载存储器的配方数据的方案就没有任何优点了。另一种是激活配方 DB 数据的保持性,需要占用 CPU 宝贵的保持性存储器空间,同样对于保持性存储器小的 CPU 1511、CPU 1510SP 等使用时需要提前规划好使用量。


所以总的来说,推荐第一种方案,本次例程中也是使用第一种方案。

当然对于配方数据量不大的项目,也可以使用第二种方案。
配方功能使用过程

配方功能使用过程如图 1 所示。



图 1 配方功能使用流程
配方指令

配方功能使用到的指令位置如图 2 所示。



图 2 配方使用相关指令

RecipeExport 指令将完整的配方数据块导出,按照标准 csv 格式存储在 CPU 装载存储器的永久性配方数据文件中。

RecipeImport 指令将配方数据从装载存储器上的 csv 文件导入到装载存储器上的配方数据块中。此过程会覆盖之前数据块中的值。

READ_DBL 指令将配方数据从配方数据块读取到活动配方。

WRIT_DBL 指令将活动配方数据写入到配方数据块。


注意:以上四个指令都不支持使用 PLCSIM 或者 PLCSIM Advanced 进行仿真,只能使用真实 CPU 测试执行。
配方使用例程

例程为制作不同冰淇淋选择不同的配方,并在 WinCC 画面上根据配方号显示配方、修改配方。

硬件:

    CPU 1516-3 PN/DP V2.9.4,订货号:6ES7516-3AN01-0AB0,X1 接口 IP 地址:192.168.1.32,子网掩码:255.255.255.0

    电脑,网卡 IP 地址:192.168.1.201,子网掩码:255.255.255.0

软件:

    Windows 10 专业版 20H2

    TIA Portal V17 update 3 Step 7 + WinCC Advanced

    Microsoft Office 2019

例程归档下载链接:下载。
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 同步功能

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则