WINCC动画脚本集萃.docx

上传人:b****5 文档编号:4245637 上传时间:2022-11-28 格式:DOCX 页数:11 大小:16.33KB
下载 相关 举报
WINCC动画脚本集萃.docx_第1页
第1页 / 共11页
WINCC动画脚本集萃.docx_第2页
第2页 / 共11页
WINCC动画脚本集萃.docx_第3页
第3页 / 共11页
WINCC动画脚本集萃.docx_第4页
第4页 / 共11页
WINCC动画脚本集萃.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

WINCC动画脚本集萃.docx

《WINCC动画脚本集萃.docx》由会员分享,可在线阅读,更多相关《WINCC动画脚本集萃.docx(11页珍藏版)》请在冰豆网上搜索。

WINCC动画脚本集萃.docx

WINCC动画脚本集萃

WINCC动画脚本

 

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

#include"apdefap.h"

 long_main(char*lpszPictureName,char*lpszObjectName,char*lpszPropertyName)

{

static DWORD f=20;

if (GetTagBit("DI电机运行信号")) {    

f=f+30;

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

}

returnf;

}

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

#include"apdefap.h"

 long_main(char*lpszPictureName,char*lpszObjectName,char*lpszPropertyName)

{

static DWORD i=80;

if (GetTagBit("DI电机运行信号")){      

i=i+30;

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

}

returni;

}

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

#include"apdefap.h"

 long_main(char*lpszPictureName,char*lpszObjectName,char*lpszPropertyName)

{

static int a=350;

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

  a+=20;

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

}

if(!

GetTagBit("DI电机运行信号")) (a=350);  

returna;

}

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

#include"apdefap.h"

 long_main(char*lpszPictureName,char*lpszObjectName,char*lpszPropertyName)

{

static int a=350;

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

  a+=20;

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

}    

returna;

}

 

物料向上移动(几何---位置Y)(停车后,物料停在该点)

#include"apdefap.h"

 long_main(char*lpszPictureName,char*lpszObjectName,char*lpszPropertyName)

{

static int b=450;

if (GetTagBit("DI电机运行信号") &&(b>=290)) { 

  b-=10;

if (b<=280) (b=450);

}    

returnb;

}

年月日(静态文本)

#include"apdefap.h"

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

{

time_t timer;

structtm*ptm;

char*p;

time(&timer);

ptm=localtime(&timer);

p=SysMalloc(9);

sprintf(p,"%04d/%02d/%02d",ptm->tm_year-100+2000,ptm->tm_mon+1,ptm->tm_mday);

return(p);

}

 

时分秒(静态文本)

#include"apdefap.h"

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

{

time_t timer;

structtm*ptm;

char*p;

time(&timer);

ptm=localtime(&timer);

p=SysMalloc(9);

sprintf(p,"%02d:

%02d:

%02d",ptm->tm_hour,ptm->tm_min,ptm->tm_sec);     

return(p);

}

登陆到指定的用户名无须手动输入(按钮操作)

#include"apdefap.h"

voidOnLButtonDown(char*lpszPictureName,char*lpszObjectName,char*lpszPropertyName,UINTnFlags,intx,inty)

{

#pragmacode("useadmin.dll")

#include"PWRT_API.H"

#pragmacode()

PWRTSilentLogin("用户名","口令");

}

 

**显示登陆对话框无须热键(按钮操作)**

#include"apdefap.h"

voidOnLButtonDown(char*lpszPictureName,char*lpszObjectName,char*lpszPropertyName,UINTnFlags,intx,inty)

{

#pragmacode("useadmin.dll")

#include"PWRT_api.h"

#pragmacode()

 PWRTLogin('c');

}

 

退出WINCC运行(按钮操作)

#include"apdefap.h"

voidOnLButtonDown(char*lpszPictureName,char*lpszObjectName,char*lpszPropertyName,UINTnFlags,intx,inty)

{

 {

 DeactivateRTProject();

}

}

单位递增按钮(到上限不提示出错)

#include"apdefap.h"

voidOnClick(char*lpszPictureName,char*lpszObjectName,char*lpszPropertyName)

{

DWORDvalue;

value=GetTagDWord("AI标签"); 

if(value>90)(value=上限);

elsevalue=value+10;

SetTagDWord("AI标签",value);   

}

单位递减按钮(到下限不提示出错)

#include"apdefap.h"

voidOnClick(char*lpszPictureName,char*lpszObjectName,char*lpszPropertyName)

{

DWORDvalue;

value=GetTagDWord("AI标签"); 

if(value<10)(value=下限);

elsevalue=value-10;

SetTagDWord("AI标签",value);   

}

**单位递增按钮(到上限提示出错)**

#include"apdefap.h"

voidOnClick(char*lpszPictureName,char*lpszObjectName,char*lpszPropertyName)

{

DWORDvalue;

HWNDhWnd=NULL; 

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

value=GetTagDWord("AI标签"); 

if(value<=90)(value=value+10);

elseMessageBox(hWnd,"已到达上限值!

","错误",MB_OK|MB_ICONWARNING|MB_APPLMODAL);

SetTagDWord("AI标签",value);   

}

 

**单位递减按钮(到下限提示出错)**

#include"apdefap.h"

voidOnClick(char*lpszPictureName,char*lpszObjectName,char*lpszPropertyName)

{

DWORDvalue;

HWNDhWnd=NULL; 

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

value=GetTagDWord("AI标签"); 

if(value>0)(value=value-10);

elseMessageBox(hWnd,"已到达下限值!

","错误",MB_OK|MB_ICONWARNING|MB_APPLMODAL);

SetTagDWord("AI标签",value);   

}

**自动登陆到指定的用户(画面属性--其它—授权)**

#include"apdefap.h"

 long_main(char*lpszPictureName,char*lpszObjectName,char*lpszPropertyName)

{

#pragmacode("useadmin.dll")

#include"PWRT_API.H"

#pragmacode()

PWRTSilentLogin("用户名","口令");

return(0X0);

}

 

**询问框(最好用于单机启动,组启也可,2个按钮,NO不操作)**

#include"apdefap.h"

voidOnLButtonDown(char*lpszPictureName,char*lpszObjectName,char*lpszPropertyName,UINTnFlags,intx,inty)

{

HWNDhWnd=NULL;

int上位启动信号;

hWnd=FindWindow(NULL,"WinCCC-Course");

if(GetTagBit("DI备妥"))

{

上位启动信号=MessageBox(hWnd,"电源已备妥,您现在确定要启动吗?

","启动!

",

               MB_YESNO|MB_ICONQUESTION|MB_APPLMODAL);

printf("\r\nExample3\r\n");

   if(上位启动信号==IDNO)  (printf("UserselectedNObutton\r\n"));

   else(SetTagByte("上位启动信号",1));

}

else

MessageBox(hWnd,"电源未备妥,请查证后重试!

","启动!

",

          MB_OK|MB_ICONHAND|MB_APPLMODAL);

}

**询问框(最好用于单机启动,组启也可,3个按钮,NO复位)**

#include"apdefap.h"

voidOnLButtonDown(char*lpszPictureName,char*lpszObjectName,char*lpszPropertyName,UINTnFlags,intx,inty)

{

HWNDhWnd=NULL;

int上位启动信号;

hWnd=FindWindow(NULL,"WinCCC-Course");

if(GetTagBit("DI备妥"))

{

上位启动信号=MessageBox(hWnd,"电源已备妥,您现在确定要启动吗?

","启动!

",

                       MB_YESNOCANCEL|MB_ICONQUESTION|MB_APPLMODAL);

   if(上位启动信号==IDCANCEL)  (printf("UserselectedNObutton\r\n")); 

   else

        {

         if (上位启动信号==IDYES) (SetTagByte("上位启动信号",1));

         else (SetTagByte("上位启动信号",0));

         }

}

else

MessageBox(hWnd,"电源未备妥,请查证后重试!

","启动!

",

          MB_OK|MB_ICONHAND|MB_APPLMODAL);

}

 

**搅拌器左侧扇页(几何—宽度)**

#include"apdefap.h"

 long_main(char*lpszPictureName,char*lpszObjectName,char*lpszPropertyName)

{

static int h=50;

static int u=0;

if(GetTagBit("DI电机运行信号"))

{

if((h>0)&&(h<=50))

{

(h-=2);

returnh;

}

if((u>=0)&&(u<50))

{

(u+=2);

returnu;

}

u=0;

h=50;

returnh;

returnu;

}

if(!

GetTagBit("DI电机运行信号")){

h=50;

u=0;

returnh;

returnu;

}

}

  

 

 **搅拌器左侧扇页(几何—位置X,右侧扇页没有位置变化)**

#include"apdefap.h"

 long_main(char*lpszPictureName,char*lpszObjectName,char*lpszPropertyName)

{

static int h=75;

static int u=125;

if(GetTagBit("DI电机运行信号"))

{

if((h>=75)&&(h<125))

{

(h+=2);

returnh;

}

 

if((u<=125)&&(u>75))

{

(u-=2);

returnu;

}

u=125;

h=75;

returnh;

returnu;

}

if(!

GetTagBit("DI电机运行信号")){

h=75;

u=125;

returnh;

returnu;

}

}

**显示层按钮**

SubX6309X94AE2X0000X0000_X6309X94AE2X0000X60C5_X6309X94AE2X0000X653E_OnLButtonDown(ByValItem,ByValFlags,ByValx,ByValy)        

DimobjScreen

DimCountLayer

SetobjScreen=HMIRuntime.Screens("layer")

ForCountLayer=1To32Step1

objScreen.Layers(CountLayer).Visible=vbFalse

Next

objScreen.Layers(n).Visible=vbTrue

EndSub

 

n=层数+1

初始画面程序(画面空地--属性--事件--其它--打开画面--动作)

 

 

**打印按钮**

#include"apdefap.h"

voidOnLButtonDown(char*lpszPictureName,char*lpszObjectName,char*lpszPropertyName,UINTnFlags,intx,inty)

{

WinExec("PRTSCR.EXE-hardcopy",SW_SHOWNORMAL);

}

 

 

**一个圈代表电机两种状态**

#include"apdefap.h"

voidOnClick(char*lpszPictureName,char*lpszObjectName,char*lpszPropertyName)

{

char*opentag="DI1电机运行信号";

      char*closetag="DI2电机运行信号";

      BOOLopen,close;

      open=GetTagBit(opentag);

      close=GetTagBit(closetag);

      if(open)

       returnCO_GREEN;

       if(close)

      returnCO_BLUE;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 图表模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1