威纶通配方——宏指令_第1页
威纶通配方——宏指令_第2页
威纶通配方——宏指令_第3页
威纶通配方——宏指令_第4页
威纶通配方——宏指令_第5页
免费预览已结束,剩余10页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

/*行号刷新number*/macro_command main()short index,array10/数组 array10 是存放行号的数组bool off=false,on=truegetdata(index, 本机触摸屏 , lw, 9000, 1)/a用于提取索引寄存器的当前值array0=1+index/70/索引寄存器的值以700 的倍数递增,即以当前页面中占用地址总数为基数array1=array0+1array2=array1+1array3=array2+1array4=array3+1array5=array4+1array6=array5+1array7=array6+1精品资料array8=array7+1array9=array8+1setdata(array0, 本机触摸屏 , rw, 7800, 10) /rw7800rw7809中存放行号setdata(off, 本 机 触 摸 屏 ,lb,4,1)/清 零 宏 指 令 触 发位end macro_command/*新增add*/macro_command main()short name5,temp5,data65short i,var=0,curtline=0,index=0,nextline=0bool off=false,flag=falsegetdata(curtline, 本机触摸屏 , rw, 8000, 1)/获取 rw8000的值,即保存的行数getdata(name0, 本机触摸屏 ,lw,0,5)/ 获取 lw0的值,即输入的配方名getdata(data0, panasonic fp, dt, 32700, 65)/获取当前 hmi 的数据输入值/判断数据表是否填满 ,若未填满,则判断是否有重名if curtline=100 thenflag=truesetdata(flag, 本机触摸屏 , lb, 22, 1)else/判断是否有重名for i=0 to 99 step 1getdata(temp0, 本机触摸屏 ,rw,var,5)/遍历每一行的配方名ifname0=temp0andname1=temp1 andname2=temp2andname3=temp3and name4=temp4thenflag=truesetdata(flag, 本机触摸屏 , lb, 21, 1)/ 若 有 重 名 则 跳 出 “警 告 ”框 , 提 示 该 配 方 已 存在elsevar=var+70/否 则 开 始 查 询 下 一行endifnext i/遍历所有行未找到匹配值,就将配方名和数据保存在数据表中if flag=false thenvar=0var=70*curtline/当前行的索引量setdata(name0, 本机触摸屏 , rw,var, 5)/将 lw0 中的配方名保存至新地址rw(0+var) 中setdata(data0, 本机触摸 屏,rw,5+var, 65)/ 将 dt32700 中连续的 65 个数据保存在 rw(5+var)65个连续的地址中/下面程序是实现数据表行数增加if curtline100 thennextline=curtline+1index=(nextline/10)*700setdata(nextline, 本机触摸屏, rw, 8000, 1)setdata(index, 本机触摸屏 ,lw, 9000, 1)flag=truesetdata(flag, 本机触摸屏 , lb,4, 1)end ifend ifend iffill(name0, 0, 5)setdata(name0, 本机触摸屏 , lw, 0, 5)/ 清空 lw0 的值,即清空输入的配方名setdata(off, 本机触摸屏 , lb, 0, 1)/清零宏指令触发位end macro_command/*调用aquire*/macro_command main()shortname5,temp5/ 定义两个数组, name5 用于获取输入配方名,temp5用于获取某一行的配方名short i,index,var=0,data65/数组 b80 用于获取某一行的存储数据bool on=true,off,flag=falsegetdata(name0, 本机触摸屏 , lw, 0, 5)/ 获取输入的配方名/下面程序用于查找与输入的配方名匹配的数据,并将数据下载至plc 中for i=0 to 99 step 1getdata(temp0,本机触摸屏 , rw,var,5)/查询存储的配方名if name0=temp0 and name1=temp1 and name2=temp2 and name3=temp3 and name4=temp4thenflag=truegetdata(data0, 本机触摸屏,rw,5+var,65)/获取匹配行的存储数据setdata(data0, panasonic fp, dt, 32700,65)/将查找到的数据传给下位机elsevar=var+70 / 下一个配方名地址end ifnext iif flag=false thensetdata(on, 本机触摸屏 , lb, 20, 1)end iffill(name0, 0, 5)setdata(name0, 本机触摸屏 , lw, 0, 5)/ 清空 lw0 的值,即清空输入的配方名setdata(off, 本机触摸屏 , lb, 1, 1)/ 清零宏指令触发位end macro_command/*删除del*/macro_command main()short i=0,j=0,var=0short maxline=0,curtline=0,movetime=0,index=0,curtaddress=0,nextaddress=0short c70,name5,clear70,check5bool zero=0,on=true,off,flag=false/获取相应操作数fill(clear0,0,70)getdata(maxline,本机触摸屏 , rw,8000,1)/获取数据表大小getdata(name0, 本机触摸屏 , lw, 0, 5)/ 获取 lw0 的值,即要删除的配方名/查找要删除的记录,并将其删除for i=0 to maxline step 1getdata(check0, 本机触摸屏 , rw, var, 5)/ 查找匹配的配方名if name0=check0andname1=check1and name2=check2 and name3=check3 and name4=check4thenflag=true/找到后置位标志位curtline=i/记录匹配配方名所在行curtaddress=var/记录匹配配方名的地址movetime=maxline-curtline-1/要移动的次数/下面程序执行数据覆盖操作forj=1tomovetimestep1nextaddress=curtaddress+70/记录下一条数据位置getdata(c0, 本 机 触 摸 屏 ,rw, nextaddress, 70)/下一条数据记录覆盖当前记录setdata(c0, 本机触摸屏,rw,curtaddress, 70)curtaddress=nextaddress/移动一次后下一地址变为当前地址next j/进行下一次数据覆盖/最后一行清零setdata(clear0,本机触摸屏 , rw,curtaddress, 70)/ 所有数据覆盖后,当前地址已经是最后一行起始地址/下面程序实现数据表行数减少maxline=maxline-1index=(curtaddress/700)*700setdata(maxline, 本机触摸屏 , rw, 8000, 1)setdata(index, 本机触摸屏 , lw, 9000, 1)setdata(on, 本机触摸屏 , lb, 4, 1)elsevar=var+70end ifnext i/若找不到匹配的配方记录,则报警提示if flag=false thensetdata(on, 本机触摸屏 , lb, 20, 1)end iffill(name0, 0, 5)setdata(name0, 本机触摸屏 , lw, 0, 5)/ 清空 lw0 的值,即清空输入的配方名setdata(zero, 本机触摸屏 , lb, 3, 1)end macro_command/*首页minpage*/macro_command main()short indexbool on=truegetdata(index, 本机触摸屏 , lw, 9000, 1)/a用于提取索引寄存器的当前值if index=0 thensetdata(on, 本机触摸屏 , lb, 23, 1)end ifsetdata(on, 本机触摸屏 , lb, 4, 1)end macro_command/*尾页maxpage*/macro_command main()short indexbool on=truegetdata(index, 本机触摸屏 , lw, 9000, 1)if index=6300 thensetdata(on, 本机触摸屏 , lb, 24, 1)end ifsetdata(on, 本机触摸屏 , lb, 4, 1)end macro_com

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论