WINCC脚本看下哪错了
刘玉蓉
发布于2014-08-15 17:30
177
0
标签:
编了个WINCC 脚本,各位帮忙看下哪错了,编译时显示无错误,但是运行不行,b的数据在变化,但是s得值没任何变化:
#include "apdefap.h"
int gscAction( void )
{
#pragma option(mbcs)
double s;
double b;
s=GetTagDouble("aaa");
b=GetTagDouble("zhuan");
if( GetTagBit("qq") )
{
b=b+1;
s=s+10;
if (b>2)(b=1);
if(s>800)(s=344);
}
else
b=0;
s=344;
SetTagDouble("zhuan",b);
SetTagDouble("aaa",s);
return 0;
}
佳答案
一楼答案正确,应该改为:
else
{
b=0;
s=344;
}
不加括弧时,在else条件满足时只执行b=0操作,而且s=344一直执行,这样导致s在任何条件下都为344。因此,后边再执行SetTagDouble("aaa",s);语句时,sss一直为344。