大家好,今天来为大家分享gettagbit和settagbit的一些知识点,和gettagbit和settagbit什么区别的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!
本文目录
请教如何在WinCC画面中做出声响报警请问wincc中怎么用全局脚本建立外部变量和内部变量的连接请教如何在WinCC画面中做出声响报警楼主可以写一个全局脚本,2s触发循环执行一次!提供一段代码你参考一下:#include"apdefap.h"intgscAction(void){#pragmacode("kernel32.dll");BOOLBeep(DWORDdwFreq,DWORDdwDuration);#pragmacode();//{Beep(500,500);}intaa,bb;aa=(GetTagByte("GROUP1.GREL")/32)%2;//取这个字节的第5位的状态bb=(GetTagByte("GROUP1.GREL")/64)%2;//取这个字节的第6位的状态if(((GetTagByte("GROUP1.GALM")==2)(aa==1))&&(GetTagBit("Horn_enable"))){Beep(2100,1000);}//群组动态报警;动态报警优先。else{if(((GetTagByte("GROUP1.GALM")==3)(bb==1))&&(GetTagBit("Horn_enable"))){Beep(2100,100);}}//群组静态报警。return(0);}然后你可以在画面上做一个控制声音开关的按钮,来翻转内部变量"Horn_enable",要声音的时候让其为“1”,消声让其为“0”,这样让他们想用就ON,不想用就OFF。按钮的脚本如下!^_^SetTagBit("Horn_enable",!GetTagBit("Horn_enable"))
请问wincc中怎么用全局脚本建立外部变量和内部变量的连接连接?如果我没有理解错的话可能你是想读写wincc变量吧?
在脚本中,C脚本基本是这样的语句:
FloatF;
F=GetTagFloat(“TAG1”)这样就可以读出TAG1的数值,不管TAG1是外部变量还是内部变量,在脚本中都要加上“”,否则就默认是对脚本内部使用的变量读写。
如果想向某一个变量写数值的话可以使用SetTagFloat(“TAG1”,99.2)这样TAG1就被设置成了99.2这样的值。另外个对word类型的数据还有SetTagWord()函数,其他类型的也有,看一下帮助。
#include"apdefap.h"
intgscAction(void)
{
#pragmaoption(mbcs)
GetTagWord(Tag_Name);//Return-Type:WORD
GetTagValue(lpdmVarKey,lpdmresult,lpdmError);//Return-Type:BOOL
GetTagSWord(Tag_Name);//Return-Type:shortint
GetTagSDWord(Tag_Name);//Return-Type:longint
GetTagSByte(Tag_Name);//Return-Type:char
GetTagRaw(Tag_Name,pValue,size);//Return-Type:BOOL
GetTagFloat(Tag_Name);//Return-Type:float
GetTagDWord(Tag_Name);//Return-Type:DWORD
GetTagDouble(Tag_Name);//Return-Type:double
GetTagChar(Tag_Name);//Return-Type:char*
GetTagByte(Tag_Name);//Return-Type:BYTE
GetTagBit(Tag_Name);//Return-Type:BOOL
SetTagWord(Tag_Name,value);//Return-Type:BOOL
SetTagValue(lpdmVarKey,lpdmValue,dwState,lpdmError);//Return-Type:BOOL
SetTagSWord(Tag_Name,value);//Return-Type:BOOL
SetTagSDWord(Tag_Name,value);//Return-Type:BOOL
SetTagSByte(Tag_Name,value);//Return-Type:BOOL
SetTagRaw(Tag_Name,pValue,size);//Return-Type:BOOL
SetTagFloat(Tag_Name,value);//Return-Type:BOOL
SetTagDWord(Tag_Name,value);//Return-Type:BOOL
SetTagDouble(Tag_Name,value);//Return-Type:BOOL
SetTagChar(Tag_Name,value);//Return-Type:BOOL
SetTagByte(Tag_Name,value);//Return-Type:BOOL
SetTagBit(Tag_Name,value);//Return-Type:BOOL
return0;
}
好了,关于gettagbit和settagbit和gettagbit和settagbit什么区别的问题到这里结束啦,希望可以解决您的问题哈!