回复:求教:开关信号的边沿触发归档

yixian01

  • 帖子

    1071
  • 精华

    10
  • 被关注

    2

论坛等级:侠士

注册时间:2003-06-06

普通 普通 如何晋级?

发布于 2006-04-13 10:46:39

0楼

quote:以下是引用Naga_Orochi在2006-04-13 10:16:27的发言:
问题简单看来需要在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;
}
}


诸如BRET=TRUE,BRET<>CRET我觉得值得商榷.如果是BOOL型,判断BOOL的严格的语法可能if(bret)和if(!bret)更合适
<>用同或或者异或判别更合适.
至于这段程序能否实现仅上升沿归档,可能需要测试才有结论
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32564条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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