回复:求助:Db块数据比较

海阔天不空

  • 帖子

    51
  • 精华

    0
  • 被关注

    6

论坛等级:游侠

注册时间:2014-06-26

普通 普通 如何晋级?

发布于 2016-08-17 17:41:39

6楼

展开查看
以下是引用艾星落尘在2016-08-17 16:17:22的发言 >

后来又想了一个办法,不用单独写个FC块,你可以试试看,条件还是和原来的一样4个数组,每个数组4个数据

      OPN   DB     4

      LAR1  P#0.0

      L     0

      T     MW   554                    //最终值初始化

      L     4

I005: T     MW   564                    //3次循环

      L     0

      T     MW   552                    //中间值初始化

      LAR2  P#0.0

      L     4

I004: T     MW   562                    //2次循环

      TAR1  MD   540                    //保存累加器的地址   ***改进的位置

      L     0

      T     MW   550                    //内部值初始化

      L     4

I002: T     MW   560                    //1次循环

      L     DBW [AR1,P#0.0]

      L     DBW [AR2,P#0.0]

      ==I   

      JCN   I001

      L     MW   550

      +     1

      T     MW   550                    //两组数据比较有相同就加1

I001: +AR2  P#2.0

      +AR1  P#2.0

      L     MW   560

      LOOP  I002                        //1次循环

      L     MW   550

      L     4

      ==I   

      JCN   I003

      L     MW   552

      +     1

      T     MW   552                    //有两组数据相同就加1

I003: LAR1  MD   540                    //      ***改进的位置

      L     MW   562

      LOOP  I004                        //2次循环

      L     MW   552

      L     MW   554

      +I    

      T     MW   554                    //将有相同数组的数累加到MW554

      +AR1  P#8.0

      L     MW   564                    //3次循环

      LOOP  I005

      L     MW   554

      L     4

      >I    

      =     M    559.0                  //最后输出信号


谢谢你。我试一下,本来这个功能是在一个数组里的数据检查,为了防止数据有相同的行,怕人工检查有疏忽,决定做一个自动数据检查,如果不能不了,就只能靠人工仔细检查了。

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54616条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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