首页 WINCC常用C脚本

WINCC常用C脚本

举报
开通vip

WINCC常用C脚本WINCC常用C脚本WINCC动画脚本电机风扇旋转(几何---起始角度):#include"apdefap.h"long_main(char*lpszPictureName,char*lpszObjectName,char*lpszPropertyName){static  DWORD  f=20;if  (GetTagBit("DI电机运行信号"))  {   &n...

WINCC常用C脚本
WINCC常用C脚本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,"d/d/d",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,"d:d:d",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));}elseMessageBox(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));          }}elseMessageBox(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)        DimobjScreenDimCountLayerSetobjScreen=HMIRuntime.Screens("layer")ForCountLayer=1To32Step1objScreen.Layers(CountLayer).Visible=vbFalseNextobjScreen.Layers(n).Visible=vbTrueEndSub 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;}
本文档为【WINCC常用C脚本】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_870287
暂无简介~
格式:doc
大小:19KB
软件:Word
页数:9
分类:建筑/施工
上传时间:2018-08-11
浏览量:79