1:虽然smart HMI自带配方功能,但是实际使用起来非常麻烦,变量一多更是灾难,所有数据只能放在配方框内,配方数据单独想放在其他位置都会编译报错。难观察,操作麻烦,所以想用PLC实现配方功能。原先的设置参数设置画面不用任何修改,且操作简单。
2:思路就是用PLC的区域传送指令将一整段参数区整体传送。首先定义掉电保持的数据区域,4个配方就要总共5段掉电保持区域。HMI的设置变量也就是实际使用的变量,500个字节。配方也是500个字节四组共2000个字节。如下图所示。注意:不同PLC的V区也不同见最后说明。
![](/club/bbs/upload/image/20230908/6382976465006800989786435.PNG)
3:配方调用程序,主要就三步。
(一) 选择配方号,将一组配方的首个地址写入指针。使用指针只需要一段传送数据程序,后续增加配方也只要增加配方的首个地址。
![](/club/bbs/upload/image/20230908/6382976464273639566792114.png)
(二) 触发写入将HMI设置参数传给对应一组配方,触发读取将对应一组配方传给HMI设置参数。VD500就是HMI画面的设置参数。下方的125个双字DW就是要传送VB500到VB999这500个字节。右侧指针的数据是根据上面选择的配方来定,如果配方号是1,指针的地址就是10000。触发写入配,就会将VB500到VB999的数据整体传送给VB10000到VB10499。方反之同理。
![](/club/bbs/upload/image/20230908/6382976470587195797673738.png)
(三) 显示配方状态信息。这项可以忽略,主要可以配合HMI的文本列表显示当前操作。
![](/club/bbs/upload/image/20230908/6382976479227652734809018.png)
![](/club/bbs/upload/image/20230908/6382976480631513169384514.png)
(四)引脚说明。也可以不用引脚,主要是HMI使用的变量。很简单,两个按钮,写入和读取配方。一个输入框,选择配方号。一个显示框,配方状态。
![](/club/bbs/upload/image/20230908/6382976478508979667772420.PNG)
4:其他说明。注意最下面一行PLC的V区范围。
![](/club/bbs/upload/image/20230908/6382976485172710872578858.png)