资源描述:
《威纶通配方——宏指令.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、/**********************************************************行号刷新——number**********************************************************/macro_commandmain()shortindex,array[10] //数组array[10]是存放行号的数组boolOFF=false,ON=true GetData(index,"本机触摸屏",LW,9000,1)//a用于提取索引寄存器的当前值 array[0]
2、=1+index/70 //索引寄存器的值以700的倍数递增,即以当前页面中占用地址总数为基数array[1]=array[0]+1array[2]=array[1]+1array[3]=array[2]+1array[4]=array[3]+1array[5]=array[4]+1array[6]=array[5]+1array[7]=array[6]+1array[8]=array[7]+1array[9]=array[8]+1SetData(array[0],"本机触摸屏",RW,7800,10)//RW7800~RW7809
3、中存放行号SetData(OFF,"本机触摸屏",LB,4,1)//清零宏指令触发位 endmacro_command /**********************************************************新增——add**********************************************************/macro_commandmain()shortname[5],temp[5],data[65]shorti,var=0,CurtLine=0,inde
4、x=0,NextLine=0boolOFF=false,flag=false GetData(CurtLine,"本机触摸屏",RW,8000,1) //获取RW8000的值,即保存的行数 GetData(name[0],"本机触摸屏",LW,0,5)//获取LW0的值,即输入的配方名 GetData(data[0],"PanasonicFP",DT,32700,65)//获取当前HMI的数据输入值 //判断数据表是否填满,若未填满,则判断是否有重名ifCurtLine==100then flag=true
5、 SetData(flag,"本机触摸屏",LB,22,1)else //判断是否有重名 fori=0to99step1 GetData(temp[0],"本机触摸屏",RW,var,5)//遍历每一行的配方名 ifname[0]==temp[0]andname[1]==temp[1]andname[2]==temp[2]andname[3]==temp[3]andname[4]==temp[4] then fl
6、ag=true SetData(flag,"本机触摸屏",LB,21,1)//若有重名则跳出“警告”框,提示该配方已存在 else var=var+70//否则开始查询下一行 endif nexti //遍历所有行未找到匹配值,就将配方名和数据保存在数据表中 i
7、fflag==falsethen var=0 var=70*CurtLine //当前行的索引量 SetData(name[0],"本机触摸屏",RW,var,5)//将LW0中的配方名保存至新地址RW(0+var)中 SetData(data[0],"本机触摸屏",RW,5+var,65)//将DT32700中连续的65个数据保存在RW(5+var)65个连续的地址中 //下面程序是实现数据表行数增加
8、 ifCurtLine<100then NextLine=CurtLine+1