1.一个存储所有配方记录的配方数据块。配方数据块存储在装载存储器中。
2.在工作存储器中存储一个配方副本的活动配方数据块。
有关配方数据块和相应 CSV 文件的详细信息,请参见“配方数据块实例 ”
创建活动配方数据块
1.在“添加新块”(Add new block) 窗口中:
2.在“添加新块”(Add new block) 窗口中,选择“数据块”(Data block)按钮
3.在“类型”(Type) 下拉菜单中,选择您先前创建的“Beer_recipe”PLC数据类型。
不需要起始值。在将一个配方从配方数据块传送到活动配方数据块时,数据块数据值将置位。在本实例中,活动配方数据块是 READ_DBL 的目标数据并为 WRITE_DBL 提供源数据。下图显示 Active_Recipe 数据块。
背景数据块
指令 RecipeExport ("RecipeExport_DB") 和 RecipeImport ("RecipeImport_DB") 使用的背景数据块是在将指令置于程序中时自动创建的。 背景数据块用于控制指令的执行,不在程序逻辑中引用。
示例配方程序
程序段1REQ 上升沿启动导出过程。CSV 文件由配方数据块数据生成并被置于 CPU存储器配方文件夹。
程序段2捕获 RecipeExport 执行的 STATUS输出,考虑到该指令仅在一个扫描周期内有效。
程序段3REQ 上升沿启动导入过程。 现有配方数据块载入读取自 CPU存储器配方文件夹的相应 CSV 文件中的所有配方数据。
程序段4捕获 RecipeImport 执行的 STATUS输出,考虑到该指令仅在一个扫描周期内有效。
程序5READ_DBL 从配方“Recipe_DB”中复制起始值。 结果值[1](在 CPU 的装载存储器中)至 Active_Recipe DB 的当前值(在 CPU 的工作内存中)。READ_DBL 执行后,程序逻辑通过在 Active_Recipe 数据块中寻址可以访问配方成分值。
例如,符号地址 ("Active_Recipe".productname) 和 ("Active_Recipe.water) 为程序逻辑提供当前配方名称和用水量。
程序段6运行期间,HMI 设备可以修改 Active_Recipe 数据块中存储的成分值。可以通过执行 WRIT_DBL 存储改进的配方数据。 本例中, Recipe_DB 的全部起始值都用于这一个配方 "Recipe_DB"。 结果值 [1] 被 "Active_Recipe" 数据块中的当前值覆盖。
系统启动后,配料装置能自动识别货车到位情况及对货车进行自动配料,当车装满时,配料系统能自动关闭.工作过程
(1)出使状态
系统启动后,红灯L2灭,绿灯L1亮,表明允许汽车开进装料,料斗出料口D2关闭,若料位传感器S1置为OFF(料斗中的料物不满),进料阀开启进料(D4亮),当S1置为ON(料斗中的物料已满),则停止进料(D4)灭,电动机M1,M2,M3和M4均为OFF
(2)装车控制
装车过程中,当汽车开进装车位置时,限位开关SQ1置为ON,红灯信号灯L2亮,绿灯L1灭.同时启动电机M4.经过2S后,再启动M3,再经过2S后启动M2,在经过2S最后启动M1,再经过2S后才打开出料阀(D2亮),物料经料斗出料.
当车装满时,限位开关SQ2为ON,料斗关闭,2S后M1停止,M2在M1停止2S后停止.M3在M2停止2S后停止,M4在M3停止2S后最后停止,同时红灯L2灭,绿灯L1亮,表明汽车可以开走.
(3)停机控制
按下停止按纽SB2,自动配料装车的整个系统终止运行.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)