wincc上位机实现任意数量的上升沿检测

已锁定

锋言锋语

西门子1847工业学习平台

  • 帖子

    3976
  • 精华

    54
  • 被关注

    131

论坛等级:至圣

注册时间:2011-07-31

钻石 钻石 如何晋级?

wincc上位机实现任意数量的上升沿检测

873

4

2016-03-01 11:21:55

项目函数, 使用时在全局脚本周期调用, str是变量名;

#define COUNT 30 //预设的变量的数量


BOOL TestPulse(const char* str) 

{

static char tags[COUNT][100] = {

0

};

static BOOL lastTV[COUNT] = {

0

};

static int len = 0;

BOOL result = FALSE;

int index = 0;

{

int i = 0;

for(i = 0; i != len; ++i)

{

if(!strcmp(tags[i], str))

{

index = i;

                                      break;

}

}

if(len == i)

{

index = -1;

}

}

if(-1 == index)

     {

          if(len == COUNT)

         {

               printf("Too many tags.\r\n");

               return FALSE;

         }

      strcpy(tags[len], str);

       lastTV[len] = (BOOL)GetTagBit(str);

          ++len;

      return FALSE;

     }

     

     if(GetTagBit(str) && !lastTV[index])

     {

      result = TRUE;

     }

     lastTV[index] = GetTagBit(str);

     

     return result;

     

}


wincc上位机实现任意数量的上升沿检测 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC WinCC / Panel

共有32771条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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