wincc常用C脚本.. 下载本文

内容发布更新时间 : 2024/5/3 8:04:33星期一 下面是文章的全部内容请认真阅读。

.用户注销:

#pragma code (\#include \#pragma code() PWRTLogout();

2.用户登录:

#pragma code (\#include \#pragma code() PWRTLogin('c');

3.关闭项目并退出wincc: ExitWinCC ();

4.退出运行到wincc资源管理器: DeactivateRTProject ();

按钮变三种颜色

#include \

long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) {

#pragma option(mbcs)

if(GetTagWord(\return 0x0000ff00; else

if(GetTagWord(\return 0x000000ff; else

return 0x00c0c0c0; }

一个调用按钮变色

#include \

long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) {

#pragma option(mbcs) if(GetTagWord(\return 0x0000ff00; else

return 0x00ffffff;

}

5.结束监控并关闭计算机(会弹出确认对话框) HWND hWnd = NULL;//Author:Smartsys int iRet;

hWnd = FindWindow(NULL,\运行系统 - \iRet=MessageBox(hWnd,\结束监控并关闭计算机\

\关闭操作站\if(iRet==IDYES)

DMExitWinCCEx (DM_SDMODE_POWEROFF);

6.点击事件弹出对话框,通过点击弹出对话框的确定和取消按钮实现对变量的置位或取消: int r;

r=MessageBox(NULL, \为开,NO为关\\确定开命令:\MB_YESNO |MB_SYSTEMMODAL); if (r==IDYES)

SetTagBit(\else

SetTagBit(\

7.开显示关显示:(要在内部变量中建立三个二进制变量COLSE_DISPLAY、DISPLAY_NO和DISPLAY_COMMENT)

// Funktion: Bit in Doppelwort setzen; if (GetTagBitWait(\{SetTagBit(\

SetTagBit(\SetTagBit(\}

else

{SetTagBit(\

SetTagBit(\SetTagBit(\}

8.开阀确认: BOOL a;

a=GetTagBit(\制水启动\if (a==0) {

if(MessageBox(NULL,\真的要启动制水吗?\操作提示

\{ SetTagBit(\制水启动\//Return-Type :BOOL } } else

{if(MessageBox(NULL,\真的要停止制水吗?\操作提示

\{ SetTagBit(\制水停止\}}

9.将WinCC运行画面最小化

HWND WinCCHwnd;

WinCCHwnd=FindWindow(NULL,\如果运行语言为英文

if (WinCCHwnd==0) WinCCHwnd=FindWindow(NULL,\运行系统 - \如果运行语言为中文

CloseWindow(WinCCHwnd);

10.显示或不显示(其中hiddVtext为内部的二进制变量) if(GetTagBit(\{

SetTagBit(\//Return-Type: BOOL } else

{SetTagBit(\}

10.打开编辑画面的脚本 #pragma option(mbcs)

#ifdef RUN_ON_WEBNAVIGATOR #else

HWND hExplorerWindow= NULL; HWND hRuntimeWindow= NULL;

hExplorerWindow= FindWindow(\ hRuntimeWindow= FindWindow(\ if(hExplorerWindow) {

ShowWindow(hExplorerWindow, SW_MINIMIZE); // This entry is only necessary for Windows 2000

ShowWindow(hExplorerWindow, SW_SHOWNORMAL); SetForegroundWindow(hExplorerWindow); } else

printf(\#endif

11.如何在WINCC中制作一个保持型按钮 方法1:

if( GetTagBit(\ SetTagBit(\else

SetTagBit(\

方法2:

SetTagBit(\求反指令,如果为1点击变为0, 如果为0点击变为1 方法3:

或者做两个按钮,

按钮一:显示,直接连接m1.0,是--不显示,否--显示 。事件,直接连接,源,常数1,变量M1.0;

按钮二:事件,直接连接,源,常数0,变量M1.0; 用按钮一覆盖按钮二 12变量每秒加1 DWORD a;

a=GetTagDWord(\a+=1;

if(a>100) (a=0); SetTagDWord(\return 0; }

WINCC动画脚本

电机风扇旋转(几何---起始角度):

#include \

long _main(char* lpszPictureName, char* lpszObjectName, char*

lpszPropertyName)

{

static DWORD f=20;

if (GetTagBit(\电机运行信号\{

f= f+30; if (f==360) (f=0);

}

return f;

}

电机风扇旋转(几何---结束角度):

#include \

long _main(char* lpszPictureName, char* lpszObjectName, char*

lpszPropertyName)

{

static DWORD i=80;

if (GetTagBit(\电机运行信号\

i = i+30; if (i==360) (i=0);

} return i;

}

**物料水平右移动(几何---位置X)(停车后,物料回到原点)**

#include \

long _main(char* lpszPictureName, char* lpszObjectName, char*

lpszPropertyName)

{

static int a=350;

if (GetTagBit(\电机运行信号\&& (a<=730)) {

a+=20; if (a>=720) (a=350);

}

if (!GetTagBit(\电机运行信号\(a=350);

return a;

}

物料水平右移动(几何---位置X)(停车后,物料停在该点)

#include \