关于举行移动的脚本
112.95.251.214
发布于2014-04-22 16:15
147
0
标签:
做了一个矩形向上移动的脚本,要移动3次,每次移动10,三次后回到初始位置,但是运行后矩形一直想上移动不回初始位置,监控发现i的值始终为1,那有差错了。c脚本如下
longtop;
inti;
top=gettop(lpszpicturename,lpszobjectname);
if(i<3)
{
top=top-10;
i=i+1;
}
else
{
top=top+30;
i=0;
}
returntop;
佳答案
因为i是脚本里面定义的变量就相当于step7中的临时变量一样,下一个扫描周期它又从初始值0开始使用,所以应该是在脚本的后把当前i的值保存到wincc的变量中,然后脚本执行时先读取保存的变量值然后在执行后面的程序。
longtop;
inti;
i=gettagbyte("i_save");//i的保存值
top=gettop(lpszpicturename,lpszobjectname);
if(i<3)
{
top=top-10;
i=i+1;
}
else
{
top=top+30;
i=0;
}
settagbyte("i_save",i);//保存i值到wincc的变量i_save(无符号8位整数)。
returntop;