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