回复:wincc6.0中得到变量限制值的C脚本函数是什么?谢谢,找了半天也没找到

大头大脑袋

  • 帖子

    433
  • 精华

    3
  • 被关注

    1

论坛等级:游侠

注册时间:2004-10-02

普通 普通 如何晋级?

发布于 2009-07-23 18:58:58

0楼

#pragma option(mbcs)
double hhMax;
double hhMin;
BOOL FucCheck;
char StrMax[20];
char StrMin[20];
char Str[100];
CMN_ERROR error;
DM_VARKEY dmVarKey;
DWORD dwItems;
DM_VARLIMIT dmVarLimit;

dmVarKey.dwKeyType=DM_VARKEY_NAME;

strcat(dmVarKey.szName,GetTagChar("CalcTagName"));

FucCheck=DMGetVarLimits (GetTagChar("SeverPath"),&dmVarKey,1,&dmVarLimit,&error );
if (FucCheck==TRUE)
{
hhMax=dmVarLimit.dmMaxLimit.u.dblVal;
hhMin=dmVarLimit.dmMinLimit.u.dblVal;
if (hhMax!=0.0)
{
sprintf(StrMin,"%f",hhMin);
sprintf(StrMax,"%f",hhMax);
strcat(Str,StrMin);
strcat(Str," ~ ");
strcat(Str,StrMax);
//MessageBox(NULL,StrMin,"无限制",MB_OKMB_ICONSTOPMB_APPLMODAL);
}
else
{
//MessageBox(NULL,"无限制","无限制",MB_OKMB_ICONSTOPMB_APPLMODAL);
strcat(Str,"无限制");
}
return Str;
}
不定时出现出现脚本服务出错的情况!
经测试问题应该出现在这一段。
sprintf(StrMin,"%f",hhMin);
sprintf(StrMax,"%f",hhMax);
strcat(Str,StrMin);
strcat(Str," ~ ");
strcat(Str,StrMax);
多次连续调用会使脚本服务跟不上,所以出错。


sprintf(StrMin,"%f",hhMin); 的功能是为了把浮点转换为字符串型,因为对C脚本不是很熟悉,所以想不到还有什么更好的办法,请指教。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32564条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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