浙江工商职业技术学院 李方园
配方是一组参数值,它用来提供生产产品和控制生产过程所需的信息。例如饼干的配方包括黄油、白糖、鸡蛋、面粉和烹调时间等参数的数据类型和参数值等。在饼干生产线中,当黄油等混合成分进入混合槽、缓冲槽,然后经过灌气、结晶固化等程序,最后变成成品。
由于饼干生产线可以生产不同类型的饼干,且配料和工序等基本相同,因此可以组合成若干个配方的集合,即配方集。这些配方有相同的参数集合,但是参数的数值各不相同。例如饼干配方集包含夹心饼干和苏打饼干的配方。生成配方集后,在更换产品时,只需要输入配方的符号名或配方的编号,就可以使用配方中预设的参数集合,避免了在生产过程中经常输入重复的大量的参数。
过去只有在计算机上运行的组态软件等上位机软件才有配方功能,小型PLC因为存储容量小,不可能设置配方功能。西门子的新一代S7-200小型PLC新增了配方功能,配方集的数据和实时采集的数据保存在64K或256K的EEPROM存储卡中,存储卡插在CPU模块的插槽中。存储卡的写操作次数的典型值为100万次。S7-200的编程软件STEP 7-M icro/W IN(V4.0及以上)支持配方功能,它的配方向导用于在存储卡中创建、修改配方和配方集。
图1所示为某饼干生产线的电气接线示意,其中内存盒的选型如表1所示。
图1 饼干生产线配方使用的电气接线
表1 内存盒的选型
通常采用“配方向导”来创建项目代码,并使用64千字节或256千字节永久性内存(EEPROM)盒中存储和获取配方数据,需要注意的是:对配方向导和存储卡的支持只有S7-200 CPU 222、CPU 224、CPU 226第2.0版以上。
“配方”的编程步骤如下:
(1)在编程软件中执行菜单命令“工具→配方向导”,打开如图2所示的配方向导,可以定义和生成配方,如图3所示。
图3 配方向导简介
(2)定义配方
在图4所示的配方定义表中,用鼠标点击“域名”(Field Name)列中的一个单元,然后编辑该域名,每个域名都将成为名为RCPx_SYM(x是配方集的编号)的符号表中的符号名。用下拉式列表选择变量的数据类型,输入变量的默认值和注释。所有的新配方将用这些默认值作为初值。最多可以定义4个配方,即最多可以有4个配方集,每个配方集内配方的个数只受存储卡容量的限制。
图4 配方定义
(3)创建和编辑配方
在创建和编辑配方对话框中,按“新”按钮后,在图5所示的配方表中,将会出现一个白色背景的可编辑的新配方列。该列中同时出现定义配方时设置的默认值,应根据产品的实际情况来修改默认值,以创建新的配方。可以修改列标题中配方的名称,例如 “苏打饼干”。选中某一列的配方后,可以删除它,或将它的参数设置为默认值。
图5 饼干生产线的配方定义
(4)分配V存储区
如图6所示,用户可以选择V存储区中的起始地址,也可以使用配方向导推荐的地址,单击“建议地址”按钮,推荐的地址将会根据配方的字节长度递增。
图6 分配V存储区
(5)项目组件
配方向导将会为新的配方生成项目组件,包括符号表、数据块、读/写配方的子程序和存储卡数据,用户程序可以使用这些组件,用配方的符号名读取配方数据。必须将带有配方向导配置的项目下载至PLC才能使用它们。下载时必须在下载对话框中选中“配方”选项,将配方数据载入存储卡。
(6)在用户程序中读出和修改配方
在用户程序中可以调用配方向导创建的子程序,RCPx_Read(x=0~3)将配方从存储卡传送到V存储区,如图7所示,RCPx_W rite用指定的V存储区中的配方数据替代存储卡中的配方,如图8所示。配方向导创建的子程序在指令树的“指令调用子例行程序”文件夹中。
图7 读配方指令
图8 写配方指令
(7)饼干生产线主程序
如图9所示为饼干生产线主程序示意。
图9 主程序
从主程序中可以看出,指令框中的Rcp输入端是配方的编号,数据类型为Wo rd,可以使用配方的符号名,例如“甜饼干”。字节Error是输出端返回的执行结果,无错误时为0,访问存储卡失败为132。
将主程序写入主程序OB1,将程序块、数据块和配方下载到CPU,切换到RUN模式。
对于食品厂饼干生产线来说,当用户程序处理一条配方时,该条配方被读入PLC的存储区。例如:如果生产饼干的话,会有很多种饼干的配方,巧克力夹心饼干、甜饼干和麦片饼干。但在同一时间只能生产一种饼干,因而必须选择合适的配方读入PLC的存储区。
[1] 李方园. 自动化综合实训教程[M]. 北京: 科学出版社, 2011.
[2] 李方园. 零起点学西门子S7-200 PLC[M]. 北京: 机械工业出版社, 2012.