1.用戶注銷:
#pragma code ("useadmin.dll")
#include "PWRT_api.h"
#pragma code()
PWRTLogout();
2.用戶登錄:
#pragma code ("useadmin.dll")
#include "PWRT_api.h"
#pragma code()
PWRTLogin('c');
3.關閉項目并退出wincc:
ExitWinCC ();
4.退出運行到wincc資源管理器:
DeactivateRTProject ();
5.結束監控并關閉計算機(會彈出確認對話框)
HWND hWnd = NULL;//Author:Smartsys
int iRet;
hWnd = FindWindow(NULL,"WinCC-運行系統 - ");
iRet=MessageBox(hWnd,"結束監控并關閉計算機",
"關閉操作站",MB_YESNO|MB_ICONWARNING|MB_APPLMODAL);
if(iRet==IDYES)
DMExitWinCCEx (DM_SDMODE_POWEROFF);
6.點擊事件彈出對話框,通過點擊彈出對話框的確定和取消按鈕實現對變量的置位或取消:
int r;
r=MessageBox(NULL, "YES為開,NO為關", "確定開命令:", MB_YESNO |MB_SYSTEMMODAL);
if (r==IDYES)
SetTagBit("TAGNAME",TRUE);
else
SetTagBit("TAGNAME",FALSE);
7.開顯示關顯示:(要在內部變量中建立三個二進制變量COLSE_DISPLAY、DISPLAY_NO和DISPLAY_COMMENT)
// Funktion: Bit in Doppelwort setzen;
if (GetTagBitWait("COLSE_DISPLAY")==1 )
{SetTagBit("COLSE_DISPLAY",0);
SetTagBit("DISPLAY_NO",0); //Return-Type: BOOL
SetTagBit("DISPLAY_COMMENT",0);
}
else
{SetTagBit("COLSE_DISPLAY",1);
SetTagBit("DISPLAY_NO",1); //Return-Type: BOOL
SetTagBit("DISPLAY_COMMENT",0);
}
8.開閥確認:
BOOL a;
a=GetTagBit("30T制水啟動"); //Return-Type :short int
if (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運行畫面最小化
HWND WinCCHwnd;
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.打開編輯畫面的腳本
#pragma option(mbcs)
#ifdef RUN_ON_WEBNAVIGATOR
#else
HWND hExplorerWindow= NULL;
HWND hRuntimeWindow= NULL;
hExplorerWindow= FindWindow("WinCCExplorerFrameWndClass",NULL);
hRuntimeWindow= FindWindow("PDLRTisAliveAndWaitsForYou",NULL);
if(hExplorerWindow)
{
ShowWindow(hExplorerWindow, SW_MINIMIZE); // This entry is only necessary for Windows 2000
ShowWindow(hExplorerWindow, SW_SHOWNORMAL);
SetForegroundWindow(hExplorerWindow);
}
else
printf("\r\n SetForeground failed");
#endif
11.如何在WINCC中制作一個保持型按鈕
方法1:
if( GetTagBit("M10") )
SetTagBit("M10",0);
else
SetTagBit("M10",1);
方法2:
SetTagBit("M1.0",(SHORT)!GetTagBit("M1.0"));
求反指令,如果為1點擊變為0,
如果為0點擊變為1
方法3:
或者做兩個按鈕,
按鈕一:顯示,直接連接m1.0,是--不顯示,否--顯示 。事件,直接連接,源,常數1,變量M1.0;
按鈕二:事件,直接連接,源,常數0,變量M1.0;
用按鈕一覆蓋按鈕二
【必讀】版權免責聲明
1、本主題所有言論和內容純屬會員個人意見,與本論壇立場無關。2、本站對所發內容真實性、客觀性、可用性不做任何保證也不負任何責任,網友之間僅出于學習目的進行交流。3、對提供的數字內容不擁有任何權利,其版權歸原著者擁有。請勿將該數字內容進行商業交易、轉載等行為,該內容只為學習所提供,使用后發生的一切問題與本站無關。 4、本網站不保證本站提供的下載資源的準確性、安全性和完整性;同時本網站也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的損失或傷害。 5、本網站所有軟件和資料均為網友推薦收集整理而來,僅供學習用途使用,請務必下載后兩小時內刪除,禁止商用。6、如有侵犯你版權的,請及時聯系我們(電子郵箱1370723259@qq.com)指出,本站將立即改正。
|
|