当前位置: 主页 > PLC控制

关于举行移动的脚本

我做了一个矩形向上移动脚本,要移动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;

提问者对于答案的评价:
我试了,还是不行,可以的话请把方法发我邮箱675882412@qq.com

最佳答案作者回复:
我源代码都给你还不行!你要看你的数据是整数还是浮点数,定义的i要根据你的实际数据类型来确定。你说不行目前什么状况?

  • 关注微信

猜你喜欢

微信公众号