发布于 2006-04-13 10:16:27
0楼
问题简单看来需要在WinCC处理变量获取上、下沿信号。
应该需要借助一些静态存储的纪录区来编程,那么可以先定义一个过程记录变量STag(Bool类型,内部变量)。
一个笨办法:
//在WinCC运行开始先触发一个初始化动作函数,再进行触发信号的获取
BOOL IniTag()
BOOL bRet;
bRet=GetTagBit(YourTag);
SetTagBit(STag,bRet);
}
//上沿:(动作应用:根据需要设置触发周期,可以得到脉冲)
BOOL EnableArchive()
{
BOOL bRet;
BOOL cRet;
bRet=GetTagBit(YourTag);
cRet=GetTagBit(STag);
if (bRet<>cRet)&&(bRet=TRUE)
{
return TRUE;
SetTagBit(STag,bRet);
}
else
{
return FALSE;
}
}
//下沿:(动作应用:根据需要设置触发周期,可以得到脉冲)
BOOL DisableArchive()
{
BOOL bRet;
BOOL cRet;
bRet=GetTagBit(YourTag);
cRet=GetTagBit(STag);
if (bRet<>cRet)&&(bRet=FASLE)
{
return TRUE;
SetTagBit(STag,bRet);
}
else
{
return FALSE;
}
}
naga xel:有时笨办法可以解决聪明问题,所幸俺总有笨办法。