dingzyi
級別: 家園常客
|
宏指令1 macro_command main() short count,Realcount,i,baseaddress,getaddress,baseadd2,getadd2,on,baseadd3,getadd3,view,PLCAddr int tempdata,realdata unsigned char RealName[8] //view=34 i=0 count=0 //temp baseaddr baseaddress=910 // realdata baseaddr Realcount=0 //PLC Addr PLCAddr=2000 //SetData(view, "Local HMI", LW, 0, 1) for i=0 to 7 step 1 RealName='' next i //獲取當前配方序號 GetData(count, "Local HMI", RW, 900, 1) //設置載入當前配方序號 SetData(count, "Local HMI", RW, 900, 1) //獲取實際數據基地址 getaddress= baseaddress+100*count //獲取實際數據點數及配方名稱 GetData(Realcount, "Local HMI", RW, getaddress-9, 1) GetData(RealName[0], "Local HMI", RW,getaddress-8, 8) //設置實際數據點數及配方名稱 SetData(Realcount, "Local HMI", RW, 901, 1) SetData(RealName[0], "Local HMI", RW, 902, 8) DELAY(5) //load other configure data for XYZW for i=0 to 60 step 2 GetData(realdata, "Local HMI", RW,getaddress+i, 1) SetData(realdata, "Local HMI", RW,baseaddress+i, 1) next i DELAY(1000) //send data to PLC SetData(Realcount, "DELTA DVP", D, 200, 1) SetData(count, "DELTA DVP", D, 214, 1) SetData(RealName[0], "DELTA DVP", D, 216, 8) for i=0 to 60 step 2 GetData(realdata, "Local HMI", RW,baseaddress+i, 1) SetData(realdata, "DELTA DVP", D, PLCAddr+i, 1) next i DELAY(500) //send exit cmd on=1 SetData(on, "DELTA DVP", M, 1001, 1) //view=0 //SetData(view, "Local HMI", LW, 0, 1) //on=1 //SetData(on, "Local HMI", RW_Bit, 0, 1) //SetData(on, "Local HMI", LB, 2, 1) end macro_command 第二個宏指令 macro_command main() short count,Realcount,i,number short baseaddress,getaddress,view int realdata,PLCAddr unsigned char RealName[8] i=0 count=0 baseaddress=910 Realcount=0 PLCAddr=2000 view=20 SetData(view, "Local HMI", LW, 10000, 1) for i=0 to 7 step 1 RealName='' next i //view=35 //SetData(view, "Local HMI", LW, 0, 1) //獲取PLC中實際配方數據,配方號,配方點數,配方名稱 //GetData(number, "DELTA DVP", D, 200, 1) //GetData(Realcount, "DELTA DVP", D, 214, 1) //GetData(RealName[0], "DELTA DVP", D, 216, 8) //保存至HMI中臨時配方號,配方點數,配方名稱 //SetData(number, "Local HMI", RW, 900, 1) //SetData(Realcount, "Local HMI", RW, 901, 1) //SetData(RealName[0], "Local HMI", RW, 902, 8) //保存至XYZ數據至臨時區域中 for i=0 to 60 step 2 GetData(realdata, "DELTA DVP", D, PLCAddr+i, 1) SetData(realdata, "Local HMI", RW,baseaddress+i, 1) next i DELAY(500) //保存臨時數據至配方區域中 //*** GetData(number, "Local HMI", RW, 900, 1) GetData(Realcount, "Local HMI", RW, 901, 1) GetData(RealName[0], "Local HMI", RW, 902, 8) SetData(number, "Local HMI", RW, baseaddress-10+100*number, 1) SetData(Realcount, "Local HMI", RW, baseaddress-10+100*number+1, 1) SetData(RealName[0], "Local HMI", RW, baseaddress-10+100*number+2, 8) for i=0 to 60 step 2 GetData(realdata, "Local HMI", RW, baseaddress+i, 1) SetData(realdata, "Local HMI", RW, baseaddress+100*number+i, 1) next i DELAY(500) view=0 SetData(view, "Local HMI", LW, 10000, 1) end macro_command 看看這兩個宏指令,大家給點意見 |
|
---|---|---|
|