VisualHMI - 配方应用
什么是配方?
在工控行业, 配方常用于以下两种场景:
- 不同的产品在工艺、 制作流程, 使用不同的参数;
- 在制作一种产品过程中, 有很多流程, 每个步骤都是有不同的参数;
使用范围:VisualHMI - HMI&M系列
1. 配方设置
1.1.属性说明
点击工程→配方设置,进入配方设置界面,目前只支持10个不同类型的配方,如下所示
- 配方名称:当前配方的名称备注,可不填;
- 配方成分数:当前配方中成分参数的个数,最大支持2000个成分参数;
- 数据类型:支持UINT16、INT16、UINT32、INT32、UINT64、INT64、FLOAT、DOUBLE,一共8种数据类型;
- 配方记录数:当前配方的记录数量,最大支持1000条记录;
- 配方记录名称:关联标签,每一个名称用“;”分割,如 配方1;配方2;配方3;配方4;配方5;配方6;
- 可修改名称:√
- 名称长度:N字节,一个配方所占用的字节长度
- 配方记录数据:根据配方记录数,可对每条记录的各个成分设置数值;如下所示
- 配方索引地址:配方记录控制地址,通过修改该索引地址的数值,对应记录的成分数据就在该索引地址后面;
- 如配方成分数6,配方名称16个字节,如下所示
索引 | 参数0 | 参数1 | 参数2 | 参数3 | 参数4 | 参数5 | 名称 |
---|---|---|---|---|---|---|---|
LW1200 | LW1201 | LW1202 | LW1203 | LW1204 | LW1205 | LW1206 | LW1207~LW120E |
7 .配方写PLC地址:目标设备的地址;,可以将配方内容往这个起始地址写数据连续数据;
- 索引改变时写入:配方成分发生变化时是否自动下发指令;
8 .配方控制地址:写1表示将配方写入PLC地址,写2表示修改当前的配方记录并保存,写3保存配方文件,4删除当前选中行,5修改配方文件参数不保存复位
9 .启用:勾选后才能启用该配方。
2.应用
2.1.开启配方
点击工程→配方设置,进入配方设置界面,如下所示
配方名称:test;
配方成分数:6个参数;
- 数据类型:INT16
配方记录数:6组参数,索引0~5;
配方记录名称:$text1。每一个名称用“;”分割,如 配方1;配方2;配方3;配方4;配方5;配方6;
- 可修改名称:√
- 名称长度:16个
配方记录数据:设置初始化默认值如下所示:
配方索引地址:LW1200
配方控制地址:LW1400
每次修改配方索引,底层会自动读取一次配方文件,将对应的配方索引的内容加载出来。
- 索引改变时写入:配方成分发生变化时是否自动下发指令;
8 .配方控制地址:LW1300
9 .启用:√
2.2.配方选择
2.2.1.画面配置
添加一个文本控件,用于显示配方名称,配置如下所示:
- 读取地址:LW1207(和配方设置的“配方索引地址对应,具体计算可参考上文)
- 最大长度:16
- 编码:GBK
- 高低字节互换:√
添加两个字设置按钮,用于配方切换,控制配方索引变化。当切换不同的索引,底层会自动读取配方文件,将对应索引的数据内容,刷新到关联对应数据地址的控件上,配置如下所示:
写入地址:LW1200(和配方设置的“配方索引地址对应,具体计算可参考上文)
操作模式:递减/递增
步长:1
最小值:0
最大值:5
循环调节:√
2.2.2.运行预览
运行虚拟屏,点击“+”、“-”切换不同的配方数据和名称,如下所示
2.3.配方保存
2.3.1.画面配置
添加两个字设置按钮,用于配方控制,用于保存,配置下所示:
写入地址:LW1300(和配方控制地址对应)
操作模式:写入常量
- 常量值:2-保存到配方文件
添加6个数值控件,用于显示配方的参数,以第一个参数"温度"为例,配置下所示:
启用输入
读取地址:LW1201(配方设置的“配方索引地址对应)
键盘类型:弹出键盘
键盘画面:元件上侧
- 键盘初始值:无
- 数量类型:INT16(和配方设置的“数据类型对应)
- 附加单位:℃
若需要边修改边保存配方,在LUA脚本判断对应寄存器触发,并给“配方控制地址”写1,详细参考VisualHMI - LUA 配方应用(点击跳转)
function on_update(slave,vtype,addr)
if vtype == VT_LW
then
if addr >= 0x1201 and addr <= 0x1206--配方数据寄存器
then
set_uint16(VT_LW, 0x1300, 2)--将配方控制地址写为2
update_system()--立刻写入系统参数
end
end
end
2.3.2.运行预览
运行虚拟屏,如修改温度LW1201寄存器262→123,在操作配方索引1→2→1,温度值变回262。由于修改参数后,没有进行保存操作,切换配方索引时,底层会读配方文件,加载对应的配方索引数据内容。若修改参数后保存,即写到配方文件,当切换索引时候,数据为保存后的参数
2.3.写入PLC
常见将配方的数据下发写入PLC,可以“配方控制地址 - 写1”写入或者索引改变时写入。本章节主要介绍配方控制地址写入方式
[!note|tip:注意] 特殊情况下:PLC的地址不连续,需要在LUA脚本读出对应索引的配方值,在单独写入对应的PLC寄存器。详细参考VisualHMI - LUA 配方应用(点击跳转)
2.3.1.画面配置
画面中添加一个字设置按钮,用于触发下发写入PLC,控件配置如下所示:
写入地址:LW1300(和配方控制地址对应)
操作模式:写入常量
- 常量值:1-下发PLC
2.3.2.运行预览
运行虚拟屏,点击“写入PLC”,屏幕将LW1201~LW1206寄存器的值,下发到PLC寄存器LW1400~LW1405,运行效果如下所示
2.4.配方文件显示
配方文件可以显示在数据记录控件显示在表格上,可以拖动滚动条查看,以及直接编辑表格修改配方内容。
2.4.1.工程配置
“数据记录控件”配置如下所示
数据源:配方数据;
配方数据索引:[0]test
直接编辑配方
通道数:6;
自动列数:口
- 固定列数:2;左右拖动的时候,配方的名称、表格序号固定不动;
显示滚动条:√
手势滑动:√
读取地址:LW1201(配方索引地址 + 1为首个配方成分参数地址);
- 选中行通知:寄存器地址LW1000;
2.4.2.运行预览
运行虚拟屏,数据记录控件显示配方的数据,通过滚动条拖到,可查看具体的数值,如下所示:
2.5.配方文件修改
2.5.1.工程配置
画面中添加一个字设置按钮,用于编辑表格后,保存配方,配置如下所示:
写入地址:LW1300(和配方控制地址对应)
操作模式:写入常量
- 常量值:3
画面中添加一个功能按钮,用于退出编辑界面,“且在编辑表格不保存,退出时恢复修改前的参数值”,配置如下所示:
按钮用途:切换画面
通知功能:√
通知地址:LW1300
协值:5
v
2.5.2.运行预览
配方文件保存,工程编译下载到实体屏后。如编辑第一个条配方数据,保存后。切换配方索引,重新加载配方数据,配方1数据刷新,如下所示
配方文件修改后,不保存返回:工程编译下载到实体屏后。如编辑第一个条配方数据返回,仍显示编辑前的数据,如下所示