WINCC脚本看下哪错了

编了个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。

提问者对于答案的评价:
谢谢,对于其它大侠一样表示感谢,不过关于编译,当时编译完了确实是没有任何报警,显示0错误,0警告。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc263602.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 上午2:23
下一篇 2019年6月11日 上午2:23

相关推荐