文档库 最新最全的文档下载
当前位置:文档库 › wincc中常用C脚本

wincc中常用C脚本

wincc中常用C脚本
wincc中常用C脚本

查看文章

wincc常用C动作

2010-06-27 10:31

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;

用按钮一覆盖按钮二

相关文档