
#include "apdefap.h"
void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)
{
float a,c,e,g,i,k,m;
unsigned long b,d,f,h,j,l,n;
switch ( GetTagWord("recipe-number" ))
{
case 1 :
a=GetTagFloat("r1-1");
SetTagFloat("db58-stat1",a);
b=GetTagDWord("r1-2");
SetTagDWord("db23-stat10",b);
c=GetTagFloat("r1-3");
SetTagFloat("db58-stat2",c);
d=GetTagDWord("r1-4");
SetTagDWord("db24-stat10",d);
e=GetTagFloat("r1-5");
SetTagFloat("db58-stat3",e);
f=GetTagDWord("r1-6");
SetTagDWord("db25-stat10",f);
g=GetTagFloat("r1-7");
SetTagFloat("db58-stat4",g);
h=GetTagDWord("r1-8");
SetTagDWord("db26-stat10",h);
i=GetTagFloat("r1-9");
SetTagFloat("db58-stat5",i);
j=GetTagDWord("r1-10");
SetTagDWord("db27-stat10",j);
k=GetTagFloat("r1-11");
SetTagFloat("db58-stat6",k);
l=GetTagDWord("r1-12");
SetTagDWord("db28-stat10",l);
m=GetTagFloat("r1-13");
SetTagFloat("db58-stat7",m);
n=GetTagDWord("r1-14");
SetTagDWord("db29-stat10",n);
break;
case 2 :
a=GetTagFloat("r2-1");
SetTagFloat("db58-stat1",a);
b=GetTagDWord("r2-2");
SetTagDWord("db23-stat10",b);
c=GetTagFloat("r2-3");
SetTagFloat("db58-stat2",c);
d=GetTagDWord("r2-4");
SetTagDWord("db24-stat10",d);
e=GetTagFloat("r2-5");
SetTagFloat("db58-stat3",e);
f=GetTagDWord("r2-6");
SetTagDWord("db25-stat10",f);
g=GetTagFloat("r2-7");
SetTagFloat("db58-stat4",g);
h=GetTagDWord("r2-8");
SetTagDWord("db26-stat10",h);
i=GetTagFloat("r2-9");
SetTagFloat("db58-stat5",i);
j=GetTagDWord("r2-10");
SetTagDWord("db27-stat10",j);
k=GetTagFloat("r2-11");
SetTagFloat("db58-stat6",k);
l=GetTagDWord("r2-12");
SetTagDWord("db28-stat10",l);
m=GetTagFloat("r2-13");
SetTagFloat("db58-stat7",m);
n=GetTagDWord("r2-14");
SetTagDWord("db29-stat10",n);
break;
case 3 :
a=GetTagFloat("r3-1");
SetTagFloat("db58-stat1",a);
b=GetTagDWord("r3-2");
SetTagDWord("db23-stat10",b);
c=GetTagFloat("r3-3");
SetTagFloat("db58-stat2",c);
d=GetTagDWord("r3-4");
SetTagDWord("db24-stat10",d);
e=GetTagFloat("r3-5");
SetTagFloat("db58-stat3",e);
f=GetTagDWord("r3-6");
SetTagDWord("db25-stat10",f);
g=GetTagFloat("r3-7");
SetTagFloat("db58-stat4",g);
h=GetTagDWord("r3-8");
SetTagDWord("db26-stat10",h);
i=GetTagFloat("r3-9");
SetTagFloat("db58-stat5",i);
j=GetTagDWord("r3-10");
SetTagDWord("db27-stat10",j);
k=GetTagFloat("r3-11");
SetTagFloat("db58-stat6",k);
l=GetTagDWord("r3-12");
SetTagDWord("db28-stat10",l);
m=GetTagFloat("r3-13");
SetTagFloat("db58-stat7",m);
n=GetTagDWord("r3-14");
SetTagDWord("db29-stat10",n);
break;
...
...
}
}
case 1 2 3...20表示每种配方,20种配方280个变量实际只用到14个外部变量 脚本用“确定”按钮触发
操作步骤:1.在1~20行种输入需要的每种用于生产的对应配方参数
2.生产时,选择recipe No(即需要生产的配方号)
3.确认所选择配方无误后点击“确认”键将所选择的配方号对应的配方参数整体传送给PLC
考虑到用外部变量浪费掉过多的外部点数,操作灵活性差,无法实现整体确认输入到PLC,所以运用内部变量+脚本系统来实现。
做了两个项目了,目前客户对这种做配方的方法还算满意
如果大家有更好的做配方方法还请分享讨论