本帖最后由 wysbxdm 于 2013-4-20 11:46 编辑
想在RW4000到4085之间储存一些字符,,一组10个字符,占用5个寄存器,然后输入字符时激活LB21,检查一下里面是否有重名的,但在运行过程中执行只有第一组和第二组一致时才能报警,其它的不行,高手帮忙看一下
macro_command main()
short a,b,name[5],temp[5],x,z
bool flaq=false, OFF=false,check=false
for a=0 to 17 step 1
GetData(name[0], "Local HMI", RW, 4000, 5)
if name[0]>0 or name[1]>0 or name[2]>0 or name[3]>0 or name[4]>0 then
for b=0 to 17 step 1
GetData(temp[0], "Local HMI", RW, 4000+z, 5)
if name[0]==temp[0] and name[1]==temp[1] and name[2]==temp[2] and name[3]==temp[3] and name[4]==temp[4] then
flaq=true
SetData(flaq, "Local HMI", LB, 20, 1)
else
z=z+5
end if
next b
else
x=x+5
end if
next a
SetData(OFF, "Local HMI", LB, 21, 1)
end macro_command |