WINCC使用C动作比较外部变量的例子
作者:老电工时间:2015-12-13 08:31:36
WINCC使用C动作比较外部变量
问题:WINCC设定内部双整数变量A、B、C,用C动作比较,A和B,当A大于B时,C=1.当A小于B时,C=0.当A=B时,C=10、我该如何编程?
解答:
在WINCC中建好A、B、C三个内部变量,然后建立全局动作,另外需设置好全局动作触发器。
C程序:
复制代码 代码示例:
#include "apdefap.h"
int gscAction( void )
{
#pragma option(mbcs)
// WINCC:TAGNAME_SECTION_START
// syntax: #define TagNameInAction "DMTagName"
// next TagID : 1
// WINCC:TAGNAME_SECTION_END
long X,Y,Z; //X、Y、Z为C语言中分别对应A、B、C的变量
X=GetTagSDWord("A"); //Return-Type: long int //将A的值赋给X
Y=GetTagSDWord("B"); //Return-Type: long int //将B的值赋给Y
if(X>Y) Z=1;
else if(X<Y) Z=0;
else Z=10;
SetTagSDWord("C",Z); //Return-Type: BOOL //将Z的值赋给C
// WINCC:PICNAME_SECTION_START
// syntax: #define PicNameInAction "PictureName"
// next PicID : 1
// WINCC:PICNAME_SECTION_END
return 0;
}