WINCC常用的C动作时间:2011-07-11来源:作者:电气自动化技术网点击:99次1.用户注销:#pragmacode(useadmin.dll)#includePWRT_api.h#pragmacode()PWRTLogout();2.用户登录:#pragmacode(useadmin.dll)#includePWRT_api.h#pragmacode()PWRTLogin('c');3.关闭项目并退出wincc:ExitWinCC();4.退出运行到wincc资源管理器:DeactivateRTProject();5.结束监控并关闭计算机(会弹出确认对话框)HWNDhWnd=NULL;//Author:SmartsysintiRet;hWnd=FindWindow(NULL,WinCC-运行系统-);iRet=MessageBox(hWnd,结束监控并关闭计算机,关闭操作站,MB_YESNO|MB_ICONWARNING|MB_APPLMODAL);if(iRet==IDYES)DMExitWinCCEx(DM_SDMODE_POWEROFF);6.点击事件弹出对话框,通过点击弹出对话框的确定和取消按钮实现对变量的置位或取消:intr;r=MessageBox(NULL,YES为开,NO为关,确定开命令:,MB_YESNO|MB_SYSTEMMODAL);if(r==IDYES)SetTagBit(TAGNAME,TRUE);elseSetTagBit(TAGNAME,FALSE);7.开显示关显示:(要在内部变量中建立三个二进制变量COLSE_DISPLAY、DISPLAY_NO和DISPLAY_COMMENT)//Funktion:BitinDoppelwortsetzen;if(GetTagBitWait(COLSE_DISPLAY)==1){SetTagBit(COLSE_DISPLAY,0);SetTagBit(DISPLAY_NO,0);//Return-Type:BOOLSetTagBit(DISPLAY_COMMENT,0);}else{SetTagBit(COLSE_DISPLAY,1);SetTagBit(DISPLAY_NO,1);//Return-Type:BOOLSetTagBit(DISPLAY_COMMENT,0);}8.开阀确认:BOOLa;a=GetTagBit(30T制水启动);//Return-Type:shortintif(a==0){if(MessageBox(NULL,真的要启动制水吗?,操作提示,MB_YESNO|MB_ICONQUESTION|MB_SETFOREGROUND|MB_SYSTEMMODAL)==6){SetTagBit(30T制水启动,1);//Return-Type:BOOL}}else{if(MessageBox(NULL,真的要停止制水吗?,操作提示,MB_YESNO|MB_ICONQUESTION|MB_SETFOREGROUND|MB_SYSTEMMODAL)==6){SetTagBit(30T制水停止,1);}}9.将WinCC运行画面最小化HWNDWinCCHwnd;WinCCHwnd=FindWindow(NULL,WinCC-Runtime-);//如果运行语言为英文if(WinCCHwnd==0)WinCCHwnd=FindWindow(NULL,WinCC-运行系统-);//如果运行语言为中文CloseWindow(WinCCHwnd);10.显示或不显示(其中hiddVtext为内部的二进制变量)if(GetTagBit(hiddVtext)==0)//Return-Type:BOOL{SetTagBit(hiddVtext,TRUE);//Return-Type:BOOL//Return-Type:BOOL}else{SetTagBit(hiddVtext,FALSE);}10.打开编辑画面的脚本#pragmaoption(mbcs)#ifdefRUN_ON_WEBNAVIGATOR#elseHWNDhExplorerWindow=NULL;HWNDhRuntimeWindow=NULL;hExplorerWindow=FindWindow(WinCCExplorerFrameWndClass,NULL);hRuntimeWindow=FindWindow(PDLRTisAliveAndWaitsForYou,NULL);if(hExplorerWindow){ShowWindow(hExplorerWindow,SW_MINIMIZE);//ThisentryisonlynecessaryforWindows2000ShowWindow(hExplorerWindow,SW_SHOWNORMAL);SetForegroundWindow(hExplorerWindow);}elseprintf(\r\nSetForegroundfailed);#endif11.如何在WINCC中制作一个保持型按钮方法1:if(GetTagBit(M10))SetTagBit(M10,0);elseSetTagBit(M10,1);方法2:SetTagBit(M1.0,(SHORT)!GetTagBit(M1.0));求反指令,如果为1点击变为0,如果为0点击变为1方法3:或者做两个按钮,按钮一:显示,直接连接m1.0,是--不显示,否--显示。事件,直接连接,源,常数1,变量M1.0;按钮二:事件,直接连接,源,常数0,变量M1.0;用按钮一覆盖按钮二。