版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
PAGE2———-——1、wincc全局腳本動作——--隱藏控件—--———#include"apdefap.h”intgscAction(void)
{
//WINCC:TAGNAME_SECTION_START?//syntax:#defineTagNameInAction"DMTagName”?//nextTagID:1?//WINCC:TAGNAME_SECTION_ENDintvalue;?value=GetTagBit(”IM_in”);//"IM_in"為觸發(fā)的變量。
if(value==1)
{?SetVisible("lianxi。pdl”,"按鈕8”,TRUE);//lianxi。pdl為控制對象所在畫面名,“按鈕8”為對象名稱?}?else?{
SetVisible(”lianxi。pdl",”按鈕8”,FALSE);//lianxi。pdl
}
//WINCC:PICNAME_SECTION_START?//syntax:#definePicNameInAction"PictureName”
//nextPicID:1?//WINCC:PICNAME_SECTION_END??return0;?}=====================================================說明:在觸發(fā)器里選擇變量IM_in——————2、wincc全局腳本動作————提示框--———-HYPERLINK”http://blog。sina.com.cn/s/articlelist_1252243325_2_1。html”#include"apdefap。h”intgscAction(void)?{
//WINCC:TAGNAME_SECTION_START
//syntax:#defineTagNameInAction”DMTagName"?//nextTagID:1
//WINCC:TAGNAME_SECTION_END
intvalue;
value=GetTagBit(”IM_in”);if(value==1)
{
MessageBox(NULL,”請確認(rèn)三廳相關(guān)門是否關(guān)好,或者請解鎖。",”提示框”,MB_OK|MB_ICONEXCLAMATION|MB_SETFOREGROUND|MB_SYSTEMMODAL);
}//WINCC:PICNAME_SECTION_START?//syntax:#definePicNameInAction"PictureName”?//nextPicID:1?//WINCC:PICNAME_SECTION_END
return0;?}=============================說明:在觸發(fā)器中選擇變量觸發(fā)?!?3、趨勢面板-—-———-———char*str_a=NULL;intHi;intLo;str_a=GetTagChar(”TrendTagName1”);Lo=GetTagSWo(hù)rd(”TrendLo”);Hi=GetTagSWo(hù)rd("TrendHi");SetPropWord(lpszPictureName,"qushi",”TrendIndex”,0);SetPropChar(lpszPictureName,”qushi”,”TrendTagName”,str_a);SetPropWord(lpszPictureName,”qushi",”ValueAxisBeginValue”,Lo);SetPropWord(lpszPictureName,"qushi”,"ValueAxisEndValue”,Hi);-—-———————————-———-—-————--———4、獲取位號—————SetTagChar("TrendTagName1”,"ProcessValueArchive\\PT111”); //Return-Type:BOOLSetTagSWo(hù)rd(”TrendHi",200);SetTagSWord(”TrendLo”,0);SetTagByte("Trenden”,1);————-——-——--—————-————-——————-5、調(diào)用登陸函數(shù)——-——-#pragmacode("useadmin.dll")#include”PWRT_API。H”#pragmacode()if(strcmp(GetTagChar(”@CurrentUser”),"")==0){PWRTLogin(’c');}-——--------—-—-——--——-—-—--—---—-—-——-—6、時間同步——————voidSetCpuTime(){#pragmacode(”kernel32.dll");voidGetLocalTime(SYSTEMTIME*lpst);#pragmacode();SYSTEMTIMEtimeBOOLret;//printf(”StartfunctionSetCpuTime\r\n”);GetLocalTime(&time);ret=SetTagMultiWait("%d%d%d%d%d%d%d”,"dat(yī)a_year”,time.wYear-2000,"data_month",time.wMonth,”data_day",time。wDay,”data_hour",time.wHour,"dat(yī)a_M(jìn)INUTE”,time。wMinute,"data_SECOND",time。wSecond,”data_FLAG",1)}--—---——-—---———---—————-——-—-—————-7、對話框調(diào)用—-——-—BOOLA;BOOLB;HWNDhwnd=NULL;intRetMsg;A=GetTagBit(”TJ_ANNIU”); //Return—Type:BOOLhwnd=FindWindow(NULL,"WinCC—運(yùn)行系統(tǒng)—”);if(A==0){RetMsg=MessageBox(hwnd,”確定要停機(jī)?",”停機(jī)警告”,MB_OKCANCEL|MB_SYSTEMMODAL|MB_SETFOREGROUND);if(RetMsg==IDOK){SetTagBit(”TJ_ANNIU”,1);MessageBox(hwnd,”停機(jī)",”停機(jī)警告”,MB_OK|MB_SYSTEMMODAL|MB_SETFOREGROUND);SetTagBit("TJ_ANNIU”,0);}elseB=0;}else{}--———-——---———-----—--———--——————-—-—8、聲音報(bào)警—-———- #pragmacode(”Winmm。dll”) VOIDWINAPIPlaySoundA(char*pszSound,char*hmode,DWORDdwflag);?#pragmacode()?if(GetTagFloat(yī)("LIST555”)>500) PlaySoundA(”D:\\DCSDATA\\CG_wincc\\Horn\\Horn_Attention.wav",NULL,1);?if(GetTagFloat(yī)("LIST555”)<300) PlaySoundA("D:\\DCSDATA\\CG_wincc\\Horn\\alsndmgr。wav”,NULL,1);———-—-———-----———-—--—-—----————-—-—-——----————-—9、水平移動—-————建立內(nèi)部變量BOOL-Q,無符號32位—P
全局動作?inta;inta1;
a=GetTagBit(”Q”);a1=GetTagDWord(”P”);?if(a==1)?{?a1=a1+10;?}?if(a1〉=100)
{?a1=0;?}?SetTagDWord(”P”,a1);
然后用一個按鈕控制二進(jìn)制變量Q,為啟動信號。物體的X位置對應(yīng)的是變量P,設(shè)置為模擬量。當(dāng)P為1的時候?qū)?yīng)的X位置.P為2的時候?qū)?yīng)X的位置,以此類推,就可以做出物體移動畫面了,要做全局腳本-———--—---—--—-—-----————---——-————-—---———--—-——————10、WinCC中調(diào)用SQL語言———-——1、創(chuàng)建一個SQL文件,此文件在ISQL中建立,文件內(nèi)包含所要執(zhí)行的SQL語句。Windows對話框?qū)崿F(xiàn)。具體如下:?2、在WinCC中用CScript調(diào)用上述SQL文件,如下所示:?#include&quot;apdefap。h&quot;?voidOnLButtonDown(char*lpszPictureName,
char*lpszObjectName,?char*lpszPropertyName,?UINTnFlags,intx,inty)
{
char*a=&quot;c:siemenscommonSQLANYISQL—q—b—c
UID=DBA;PWD=SQL;DBF=E:testsqltestsqlRT。DB;?DBN=CC_testsql_99—12—03-12:48:26R;READ?E:testsqltest。sql";?Printf(&quot;%srn&quot;,a);
ProgramExcute(a);?}?下面是一個簡單的SQL文件內(nèi)容:
select*frompde#hd#t#test;outputtoe:test2。txtFORMATascii
注意:文件名及路徑中不要帶空格。————-—11、設(shè)置或重置一個變量——————voidOnClick(char*lpszPictureName,char*lpszObjectName,char*lpszPropertyName)
{?BOOLz;
z=GetTagBit(";MyBitVariable&quot;);//獲得變量值?if(z==0)
SetTagBit(&quot;MyBitVariable&quot;,1);//設(shè)置變量值
else?SetTagBit(&quot;MyBitVariable&quot;,0);?}———12、運(yùn)行時圖形產(chǎn)生動態(tài)旋轉(zhuǎn)-—————#include&quot;apdefap。h&quot;?long_main(char*lpszPictureName,char*lpszObjectName,char*
lpszPropertyName)?{?staticintx=25,y,z;//x為半徑的初始值為25,y為切換變量,z為攪拌機(jī)運(yùn)行狀態(tài)變量?z=GetTagBit(&quot;202攪拌機(jī)運(yùn)行&quot;);//取得PLC攪拌機(jī)的運(yùn)行狀態(tài)
if(z!=0)?{
switch(y)
{
case0:?x=x-4;?if(x&lt;=0)?y=1;
break;
default:
x=x+4;
if(x&gt;=25)?y=0;?break;?}
}?returnx;
}—-—-—-13、WINCC-—如何在程序中動態(tài)修改用戶密碼——-—-—點(diǎn)擊“開始”——》“設(shè)置”--》“控制面板”-—》“管理工具”--》“數(shù)據(jù)源(ODBC)”,打開ODBC數(shù)據(jù)源管理器
2、在用戶DSN頁面的用戶數(shù)據(jù)源中找到與當(dāng)前項(xiàng)目所關(guān)聯(lián)的一項(xiàng),其名稱為“CC_項(xiàng)目名_項(xiàng)目建立日期時間”,記下該項(xiàng)的名稱
3、在腳本中加入以下代碼:
#pragmacode(”UseGen。dll")
#include”USEGENAP.H"
#pragmacode()
LPCMN_ERRORerr;//定義的LPCMN_ERROR型變量,在函數(shù)調(diào)用中需使用
if(PWGENConnect(”CC_ass_04—09—21_16:35:22",err))//建立與數(shù)據(jù)庫的聯(lián)接,其中CC_ass_04-09-21_16:35:22用第二步中記下的名稱取代?{?if(PWGENChangePassword(GetTagChar("user”),GetTagChar(”oldpassword"),GetTagChar(”password”),err))//修改密碼,user,oldpassword,password分別為存貯用戶名,原密碼,新密碼的內(nèi)部變量,類型為文本變量8位字符集?{
//密碼修改成功后的操作,如給用戶提示等
}
}?PWGENDisconnect(err);//斷開與數(shù)據(jù)庫的聯(lián)接
4、編譯運(yùn)行程序
5、工作完成
6、與用戶管理相關(guān)的函數(shù)定義存貯在APPLIB目錄下的USEGENAP.H文件中,可根據(jù)上面示例自行完成添加用戶,修改權(quán)限等功能?!?4、WinCC如何實(shí)現(xiàn)鼠標(biāo)OnMouseOVer事件——-——-用WINDOWAPI函數(shù)GetCusorPos獲取當(dāng)前鼠標(biāo)位置,用GetWindowRect函數(shù)獲取窗口位置,兩值相減得鼠標(biāo)在WINCCframe上的相對位置.用全局腳本(設(shè)定為1s定時刷新),然后獲取要OnMouseOver事件的物體的位置,并與鼠標(biāo)位置相比較,如一致則觸發(fā)自己定義的動作。#include”apdefap.h”intgscAction(void)?{?#pragmacode("user32。dll”);
BOOLGetCusorPos(POINTlpPoint);//獲取鼠標(biāo)的位置(絕對位置-對應(yīng)屏幕分辨率)?BOOLGetWindowRect(HWNDhwnd,LPRECTlpRect);//獲取窗體位置?#pragmacode();
POINTpPos;?RECTrRec;?HWNDhwnd;?BOOLbRet,bRet2;
longlLeft,lTop,lWidth,lHeight;
longlX,lY;
charszStr[100];hwnd=FindWindow(NULL,”WinCC-Runtime-”);//如語言為中文應(yīng)為”WinCC運(yùn)行系統(tǒng)—"if(hwnd==0){printf("rnError!WinCcHandleis%d”,hwnd);gotoover;}bRet=GetCursorPos(&pPos);
if(bRet==0)gotoover;bRet2=GetWindowRect(hwnd,&rRec);
if(bRet2==0)gotoover;
lX=pPos.x—rRec。left;//鼠標(biāo)對{置
lY=pPos。y-rRec。top;//鼠標(biāo)位置
//如果為非全屏模式,需將上述數(shù)值中的高h(yuǎn)eight判斷減去標(biāo)題欄的寬度
//printf(”TheCurrentCusorPosisx:%d,y:%drn",pPos.x,pPos.y);?//printf("TheCusorPosinWindowisx:%d,y:%drn",pPos。x—lLeft2,pPos。y-lTop2);?lLeft=GetLeft(”NewPdl0。Pdl","Text1");//Return—Type:longint?lTop=GetTop(”NewPdl0。Pdl”,"Text1");//Return—Type:longint
lWidth=GetWidth("NewPdl0。Pdl",”Text1");//Return-Type:longint
lHeight=GetHeight(”NewPdl0。Pdl”,"Text1”);//Return—Type:longintif((lX〉=lLeft)&&(lY〉=lTop)&&(lX<=lLeft+lWidth)&&(lY〈=lTop+lHeight)){sprintf(szStr,”%d,%d",lX,lY);?SetText("NewPdl0。Pdl”,"Text1”,szStr);//Return—Type:char*}?//printf(”TheText1Posisx:%d,y:%drn",lLeft2,lTop-lTop2);
over:
return0;?}—-——--—————-—-——-——-———-—————-—-—-————————-——15、如何在退出WINCC監(jiān)控時直接關(guān)閉電腦——————利用動態(tài)向?qū)?/p>
2。在腳本中加入DMExitWinCCEx(DM_SDMODE_SYSTEM);也可以——-———16、過WINCCAPI函數(shù)讀出當(dāng)前報(bào)警消息-——-——1、使用GMsgFunction中讀出當(dāng)前報(bào)警信息的ID(dwMsgNr);?2、使用MSRTGetMsgCSData函數(shù)讀出該報(bào)警信息ID對應(yīng)文本庫TEXTLIB中的文本ID(dwTextID1);
3、使用MSRTGetMsgText函數(shù)讀出該文本ID的文本。
信息到達(dá)處理:如果讀取文本成功,則置文本變量MSG。?信息離去處理:如果MsgNr與上一次相同,則復(fù)位MSG,如果不是,則繼續(xù)保持信息.
具體函數(shù)說明請看ODK文檔
BOOLGMsgFunction(char*pszMsgData)
{
#pragmacode(”msrtcli。dll”)?#include”msrtapi。h"?#pragmacode();MSG_TEXT_STRUCTtMeld;?MSG_CSDATA_STRUCTsM;
CMN_ERRORerr;
BOOLbRet;
DWORDdwTextID1;?DWORDdwMsgNum;?charszMsg[255];?#defineTAG_MSG"MSG”MSG_RTDATA_STRUCTmRT;?memset(&mRT,0,sizeof(MSG_RTDATA_STRUCT));if(pszMsgData!=NULL)?{
printf("Meldung:%srn",pszMsgData);
sscanf(pszMsgData,"%ld,%ld,%04d.%02d。%02d,%02d:%02d:%02d:%03d,%ld,%ld,%ld,%d,%d",?&mRT.dwMsgNr,//Meldungsnummer
&mRT.dwMsgStat(yī)e,//Stat(yī)usMSG_STATE_COME,。._GO,.。_QUIT,.._QUIT_SYSTEM
&mRT。stMsgTime.wYear,//Tag?&mRT。stMsgTime。wMonth,//Monat?&mRT。stMsgTime。wDay,//Jahr?&mRT.stMsgTime.wHour,//Stunde
&mRT。stMsgTime。wMinute,//Minute
&mRT.stMsgTime.wSecond,//Sekunde?&mRT。stMsgTime。wMilliseconds,//Millisekunde?&mRT。dwTimeDiff,//ZeitdauerderanstehendenMeldung
&mRT。dwCounter,//InternerMeldungsz?hler
&mRT.dwFlags,//Flags(intern)
&mRT.wPValueUsed,
&mRT。wTextValueUsed);//**************************************************************************************codefordcount?if(mRT。dwMsgState==MSG_STATE_COME)//信息到達(dá)處理
{?dwMsgNum=mRT.dwMsgNr;
printf("rnTheAlarmMessageNois%d!rn”,dwMsgNum);?bRet=MSRTGetMsgCSData(dwMsgNum,&sM,&err);?if(bRet==TRUE)?{?dwTextID1=sM.dwTextID[0];
printf("rnTheTextIDofTheMessageNr%dis%d!rn",dwMsgNum,dwTextID1);
bRet=MSRTGetMsgText(1,dwTextID1,&tMeld,&err);?if(bRet==TRUE)
{
sprintf(szMsg,"%s",tMeld。szText);?printf("rnTheTextofTextID%dis%s!rn”,dwTextID1,szMsg);
}?
}}
if(mRT。dwMsgState==MSG_STATE_GO)//信息離去處理?{?dwMsgNum=mRT.dwMsgNr;?if(dwMsgNum==GetTagDWo(hù)rd(TAG_MSG_NR))SetTagChar(TAG_MSG,””);}
//**************************************************************************************codefordcount//Meldungsdateneinlesen
//Prozesswertelesen,fallsgew???????§???1nscht
}printf(”Nr:%d,St:%x,%d-%d—%d%d:%d:%d.%d,Dur:%d,Cnt%d,F(xiàn)l%drn",
mRT.dwMsgNr,mRT。dwMsgState,mRT。stMsgTime。wDay,mRT.stMsgTime.wMonth,mRT。stMsgTime.wYear,
mRT.stMsgTime。wHour,mRT.stMsgTime.wMinute,mRT.stMsgTime。wSecond,mRT。stMsgTime。wMilliseconds,mRT.dwTimeDiff,
mRT.dwCounter,mRT。dwFlags);SetTagChar(TAG_M(jìn)SG,szMsg);return(TRUE);
}——-——-17、實(shí)現(xiàn)用戶登陸日志(wincc中用c腳本實(shí)現(xiàn)?)—-—-——用戶登陸日志:(包括用戶的登陸退出信息,以便查詢在什么時間段是哪個用戶在使用這個監(jiān)控軟件)#include"apdefap.h”intgscAction(void)
{
#pragmacode(”kernel32.dll")
VOIDGetLocalTime(LPSYSTEMTIMElpSystemTime);
#pragmacode()char*username;?charbuf[128];?staticcharpreuser[128];?unsigneda,b,c,d,e,f;?FILE*fp;
SYSTEMTIMEsysTime;//讀取系統(tǒng)時間,并且復(fù)制給變量a,b,c,d,e,f
GetLocalTime(&sysTime);a=sysTime.wHour;
b=sysTime。wMinute;
c=sysTime.wSecond;?f=sysTime。wYear;
e=sysTime.wMonth;?d=sysTime。wDay;//得到當(dāng)前用戶名稱?username=GetTagChar(”@CurrentUser”);
fp=fopen("c:wincclog。txt”,”a+");?if(strcmp(username,preuser)!=0)//如果當(dāng)前用戶名稱和前一個用戶名不同
{?if((strcmp(username,”")!=0)&&(strcmp(preuser,"”)==0))//如果當(dāng)前用戶名稱不空同時前一個用戶名為空??{?sprintf(buf,”用戶:%st登陸時間是:t%d—%d-%d,%d-%d—%dn",username,a,b,c,d,e,f);?fputs(buf,fp);
}?else?{?if((strcmp(username,"”)==0)&&(strcmp(preuser,"")!=0))//如果當(dāng)前用戶名稱為空同時前一個用戶名不空
{?sprintf(buf,”用戶:%st退出時間是:t%d-%d-%d,%d-%d-%dn”,preuser,a,b,c,d,e,f);
fputs(buf,fp);
}else
{
sprintf(buf,”用戶:%st退出時間是:t%d-%d-%d,%d—%d-%dn”,preuser,a,b,c,d,e,f);?fputs(buf,fp);?sprintf(buf,"用戶:%st登陸時間是:t%d—%d—%d,%d—%d—%dn",username,a,b,c,d,e,f);
fputs(buf,fp);
}
}?}strcpy(preuser,username);?fclose(fp);return0;
}——————18、全局腳本—-聲音報(bào)警————-— #pragmacode("Winmm。dll”) VOIDWINAPIPlaySoundA(char*pszSound,char*hmode,DWORDdwflag);?#pragmacode()?if(GetTagBit(”XY”)==0)?{??if(GetTagFloat("LIST555")〉500)//熱井液位?? {???PlaySoundA("D:\\DCSDATA\\CG_wincc\\Horn\\熱井液位高1.wav”,NULL,0); ?}??if(GetTagFloat("LIST555”)<300)//熱井液位?? {?? Pl(wèi)aySoundA("D:\\DCSDATA\\CG_wincc\\Horn\\熱井液位低1.wav”,NULL,0);? } ?if(GetTagFloat(”TE421A”)>100||GetTagFloat(”TE421B”)〉100||GetTagFloat(yī)(”TE423A")>100||GetTagFloat(”TE423B”)〉100||GetTagFloat(”TE425")〉100||GetTagFloat(”TE427")〉100||GetTagFloat("TE442”)>100)//軸瓦溫度? ?{ PlaySoundA(”D:\\DCSDATA\\CG_wincc\\Horn\\軸瓦溫度高1.wav”,NULL,0); ?}? if(GetTagFloat("TIE485”)>45)//冷油器出口油溫 ? {?? PlaySoundA("D:\\DCSDATA\\CG_wincc\\Horn\\冷油器出口油溫高.wav",NULL,0); ? }? if(GetTagFloat(”PT091”)<0。5)//進(jìn)汽壓力 ?{ ??PlaySoundA(”D:\\DCSDATA\\CG_wincc\\Horn\\蒸汽壓力低。wav",NULL,0); ??} if(GetTagFloat(”PT109")>40)//真空低 ??{ ??PlaySoundA(”D:\\DCSDATA\\CG_wincc\\Horn\\排汽壓力高.wav",NULL,0); ??}? if(GetTagFloat(”PT131”)<0.13)//潤滑油壓力低 {?? PlaySoundA("D:\\DCSDATA\\CG_wincc\\Horn\\潤滑油壓力低1。wav”,NULL,0);? } ?if(GetTagFloat(”PDT213”)>0。05||GetTagFloat(”PDT215")〉0.05||GetTagBit(”PDS071")==0||GetTagBit("PDS073")==0)//濾油器差壓 ??{?? PlaySoundA(”D:\\DCSDATA\\CG_wincc\\Horn\\濾油器差壓高。wav”,NULL,0);? } if(GetTagFloat(yī)(”PT121”)<0。65)//主油泵出口壓力 { ??PlaySoundA("D:\\DCSDATA\\CG_wincc\\Horn\\主油泵出口壓力低.wav”,NULL,0); ? }? if(GetTagFloat(yī)("LIST551")<-190)//油箱油位 { Pl(wèi)aySoundA("D:\\DCSDATA\\CG_wincc\\Horn\\油箱油位低.wav",NULL,0); ?}??if(GetTagFloat(”VE735A")>52|GetTagFloat(yī)(”VE737A")>52|GetTagFloat(”VE745A”)〉52||GetTagBit("XE202”)==1||GetTagBit(”XE204")==1||GetTagBit(”XE206")==1)//振動大? { ??PlaySoundA("D:\\DCSDATA\\CG_wincc\\Horn\\軸瓦振動高.wav",NULL,0); ? }??if(GetTagFloat(”ZE769")>0。4||GetTagFloat(”ZE769")〈-0.4||GetTagBit("ZE208”)==1)//汽機(jī)轉(zhuǎn)子軸向位移 {? ?PlaySoundA("D:\\DCSDATA\\CG_wincc\\Horn\\軸相位移高。wav",NULL,0); ? }? if(GetTagFloat(”ZDE785")〉3||GetTagFloat(yī)("ZDE785”)<-2||GetTagBit(”VE209”)==1)//汽機(jī)轉(zhuǎn)子脹差?? {?? PlaySoundA("D:\\DCSDATA\\CG_wincc\\Horn\\脹差高.wav",NULL,0);???}? if(GetTagFloat(yī)(”AI_0094”)〉3240)//轉(zhuǎn)速 {???PlaySoundA("D:\\DCSDATA\\CG_wincc\\Horn\\汽輪機(jī)轉(zhuǎn)速高。wav”,NULL,0);? }??if(GetTagBit(”DI_0175")==1||GetTagBit("DI_0180")==1)//保護(hù)跳閘 ??{???Pl(wèi)aySoundA("D:\\DCSDATA\\CG_wincc\\Horn\\發(fā)電機(jī)保護(hù)跳閘。wav",NULL,0);? ?} ?if(GetTagBit(”DI_0177")==1||GetTagBit("DI_0181")==1)//定子轉(zhuǎn)子一點(diǎn)接地 ? {? ?PlaySoundA("D:\\DCSDATA\\CG_wincc\\Horn\\發(fā)電機(jī)轉(zhuǎn)子接地.wav",NULL,0);???}? if(GetTagBit("DI_0176”)==1)//過負(fù)荷?? { ?PlaySoundA(”D:\\DCSDATA\\CG_wincc\\Horn\\發(fā)電機(jī)過負(fù)荷。wav”,NULL,0); ? } ?if(GetTagBit("DI_0182")==1)//失磁???{ ??PlaySoundA("D:\\DCSDATA\\CG_wincc\\Horn\\發(fā)電機(jī)失磁。wav",NULL,0); ??} ?if(GetTagBit(”SOE_15")==1)//ETS動作? { ?PlaySoundA(”D:\\DCSDATA\\CG_wincc\\Horn\\ETS動作.wav”,NULL,0); ?}? }———-—-—-—-———-————————-——-—-————-——-—————-————----—-----———-—-----———-—-—--—-————-----19、閃爍邊框圖片的腳本———-—-Flash-簡短描述使用Flash組中的函數(shù)可以修改或調(diào)用各種閃爍屬性.1。longintGetBackFlashColorOff(LPCTSTRlpszPictureName,LPCTSTRlpszObjectName)函數(shù),指定取消激活狀態(tài)的閃爍背景色讀出閃爍顏色的實(shí)例{longintflashcol_on;//獲得背景閃爍顏色Flashcol_on=GetBackFlashColorOn(lpszPictureName,”Group1");//自定義代碼//在那里用戶可以使用返回值做某事}GetBackFlashColorOn函數(shù)參數(shù):“l(fā)pszPictureName”是在其中組態(tài)該對象的畫面的名稱?!癎roup1"是該對象的名稱。1)。讀出該對象的開狀態(tài)的當(dāng)前背景閃爍顏色以及flashcol_on中的緩沖區(qū).2).執(zhí)行處理返回值的自定義代碼。2。longintGetBackFlashColorOn(LPCTSTRlpszPictureName,LPCTSTRlpszObjectName)函數(shù),指定激活狀態(tài)的背景閃爍顏色。讀出閃爍顏色的實(shí)例{longintflashcol_on;//獲得背景閃爍顏色Flashcol_on=GetBackFlashColorOn(lpszPictureName,”Group1");//自定義代碼//在那里用戶可以使用返回值做某事}GetBackFlashColorOn函數(shù)參數(shù):“l(fā)pszPictureName”是在其中組態(tài)該對象的畫面的名稱.“Group1"是該對象的名稱。1).讀出該對象的開狀態(tài)的當(dāng)前背景閃爍顏色以及flashcol_on中的緩沖區(qū)。2).執(zhí)行處理返回值的自定義代碼.3.longintGetBorderFlashColorOff(LPCTSTRlpszPictureName,LPCTSTRlpszObjectName)函數(shù),指定取消激活狀態(tài)的邊框或線閃爍顏色。讀出閃爍顏色的實(shí)例{longintflashcol_on;//獲得背景閃爍顏色flashcol_on=GetBackFlashColorOn(lpszPictureName,”Group1");//自定義代碼//在那里用戶可以使用返回值做某事}GetBackFlashColorOn函數(shù)參數(shù):“l(fā)pszPictureName”是在其中組態(tài)該對象的畫面的名稱?!癎roup1”是該對象的名稱.4.longintGetBorderFlashColorOn(LPCTSTRlpszPictureName,LPCTSTRlpszObjectName)函數(shù),指定激活狀態(tài)的邊框或線閃爍顏色。讀出閃爍顏色的實(shí)例{longintflashcol_on;//獲得背景閃爍顏色flashcol_on=GetBackFlashColorOn(lpszPictureName,”Group1”);//自定義代碼//在那里用戶可以使用返回值做某事}GetBackFlashColorOn函數(shù)參數(shù):“lpszPictureName”是在其中組態(tài)該對象的畫面的名稱?!埃莚oup1”是該對象的名稱。5.BOOLGetFlashBackColor(LPCTSTRlpszPictureName,LPCTSTRlpszObjectName)函數(shù),指定是否激活背景閃爍。讀出“閃爍背景激活”屬性的實(shí)例{BOOLbflash_col;//了解閃爍是開還是關(guān)bflash
_col=GetFlashBackColor(lpszPictureName,”Group1");if(bflash_col){//自定義代碼//閃爍是否被激活}else{//自定義代碼//閃爍是否被取消激活}}GetFlashBackColor函數(shù)參數(shù):“lpszPictureName”是在其中組態(tài)該對象的畫面的名稱?!癎roup1”是該對象的名稱。1)。讀出背景色閃爍是否被激活以及bflash_col中的緩沖區(qū).2).根據(jù)該函數(shù)的返回值執(zhí)行自定義代碼。———-—-20、I/0腳本—-—-——使用i_o組中的函數(shù)可以修改或調(diào)用影響輸入和輸出值的各種屬性.char*GetAssignments(LPCTSTRlpszPictureName,LPCTSTRlpszObjectName)函數(shù),對于列表,分配文本給數(shù)值范圍BOOLGetAssumeOnExit(LPCTSTRlpszPictureName,LPCTSTRlpszObjectName)函數(shù),使用I/O域時,它指定退出該域時是否應(yīng)用輸入的數(shù)值.BOOLGetAssumeOnFull(LPCTSTRlpszPictureName,LPCTSTRlpszObjectName)函數(shù),使用I/O域時,它指定完成輸入時是否應(yīng)用輸入的數(shù)值。4。longintGetBitNumber(LPCTSTRlpszPictureName,LPCTSTRlpszObjectName)函數(shù),使用列表類型“位”時,它指定輸出值中相關(guān)的位。讀出布爾型屬性的實(shí)例{BOOLbHiddenInput;//獲得隱藏輸入的狀態(tài)bHiddenInput=GetHiddenInput(lpszPictureName,”IOField1”);if(bHiddenInput){//自定義代碼//隱藏輸入是否被激活}else{//自定義代碼//隱藏輸入是否被取消激活}}GetHiddenInput函數(shù)參數(shù):“lpszPictureName"是在其中組態(tài)該對象的畫面的名稱?!癐OField1”是該對象的名稱。1)。讀出文本是否是粗體字以及bHiddenInput中的緩沖區(qū).2)。根據(jù)該函數(shù)的返回值執(zhí)行自定義代碼。5.BOOLGetClearOnError(LPCTSTRlpszPictureName,LPCTSTRlpszObjectName)函數(shù),使用I/O域時,它指定錯誤輸入后是否激活刪除內(nèi)容。6.longintGetDataFormat(LPCTSTRlpszPictureName,LPCTSTRlpszObjectName)函數(shù),對于I/O域,它指定域內(nèi)容的數(shù)據(jù)類型。讀出布爾型屬性的實(shí)例{BOOLbHiddenInput;//獲得隱藏輸入的狀態(tài)bHiddenInput=GetHiddenInput(lpszPictureName,"IOField1");if(bHiddenInput){//自定義代碼//隱藏輸入是否被激活}else{//自定義代碼//隱藏輸入是否被取消激活}}—--—-—21tag腳本-———-—使用來自Tag組的函數(shù)可以設(shè)置或調(diào)用變量。1。BOOLGetTagBitStateWait(TagTag_Name,PDWORDlp_dwstate)函數(shù),建立數(shù)據(jù)類型“二進(jìn)制變量”的過程變量的數(shù)值。直接從PLC讀取該數(shù)值。也返回變量的狀態(tài)。讀出二進(jìn)制類型變量的實(shí)例{DWORDdwstat(yī)e;BOOLbValue;dwstate=0xFFFFFFFF;//獲得該變量值//dwstate是變量狀態(tài)bValue=GetTagBitStateWait("gs_tag_bit”,&dwstate);//創(chuàng)建包含該變量值的字符串if(bValue){//自定義代碼//該變量的數(shù)值是否是true.。}else{//自定義代碼//該變量的數(shù)值是否是false}}GetTagBitStateWait函數(shù)參數(shù):“gs_tag_bit”是該變量的名稱。“&dwstate”是應(yīng)在其中存儲變量狀態(tài)的變量地址。1).讀出該變量值以及bstate中的緩沖區(qū).該函數(shù)將變量狀態(tài)存儲在dwstate中。2)。根據(jù)該函數(shù)的返回值執(zhí)行自定義代碼。-————-22、Wincc項(xiàng)目腳本————-—使用來自WinCC組的函數(shù)可以在運(yùn)行系統(tǒng)中定義各種設(shè)置.使用System子組中的函數(shù)可以操作WinCC運(yùn)行系統(tǒng)。1。BOOLDeactivateRTProject()函數(shù),取消激活該項(xiàng)目。取消激活WinCC運(yùn)行系統(tǒng)的實(shí)例{//取消激活運(yùn)行系統(tǒng)DeactivateRTProject();}該函數(shù)取消激活WinCC運(yùn)行系統(tǒng)。BOOLExitWinCC()函數(shù),終止WinCC退出WinCC的實(shí)例{//退出winccExitWinCC();}該函數(shù)終止WinCC。WinCC組包含影響整個WinCC系統(tǒng)的函數(shù)。
1。BOOLGetHWDiag(LPCTSTRlpszPictureName,LPCTSTRlpszObjectName,LPCTSTRlpProperties)函數(shù)?運(yùn)行時該函數(shù)可實(shí)現(xiàn)診斷的直接啟動,由事件觸發(fā)。必須在對象上組態(tài)、運(yùn)用該事件。?如果該事件發(fā)生,硬件診斷功能從關(guān)聯(lián)PLC的STEP7被啟動。?為了使用該功能,必須滿足下列條件:
?WinCC項(xiàng)目,帶有從其進(jìn)行訪問的畫面,而且STEP7項(xiàng)目必須在同一臺計(jì)算機(jī)上。
?必須將WinCC項(xiàng)目存儲為STEP7項(xiàng)目(STEP7Projekt\wincproj\WinCCProjekt)的子目錄。??已將S7變量映射到WinCC。
?2.BOOLGetHWDiagLevel(LPCTSTRlpszPictureName,LPCTSTRlpszObjectName,LPCTSTRlpProperties,DWORDdwLevel)函數(shù)?根據(jù)在dwLevel下面指定的用戶管理員功能號為激活的用戶執(zhí)行用戶配置文件級測試。?之后,運(yùn)行時診斷被直接啟動并由事件觸發(fā),須在對象上組態(tài)該事件.
如果該事件發(fā)生,硬件診斷功能從關(guān)聯(lián)PLC的STEP7被啟動。?為了使用該功能,必須滿足下列條件:
?在WinCC中激活的用戶必須有必要的用戶配置文件級.
?WinCC項(xiàng)目,帶有從其進(jìn)行訪問的畫面,而且STEP7項(xiàng)目必須在同一臺計(jì)算機(jī)上.??必須將WinCC項(xiàng)目存儲為STEP7項(xiàng)目(STEP7Projekt\wincproj\WinCCProjekt)的子目錄.??已將S7變量映射到WinCC.
3。BOOLGetKopFupAwl(LPCTSTRlpszPictureName,LPCTSTRlpszObjectName,LPCTSTRlpProperties)函數(shù)
該函數(shù)執(zhí)行WinCCStep7編輯器“KFA"的網(wǎng)絡(luò)激活。?執(zhí)行該函數(shù),完成兩項(xiàng)子任務(wù):
?建立從WinCC訪問網(wǎng)絡(luò)所需要的數(shù)據(jù).
?將該數(shù)據(jù)傳送到Step7并使用AUTAPI定位Step7程序中操作數(shù)的利用點(diǎn)。?
4.BOOLGetKopFupAwlLevel(LPCTSTRlpszPictureName,LPCTSTRlpszObjectName,LPCTSTRlpProperties,DWORDdwLevel)函數(shù)
根據(jù)在dwLevel下面指定的用戶管理員功能號為激活的用戶執(zhí)行用戶配置文件級測試,然后訪問Step7編輯器“KFA”。?作為三項(xiàng)子任務(wù)執(zhí)行該函數(shù):??建立從WinCC進(jìn)行網(wǎng)絡(luò)訪問所需要的數(shù)據(jù).
?在WinCC中為激活的用戶執(zhí)行用戶配置文件級測試。
?將該數(shù)據(jù)傳送到Step7并使用AUTAPI定位Step7程序中操作數(shù)的利用點(diǎn)。
?5。voidOnDeactivat(yī)eExecute()函數(shù)?終止WinCC時調(diào)用該函數(shù).?由于它是標(biāo)準(zhǔn)函數(shù),可以插入指令,然后執(zhí)行它們。
6。voidOnErrorExecute(CCAPErrorExecuteErrorExecute)函數(shù)
執(zhí)行動作或函數(shù)而發(fā)生錯誤時由系統(tǒng)調(diào)用OnErrorExecute。
此函數(shù)能夠確定出錯的準(zhǔn)確原因.
由系統(tǒng)調(diào)用該函數(shù),并且不要求附加的調(diào)用命令。?由于包括作為標(biāo)準(zhǔn)函數(shù)的此函數(shù),可以改變輸出的類型。?
7.voidOnTime(CCAPTimetime)函數(shù)
OnTime只能由系統(tǒng)調(diào)用。該函數(shù)給出所有動作的運(yùn)行時間或確定哪個動作的運(yùn)行時間超出了指定時間。通過APDIAG可以激活和取消激活時間測量。?由于此函數(shù)是一個標(biāo)準(zhǔn)函數(shù),所以可以通過修改函數(shù)代碼來改變輸出的類型。
結(jié)構(gòu)定義CCAPTime
typedefstruct{?DWORDdwCurrentThreadID;當(dāng)前線程的線程ID
DWORDdwCode;代碼?BOOLbCycle;周期/非周期
char*szApplicationName;應(yīng)用程序的名稱?char*szFunctionName;函數(shù)的名稱
LPVOIDlpParam;指向動作堆棧的指針
DWORDdwParamSize;動作堆棧的大小
doubledblTime;?DWORDdwFlags;標(biāo)記?}CCAPTime;
組成部分
dwCode
dwCode結(jié)構(gòu)元素提供OnTime調(diào)用信息:?dwCode=113用每個動作的時間調(diào)用?dwCode=114用一個動作的超時調(diào)用?dwFlags
dwFlags結(jié)構(gòu)元素提供輸出類型的信息:
dwFlags=TRUE結(jié)果被輸出到文件中.
dwFlags=FALSE結(jié)果被輸出到診斷窗口中—-————23、Alarm腳本———-——Alarm組包含控制WinCC報(bào)警控件的函數(shù)。標(biāo)準(zhǔn)函數(shù)可用于工具欄中的每一個按鈕。這些函數(shù)可用來創(chuàng)建自定義工具欄,例如選擇畫面,或者定義控件上的設(shè)置。1.voidAcknowledgeMessage(DWORDMsgNr)函數(shù),確認(rèn)消息系統(tǒng)中帶編號的消息,該編號被傳遞為參數(shù)。使用標(biāo)準(zhǔn)函數(shù)操作WinCC報(bào)警控件的實(shí)例{//確認(rèn)選擇的報(bào)警記錄消息AcknowledgeMessage(GetTagWord(”U08i_MsgNr"));}指定待確認(rèn)的消息號。在本例中是從變量讀取的。2.BOOLAXC_OnBtnArcLong(char*lpszPictureName,char*pszMsgWin)函數(shù),在消息窗口中該函數(shù)表示消息存儲在長期歸檔中。使用標(biāo)準(zhǔn)函數(shù)操作WinCC報(bào)警控件的實(shí)例{//跳轉(zhuǎn)到WinCC報(bào)警控件中的第一條消息AXC_OnBtnMsgFirst(”gs_alarm_00”,”Control1”);}AXC_OnBtnMsgFirst函數(shù)參數(shù):“gs_alarm_00”是在其中組態(tài)WinCC報(bào)警控件的畫面的名稱。Control1是WinCC報(bào)警控件的對象名。3.BOOLAXC_OnBtnArcShort(char*lpszPictureName,char*pszMsgWin)函數(shù),在消息窗口中該函數(shù)表示消息存儲在短期歸檔中。使用標(biāo)準(zhǔn)函數(shù)操作WinCC報(bào)警控件的實(shí)例{//跳轉(zhuǎn)到WinCC報(bào)警控件中的第一條消息AXC_OnBtnMsgFirst(”gs_alarm_00”,"Control1");}AXC_OnBtnMsgFirst函數(shù)參數(shù):“gs_alarm_00”是在其中組態(tài)WinCC報(bào)警控件的畫面的名稱。Control1是WinCC報(bào)警控件的對象名.4.BOOLAXC_OnBtnComment(char*lpszPictureName,char*pszMsgWin)函數(shù)外部消息窗口操作,該函數(shù)顯示先前所選消息的注釋。使用標(biāo)準(zhǔn)函數(shù)操作WinCC報(bào)警控件的實(shí)例{//跳轉(zhuǎn)到WinCC報(bào)警控件中的第一條消息AXC_OnBtnMsgFirst(”gs_alarm_00”,”Control1");}AXC_OnBtnMsgFirst函數(shù)參數(shù):“gs_alarm_00”是在其中組態(tài)WinCC報(bào)警控件的畫面的名稱。Control1是WinCC報(bào)警控件的對象名。5.BOOLAXC_OnBtnEmergAckn(char*lpszPictureName,char*pszMsgWin)函數(shù),外部消息窗口操作,此函數(shù)打開確認(rèn)對話框(緊急確認(rèn)/復(fù)位).使用標(biāo)準(zhǔn)函數(shù)操作WinCC報(bào)警控件的實(shí)例{//跳轉(zhuǎn)到WinCC報(bào)警控件中的第一條消息AXC_OnBtnMsgFirst(”gs_alarm_00",”Control1");}AXC_OnBtnMsgFirst函數(shù)參數(shù):“gs_alarm_00"是在其中組態(tài)WinCC報(bào)警控件的畫面的名稱。Control1是WinCC報(bào)警控件的對象名。6.BOOLAXC_OnBtnHornAckn(char*lpszPictureName,char*pszMsgWin)函數(shù),外部消息窗口操作,該函數(shù)確認(rèn)蜂鳴器信號。使用標(biāo)準(zhǔn)函數(shù)操作WinCC報(bào)警控件的實(shí)例{//跳轉(zhuǎn)到WinCC報(bào)警控件中的第一條消息AXC_OnBtnMsgFirst(”gs_alarm_00","Control1");}AXC_OnBtnMsgFirst函數(shù)參數(shù):“gs_alarm_00”是在其中組態(tài)WinCC報(bào)警控件的畫面的名稱.Control1是WinCC報(bào)警控件的對象名。7.BOOLAXC_OnBtnInfo(char*lpszPictureName,char*pszMsgWin)函數(shù),外部消息窗口操作,該函數(shù)顯示信息文本。使用標(biāo)準(zhǔn)函數(shù)操作WinCC報(bào)警控件的實(shí)例{//跳轉(zhuǎn)到WinCC報(bào)警控件中的第一條消息AXC_OnBtnMsgFirst(”gs_alarm_00”,"Control1");}AXC_OnBtnMsgFirst函數(shù)參數(shù):“gs_alarm_00”是在其中組態(tài)WinCC報(bào)警控件的畫面的名稱。Control1是WinCC報(bào)警控件的對象名。8.BOOLAXC_OnBtnLock(char*lpszPictureName,char*pszMsgWin)函數(shù),外部消息窗口操作,該函數(shù)打開“設(shè)置鎖定”對話框。使用標(biāo)準(zhǔn)函數(shù)操作WinCC報(bào)警控件的實(shí)例{//跳轉(zhuǎn)到WinCC報(bào)警控件中的第一條消息AXC_OnBtnMsgFirst(”gs_alarm_00”,"Control1”);}AXC_OnBtnMsgFirst函數(shù)參數(shù):“gs_alarm_00"是在其中組態(tài)WinCC報(bào)警控件的畫面的名稱。Control1是WinCC報(bào)警控件的對象名。9.BOOLAXC_OnBtnLockUnlock(char*lpszPictureName,char*pszMsgWin),函數(shù),該函數(shù)鎖住在消息窗口中選擇的消息。之后,不再歸檔該消息。該函數(shù)釋放在鎖定列表中選擇的消息。使用標(biāo)準(zhǔn)函數(shù)操作WinCC報(bào)警控件的實(shí)例{//跳轉(zhuǎn)到WinCC報(bào)警控件中的第一條消息AXC_OnBtnMsgFirst("gs_alarm_00”,”Control1”);}AXC_OnBtnMsgFirst函數(shù)參數(shù):“gs_alarm_00”是在其中組態(tài)WinCC報(bào)警控件的畫面的名稱。Control1是WinCC報(bào)警控件的對象名。10.BOOLAXC_OnBtnLockWin(char*lpszPictureName,char*pszMsgWin)函數(shù),外部消息窗口操作.該函數(shù)調(diào)用鎖定列表。使用標(biāo)準(zhǔn)函數(shù)操作WinCC報(bào)警控件的實(shí)例{//跳轉(zhuǎn)到WinCC報(bào)警控件中的第一條消息AXC_OnBtnMsgFirst(”gs_alarm_00","Control1");}AXC_OnBtnMsgFirst函數(shù)參數(shù):“gs_alarm_00”是在其中組態(tài)WinCC報(bào)警控件的畫面的名稱。Control1是WinCC報(bào)警控件的對象名。11.BOOLAXC_OnBtnLoop(char*lpszPictureName,char*pszMsgWin)函數(shù),外部消息窗口操作,此函數(shù)觸發(fā)所選消息的“報(bào)警回路”函數(shù)。使用標(biāo)準(zhǔn)函數(shù)操作WinCC報(bào)警控件的實(shí)例{//跳轉(zhuǎn)到WinCC報(bào)警控件中的第一條消息AXC_OnBtnMsgFirst("gs_alarm_00”,"Control1");}AXC_OnBtnMsgFirst函數(shù)參數(shù):“gs_alarm_00”是在其中組態(tài)WinCC報(bào)警控件的畫面的名稱.Control1是WinCC報(bào)警控件的對象名。12.BOOLAXC_OnBtnMsgFirst(char*lpszPictureName,char*pszMsgWin)函數(shù),外部消息窗口操作,該函數(shù)移動到消息列表的開始處.使用標(biāo)準(zhǔn)函數(shù)操作WinCC報(bào)警控件的實(shí)例{//跳轉(zhuǎn)到WinCC報(bào)警控件中的第一條消息AXC_OnBtnMsgFirst(”gs_alarm_00",”Control1");}AXC_OnBtnMsgFirst函數(shù)參數(shù):“gs_alarm_00”是在其中組態(tài)WinCC報(bào)警控件的畫面的名稱。Control1是WinCC報(bào)警控件的對象名.13.BOOLAXC_OnBtnMsgLast(char*lpszPictureName,char*pszMsgWin)函數(shù),外部消息窗口操作,該函數(shù)移動到消息列表的結(jié)束處.使用標(biāo)準(zhǔn)函數(shù)操作WinCC報(bào)警控件的實(shí)例{//跳轉(zhuǎn)到WinCC報(bào)警控件中的最后一條消息AXC_OnBtnMsgLast(”gs_alarm_00",”Control1”);}AXC_OnBtnMsgLast函數(shù)參數(shù):“gs_alarm_00"是在其中組態(tài)WinCC報(bào)警控件的畫面的名稱。Control1是WinCC報(bào)警控件的對象名。14.BOOLAXC_OnBtnMsgNext(char*lpszPictureName,char*pszMsgWin)函數(shù),外部消息窗口操作,該函數(shù)移動到消息列表中的下一條消息.使用標(biāo)準(zhǔn)函數(shù)操作WinCC報(bào)警控件的實(shí)例{//跳轉(zhuǎn)到WinCC報(bào)警控件中的第一條消息AXC_OnBtnMsgFirst("gs_alarm_00",”Control1");}AXC_OnBtnMsgFirst函數(shù)參數(shù):“gs_alarm_00”是在其中組態(tài)WinCC報(bào)警控件的畫面的名稱.Control1是WinCC報(bào)警控件的對象名。15.BOOLAXC_OnBtnMsgPrev(char*lpszPictureName,char*pszMsgWin)函數(shù),外部消息窗口操作,該函數(shù)移動到消息列表中的前一條消息。使用標(biāo)準(zhǔn)函數(shù)操作WinCC報(bào)警控件的實(shí)例{//跳轉(zhuǎn)到WinCC報(bào)警控件中的第一條消息AXC_OnBtnMsgFirst("gs_alarm_00”,”Control1”);}AXC_OnBtnMsgFirst函數(shù)參數(shù):“gs_alarm_00”是在其中組態(tài)WinCC報(bào)警控件的畫面的名稱。Control1是WinCC報(bào)警控件的對象名。16.BOOLAXC_OnBtnMsgWin(char*lpszPictureName,char*pszMsgWin)函數(shù),外部消息窗口操作,該函數(shù)調(diào)用過程消息窗口。使用標(biāo)準(zhǔn)函數(shù)操作WinCC報(bào)警控件的實(shí)例{//跳轉(zhuǎn)到WinCC報(bào)警控件中的第一條消息AXC_OnBtnMsgFirst(”gs_alarm_00",”Control1”);}AXC_OnBtnMsgFirst函數(shù)參數(shù):“gs_alarm_00”是在其中組態(tài)WinCC報(bào)警控件的畫面的名稱。Control1是WinCC報(bào)警控件的對象名.17.BOOLAXC_OnBtnPrint(char*lpszPictureName,char*pszMsgWin)函數(shù),外部消息窗口操作,打印機(jī)打印出符合在報(bào)警控件中定義的選擇標(biāo)準(zhǔn)的全部消息。WinCC報(bào)警控件的實(shí)例{//跳轉(zhuǎn)到WinCC報(bào)警控件中的第一條消息AXC_OnBtnMsgFirst(”gs_alarm_00","Control1");}AXC_OnBtnMsgFirst函數(shù)參數(shù):“gs_alarm_00”是在其中組態(tài)WinCC報(bào)警控件的畫面的名稱。Control1是WinCC報(bào)警控件的對象名.18.BOOLAXC_OnBtnScroll(char*lpszPictureName,char*pszMsgWin)函數(shù),外部消息窗口操作,該函數(shù)激活水平和垂直滾動功能。使用標(biāo)準(zhǔn)函數(shù)操作WinCC報(bào)警控件的實(shí)例{//激活/取消激活滾動功能AXC_OnBtnScroll(”gs_alarm_00”,”Control1");}AXC_OnBtnScroll函數(shù)參數(shù):“gs_alarm_00"是在其中組態(tài)WinCC報(bào)警控件的畫面的名稱.Control1是WinCC報(bào)警控件的對象名。19.BOOLAXC_OnBtnSelect(char*lpszPictureName,char*pszMsgWin)函數(shù),外部消息窗口操作,該函數(shù)打開“設(shè)置選擇”對話框。使用標(biāo)準(zhǔn)函數(shù)操作WinCC報(bào)警控件的實(shí)例{//跳轉(zhuǎn)到WinCC報(bào)警控件中的第一條消息AXC_OnBtnMsgFirst(”gs_alarm_00”,”Control1");}AXC_OnBtnMsgFirst函數(shù)參數(shù):“gs_alarm_00”是在其中組態(tài)WinCC報(bào)警控件的畫面的名稱。Control1是WinCC報(bào)警控件的對象名。20.BOOLAXC_OnBtnSinglAckn(char*lpszPictureName,char*pszMsgWin)函數(shù),外部消息窗口操作,該函數(shù)確認(rèn)當(dāng)前所選的消息。使用標(biāo)準(zhǔn)函數(shù)操作WinCC報(bào)警控件的實(shí)例{//確認(rèn)激活的消息AXC_OnBtnSinglAckn(”gs_alarm_00”,”Control1”);}AXC_OnBtnSinglAckn函數(shù)參數(shù):“gs_alarm_00”是在其中組態(tài)WinCC報(bào)警控件的畫面的名稱.Control1是WinCC報(bào)警控件的對象名。21.BOOLAXC_OnBtnVisibleAckn(char*lpszPictureName,char*pszMsgWin)函數(shù),外部消息窗口操作,確認(rèn)消息窗口中可見的全部消息(組確認(rèn))。使用標(biāo)準(zhǔn)函數(shù)操作WinCC報(bào)警控件的實(shí)例{//跳轉(zhuǎn)到WinCC報(bào)警控件中的第一條消息AXC_OnBtnMsgFirst(”gs_alarm_00","Control1");}AXC_OnBtnMsgFirst函數(shù)參數(shù):“gs_alarm_00”是在其中組態(tài)WinCC報(bào)警控件的畫面的名稱。Control1是WinCC報(bào)警控件的對象名。22BOOLAXC_SetFilter(char*lpszPictureName,char*lpszObjectName,LPMSG_FILTER_STRUCTlpMsgFilter,LPCMN_ERROR,lpError)函數(shù),外部消息窗口操作,該函數(shù)為WinCC報(bào)警控件設(shè)置過濾器,以便根據(jù)指定的過濾標(biāo)準(zhǔn)篩選出可用的消息.使用標(biāo)準(zhǔn)函數(shù)操作WinCC報(bào)警控件的實(shí)例{BOOLret;MSG_FILTER_STRUCTFilter;CMN_ERRORError;//重新設(shè)置過濾器結(jié)構(gòu)memset(&Filter,0,sizeof(MSG_FILTER_STRUCT));//設(shè)置過濾器名稱strcpy(Filter.szFilterName,"Control1");//挑選選擇元素Filter。dwFilter=MSG_FILTER_NR_FROM|MSG_FILTER_NR_TO;//消息號來自Fi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 一年級數(shù)學(xué)兩位數(shù)加減一位數(shù)題過關(guān)檢測習(xí)題
- 線上線下媒體推廣一體化合同
- 合同里的故事:汗水浸潤收獲滿滿的輝煌篇章
- 鄭州商業(yè)地產(chǎn)租賃合同范本
- 2025年度建筑工程質(zhì)量保修與售后服務(wù)合同
- 2025年度會計(jì)信息管理系統(tǒng)升級改造合同
- 股權(quán)轉(zhuǎn)讓居間合同范本8
- 銀行承兌匯票貼現(xiàn)合同模板
- 短期采購合同協(xié)議書
- 2025年度酒店前臺職位聘用合同范本
- 長江委水文局2025年校園招聘17人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025年湖南韶山干部學(xué)院公開招聘15人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 廣東省廣州市番禺區(qū)2023-2024學(xué)年七年級上學(xué)期期末數(shù)學(xué)試題
- 不可切除肺癌放療聯(lián)合免疫治療專家共識(2024年版)j解讀
- 教科版科學(xué)六年級下冊14《設(shè)計(jì)塔臺模型》課件
- 智研咨詢發(fā)布:2024年中國MVR蒸汽機(jī)械行業(yè)市場全景調(diào)查及投資前景預(yù)測報(bào)告
- 法規(guī)解讀丨2024新版《突發(fā)事件應(yīng)對法》及其應(yīng)用案例
- JGJ46-2024 建筑與市政工程施工現(xiàn)場臨時用電安全技術(shù)標(biāo)準(zhǔn)
- 家譜、宗譜頒譜慶典講話
- 青島版小學(xué)科學(xué)三年級下冊《太陽和影子》教學(xué)設(shè)計(jì)
- 電梯質(zhì)量驗(yàn)收記錄表
評論
0/150
提交評論