




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、/st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*|*.|j_l11匚/ziIz_/rn11hjI-v-1iivnL-zx-i/-*JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*
2、JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*JL*/III111i1tiryyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy/macro_commandmain()shortindex,array10/數組array10是存放行號的數組boolOFF=false,ON=trueGetData(index,本機觸摸屏,LW,9000,1)/a用于提取索引寄存器的當前值array0=1+index/70/
3、索引寄存器的值以700的倍數遞增,即以當前頁面中占用地址總數為基數array1=array0+1array2=array1+1array3=array2+1array4=array3+1array5=array4+1array6=array5+1array7=array6+1array8=array7+1array9=array8+1SetData(array0,本機觸摸屏,RW,7800,10)/RW7800RW7809中存放行號SetData(OFF,本機觸摸屏,LB,4,1)/清零宏指令觸發(fā)位endmacro_command/7777777777777777777777777777777
4、777777777777777777777777777、【|r十1、1力r.y-Jz|*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*/H(1(/macro_commandmain()shortname5,temp5,data65shorti,var=0,CurtLine=0,index=0,NextLine=0boolOFF=false,flag=falseGetData(CurtLine,本機觸摸屏,RW,
5、8000,1)/獲取RW8000的值,即保存的行數GetData(name0,本機觸摸屏,LW,0,5)/獲取LW0的值,即輸入的配方名GetData(data0,PanasonicFP,DT,32700,65)/獲取當前HMI的數據輸入值/判斷數據表是否填滿,若未填滿,則判斷是否有重名ifCurtLine=100thenflag=trueSetData(flag,本機觸摸屏,LB,22,1)else/判斷是否有重名fori=0to99step1GetData(temp0,本機觸摸屏,RW,var,5)/遍歷每一行的配方名ifname0=temp0andname1=temp1andname2=
6、temp2andname3=temp3andname4=temp4thenflag=trueSetData(flag,本機觸摸屏,LB,21,1)/若有重名則跳出“警告”框,提示該配方已存在elsevar二var+70/否則開始查詢下一行endifnexti/遍歷所有行未找到匹配值,就將配方名和數據保存在數據表中ifflag=falsethenvar=0var=70*CurtLine/當前行的索引量SetData(name0,本機觸摸屏,RW,var,5)/將LW0中的配方名保存至新地址RW(O+var)中SetData(data0,本機觸摸屏,RW,5+var,65)/將DT32700中連續(xù)
7、的65個數據保存在RW(5+var)65個連續(xù)的地址中/下面程序是實現數據表行數增加ifCurtLine1OOthenNextLine=CurtLine+1index=(NextLine/1O)*7OOSetData(NextLine,本機觸摸屏,RW,8OOO,1)SetData(index,本機觸摸屏,LW,9000,1)flag=trueSetData(flag,本機觸摸屏,LB,4,1)endifendifendifFILL(name0,0,5)SetData(nameO,本機觸摸屏,LW,0,5)/清空LWO的值,即清空輸入的配方名SetData(OFF,本機觸摸屏,LB,0,1)/
8、清零宏指令觸發(fā)位endmacro_command/*調aquire*/macro_commandmain()shortname5,temp5/定義兩個數組,name5用于獲取輸入配方名,temp5用于獲取某一行的配方名shorti,index,var=O,Data65/數組b80用于獲取某一行的存儲數據boolON=true,OFF,flag=falseGetData(name0,本機觸摸屏,LW,0,5)/獲取輸入的配方名/下面程序用于查找與輸入的配方名匹配的數據,并將數據下載至PLC中fori=0to99step1GetData(temp0,本機觸摸屏,RW,var,5)/查詢存儲的配方名
9、ifname0=temp0andname1=temp1andname2=temp2andname3=temp3andname4=temp4thenflag=trueGetData(Data0,本機觸摸屏,RW,5+var,65)/獲取匹配行的存儲數據SetData(Data0,PanasonicFP,DT,32700,65)/將查找到的數據傳給下位機elsevar=var+70/下一個配方名地址endifnextiifflag=falsethenSetData(ON,本機觸摸屏,LB,20,1)endifFILL(name0,0,5)SetData(nameO,本機觸摸屏,LW,0,5)/清空
10、LWO的值,即清空輸入的配方名SetData(OFF,本機觸摸屏,LB,1,1)/清零宏指令觸發(fā)位endmacro_command/7777777777777777777777777777777777777777777777777777777777I.IKAr*/I|UI*zlzxIst*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st*st
11、*st*st*st*st*st*/macro_commandmain()shorti=0,j=0,var=0shortMaxLine=0,CurtLine=0,MoveTime=0,index=0,CurtAddress=0,NextAddress=0shortc70,name5,clear70,check5boolzero=0,ON=true,OFF,flag=false/獲取相應操作數FILL(clear0,0,70)GetData(MaxLine,本機觸摸屏,RW,8000,1)/獲取數據表大小GetData(nameO,本機觸摸屏,LW,0,5)/獲取LWO的值,即要刪除的配方名/查找
12、要刪除的記錄,并將其刪除fori=0toMaxLinestep1GetData(check0,本機觸摸屏,RW,var,5)/查找匹配的配方名ifname0=check0andname1=check1andname2=check2andname3=check3andname4=check4thenflag=true/找到后置位標志位CurtLine=i/記錄匹配配方名所在行CurtAddress=var/記錄匹配配方名的地址/要移動的次MoveTime=MaxLine-CurtLine-1/下面程序執(zhí)行數據覆蓋操作forj=1toMoveTimestep1NextAddress=CurtAdd
13、ress+70/記錄下一條數據位置GetData(c0,本機觸摸屏,RW,NextAddress,70)/下一條數據記錄覆蓋當前記錄SetData(c0,本機觸摸屏,RW,CurtAddress,70)CurtAddress=NextAddress/移動一次后下一地址變?yōu)楫斍暗刂穘extj/進行下一次數據覆蓋/最后一行清零SetData(clear0,本機觸摸屏,RW,CurtAddress,70)/所有數據覆蓋后,當前地址已經是最后一行起始地址/下面程序實現數據表行數減少MaxLine=MaxLine-1index=(CurtAddress/700)*700SetData(MaxLine,本
14、機觸摸屏,RW,8000,1)SetData(index,本機觸摸屏,LW,9000,1)SetData(ON,本機觸摸屏,LB,4,1)elsevar=var+70endifnexti/若找不到匹配的配方記錄,則報警提示ifflag=falsethenSetData(ON,本機觸摸屏,LB,20,1)endifFILL(name0,0,5)SetData(nameO,本機觸摸屏,LW,0,5)/清空LWO的值,即清空輸入的配方名SetData(zero,本機觸摸屏,LB,3,1)endmacro_command/IrIIIK/IrvI)ri/wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww/macro_commandmain()shortindexboolON=trueGetData(index,本機觸摸屏,LW,9000,1)/a用于提取索引寄存器的當前值ifindex=0thenSetData(ON,本機觸摸屏,LB,23,1)endifSetData(ON,本機觸摸屏,LB,4,1)endmacro_command/*尾頁MaxPage*/macro_commandmain()shortindexboolON=trueGetData(index,本機觸摸屏,LW,9000,1)ifindex
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 兼并重組案例中的企業(yè)品牌重塑策略實施路徑分析考核試卷
- 派遣員工工作滿意度影響因素分析考核試卷
- 疫苗不良反應報告處理流程規(guī)范考核試卷
- 2025年中國PE液體包裝膜數據監(jiān)測報告
- 2025年中國EPE珍珠棉片材數據監(jiān)測研究報告
- 2025年中國ABS塑料原料數據監(jiān)測研究報告
- 2025年中國2-異丙基-4-甲基噻唑數據監(jiān)測報告
- 2025至2030年中國高速電主軸軸承市場分析及競爭策略研究報告
- 2025至2030年中國防磁防潮防靜電柜市場分析及競爭策略研究報告
- 2025至2030年中國鋼筋氣壓焊接機市場分析及競爭策略研究報告
- 人工智能技術創(chuàng)新對產業(yè)高質量發(fā)展的推動作用
- 2025年中國征信行業(yè)發(fā)展監(jiān)測及投資戰(zhàn)略規(guī)劃研究報告
- Unit 1 Happy Holiday 第6課時(Project Reading Plus) 2025-2026學年人教版英語八年級下冊
- 部編人教版三年級上冊語文必記必背
- 2025年中國PHA可降解塑料行業(yè)市場全景分析及前景機遇研判報告
- 2025江蘇省射陽中等專業(yè)學校工作人員招聘考試真題
- 河南開封工程職業(yè)學院招聘筆試真題2024
- 2025河南省豫地科技集團有限公司社會招聘169人筆試參考題庫附帶答案詳解析集合
- 開標室使用管理制度
- GB/T 27772-2025病媒生物密度控制水平蠅類
- 【MOOC】《算法設計與分析》(東北大學) 中國大學慕課答案
評論
0/150
提交評論