配方功能介绍
配方通常有两种使用场景,一种是生产不同的产品,使用不同的工艺参数,一种是在生产一种产品过程中有很多步骤,每个步骤都是有不同的参数。通常这些参数数据存放在CPU工作存储器的DB块或M区,但是很多时候这些数据的数据量特别大,数值却是固定不变的,或者只是偶尔在需要的时候小做改动。而对于S7-1200来说,工作存储器最大也只有150kB(S7-1217C),所以可以考虑将这些数据,放入更大的装载存储器。对于S7-1200,内置装载存储器有1MB(S7-1211C、S7-1212C)、2MB(S7-1214C V3.0以下)和4MB(S7-1214C V3.0以上、S7-1215C、S7-1217C)三种,如果通过存储卡扩展,理论上可以最多到32GB。从 TIA PORTAL STEP 7 V11 SP2 开始,S7-1200 固件版本 V2.0 开始,S7-1200支持将DB块仅存储在装载内存中。并且提供指令READ_DBL将仅存储在装载存储器的数据复制到工作存储器,WRIT_DBL将工作存储器的数据复制到仅存储在装载存储器的数据块。这样就可以在需要时获取配方数据与修改配方数据。但是这时通常只能在TIA PORTAL软件的DB块中编辑配方数据,不是很方便。从 TIA PORTAL STEP 7 V13 开始,S7-1200 CPU 固件版本 V4.0 开始,又提供了两条配方函数指令,使得配方数据可以导入、导出,得以在PC上使用EXCEL等软件更方便的编辑。其中RecipeExport指令将完整的配方数据块导出,存储在 CPU 装载存储器的yongjiu性配方数据文件中。配方数据文件按照标准 CSV 格式存储在 S7-1200 CPU 装载存储器中。而RecipeImport指令将配方数据从装载存储器上的 CSV 文件导入到装载存储器上的配方数据块中。此过程会覆盖之前数据块中的值。
注意:以上四个指令都不支持使用PLCSIM进行仿真,只能使用真实CPU。
配方相关指令
配方相关指令位于以下路径:扩展指令—>配方和数据记录—>配方函数以及扩展指令—>数据块控制,具体位置参见图 1 红框。
图1 配方相关指令
配方功能快速入门
配方数据文件按照标准 CSV 格式存储在 S7-1200 CPU 装载存储器或 S7-1200 SIMATIC 存储卡“程序卡”中。分别可通过 PLC Web 服务器或对于存储卡文件操作,将数据文件传送到 PC 进行管理和查看。也可将修改过后的配方数据文件上传至PLC,再通过“RecipeImport”配方导入指令更新PLC装载存储器中配方数据块的数值。
测试实例:
SIMATIC S7-1200 系列 CPU 使用配方数据功能,需要注意以下几两点:
程序中创建一个配方数据块,此 DB 块必须存储在 CPU 装载存储器中,可以使用 CPU 内部装载存储器或程序卡程序中创建一个活动配方数据块,此 DB 块必须在 CPU 工作存储器中,使用程序逻辑读取或写入一个活动配方记录
下面,举例说明用 S7-1200 实现配方的写入和读取功能。为方便配方数据操作,按照下图思路进行项目编程:
图1 配方项目框图
测试环境:
操作系统:Win 10 64bit Pro 1703软件:TIA PORTAL V15 Update 4测试软件:Notepad++ V7.5.8硬件:S7-1215C DC/DC/DC V4.2.3订货号:6ES7215-1AG40-0XB0