技成培训网 技成学习APP 技成工具箱 技成企业服务

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 技成百科 > 请解释这段WINCC程序的意思

请解释这段WINCC程序的意思

刘玉蓉 发布于2014-09-04 17:50 1 0 标签:

#include "apdefap.h"
void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{

#define Dot  "dot_25"                  //定义变量名


 if ( GetTagDWord(Dot )&0x0010)
                { SetTagDWord(Dot ,GetTagDWord(Dot )&0xFFEF);}
              else
                { SetTagDWord(Dot ,GetTagDWord(Dot )|0x0010);}
 
 
}

问题补充:
能详细解释一下这段程序具体含义吗?好能精确到每一行。

佳答案

双字变量dot_25的bit4取反。

__________________________________________________________________________________

if ( GetTagDWord(Dot )&0x0010)   //与运算,如果bit4=0,则结果为0,如果bit4=1,那么结果为0x0010
                { SetTagDWord(Dot ,GetTagDWord(Dot )&0xFFEF);} //与运算,bit4和0进行与运算,其他位和1进行与运算,结果是bit4置0,这里如果变量真是一个双字0xFFEF应为0xFFFFFFEF,否则高位字也被清零了
              else
                { SetTagDWord(Dot ,GetTagDWord(Dot )|0x0010);}  //或运算,bit4和1进行或运算,其他位和0进行或运算,结果是bit4置1

建议里看一下C语言的逻辑运算方面的内容

若有收获,就点个赞吧!

文章来源于网络及文献如有侵权请联系站长
分享到:

微信扫一扫分享

阅读与本文标签相同的文章

相关推荐

最新文章 热门文章
最新课程 免费课程
PLC资料下载 电工电气资料下载
应用新秀
变频器故障代码查询APP
伺服故障代码查询APP
技成
手机APP
热门标签