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

海阔天不空

  • 帖子

    51
  • 精华

    0
  • 被关注

    6

论坛等级:游侠

注册时间:2014-06-26

普通 普通 如何晋级?

发布于 2016-08-17 09:21:06

4楼

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

有一个做法,但是感觉但是执行起来很累,首先写一个块,这个块负责进行两个数组之间的比较,然后在做一个双循环的程序,在这个双循环里头做计数,当数值大于5时就认为有两个数组完全相同。具体程序如下,但是这里做的是4个数组,每个数组四个数据的比较,

比较的块FC3

      CLR   

      SET   

      R     #OUT1   //OUT   bool

      L     0

      T     #TEMP4   //temp  word

      L     #DB_NO   //IN WORD

      T     #TEMP1   //TEMP  WORD

      L     #START1   //IN   DWORD

      LAR1  

      L     #START2   //IN  DWORD

      LAR2  

      OPN   DB [#TEMP1]

      L     #LOOP_NO

H002: T     #TEMP5    //TEMP  WORD

      L     DBW [AR1,P#0.0]

      L     DBW [AR2,P#0.0]

      ==I   

      JCN   H001

      L     #TEMP4

      +     1

      T     #TEMP4

H001: +AR1  P#2.0

      +AR2  P#2.0

      L     #TEMP5

      LOOP  H002

      L     #TEMP4

      L     #LOOP_NO

      ==I   

      S     #OUT1

双循环调用的程序:

      CLR   

      SET   

      R     M    509.0   //输出的变量

      L     0

      T     MW   512   //初始化


      L     L#0

      L     DW#16#84000000

      OD    

      T     MD   520    //初始化指针

//外循环

      L     4

H004: T     MW   500      //外

//内循环

      L     0

      T     MW   510    //初始化,这个数据是记录每次比较后的数值,都相同就等于4

      L     L#0

      L     DW#16#84000000

      OD    

      T     MD   524   //初始化指针

      L     4

H003: T     MW   502

      CALL  FC     3

       DB_NO  :=4

       START1 :=MD520

       START2 :=MD524

       LOOP_NO:=4

       OUT1   :=#TEMP3


      A     #TEMP3

      JCN   H001

      L     MW   510

      +     1

      T     MW   510            //每次比较都相同就加1

H001: L     MD   524

      +     64

      T     MD   524          


H002: L     MW   502

      LOOP  H003

//内循环

      L     MW   510

      L     MW   512

      +I    

      T     MW   512     //将每次比较后的数值累加后给MW512

      L     MD   520

      +     64

      T     MD   520

      L     MW   500

      LOOP  H004

//外循环

      L     MW   512       

      L     5

      >=I   

      S     M    509.0   //比较MW512的数值;



就是的,我也做了一个,数据太多,循环彼此嵌套,老是陷入死循环

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54616条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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