当前位置: 主页 > PLC控制

用c脚本修改过程变量的值为什么修改不了呢

#include"apdefap.h"
voidOnLButtonDown(char*lpszPictureName,char*lpszObjectName,char*lpszPropeRTyName,UINTnFlags,intx,inty)
{
#pragmaoption(mbcs)
//wincc:TAGNAME_SECTION_START
//syntax:#defineTagNameInAction"DMTagName"
//nextTagID:1
//WINCC:TAGNAME_SECTION_END
BOOLk;//这是我输入的语句
k=GetTagBit("ce_shi");
k=!k;
SetTagBit("ce_shi",k);
//WINCC:PICNAME_SECTION_START
//syntax:#definePicNameInAction"PictureName"
//nexTPicID:1
//WINCC:PICNAME_SECTION_END
}
ce_shi这个变量建立在MPI下的通道中,是一个过程变量,二进制的,现在已经把它和一个按钮关联,若ce_shi的值为1,则按钮文本显示开,值为0,按钮文本显示为关,c脚本如上所示,虽然可以编译成功,但是不管用,就是修改不了ce_shi的值,还请哪位高手指教,草民跪谢。
补充一下,同样的语句我用内部变量aa试了一下,可以成功,但就是过程变量不行。。。。

问题补充:
感谢大师,能加一下您的qq号吗,因为现在在用wincc做项目,会遇到各种各样的问题,真的希望有高人指路,草民跪谢。

最佳答案

你直接用
SetTagBit("ce_shi",!GetTagBIt("ce_shi"));
外部变量必须要连接PLC中才行的。没有连接的话是无法改变值得。

提问者对于答案的评价:
感谢大师,能加一下您的qq号吗,因为现在在用wincc做项目,会遇到各种各样的问题,真的希望有高人指路,草民跪谢。

最佳答案作者回复:
有问题直接来这里提吧,增加网站的人气。

  • 关注微信

猜你喜欢

微信公众号