文档库 最新最全的文档下载
当前位置:文档库 › Wincc常用C脚本及常用功能

Wincc常用C脚本及常用功能

Wincc常用C脚本及常用功能
Wincc常用C脚本及常用功能

打开用户管理器

ProgramExecute("Passcs.exe");

取消激活

#include "apdefap.h"

void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)

{

#pragma option(mbcs)

HWND hwnd=NULL;

int iRet;

hwnd=FindWindow(NULL,"WinCC-运行系统- "); //获得句柄

iRet=MessageBox(hwnd,"是否取消激活?","Deactivate",MB_OKCANCEL|MB_ICONW ARNING|MB_APPLMODAL);

if(iRet==1)

DeactivateRTProject (); //Return-Type: BOOL

关闭计算机

#include "apdefap.h"

void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)

{

#pragma option(mbcs)

HWND hwnd=NULL;

int iRet;

hwnd=FindWindow(NULL,"WinCC-运行系统- ");

iRet=MessageBox(hwnd,"是否关闭计算机?","ShutDown",MB_OKCANCEL|MB_ICONW ARNING|MB_APPLMODAL);

if(iRet==1)

DMExitWinCCEx(DM_SDMODE_SYSTEM);

}

====================================================================== 登陆代码:

#pragma code(“useadmin.dll”)

#include

#pragma code()

PWRTLogin (…e?);

====================================

取消激活(Deactivate)

DeactivateRTProject();

======================================

Wincc变量操作

GetTagDWord(“变量名称”); 获取Wincc变量值

SetTagDWord(“变量“,设定值);设置Wincc变量

对文本读写操作

写操作

#include "apdefap.h"

void OnLButtonUp(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)

{

#pragma option(mbcs)

FILE* lpFile;

char *shuzhu[6]={"tag_1","tag_2","tag_3","tag_4","tag_5","tag_6"};

char* lpszStr;

int i,j;

lpszStr=SysMalloc(60); //Return-Type: void*

lpFile = fopen("D:\\test.txt", "w+");

for(i=0;i<6;i++)

{

lpszStr=GetTagChar(shuzhu[i]);

strcat(lpszStr,"\r\n");

if(lpFile == NULL)

{ printf("can not open file\r\n"); return;}

fprintf(lpFile, lpszStr);

}

SysFree(lpszStr);

fclose(lpFile);

}

读操作

#include "apdefap.h"

void OnLButtonUp(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)

{

#pragma option(mbcs)

char* shuzhu[6]={"tag_1","tag_2","tag_3","tag_4","tag_5","tag_6"};

char tmp[255];

int i=0;

int ChrNumLine=38;

FILE *fp;

fp=fopen("D:\\test.txt","r");

if (fp==NULL)

{

return;

}

else

{

rewind(fp);

while(!feof(fp))

{

fgets(tmp,ChrNumLine,fp);

SetTagChar(shuzhu[i],tmp);

i++;

}

}

fclose(fp);

}

画面窗口显示界面切换

SetPictureName(lpszPictureName,"PicWindow_button","produce_manage_button.pdl"); SetVisible(lpszPictureName,"PicWindow_button",1);

注:PicWindow_button是画面窗口名称;produce_manage_button.pdl是要显示的子画面。

在主画面中的画面窗口中切换显示子画面

SetPictureName("man.pdl","PicWindow_main","winder_basic_setting.pdl");

SetVisible("man.pdl","PicWindow_main",1);

注:man.pdl是主画面名称;PicWindow_main是主画面中的画面窗口名称;

#include "apdefap.h"

void OnLButtonUp(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)

{

#pragma option(mbcs)

int start_flag,end_flag;

int i,j;

float mid_value[39];

char

*houzui[39]={".A01-1",".A01-0",".A00-2",".A00-3",".A00-6",".A21-2",".A21-1",".T1",".T2",".T 3",".T4",".steady_time",".overfeed_time",".A01-3",".A01-4",

".A30-1",".A30-2",".A30-3",".A30-4",".A30-5",".A30-6",".A30-7",".A30-8",".A30-9",".A30-10", ".A30-11",".A30-12",

".A31-1",".A31-2",".A31-3",".A31-4",".A31-5",".A31-6",".A31-7",".A31-8",".A31-9",".A31-10", ".A31-11",".A31-12"};

char *chr_current;

char *pos;

HWND hWnd=NULL;

hWnd=FindWindow(NULL,"WinCC-运行系统- ");

chr_current=SysMalloc(30); //Return-Type: void*

pos=SysMalloc(10); //Return-Type: void*

pos=GetTagChar("current");

//--------------Get Value-----------------------------------

if(GetTagWord("current")>=1)

{

for(i=0;i<39;i++)

{

strcpy(chr_current,"stru_pos_");

strcat(chr_current,pos);

strcat(chr_current,houzui[i]);

mid_value[i]=GetTagFloat(chr_current);

}

//-------------------------muti send---------------------------------------

start_flag=GetTagWord("start");

end_flag=GetTagWord("end");

if(start_flag<=end_flag)

{

for(i=start_flag;i<=end_flag;i++)

{

SetTagWord("mid_pos",i);

pos=GetTagChar("mid_pos");

for(j=0;j<39;j++)

{

strcpy(chr_current,"stru_pos_");

strcat(chr_current,pos);

strcat(chr_current,houzui[j]);

SetTagFloat(chr_current,mid_value[j]);

}

}

MessageBoxA(hWnd,"群设置完成!","Multi Send",MB_OK|MB_ICONINFORMA TION|MB_APPLMODAL);

}

else

MessageBoxA(hWnd,"起始位需小于等于结束位!","Warning",MB_OK|MB_ICONW ARNING|MB_APPLMODAL);

}

else

MessageBoxA(hWnd,"当前位号输入错误!","Warning",MB_OK|MB_ICONW ARNING|MB_APPLMODAL);

}

相关文档