ImageVerifierCode 换一换
格式:DOC , 页数:9 ,大小:54.50KB ,
资源ID:5660199      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-5660199.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(威纶通配方——宏指令.doc)为本站会员(weiwoduzun)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

威纶通配方——宏指令.doc

1、/*行号刷新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=arra

2、y6+1array8=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

3、, 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 1 GetData(temp0, “本机触摸屏“, RW, var, 5)/遍历每

4、一行的配方名if name0=temp0 and name1=temp1 and name2=temp2 and name3=temp3 and name4=temp4 then flag=trueSetData(flag, “本机触摸屏“, LB, 21, 1)/若有重名则跳出“警告”框,提示该配方已存在 elsevar=var+70/否则开始查询下一行 end if next i/遍历所有行未找到匹配值,就将配方名和数据保存在数据表中if flag=false then var=0var=70*CurtLine /当前行的索引量SetData(name0, “本机触摸屏“, RW, var

5、, 5)/将 LW0中的配方名保存至新地址 RW(0+var)中SetData(data0, “本机触摸屏“, RW, 5+var, 65)/将DT32700中连续的 65个数据保存在 RW(5+var)65个连续的地址中/下面程序是实现数据表行数增加if CurtLine100 thenNextLine=CurtLine+1index=(NextLine/10)*700 SetData(NextLine, “本机触摸屏“, RW, 8000, 1)SetData(index, “本机触摸屏“, LW, 9000, 1)flag=trueSetData(flag, “本机触摸屏“, LB, 4

6、, 1)end if end if end ifFILL(name0, 0, 5)SetData(name0, “本机触摸屏“, LW, 0, 5)/清空 LW0的值,即清空输入的配方名 SetData(OFF, “本机触摸屏“, LB, 0, 1) /清零宏指令触发位 end macro_command/*调用aquire*/macro_command main() short name5,temp5/定义两个数组,name5用于获取输入配方名,temp5用于获取某一行的配方名short i,index,var=0,Data65/数组 b80用于获取某一行的存储数据bool ON=true,

7、OFF,flag=falseGetData(name0, “本机触摸屏“, LW, 0, 5)/获取输入的配方名/下面程序用于查找与输入的配方名匹配的数据,并将数据下载至 PLC中for i=0 to 99 step 1 GetData(temp0, “本机触摸屏“, RW, var, 5) /查询存储的配方名if name0=temp0 and name1=temp1 and name2=temp2 and name3=temp3 and name4=temp4 thenflag=trueGetData(Data0, “本机触摸屏“, RW, 5+var, 65) /获取匹配行的存储数据 S

8、etData(Data0, “Panasonic FP“, DT, 32700, 65) /将查找到的数据传给下位机else var=var+70 /下一个配方名地址 end if next 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_comman

9、d 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的值,即要删除的配方名/查找要删除的记录,并将

10、其删除for i=0 to MaxLine step 1 GetData(check0, “本机触摸屏“, RW, var, 5)/查找匹配的配方名if name0=check0 and name1=check1 and name2=check2 and name3=check3 and name4=check4 thenflag=true /找到后置位标志位CurtLine=i /记录匹配配方名所在行CurtAddress=var /记录匹配配方名的地址MoveTime=MaxLine-CurtLine-1 /要移动的次数/下面程序执行数据覆盖操作for j=1 to MoveTime st

11、ep 1 NextAddress=CurtAddress+70 /记录下一条数据位置GetData(c0, “本机触摸屏“, RW, NextAddress, 70) /下一条数据记录覆盖当前记录SetData(c0, “本机触摸屏“, RW, CurtAddress, 70)CurtAddress=NextAddress /移动一次后下一地址变为当前地址next j /进行下一次数据覆盖/最后一行清零SetData(clear0, “本机触摸屏“, RW, CurtAddress, 70)/所有数据覆盖后,当前地址已经是最后一行起始地址/下面程序实现数据表行数减少 MaxLine=MaxLi

12、ne-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的值,即清

13、空输入的配方名 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()sh

14、ort indexbool ON=trueGetData(index, “本机触摸屏“, LW, 9000, 1)if index=6300 thenSetData(ON, “本机触摸屏“, LB, 24, 1)end ifSetData(ON, “本机触摸屏“, LB, 4, 1) end macro_command/*行号初始化Initial*/macro_command main()short array10=1,2,3,4,5,6,7,8,9,10bool OFF=falseSetData(array0, “本机触摸屏“, RW, 7800, 10)SetData(OFF, “本机触摸屏“, LB, 9000, 1)end macro_command

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报