如何在WINCC用C动作比较外部变量 点击:241 | 回复:1



江湖混混-余辉

    
  • [版主]
  • 精华:53帖
  • 求助:44帖
  • 帖子:3351帖 | 28451回
  • 年度积分:603
  • 历史总积分:131640
  • 注册:2006年4月25日
发表于:2013-11-05 23:05:10
楼主

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_ENDlong 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; 
}



楼主最近还看过



Mr袁--王者之师

  • 精华:0帖
  • 求助:3帖
  • 帖子:32帖 | 1147回
  • 年度积分:0
  • 历史总积分:3881
  • 注册:2011年10月26日
发表于:2013-11-06 08:56:52
1楼

你这个脚本成功了么?


热门招聘
相关主题

官方公众号

智造工程师