![wincc常用C脚本_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-6/2/f9bb7b1a-5a5f-43d0-9b56-33841e483f3a/f9bb7b1a-5a5f-43d0-9b56-33841e483f3a1.gif)
![wincc常用C脚本_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-6/2/f9bb7b1a-5a5f-43d0-9b56-33841e483f3a/f9bb7b1a-5a5f-43d0-9b56-33841e483f3a2.gif)
![wincc常用C脚本_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-6/2/f9bb7b1a-5a5f-43d0-9b56-33841e483f3a/f9bb7b1a-5a5f-43d0-9b56-33841e483f3a3.gif)
![wincc常用C脚本_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-6/2/f9bb7b1a-5a5f-43d0-9b56-33841e483f3a/f9bb7b1a-5a5f-43d0-9b56-33841e483f3a4.gif)
![wincc常用C脚本_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-6/2/f9bb7b1a-5a5f-43d0-9b56-33841e483f3a/f9bb7b1a-5a5f-43d0-9b56-33841e483f3a5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.用户注销:#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 ();按钮变三种颜色#includ
2、e "apdefap.h" long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)#pragma option(mbcs)if(GetTagWord("TX/ZSH001")=1)return 0x0000ff00;elseif(GetTagWord("TX/ZSL001")=1)return 0x000000ff;elsereturn 0x00c0c0c0;一个调用按钮变色#include "apdefap.h"
3、; long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)#pragma option(mbcs)if(GetTagWord("NewTag")=0)return 0x0000ff00;elsereturn 0x00ffffff;5.结束监控并关闭计算机(会弹出确认对话框)HWND hWnd = NULL;/Author:Smartsysint iRet;hWnd = FindWindow(NULL,"WinCC-运行系统 - ");iRet=Mess
4、ageBox(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=
5、IDYES)SetTagBit("TAGNAME",TRUE);elseSetTagBit("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
6、",0); /Return-Type: BOOLSetTagBit("DISPLAY_COMMENT",0);else SetTagBit("COLSE_DISPLAY",1);SetTagBit("DISPLAY_NO",1); /Return-Type: BOOLSetTagBit("DISPLAY_COMMENT",0);8.开阀确认:BOOL a;a=GetTagBit("30T制水启动"); /Return-Type :short intif
7、 (a=0)if(MessageBox(NULL,"真的要启动制水吗?","操作提示",MB_YESNO|MB_ICONQUESTION|MB_SETFOREGROUND|MB_SYSTEMMODAL) = 6) SetTagBit("30T制水启动",1);/Return-Type :BOOLelseif(MessageBox(NULL,"真的要停止制水吗?","操作提示",MB_YESNO|MB_ICONQUESTION|MB_SETFOREGROUND|MB_SYSTEMMODAL) =
8、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&quo
9、t;)=0) /Return-Type: BOOLSetTagBit("hiddVtext",TRUE); /Return-Type: BOOL/Return-Type: BOOLelseSetTagBit("hiddVtext",FALSE);10.打开编辑画面的脚本#pragma option(mbcs)#ifdef RUN_ON_WEBNAVIGATOR#else HWND hExplorerWindow= NULL; HWND hRuntimeWindow= NULL;
10、; hExplorerWindow= FindWindow("WinCCExplorerFrameWndClass",NULL); hRuntimeWindow= FindWindow("PDLRTisAliveAndWaitsForYou",NULL); if(hExplorerWindow) ShowWindow(hExp
11、lorerWindow, SW_MINIMIZE); / This entry is only necessary for Windows 2000 ShowWindow(hExplorerWindow, SW_SHOWNORMAL); SetForegroundWindow(hExplorerWindow); else
12、0;printf("rn SetForeground failed");#endif11.如何在WINCC中制作一个保持型按钮方法1:if( GetTagBit("M10") ) SetTagBit("M10",0);else SetTagBit("M10",1);方法2:SetTagBit("M1.0",(SHORT)!GetTagBit("M1.0");求反指令,如果为1点击变为0,如果为0点击变为1方法
13、3:或者做两个按钮,按钮一:显示,直接连接m1.0,是-不显示,否-显示 。事件,直接连接,源,常数1,变量M1.0;按钮二:事件,直接连接,源,常数0,变量M1.0;用按钮一覆盖按钮二12变量每秒加1DWORD a;a=GetTagDWord("Tank");a+=1;if(a>100) (a=0);SetTagDWord("Tank",a);return 0; WINCC动画脚本电机风扇旋转(几何-起始角度):#include "apdefap.h" long _main(char* lpszPictureName
14、, char* lpszObjectName, char* lpszPropertyName)static DWORD f=20;if (GetTagBit("DI电机运行信号") f= f+30;if (f=360) (f=0);return f;电机风扇旋转(几何-结束角度):#include "apdefap.h" long _main(char* lpszPictureName, char* lpszObjectName, char* lp
15、szPropertyName)static DWORD i=80;if (GetTagBit("DI电机运行信号") i = i+30;if (i=360) (i=0);return i; *物料水平右移动(几何-位置X)(停车后,物料回到原点)*#include "apdefap.h" long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyN
16、ame)static int a=350;if (GetTagBit("DI电机运行信号") && (a<=730) a+=20;if (a>=720) (a=350); if (!GetTagBit("DI电机运行信号") (a=350); return a;物料水平右移动(几何-位置X)(停车后,物料停在该点)#include "apdefap.h"
17、;long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)static int a=350;if (GetTagBit("DI电机运行信号") && (a<=730) a+=20;if (a>=720) (a=350); return a; 物料向上移动(几何-位置Y)
18、(停车后,物料停在该点)#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); &
19、#160; return b;年月日(静态文本)#include "apdefap.h" char* _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)time_t timer ;struct tm *ptm;char *p;time(&timer);ptm =localtime(&timer);p =SysMalloc(9);sprintf(p,"%04d/%02d/%02d",ptm->
20、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 ;struct tm *ptm;char *p;time(&timer);ptm =localtime(&timer);p =SysMalloc(9);sprin
21、tf(p,"%02d:%02d:%02d",ptm->tm_hour,ptm->tm_min,ptm->tm_sec); return(p);登陆到指定的用户名无须手动输入(按钮操作)#include "apdefap.h"void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)#pragma code(&q
22、uot;useadmin.dll")#include "PWRT_API.H"#pragma code()PWRTSilentLogin("用户名", "口令"); *显示登陆对话框无须热键(按钮操作)*#include "apdefap.h"void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)#pragma code (
23、"useadmin.dll")#include "PWRT_api.h"#pragma code( ) PWRTLogin('c'); 退出WINCC运行(按钮操作)#include "apdefap.h"void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y) DeactivateRTProject
24、();单位递增按钮(到上限不提示出错)#include "apdefap.h"void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)DWORD value;value=GetTagDWord("AI标签"); if (value>90) (value=上限);else value=value+10;SetTagDWord("AI标签",value); 单位递减按钮(到下限不提
25、示出错)#include "apdefap.h"void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)DWORD value;value=GetTagDWord("AI标签"); if (value<10) (value=下限);else value=value-10;SetTagDWord("AI标签",value); *单位递增按钮(到上限提示出错)*#include &
26、quot;apdefap.h"void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)DWORD value;HWND hWnd=NULL ; hWnd=FindWindow(NULL,"Wincc-运行系统- "); value=GetTagDWord("AI标签"); if (value<=90) (value=value+10);else MessageBox(hWnd,"已到达上限值!&quo
27、t;,"错误",MB_OK|MB_ICONWARNING|MB_APPLMODAL);SetTagDWord("AI标签",value); *单位递减按钮(到下限提示出错)*#include "apdefap.h"void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)DWORD value;HWND hWnd=NULL ; hWnd=FindWindow(NULL,&q
28、uot;Wincc-运行系统- "); value=GetTagDWord("AI标签"); if (value>0) (value=value-10);else MessageBox(hWnd," 已到达下限值!"," 错误",MB_OK|MB_ICONWARNING|MB_APPLMODAL);SetTagDWord("AI标签",value); *自动登陆到指定的用户(画面属性-其它授权)*#include "apdefap.h&quo
29、t; long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)#pragma code("useadmin.dll")#include "PWRT_API.H"#pragma code()PWRTSilentLogin("用户名", "口令");return(0X0); *询问框(最好用于单机启动,组启也可,2个按钮,NO不操作)*#include "apdefap.h"vo
30、id OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y)HWND hWnd=NULL;int 上位启动信号;hWnd=FindWindow(NULL,"WinCC C-Course");if (GetTagBit("DI备妥")上位启动信号=MessageBox(hWnd,"电源已备妥,您现在确定要启动吗?","启动!",
31、160; MB_YESNO|MB_ICONQUESTION|MB_APPLMODAL);printf("rnExample 3rn"); if (上位启动信号=IDNO) (printf("User selected NO button rn"); else (SetTagByte("上位启动信号"
32、;,1);elseMessageBox(hWnd,"电源未备妥,请查证后重试!","启动!", MB_OK|MB_ICONHAND|MB_APPLMODAL);*询问框(最好用于单机启动,组启也可,3个按钮,NO复位)*#include "apdefap.h"void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszProper
33、tyName, UINT nFlags, int x, int y)HWND hWnd=NULL;int上位启动信号;hWnd=FindWindow(NULL,"WinCC C-Course");if (GetTagBit("DI备妥")上位启动信号=MessageBox(hWnd," 电源已备妥,您现在确定要启动吗?","启动!",
34、160; MB_YESNOCANCEL|MB_ICONQUESTION|MB_APPLMODAL); if (上位启动信号=IDCANCEL) (printf("User selected NO button rn"); else
35、; if (上位启动信号=IDYES) (SetTagByte("上位启动信号",1); else (SetTagByte("上位启动信号",0); elseMessageBox(hWnd," 电源未备妥,请查证后重试!","启动
36、!", 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 (GetT
37、agBit("DI电机运行信号")if (h>0)&&(h<=50)(h-=2);return h;if (u>=0)&&(u<50)(u+=2);return u;u=0;h=50;return h;return u;if (!GetTagBit("DI电机运行信号")h=50;u=0;return h;return u; *搅拌器左侧扇页(几何位置X,右侧扇页没有位置变化)*#include "apdefap.h" lo
38、ng _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);return h; if (u<=125)&&(u>75)(u-=2);return u;u=125;h=75;return h;return u;if (!GetTagBit("DI电机运行信号")h=75;u=125;return h;r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 模拟小升初英语考试卷
- 大班故事比赛教案范本两篇
- 北师大版一年级生字词学习技巧
- 人教版九年级英语语法深度练习
- 年人教版二年级入学模拟题
- 苏教版数学教程长方体和正方体表面积的计算实例分析
- 苏教版小学数学长方形和正方形面积的教学目标解析
- 《二等分》大班数学教案
- 人教版五年级下册数学知识点
- 苏教版小学数学教案创新设计
- 全脑科学学习法(课堂PPT)
- 七步洗手法-课件(PPT-精)
- a施工现场组织管理机构网络图
- 防爆等级要求介绍-防爆标志
- S7、S9、S11系列变压器损耗表
- (整理)ATS-2测试设定.
- 光缆接入施工工程施工组织方案
- 不锈钢保温水箱(现场发泡保温)安装作业指导38369
- 第六章造林技术PPT课件
- 风电场安全职责
- 客房物品赔偿价目表(共2页)
评论
0/150
提交评论