客户选用西门子Line V5精简屏,经济实惠。
屏内做了配方功能,应客户要求,将当前配方名称显示到主页上。
如下图

主页放置一个IO域,用以显示当前所选配方名称。过程变量设一个数据类型String的内部变量命名为”当前配方名称“的变量,用以显示当前所选配方。
见下图

然后在配方页面再,属性常规页内”数据记录下“变量指向此”当前配方名称“变量。这样每次选中一个配方时在主页就能同步显示当前所选择的配方名称。

可是在实际使用中,却发现每次断电后再开机,已选中的配方名没有显示,一片空白,每次都要重新选中一下配方才能在配方名中显示,这样客户很是不满。
多方搜集,终于找到一个办法,每次选中一个配方时,配方名保存到”当前配方名称“中时同时再把这个配方名称保存到PLC的掉电寄存器中,屏下次通电时先把PLC中保存的配方名写入到”当前配方名称“中去显示出来,这样就能完美解决每次通电不能显示配方名的问题了,试用一个多月,客户比较满意。
下面是具体实现过程:
创建两个脚本用于保存”当前配方名称“和调取并写入”当前配方名称“。
第一个脚本用于保存”当前配方名称“到PLC内,变量任意命名,我这里命名的是"配方名称存PLC",关联到PLC掉电保持寄存器VB3050,数据类型选String。
第二个脚本用于屏启动时,将PLC内VB3050对应的变量"配方名称存PLC"写入到屏变量”当前配方名称“中去,用以显示关机前选择的配方名。
然后在配方页面属性内添加一个清除函数,调用保存配方名到PLC的脚本,当配方页面关闭时就会将当前配方名称保存到PLC中去。
然后再在屏起始画面(我用的是登录页面即起始页面),添加一个加载事件函数,调用将PLC中保存的配方名写入到屏配方名显示变量的脚本,这样当屏启动时就会把PLC中关机前保存的配方名读取到屏配方名称显示框中去,完美解决屏不能掉电保存配方名的问题。