确定后,就可以得到活动配方数据块,该块只由一组配方组成,如图5所示。
图5.活动配方数据块
注意,因为指令“READ_DBL”和“WRIT_DBL”的缘故,要求活动配方数据块与配方数据块的优化属性必须相同,即都是优化数据块,或者是非优化数据块。
将此DB块作为连接工作存储器与装载存储器中配方数据的关键接口,使用“WRIT_DBL”指令可即时将当前活动的配方数据从工作区写入到装载区的配方DB块中,“READ_DBL”指令则能迅速从装载区读取配方数据至工作区的活动配方DB块,实现配方数据的动态读写操作。
4. 导出配方数据块
S7-1200V4.0及以上版本的CPU支持RecipeExport与RecipeImport指令,方便地将配方数据块导入导出,便于通过EXCEL或ASCII编辑器等电脑工具进行灵活编辑与管理。
对于S7-1200V4.0之前的版本,用户通常需直接在配方数据块中设置初始配方值,可跳过部分步骤直接操作。在本例中,若需在编程中调用RecipeExport或RecipeImport功能,建议先创建一个DB块(如"DB3_操作"),其中定义必要的结构体(如"Export")及请求、状态等变量,以支持这些操作的调用。调用可在主程序OB1中通过LAD实现,亦可在FC/FB或FB的多重背景中灵活使用,编程语言则不限于LAD,FBD、SCL亦可,如图6所示。
图6. 建立结构体
在 OB1 调用RecipeExport,以及捕捉是否完成及错误代码等程序,如图7所示。
图7.调用RecipeExport指令
5. 配方csv文件的导入和导出
通过Web服务器或存储卡,用户可轻松实现CSV文件的导入导出,进而在Excel等电脑上的软件中便捷地编辑配方数据。