2022年WINCC函数_第1页
2022年WINCC函数_第2页
2022年WINCC函数_第3页
2022年WINCC函数_第4页
2022年WINCC函数_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1切换画面按钮 . 22. 设定 bit 变量当前值 . 23. 取当前登陆用户 . 24. 取硬盘剩余容量 . 35以图像模式显示(灯、钮)等. 56. 自定义对象 . 67.ok 返回值 . 198. 小键盘 . 199.pid 传递页面c脚本 . 2310. 将变量 b的值赋给变量a(无符号 16 位) . 2511. 乒乓键 . 2612.c 脚本、脉冲延时 . 2713.configuration toool . 2814. 用“笔组”实现一张页面做趋势. 2815. 滑竿, slider control 的使用 . 3416. 切换语言 . 35精品学习资料 可选择p d f -

2、- - - - - - - - - - - - - 第 1 页,共 35 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 1 页,共 35 页 - - - - - - - - -1切换画面按钮#include apdefap.h void onlbuttondown(char* lpszpicturename, char* lpszobjectname, char* lpszpropertyname, uint nflags, int x, int y) setpicturename(lpszpicturenam

3、e,picturewindow1,hs_mode.pdl); / 设定 picturewindow1 填充为页面 hs_mode.pdl settagchar(tt,操作模式 ); /return-type: bool / 设定字符串变量tt当前值为“操作模式”以显示页眉 2. 设定 bit 变量当前值settagbit(n3_valve_reset,0); 3. 取当前登陆用户 currentuser 精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 2 页,共 35 页 - - - - - - - - -精品学习资料 可选择p d f - - -

4、- - - - - - - - - - - 第 2 页,共 35 页 - - - - - - - - -4. 取硬盘剩余容量精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 3 页,共 35 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 3 页,共 35 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 4 页,共 35 页 - - - - - - - - -精品学习资料 可选择p d f

5、- - - - - - - - - - - - - - 第 4 页,共 35 页 - - - - - - - - -5以图像模式显示(灯、钮)等智能对象状态显示选透明颜色精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 5 页,共 35 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 5 页,共 35 页 - - - - - - - - -6. 自定义对象精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 6 页,共 35 页 -

6、- - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 6 页,共 35 页 - - - - - - - - -c动作#include apdefap.h void onlbuttondown(char* lpszpicturename, char* lpszobjectname, char* lpszpropertyname, uint nflags, int x, int y) valve(lpszpicturename,lpszobjectname); /return-type: void 全局脚本项目函数void val

7、ve(char *lpszpicturename, char *lpszobjectname) char* tagname = getpropchar(lpszpicturename, lpszobjectname, objectname);/ 设 tagname当前值为 n3_hs_achar* titlename = getpropchar(lpszpicturename, lpszobjectname, title);/ 设 titlename 当前值为热风炉自动char* name = getpropchar(lpszpicturename, lpszobjectname, picna

8、me);/ 设 name 当前值为 qd_buttonchar* dis = getpropchar(lpszpicturename, lpszobjectname, dis);/ 设 dis 是否显示,本变量空用于下面的阀函数static bool visble; / 声明 bool 量 visble精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 7 页,共 35 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 7 页,共 35 页 - - - - - - - - -

9、 long lleft ; / 声明常整数 1left,用于弹出框的左上角 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(lps

10、zpicturename,lpszobjectname); /1top 当前值为当前页面的当前对象的上坐标if (lleft 1240) lleft =1240; if (ltop200) ltop=200; if (ltop20) ltop=20; 精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 8 页,共 35 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 8 页,共 35 页 - - - - - - - - -setleft(lpszpicturename,va

11、lue,lleft); / 设定当前页面中画面窗口value 的左上角坐标settop(lpszpicturename,value,ltop); setpicturename(lpszpicturename,value,.pdl); / 设定当前页面中画面窗口value 填充页面为 .pdlpdlrtsetpropex(0,lpszpicturename,value,visible,vt_bool,&visble,null,null,0,null,null); / 设定 value 的一些属性,帮助里未查到,待查setpropchar(lpszpicturename,value,cap

12、tiontext,titlename); / 设定 value 的 caption text 为热风炉自动setpropchar(lpszpicturename,value,tagprefix,tagname); / 为 value 中所有变量增加前缀n3_hs_asetpropchar(lpszpicturename,value,picturename,name); / 为 value 填充页面为 qd_buttonsetpropchar(name,text,text,tagname);/ 为当前页面名字叫text的 text属性设定为 tagname的当前值,本项目用于阀函数setprop

13、char(name,button4,visible,dis);/ 为当前页面名字叫button4 的 visible 属性设定为 dis的当前值,本项目用于阀函数,下同setpropchar(name,button5,visible,dis); setpropchar(name,button10,visible,dis); setpropchar(name,button11,visible,dis); 画面窗口定义如下:精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 9 页,共 35 页 - - - - - - - - -精品学习资料 可选择p d

14、f - - - - - - - - - - - - - - 第 9 页,共 35 页 - - - - - - - - -qd_botton页面定义如下:其中确定按钮定义如下:动作按下置 1,抬起置 0 精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 10 页,共 35 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 10 页,共 35 页 - - - - - - - - -取下按钮为关闭当前窗口阀门自定义对象精品学习资料 可选择p d f - - - - - - - -

15、 - - - - - - 第 11 页,共 35 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 11 页,共 35 页 - - - - - - - - -c脚本#include apdefap.h void onlbuttondown(char* lpszpicturename, char* lpszobjectname, char* lpszpropertyname, uint nflags, int x, int y) valve(lpszpicturename,lpszobjectname); /retu

16、rn-type: void 页面 valve_function_stame如下精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 12 页,共 35 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 12 页,共 35 页 - - - - - - - - -其中设备名称定义为text ,取的即为 objectname,本例中为 n3_sv101 其中远程等状态灯显示为结构变量后缀 .xxx 精品学习资料 可选择p d f - - - - - - - - - - - - - -

17、 第 13 页,共 35 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 13 页,共 35 页 - - - - - - - - -其中打开、关闭等按钮(未知是否需要确定取消),本例中是这样实现的,以打开按钮为例:实际上本例中打开按钮有2 个重叠在一起精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 14 页,共 35 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 14 页,共 35 页

18、- - - - - - - - -下面的打开按钮(黑色边框)控制实际的io 后缀:精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 15 页,共 35 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 15 页,共 35 页 - - - - - - - - -上面的打开按钮的可见性由dis 变量的当前值确定,若dis 为真,则蓝色边框打开按钮可见,蓝打开按钮(botton4)控制 pic1 可见精品学习资料 可选择p d f - - - - - - - - - - - -

19、- - 第 16 页,共 35 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 16 页,共 35 页 - - - - - - - - -8 pic1填充为 open 页面精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 17 页,共 35 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 17 页,共 35 页 - - - - - - - - -精品学习资料 可选择p d f - - - -

20、 - - - - - - - - - - 第 18 页,共 35 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 18 页,共 35 页 - - - - - - - - -open 页面如下:其中确定按钮为 botton8, 因所有变量前缀已赋值,则确定按钮仍连接实际io 后缀,同黑色打开按钮。7.ok返回值本例中如此操作有些繁琐,对于需要确认的按钮可以用ok返回值实现,则简便许多,代码如下:#include apdefap.h void onclick(char* lpszpicturename, char*

21、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. 小键盘,有时候操作人员不希望用键盘操作而是希望用鼠标操作,如图:精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 19 页,共 35 页 - - - - - - - - -精品学习资料

22、 可选择p d f - - - - - - - - - - - - - - 第 19 页,共 35 页 - - - - - - - - -其中绿色为输出值:精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 20 页,共 35 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 20 页,共 35 页 - - - - - - - - -1、2、3.按钮的 c脚本一样就是对象名称不同,对象名称为当前按钮:c脚本如下:#include apdefap.h 精品学习资料 可选择p d

23、 f - - - - - - - - - - - - - - 第 21 页,共 35 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 21 页,共 35 页 - - - - - - - - -void onclick(char* lpszpicturename, char* lpszobjectname, char* lpszpropertyname) char*a=getpropchar(lpszpicturename, tag, text); char*b=getpropchar(lpszpicturenam

24、e, lpszobjectname, objectname); strcat(a,b); setpropchar(lpszpicturename, tag, text,a); 空白域定义为 tag ,无脚本确定按钮将 tag赋给 sp,c脚本如下:#include apdefap.h void onclick(char* lpszpicturename, char* lpszobjectname, char* lpszpropertyname) char*a=getpropchar(lpszpicturename, tag, text); settagchar(.sp,a); setpropc

25、har(lpszpicturename, dis, outputvalue,1); 精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 22 页,共 35 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 22 页,共 35 页 - - - - - - - - - 取消按钮清空 tag ,代码如下:#include apdefap.h void onclick(char* lpszpicturename, char* lpszobjectname, char* lpszpro

26、pertyname) setpropchar(lpszpicturename, tag, text,); 9.pid 传递页面 c脚本附录 pid 传递页面 c脚本:void pid(char *lpszpicturename, char *lpszobjectname) char* tagname = getpropchar(lpszpicturename, lpszobjectname, objectname); char* titlename = getpropchar(lpszpicturename, lpszobjectname, title); char* name = getpr

27、opchar(lpszpicturename, lpszobjectname, picname); char* max = getpropchar(lpszpicturename, lpszobjectname, max); char* mix = getpropchar(lpszpicturename, lpszobjectname, mix); char* unit = getpropchar(lpszpicturename, lpszobjectname, unit); char* pv = getpropchar(lpszpicturename, lpszobjectname, pv)

28、; char* sp = getpropchar(lpszpicturename, lpszobjectname, sp); char* out = getpropchar(lpszpicturename, lpszobjectname, out); char* in = getpropchar(lpszpicturename, lpszobjectname, in); char* manual_sp= getpropchar(lpszpicturename, lpszobjectname, manual_sp); 精品学习资料 可选择p d f - - - - - - - - - - - -

29、 - - 第 23 页,共 35 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 23 页,共 35 页 - - - - - - - - -/char* pid = getpropchar(lpszpicturename, lpszobjectname, pid); static bool visble; long lleft ; long ltop; bool bool=true; linkinfo linkinfo; visble=true; lleft =50; ltop=50; /lleft =getle

30、ft(lpszpicturename,lpszobjectname)+50; /ltop=gettop(lpszpicturename,lpszobjectname); /if (lleft 840) / /lleft =840; / /if (ltop500) / /ltop=500; / /if (ltop=tm) break; 在 c脚本调用settagbit(变量,1) ;delay (60);/60 为时间自己设定settagbit(变量,0) ;精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 27 页,共 35 页 - - - - - -

31、 - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 27 页,共 35 页 - - - - - - - - -13.configuration toool 功能:修改结构变量、 excel 导入报警、趋势标签, wincc 安装盘自带。14. 用“笔组”实现一张页面做趋势增加内部标签(支持多项目复制、粘贴)tagtrendtype:用于替换笔组当前值currentpage 、previouspage :用于显示当前页面及后退到上幅页面,和本例关系不大精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 2

32、8 页,共 35 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 28 页,共 35 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 29 页,共 35 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 29 页,共 35 页 - - - - - - - - -复制全局脚本 vbs global.bmo,支持多项目复制粘贴精品学习资料 可选择p d f

33、- - - - - - - - - - - - - - 第 30 页,共 35 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 30 页,共 35 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 31 页,共 35 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 31 页,共 35 页 - - - - - - - - -查找字符串“ mainscree

34、n ” ,替换为自己项目的主页面名在自己项目的主页面增加页面窗体picturewindow4picturewindow5,填充页面为空,将主窗体页面重命名为picturewindow3 精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 32 页,共 35 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 32 页,共 35 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 33 页,共 35 页

35、 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 33 页,共 35 页 - - - - - - - - -拷贝趋势页面 s_trend.pdl到当前工程。定义笔组,如: if objtag.value = speed_strand1 then 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, wd5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论