.用户注销:
#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 ();
按钮变三种颜
#include "apdefap.h"
long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
navigator标签{
#pragma option(mbcs)
if(GetTagWord("TX/ZSH001")==1)
return 0x0000ff00;
else
if(GetTagWord("TX/ZSL001")==1)
return 0x000000ff;
else
return 0x00c0c0c0;
}
一个调用按钮变
#include "apdefap.h"
long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
#pragma option(mbcs)
if(GetTagWord("NewTag")==0)
return 0x0000ff00;
else
return 0x00ffffff;
}
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("rn 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;
用按钮一覆盖按钮二
12变量每秒加1
DWORD a;
a=GetTagDWord("Tank");
a+=1;
if(a>100)  (a=0);
SetTagDWord("Tank",a);
return 0;
}
WINCC动画脚本
电机风扇旋转(几何---起始角度):
#include "apdefap.h"
 long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
static  DWORD  f=20;
if  (GetTagBit("DI电机运行信号"))  {     

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。