wincc-全部资料脚本情况总结.doc

上传人:小** 文档编号:3008790 上传时间:2020-06-21 格式:DOC 页数:72 大小:330.52KB
返回 下载 相关 举报
wincc-全部资料脚本情况总结.doc_第1页
第1页 / 共72页
wincc-全部资料脚本情况总结.doc_第2页
第2页 / 共72页
点击查看更多>>
资源描述

《wincc-全部资料脚本情况总结.doc》由会员分享,可在线阅读,更多相关《wincc-全部资料脚本情况总结.doc(72页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、.1、wincc全局脚本动作-隐藏控件#include apdefap.hint gscAction( void )/ WINCC:TAGNAME_SECTION_START/ syntax: #define TagNameInAction DMTagName/ next TagID : 1/ WINCC:TAGNAME_SECTION_ENDint value;value=GetTagBit(IM_in);/IM_in为触发的变量。 if(value=1) SetVisible(lianxi.pdl,按钮8,TRUE);/lianxi.pdl为控制对象所在画面名,“按钮8”为对象名称else

2、 SetVisible(lianxi.pdl,按钮8,FALSE);/lianxi.pdl/ WINCC:PICNAME_SECTION_START/ syntax: #define PicNameInAction PictureName/ next PicID : 1/ WINCC:PICNAME_SECTION_END return 0;=说明:在触发器里选择变量IM_in2、wincc全局脚本动作-提示框#include apdefap.hint gscAction( void )/ WINCC:TAGNAME_SECTION_START/ syntax: #define TagName

3、InAction DMTagName/ next TagID : 1/ WINCC:TAGNAME_SECTION_ENDint value;value=GetTagBit(IM_in);if(value=1) MessageBox(NULL,请确认三厅相关门是否关好,或者请解锁。,提示框,MB_OK|MB_ICONEXCLAMATION|MB_SETFOREGROUND|MB_SYSTEMMODAL); / WINCC:PICNAME_SECTION_START/ syntax: #define PicNameInAction PictureName/ next PicID : 1/ WIN

4、CC:PICNAME_SECTION_ENDreturn 0;=说明:在触发器中选择变量触发。3、趋势面板char * str_a = NULL;int Hi;int Lo;str_a = GetTagChar(TrendTagName1);Lo= GetTagSWord(TrendLo);Hi= GetTagSWord(TrendHi);SetPropWord(lpszPictureName,qushi,TrendIndex,0);SetPropChar(lpszPictureName,qushi,TrendTagName,str_a);SetPropWord(lpszPictureName

5、,qushi,ValueAxisBeginValue,Lo);SetPropWord(lpszPictureName,qushi,ValueAxisEndValue,Hi);4、获取位号SetTagChar(TrendTagName1,ProcessValueArchivePT111);/Return-Type: BOOL SetTagSWord(TrendHi,200);SetTagSWord(TrendLo,0);SetTagByte(Trenden,1);5、调用登陆函数#pragma code(useadmin.dll)#include PWRT_API.H#pragma code()

6、if (strcmp(GetTagChar(CurrentUser),)=0)PWRTLogin(c);-6、时间同步void SetCpuTime() #pragma code(kernel32.dll); void GetLocalTime(SYSTEMTIME *lpst); #pragma code(); SYSTEMTIME time BOOL ret; /printf(Start function SetCpuTimern); GetLocalTime(&time); ret= SetTagMultiWait(%d%d%d%d%d%d%d, data_year,time.wYear

7、-2000, data_month,time.wMonth, data_day,time.wDay, data_hour,time.wHour, data_MINUTE,time.wMinute, data_SECOND,time.wSecond, data_FLAG,1 ) -7、对话框调用BOOL A;BOOL B;HWND hwnd=NULL;int RetMsg;A=GetTagBit(TJ_ANNIU);/Return-Type: BOOL hwnd=FindWindow(NULL,WinCC-运行系统 - );if (A=0) RetMsg =MessageBox (hwnd, 确

8、定要停机?, 停机警告, MB_OKCANCEL|MB_SYSTEMMODAL|MB_SETFOREGROUND); if (RetMsg=IDOK) SetTagBit(TJ_ANNIU,1); MessageBox (hwnd, 停机, 停机警告, MB_OK|MB_SYSTEMMODAL|MB_SETFOREGROUND); SetTagBit(TJ_ANNIU,0); else B=0;else -8、声音报警#pragma code(Winmm.dll) VOID WINAPI PlaySoundA(char* pszSound,char* hmode,DWORD dwflag);#

9、pragma code()if(GetTagFloat(LIST555)500)PlaySoundA(D:DCSDATACG_winccHornHorn_Attention.wav,NULL,1);if(GetTagFloat(LIST555)=100) a1=0;SetTagDWord(P,a1);然后用一个按钮控制二进制变量Q,为启动信号。物体的X位置对应的是变量P,设置为模拟量。当P为1的时候对应的X位置。P为2的时候对应X的位置,以此类推,就可以做出物体移动画面了,要做全局脚本-10、WinCC中调用SQL语言 1、创建一个 SQL文件,此文件在ISQL中建立,文件内包含所要执行的SQ

10、L语句。Windows对话框实现。具体如下:2、在WinCC中用C Script 调用上述SQL文件,如下所示:#include"apdefap.h"void OnLButtonDown(char* lpszPictureName,char* lpszObjectName,char* lpszPropertyName,UINT nFlags,int x,int y)char*a="c:siemenscommonSQLANYISQL-q-b-cUID=DBA;PWD=SQL;DBF=E:testsqltestsqlRT.DB;DBN=CC_testsql_99-12

11、-03-12:48:26R;READE:testsqltest.sql"Printf("%srn",a);ProgramExcute(a);下面是一个简单的SQL文件内容:select *from pde#hd#t#test;output to e:test2.txt FORMAT ascii注意:文件名及路径中不要带空格。 11、设置或重置一个变量void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)BOOL z;z=GetTagBit("MyB

12、itVariable");/获得变量值if (z=0) SetTagBit("MyBitVariable",1); /设置变量值elseSetTagBit("MyBitVariable",0); 12、运行时图形产生动态旋转#include "apdefap.h"long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)static int x=25,y,z;/x为半径的初始值为25,y为切换变量,z为搅拌机运行状态变量z=G

13、etTagBit("202搅拌机运行"); /取得PLC搅拌机的运行状态if(z!=0)switch(y)case 0:x=x-4;if(x<=0)y=1;break;default :x=x+4;if(x>=25)y=0;break;return x; 13、WINCC-如何在程序中动态修改用户密码 1、 点击“开始”-“设置”-“控制面板”-“管理工具”-“数据源(ODBC)”,打开ODBC数据源管理器 2、在用户DSN页面的用户数据源中找到与当前项目所关联的一项,其名称为“CC_项目名_项目建立日期时间”,记下该项的名称 3、在脚本中加入以下代码: #pr

14、agma code(UseGen.dll) #include USEGENAP.H #pragma code() LPCMN_ERROR err; /定义的LPCMN_ERROR型变量,在函数调用中需使用 if (PWGENConnect(CC_ass_04-09-21_16:35:22,err) /建立与数据库的联接,其中CC_ass_04-09-21_16:35:22用第二步中记下的名称取代 if (PWGENChangePassword(GetTagChar(user),GetTagChar(oldpassword),GetTagChar(password),err) /修改密码,use

15、r,oldpassword,password分别为存贮用户名,原密码,新密码的内部变量,类型为文本变量8位字符集 /密码修改成功后的操作,如给用户提示等 PWGENDisconnect(err); /断开与数据库的联接 4、编译运行程序 5、工作完成 6、与用户管理相关的函数定义存贮在APPLIB目录下的USEGENAP.H文件中,可根据上面示例自行完成添加用户,修改权限等功能。 14、WinCC如何实现鼠标OnMouseOVer事件 用WINDOWAPI函数GetCusorPos获取当前鼠标位置,用GetWindowRect函数获取窗口位置,两值相减得鼠标在WINCC frame上的相对位置

16、。用全局脚本(设定为1s定时刷新),然后获取要OnMouseOver事件的物体的位置,并与鼠标位置相比较,如一致则触发自己定义的动作。#include apdefap.hint gscAction( void ) #pragma code(user32.dll); BOOL GetCusorPos(POINT lpPoint); /获取鼠标的位置(绝对位置-对应屏幕分辨率) BOOL GetWindowRect(HWND hwnd,LPRECT lpRect); /获取窗体位置 #pragma code(); POINT pPos; RECT rRec; HWND hwnd; BOOL bRe

17、t,bRet2; long lLeft,lTop,lWidth,lHeight; long lX,lY; char szStr100;hwnd=FindWindow(NULL,WinCC-Runtime - ); /如语言为中文应为WinCC 运行系统-if (hwnd=0) printf(rnError! WinCc Handle is %d,hwnd);goto over;bRet=GetCursorPos(&pPos); if (bRet=0) goto over;bRet2=GetWindowRect(hwnd,&rRec); if (bRet2=0) goto over; lX=pP

18、os.x-rRec.left; /鼠标 对置 lY=pPos.y-rRec.top; /鼠标 位置 /如果为非全屏模式,需将上述数值中的高height判断减去标题栏的宽度 /printf(The Current Cusor Pos is x:%d,y:%drn,pPos.x,pPos.y); /printf(The Cusor Pos in Window is x:%d,y:%drn,pPos.x-lLeft2,pPos.y-lTop2); lLeft=GetLeft(NewPdl0.Pdl,Text1); /Return - Type :long int lTop=GetTop(NewPdl

19、0.Pdl,Text1); /Return - Type :long int lWidth=GetWidth(NewPdl0.Pdl,Text1); /Return - Type :long int lHeight=GetHeight(NewPdl0.Pdl,Text1); /Return - Type :long intif (lX=lLeft)&(lY=lTop)&(lX=lLeft+lWidth)&(lY500) /热井液位 PlaySoundA(D:DCSDATACG_winccHorn热井液位高1.wav,NULL,0);if(GetTagFloat(LIST555)100 | Ge

20、tTagFloat(TE421B)100 | GetTagFloat(TE423A)100 | GetTagFloat(TE423B)100 | GetTagFloat(TE425)100 | GetTagFloat(TE427)100 | GetTagFloat(TE442)100) /轴瓦温度PlaySoundA(D:DCSDATACG_winccHorn轴瓦温度高1.wav,NULL,0);if(GetTagFloat(TIE485)45) /冷油器出口油温 PlaySoundA(D:DCSDATACG_winccHorn冷油器出口油温高.wav,NULL,0);if(GetTagFlo

21、at(PT091)40) /真空低PlaySoundA(D:DCSDATACG_winccHorn排汽压力高.wav,NULL,0);if(GetTagFloat(PT131)0.05 | GetTagFloat(PDT215)0.05 | GetTagBit(PDS071)=0 | GetTagBit(PDS073)=0) /滤油器差压 PlaySoundA(D:DCSDATACG_winccHorn滤油器差压高.wav,NULL,0);if(GetTagFloat(PT121)0.65) /主油泵出口压力 PlaySoundA(D:DCSDATACG_winccHorn主油泵出口压力低.wav,NULL,0);if(GetTagFloat(LIST551)52 | GetTagFloat(VE737A)52 | GetTagFloat(VE745A)52 | GetTagBit(XE202)=1 | GetTagBit(XE204)=1 | GetTagBit(XE206)=1) /振动大PlaySoundA(D:DCSDATACG_winccHorn轴瓦振动高.wav,NULL,0);if(GetTagFloat(ZE769)0.4 | GetTagFloat(ZE769)3 | GetTagFloat(ZDE785)3240) /转速 PlaySoundA(D:DC

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 其他杂项

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com