宏指令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
看看这两个宏指令,大家给点意见