关于自定义对象的疑问 如何新建变量 ? 另外官方历程中的 带@ 的变量是如何创建的?

已锁定

Longlong_Tech

  • 帖子

    560
  • 精华

    2
  • 被关注

    12

论坛等级:侠士

注册时间:2007-03-01

普通 普通 如何晋级?

关于自定义对象的疑问 如何新建变量 ? 另外官方历程中的 带@ 的变量是如何创建的?

665

0

2013-01-17 11:04:59

如下图


是wincc 自带的键盘空间的属性
其中的 @Transfer 是如何出现的 ,我按照他的空间重新创建的时候就没有这个属性了!
另外 下面代码中的@DisplayValue 是写好后自动创建的吗???





#include "apdefap.h"
void OnPropertyChanged(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName, char* value)
{
#include "trigger.h"

#define CODE_CLEAR 27
#define CODE_BACKSPACE 8
#define CODE_ENTER 13

DWORD dwMax=GetPropWord(lpszPictureName,lpszObjectName,"LimitMax");
DWORD dwVal=GetPropWord(lpszPictureName,lpszObjectName,"@DisplayValue");

if (strlen(value)>0)
{
char* s=value;

switch (s[0])
{
case CODE_BACKSPACE:
dwVal=dwVal/10;
SetPropWord(lpszPictureName,lpszObjectName,"@DisplayValue",dwVal);
break;
case CODE_CLEAR:
SetPropWord(lpszPictureName,lpszObjectName,"@DisplayValue",0);
break;
case CODE_ENTER:
{
LINKINFO plink;
LPCTSTR szIndirectName;
PDLRTGetLink(0,lpszPictureName,lpszObjectName,"OutputValue",&plink,NULL,NULL,NULL);
switch (plink.LinkType)
{
case (BUBRT_LT_VARIABLE_DIRECT):
SetTagDWord (plink.szLinkName,GetPropWord(lpszPictureName,lpszObjectName,"@DisplayValue"));
SetPropWord(lpszPictureName,lpszObjectName,"@DisplayValue",0);
break;
case (BUBRT_LT_VARIABLE_INDIRECT):
szIndirectName=GetTagChar(plink.szLinkName);
SetTagDWord(szIndirectName,GetPropWord(lpszPictureName,lpszObjectName,"@DisplayValue"));
SetPropWord(lpszPictureName,lpszObjectName,"@DisplayValue",0);
break;
default:
SetPropWord(lpszPictureName,lpszObjectName,"OutputValue",GetPropWord(lpszPictureName,lpszObjectName,"@DisplayValue"));
SetPropWord(lpszPictureName,lpszObjectName,"@DisplayValue",0);
break;
}
break;
}
default:
if ((s[0]>=48) && (s[0]<=57)) // Check if digit has been entered
{
int iVal=s[0]-48;
if ((dwMax-iVal)/10>=dwVal) // Check if new value is <= LimitMax
{
dwVal=dwVal*10+iVal;
SetPropWord(lpszPictureName,lpszObjectName,"@DisplayValue",dwVal);
}
else
printf("WARNING: Upper limit is %lu - digit is ignored.\r\n",dwMax);
break;
}
}

SetPropChar(lpszPictureName,lpszObjectName,lpszPropertyName,"");
}
}
关于自定义对象的疑问 如何新建变量 ? 另外官方历程中的 带@ 的变量是如何创建的? 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32574条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。