wincc7的常用c语言,wincc几个常用c语言编程-20210324073153.docx-原创力文档

winccl个常用c语言编程

WINCC 几个常用C语言编程

全局脚本编程(按钮连续增减)

说明:1、建立全局脚本函数

2、建立全局动作C脚本

3、在启动画面的打开画面中调用全局脚本函数

4、在计算机的启动选项中选中全局脚本

全局脚本函数InitAction ()

extern char tagname[30]=" ”;

extern SHORT count = 0;

exter n FLOAT low = 0;

exter n FLOAT high = 0;

exter n FLOAT step = 0;

void In itActio n()

按钮左键按下连续增加

extern char tagname[30];

extern SHORT count;

exter n FLOAT low;

exter n FLOAT high;

exter n FLOAT step;

strcpy(tagname," S32i_varia_but_04");

count = 1;

low = 0;

high =1400;

step =0.5;

按钮左键按下连续减少

extern char tagname[30];

extern SHORT count;

exter n FLOAT low;

exter n FLOAT high;

exter n FLOAT step;

strcpy(tagname," S32i_varia_but_04");

count = 2;

low = 0;

high =1400;

step =0.5;

按钮左键松开停止增减

extern SHORT count;

coun t=0;

全局动作 C脚本(counter.pas)

#in elude "apdefap.h"

int gscAction( void )

{

extern char tagname[30];

externSHORTcount;

exter nFLOATlow;

exter nFLOAThigh;

exter nFLOATstep;

FLOAT value;

if ((count==1)||(count==2)) {

//get current value

value = GetTagFloat (tagname);

if (co un t==1){//inc

value = value+step;

if (value>high) (value=high); //high limit value = value-step;

if (co un t==2){//dec

if (co un t==2){

//dec

if (valuevlow) (value=low); //low limit

}//if

SetTagFloat (tagname,value);

}//if

return (0);

}

全局脚本函数(InitAction )文件:

C 脚本(counter.pas)文件:

按钮左键连续增加文件:

按钮左键松开文件:

C脚本编程(按钮按击增减)

1、直接调用C动作方式实现:

#in clude "apdefap.h" void On LButt on Dow n( char* IpszPictureName, char* IpszObjectName, char* l pszPropertyName, UINT nF lags, int x, int y)

{

FLOAT value;

value=GetTagFloat("S32i_varia_but_00"); //get tag value

if (value>1300) (value=1400);//check limit

else value=value+100;//inc value

SetTagFloat("S32i_varia_but_00",value); //set new value

2、调用函数方式实现(incdecvalue):

FLOAT value;

value=GetTagFloat ("S32i_varia_but_04");

In cDecValue(&value,0,1400,100,1);

SetTagFloat ("S32i_varia_but_04",value);

项目函数(incdecvalue)

step,DWvoid In cDecValue(FLOAT *value,FLOAT low,FLOAT high,FLOAT

step,DW

ORD a)

{

FLOAT v;

v=*value; //get current value

switch (a){

case。: {

if (v

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值