ImageVerifierCode 换一换
格式:DOC , 页数:35 ,大小:614.04KB ,
资源ID:5138030      下载积分:12 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/5138030.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(WINCC函数.doc)为本站上传会员【人****来】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

WINCC函数.doc

1、1.切换画面按钮 2 2.设定BIT变量当前值 2 3.取当前登陆用户 2 4.取硬盘剩余容量 3 5.以图像模式显示(灯、钮)等 5 6.自定义对象 6 7.OK返回值 19 8.小键盘 19 9.PID传递页面C脚本 23 10.将变量B的值赋给变量A(无符号16位) 25 11.乒乓键 26 12.C脚本、脉冲延时 27 13.CONFIGURATION TOOOL 28 14.用“笔组”实现一张页面做趋势 28 15.滑竿,SLIDER CONTROL的使用 34 16.切换语言 35 1.切换画面按钮 #include "apdefap.h"

2、void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y) { SetPictureName(lpszPictureName,"PictureWindow1","HS_MODE.Pdl"); //设定PictureWindow1填充为页面HS_MODE.Pdl SetTagChar("TT","操作模式"); //Return-Type: BOOL //设定字符串变量TT当前值为“操作模式”以显示页眉 } 2.

3、设定BIT变量当前值 SetTagBit("N3_VALVE_RESET",0); 3.取当前登陆用户 @CurrentUser 4.取硬盘剩余容量 5.以图像模式显示(灯、钮)等 智能对象\状态显示 选透明颜色 6.自定义对象 C动作 #include "apdefap.h" void OnLButtonDown(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y) { Valve(lpszPictureNa

4、me,lpszObjectName); //Return-Type: void } 全局脚本\项目函数 void Valve(char *lpszPictureName, char *lpszObjectName) { char* Tagname = GetPropChar(lpszPictureName, lpszObjectName, "ObjectName");//设TAGNAME当前值为N3_HS_A char* TitleName = GetPropChar(lpszPictureName, lpszObjectName, "TITLE");//设TITLENAM

5、E当前值为热风炉自动 char* Name = GetPropChar(lpszPictureName, lpszObjectName, "PICNAME");//设NAME当前值为QD_BUTTON char* DIS = GetPropChar(lpszPictureName, lpszObjectName, "DIS");//设DIS是否显示,本变量空用于下面的阀函数 static BOOL visble; //声明BOOL量VISBLE long lLeft ; //声明常整数1LEFT,用于弹出框的左上角

6、 long lTop; BOOL Bool=TRUE; //声明BOOL量BOO1为真 LINKINFO linkinfo; //Structure definition结构定义 visble=TRUE; //设VISBLE当前值为真 //lLeft =599; //lTop=327; lLeft =GetLeft(lpszPictureName,lpszObjectName)+50; //1LEFT当前值为当前页面的当前对象的左坐标+50,注意不是VALUE的值而是当前对象按钮“热风炉自动” lTop=GetTop(lpszPictureName,lpszObjectN

7、ame); //1TOP当前值为当前页面的当前对象的上坐标 if (lLeft <20) //限制坐标范围 { lLeft =20; } if (lLeft >1240) { lLeft =1240; } if (lTop>200) { lTop=200; } if (lTop<20) { lTop=20; } SetLeft(lpszPictureName,"value",lLeft); //设定当前页面中画面窗口VALUE的左上角坐标 SetTop(lpszPictureName,"value",lTop); SetPictureName(lpszP

8、ictureName,"value",".PDL"); //设定当前页面中画面窗口VALUE填充页面为.PDL PDLRTSetPropEx(0,lpszPictureName,"value","Visible",VT_BOOL,&visble,NULL,NULL,0,NULL,NULL); //设定 VALUE的一些属性,帮助里未查到,待查 SetPropChar(lpszPictureName,"value","CaptionText",TitleName); //设定VALUE的CAPTION TEXT为热风炉自动 SetPropChar(lpszPictureName,"valu

9、e","TagPrefix",Tagname); //为VALUE中所有变量增加前缀N3_HS_A SetPropChar(lpszPictureName,"value","PictureName",Name); //为VALUE填充页面为QD_BUTTON SetPropChar(Name,"text","Text",Tagname);//为当前页面名字叫TEXT的TEXT属性设定为TAGNAME的当前值,本项目用于阀函数 SetPropChar(Name,"Button4","Visible",DIS); //为当前页面名字叫BUTTON4的VISIBLE属性设定为DIS的当前值,本

10、项目用于阀函数,下同 SetPropChar(Name,"Button5","Visible",DIS); SetPropChar(Name,"Button10","Visible",DIS); SetPropChar(Name,"Button11","Visible",DIS); } 画面窗口定义如下: QD_BOTTON页面定义如下: 其中确定按钮定义如下: 动作按下置1,抬起置0 取下按钮为关闭当前窗口 阀门 自定义对象 C脚本 #include "apdefap.h" void OnLButtonDown(char* lpszPictur

11、eName, char* lpszObjectName, char* lpszPropertyName, UINT nFlags, int x, int y) { Valve(lpszPictureName,lpszObjectName); //Return-Type: void } 页面VALVE_FUNCTION_STAME如下 其中设备名称定义为TEXT,取的即为OBJECTNAME,本例中为N3_SV101 其中远程等状态灯显示为结构变量后缀 .XXX 其中打开、关闭等按钮(未知是否需要确定取消),本例中是这样实现的,以打开按钮为例: 实际上本例中打开按钮

12、有2个重叠在一起 下面的打开按钮(黑色边框)控制实际的IO后缀: 上面的打开按钮的可见性由DIS变量的当前值确定,若DIS为真,则蓝色边框打开按钮可见,蓝打开按钮(BOTTON4)控制PIC1可见 8 PIC1填充为OPEN页面 OPEN页面如下: 其中确定按钮为BOTTON8,因所有变量前缀已赋值,则确定按钮仍连接实际IO后缀,同黑色打开按钮。 7.OK返回值 本例中如此操作有些繁琐,对于需要确认的按钮可以用OK返回值实现,则简便许多,代码如下: #include "apdefap.h" void OnClick(char* lpszPictureName

13、 char* lpszObjectName, char* lpszPropertyName) { int ret_val; ret_val=MessageBox(NULL,"你确定要顺启流程吗?","请确认此动作",MB_OKCANCEL|MB_SETFOREGROUND|MB_SYSTEMMODAL); if(ret_val==1)SetTagBit("FLOW.STR_FM",1); } 8.小键盘 ,有时候操作人员不希望用键盘操作而是希望用鼠标操作,如图: 其中绿色为输出值: 1、2、3~.按钮的C脚本一样就是对象名称不同,对象名称为当前按钮: C脚

14、本如下: #include "apdefap.h" void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) { char*A=GetPropChar(lpszPictureName, "TAG", "TEXT"); char*B=GetPropChar(lpszPictureName, lpszObjectName, "ObjectName"); strcat(A,B); SetPropChar(lpszPictureName, "TAG", "TEXT",A); }

15、空白域定义为TAG,无脚本 确定按钮将TAG赋给SP,C脚本如下: #include "apdefap.h" void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) { char*A=GetPropChar(lpszPictureName, "TAG", "TEXT"); SetTagChar(".SP",A); SetPropChar(lpszPictureName, "DIS", "OutputValue","1"); } 取消按钮清空TAG,代码如下:

16、include "apdefap.h" void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) { SetPropChar(lpszPictureName, "TAG", "TEXT",""); } 9.PID传递页面C脚本 附录 PID传递页面C脚本: void PID(char *lpszPictureName, char *lpszObjectName) { char* Tagname = GetPropChar(lpszPictureName, lpszOb

17、jectName, "ObjectName"); char* TitleName = GetPropChar(lpszPictureName, lpszObjectName, "TITLE"); char* Name = GetPropChar(lpszPictureName, lpszObjectName, "PICNAME"); char* MAX = GetPropChar(lpszPictureName, lpszObjectName, "MAX"); char* MIX = GetPropChar(lpszPictureName, lpszObjectName, "MIX")

18、 char* UNIT = GetPropChar(lpszPictureName, lpszObjectName, "UNIT"); char* PV = GetPropChar(lpszPictureName, lpszObjectName, "PV"); char* SP = GetPropChar(lpszPictureName, lpszObjectName, "SP"); char* Out = GetPropChar(lpszPictureName, lpszObjectName, "OUT"); char* In = GetPropChar(lpszPictureN

19、ame, lpszObjectName, "IN"); char* MANUAL_SP= GetPropChar(lpszPictureName, lpszObjectName, "MANUAL_SP"); //char* PID = GetPropChar(lpszPictureName, lpszObjectName, "PID"); static BOOL visble; long lLeft ; long lTop; BOOL Bool=TRUE; LINKINFO linkinfo; vi

20、sble=TRUE; lLeft =50; lTop=50; //lLeft =GetLeft(lpszPictureName,lpszObjectName)+50; //lTop=GetTop(lpszPictureName,lpszObjectName); //if (lLeft <20) //{ //lLeft =20; //} //if (lLeft >840) //{ //lLeft =840; //} //if (lTop>500) //{ //lTop=500; //} //if (lTop<20) //{ //lTop=20; //}

21、SetLeft(lpszPictureName,"value",lLeft); SetTop(lpszPictureName,"value",lTop); SetPictureName(lpszPictureName,"value",Name); PDLRTSetPropEx(0,lpszPictureName,"value","Visible",VT_BOOL,&visble,NULL,NULL,0,NULL,NULL); SetPropChar(lpszPictureName,"value","CaptionText",TitleName); SetPropChar(lpszP

22、ictureName,"value","TagPrefix",Tagname); SetPropChar(lpszPictureName,"value","PictureName",Name); SetPropChar(Name,"text","Text",Tagname); SetPropChar(Name,"IO1","OutputValue",MAX); SetPropChar(Name,"IO2","OutputValue",MIX); SetPropChar(Name,"IO3","OutputValue",UNIT); SetPropChar(Name,"IO4","O

23、utputValue",PV); SetPropChar(Name,"IO5","OutputValue",SP); SetPropChar(Name,"IO6","OutputValue",Out); SetPropChar(Name,"IO7","OutputValue",In); SetPropChar(Name,"IO8","OutputValue",MANUAL_SP); } 10.将变量B的值赋给变量A(无符号16位) #include "apdefap.h" void OnClick(char* lpszPictureName, char* lpszObjectN

24、ame, char* lpszPropertyName) { SetTagWord("A", GetTagWord("B")); SetTagWord("TOPP2_E_TOP_SYS_STOP", 0); SetTagWord("TOPP2_E_TOP_SYS_RUN", 1); } 11.乒乓键 #include "apdefap.h" void OnClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName) { //Return-Type: BOOL BOOL bstate;

25、 //Get the current state of the tag bstate = GetTagBit("TOPP2_E_r_SEL"); if(bstate) { SetTagBit("TOPP2_E_r_SEL",0); } else { SetTagBit("TOPP2_E_r_SEL",1); } } 另一种:SetTagBit("DEN_20",1-GetTagBit("DEN_20")); 12.C脚本、脉冲延时 在wincc 实现延时,比较浪费资源,不建议这么做。 按钮按下输出个3秒的脉冲 void delay(int tm) {

26、 time_t t1,t2; double tt; time(&t1); for(;;)  {  time(&t2);  tt=difftime(t2,t1);  if (tt>=tm)   break;  } } 在C脚本调用 SetTagBit("变量",1); delay(60);//60为时间 自己设定 SetTagBit("变量",0); 13.CONFIGURATION TOOOL 功能:修改结构变量、EXCEL导入报警、趋势标签,WINCC安装盘自带。 14.用“笔组”实现一张页面做趋势 增加内部标签(支持多项目复制、粘贴) TagTren

27、dType:用于替换笔组当前值 CurrentPage、PreviousPage:用于显示当前页面及后退到上幅页面,和本例关系不大 复制全局脚本VBS Global.bmo,支持多项目复制粘贴 查找字符串“mainscreen”,替换为自己项目的主页面名 在自己项目的主页面增加页面窗体PictureWindow4\PictureWindow5,填充页面为空,将主窗体页面重命名为PictureWindow3 拷贝趋势页面S_Trend.PDL到当前工程。 定义笔组,如: If ObjTag.Value = "Speed_Strand1" Then

28、 AddTrend TrendObj, "1. Strand4 Actual Casting Speed", "WD_Act_Speed_4", RGB(0, 0, 0), 0, 5 AddTrend TrendObj, "2. Strand4 5#Withdrawal Actual Pressure", "WD5_Pressure_Actual_4", RGB(255, 0, 0), 0, 20 AddTrend TrendObj, "3. Strand4 5#Withdrawal Actual Gap", "W

29、D5_Gap_Actual_4", RGB(0, 128, 0), 200, 450 AddTrend TrendObj, "4. Strand4 5#Withdrawal Set Gap", "WD5_Gap_Set_4", RGB(0, 0, 255), 200, 450 End If 上例中, 笔组名称为"Speed_Strand1",其中包括4只笔,以第一只为例,其中 "1. Strand4 Actual Casting Speed" 为WINCC显示的描述项,支持中文。 "WD_Act_Speed_4":为变量标签。

30、 RGB(0, 0, 0):为笔颜色,三原色 0, 5:为WINCC显示时Y轴量程,X时间轴不需要定义,在S_TREND中已有。笔组最少一只笔,最多9只笔。 在画面增加按钮调用笔组"Speed_Strand1": Sub OnClick(ByVal Item) MyShowTrend("Speed_Strand1") End Sub 另:VBS中多段代码取当前登陆用户名,若为空则MESSAGEBOX,故使用时需用个用户名登陆。 因使用了全局脚本,故测试时只运行当前页面则无法实现趋势功能,必须整个项目运行且勾选“全局脚本运行系统”才能看到效

31、果 15.滑竿,SLIDER CONTROL的使用 1、在控件里调用WINCC SLIDER CONTROL,界面比较友好,但不能直接关联TAG变量,需要脚本如下: Dim Slider Set Slider=ScreenItems("SliderCtrl") HMIRuntime.Tags("tag").Write Slider.Position 把代码写在控件的“事件”下的“对象事件”下的“change”事件里便可以改变了! 其中SliderCtrl是OCX控件WINCC SLIDER CONTROL的名称,tag是wincc变量 2、使用标准\窗口对象\滚动条对象,可直接关联变量标签 16.切换语言 SETLANGUE(0X0404);中文 SETLANGUE(0X0409);英文

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服