土木在线论坛 \ 电气工程 \ 电气资料库 \ S7-1200/1500配方实例,电气人不看就亏了~

S7-1200/1500配方实例,电气人不看就亏了~

发布于:2022-03-31 14:21:31 来自:电气工程/电气资料库 [复制转发]

 下面列出了配方示例程序的先决条件:下面列出了配方示例程序的先决条件:


一个存储所有配方记录的配方数据块。配方数据块存储在装载存储器中。在工作存储器中存储一个配方副本的活动配方数据块。


01
创建活动配方数据块  


在“添加新块”(Add new block) 窗口中,选择“数据块”(Data block)按钮,在“类型”(Type) 下拉菜单中,选择您先前创建的“Beer_recipe”PLC数据类型。不需要起始值。在将一个配方从配方数据块传送到活动配方数据块时,数据块数据值将置位。在本实例中,活动配方数据块是 READ_DBL 的目标数据并为 WRITE_DBL 提供源数据。下图显示 Active_Recipe 数据块。


   

▲ 背景数据块


指令RecipeExport ("RecipeExport_DB") 和RecipeImport ("RecipeImport_DB") 使用的背景数据块是在将指令置于程序中时自动创建的。 背景数据块用于控制指令的执行,不在程序逻辑中引用。

02
示例配方程序  

程序段 1 REQ 上升沿启动导出过程。CSV 文件由配方数据块数据生成并被置于 CPU存储器配方文件夹。


   


程序段 2 捕获 RecipeExport 执行的 STATUS输出,考虑到该指令仅在一个扫描周期内有效。


   



程序段 3 REQ 上升沿启动导入过程。 现有配方数据块载入读取自 CPU存储器配方文件夹的相应 CSV 文件中的所有配方数据。



   


程序段 4 捕获 RecipeImport 执行的 STATUS输出,考虑到该指令仅在一个扫描周期内有效。


   


程序 5 READ_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" 数据块中的当前值覆盖。


   


全部回复(0 )

只看楼主 我来说两句抢沙发
这个家伙什么也没有留下。。。

电气资料库

返回版块

70.11 万条内容 · 716 人订阅

猜你喜欢

阅读下一篇

80%的电工看了这篇空开故障文章,都默默点了收藏

 很多人遇到过空开故障引起的问题,那该如何判断空开故障的原因?该怎么解决空开故障?依据什么原则选择空开的大小呢? 配电通接下来会通过几个经典案例,教大家如何解决常见的空气开关问题。 1 案例回放: 王先生家里常使用的大功率电器有浴霸、热水器、电磁炉、洗衣机、抽油烟机等,但是家里的空气开关频繁跳闸,针对这种情况,王先生应该选用多大的空开?

回帖成功

经验值 +10