发布于 2012-10-10 12:31:15
4楼
你这样的要求只能自己用脚本做了。制作有两种方式一个是使用wincc的阀门控件,一个是用wincc的画图工具自己画一个阀门。
用控件做:
1、1)控件属性的前景色脚本:
#include "apdefap.h"
long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
#pragma option(mbcs)
// WINCC:TAGNAME_SECTION_START
// syntax: #define TagNameInAction "DMTagName"
// next TagID : 2
#define TAG_1 "alarm_ok_1"//故障
#define TAG_2 "alarm_ok_2"//开到位
#define TAG_3 "alarm_ok_3"//关到位
#define TAG_4 "alarm_ok_4"//正在开
#define TAG_5 "alarm_ok_5"//正在关
// WINCC:TAGNAME_SECTION_END
// WINCC:PICNAME_SECTION_START
// syntax: #define PicNameInAction "PictureName"
// next PicID : 1
// WINCC:PICNAME_SECTION_END
if ((unsigned long)GetTagDouble (TAG_3))
return 32768;
else if ((unsigned long)GetTagDouble (TAG_5))
return 32768;
else if ((unsigned long)GetTagDouble (TAG_2))
return 255;
if ((unsigned long)GetTagDouble (TAG_4))
return 255;
else if ((unsigned long)GetTagDouble (TAG_1))
return 65535;
else
return 12632256;
}
2)脚本触发变量添加 "alarm_ok_1“、"alarm_ok_2“、"alarm_ok_3“
2、1)正在开关的控制:闪烁样式控制
#include "apdefap.h"
long _main(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)
{
#pragma option(mbcs)
// WINCC:TAGNAME_SECTION_START
// syntax: #define TagNameInAction "DMTagName"
// next TagID : 2
#define TAG_1 "alarm_ok_4"//正在开
#define TAG_2 "alarm_ok_5"//正在关
// WINCC:TAGNAME_SECTION_END
// WINCC:PICNAME_SECTION_START
// syntax: #define PicNameInAction "PictureName"
// next PicID : 1
// WINCC:PICNAME_SECTION_END
if ((unsigned long)GetTagDouble (TAG_1))
return 3;
else if ((unsigned long)GetTagDouble (TAG_2))
return 3;
else
return 0;
}
2)脚本触发变量添加 "alarm_ok_4“、"alarm_ok_5“
具体你想用哪个控件,随便你。
活到老,学到老!为了生活学习吧!