欢迎来到天天文库
浏览记录
ID:61536453
大小:66.73 KB
页数:6页
时间:2021-02-25
《WINCC几个常用C语言编程.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、WINCC几个常用C语言编程全局脚本编程(按钮连续增减)说明:1、建立全局脚本函数2、建立全局动作C脚本3、在启动画面的打开画面中调用全局脚本函数4、在计算机的启动选项中选中全局脚本全局脚本函数InitAction()externchartagname[30]="";externSHORTcount=0;externFLOATlow=0;externFLOAThigh=0;externFLOATstep=0;voidInitAction()按钮左键按下连续增加externchartagname[30];externSHORTcount;externFLOATlow;externFLOATh
2、igh;externFLOATstep;strcpy(tagname,"S32i_varia_but_04");count=1;low=0;high=1400;step=0.5;按钮左键按下连续减少externchartagname[30];externSHORTcount;externFLOATlow;externFLOAThigh;externFLOATstep;strcpy(tagname,"S32i_varia_but_04");count=2;low=0;high=1400;step=0.5;按钮左键松开停止增减externSHORTcount;count=0;全局动作C脚本(c
3、ounter.pas)#include"apdefap.h"intgscAction(void){externchartagname[30];externSHORTcount;externFLOATlow;externFLOAThigh;externFLOATstep;FLOATvalue;if((count==1)
4、
5、(count==2)){//getcurrentvaluevalue=GetTagFloat(tagname);if(count==1){//incvalue=value+step;if(value>high)(value=high);//highlimit}//ifif(
6、count==2){//decvalue=value-step;if(value7、Name,UINTnFlags,intx,inty){FLOATvalue;value=GetTagFloat("S32i_varia_but_00");//gettagvalueif(value>1300)(value=1400);//checklimitelsevalue=value+100;//incvalueSetTagFloat("S32i_varia_but_00",value);//setnewvalue2、调用函数方式实现(incdecvalue):FLOATvalue;value=GetTagFloat("S32i_varia_but_04");IncDecValue(&8、value,0,1400,100,1);SetTagFloat("S32i_varia_but_04",value);项目函数(incdecvalue)voidIncDecValue(FLOAT*value,FLOATlow,FLOAThigh,FLOATstep,DWORDa){FLOATv;v=*value;//getcurrentvalueswitch(a){case0:{if(v(high-step))(v=high);//highlimi9、telsev=v+step;//increment}//case1break;}//switch*value=v;//return}项目函数(incdecvalue)文件:C脚本编程(按钮切换开关):#include"apdefap.h"voidOnLButtonDown(char*lpszPictureName,char*lpszObjectName,char*lpszPropertyName,UINTnFlags,i
7、Name,UINTnFlags,intx,inty){FLOATvalue;value=GetTagFloat("S32i_varia_but_00");//gettagvalueif(value>1300)(value=1400);//checklimitelsevalue=value+100;//incvalueSetTagFloat("S32i_varia_but_00",value);//setnewvalue2、调用函数方式实现(incdecvalue):FLOATvalue;value=GetTagFloat("S32i_varia_but_04");IncDecValue(&
8、value,0,1400,100,1);SetTagFloat("S32i_varia_but_04",value);项目函数(incdecvalue)voidIncDecValue(FLOAT*value,FLOATlow,FLOAThigh,FLOATstep,DWORDa){FLOATv;v=*value;//getcurrentvalueswitch(a){case0:{if(v(high-step))(v=high);//highlimi
9、telsev=v+step;//increment}//case1break;}//switch*value=v;//return}项目函数(incdecvalue)文件:C脚本编程(按钮切换开关):#include"apdefap.h"voidOnLButtonDown(char*lpszPictureName,char*lpszObjectName,char*lpszPropertyName,UINTnFlags,i
此文档下载收益归作者所有