数据排序及滤波

已锁定

henry.wang

  • 帖子

    998
  • 精华

    31
  • 被关注

    374

论坛等级:至圣

注册时间:2016-05-25

白金 白金 如何晋级?

数据排序及滤波

2782

23

2018-02-04 11:23:42

今天给大家分享下用博途数据排序及滤波的例子。

首先建立FC10如下:


DB17:


代码及注释如下:

TAR1  #Tmp_DWord3

 

      OPN   "数据块_4"

 

 

      L     P#0.0

      LAR1

 

      L     #fc_Data_digit

      T     #Tmp_DWord

 

      L     DW#16#0

      T     #Tmp_DWord4

 

      L     0

      T     #Tmp_counter

 

      L     #fc_Array_Length

//******************************循环体

Next: T     #Tmp_number

 

      L     #Tmp_counter

      SLD   5                    //建立指针,数组为DWORD型,4BYTE,P#4.0,2^5=32

      L     P#0.0

      +D

      LAR1

 

//*******************************对数据进行排序,数值从大到小存放在DB17从数组0开始到第fc_Array_Length个数组

      L     #Tmp_DWord

      L DBD [ AR1 , P#0.0 ]

      >D

      JCN   x4

      T     #Tmp_DWord2

 

      L     #Tmp_DWord

      T DBD [ AR1 , P#0.0 ]

 

      L     #Tmp_DWord2

      T     #Tmp_DWord

 

x4:   NOP 0

 

 

      L     #fc_Offset

      L     #Tmp_counter

      +I

      SLD   5                    // 建立指针,把指针指向第fc_Offset+1个数组

      L     P#0.0

      +D

      LAR1

 

      L DBD [ AR1 , P#0.0 ]

      L     #Tmp_DWord4

      +D

      T     #Tmp_DWord4          //将数组中滤掉的后的数据进行累加

 

      L     #Tmp_counter

      L     1

      +I

      T     #Tmp_counter

 

      +AR1  P#4.0                //将指针依次指向下一个数组

 

      L     #Tmp_number          //读取当前循环体的计数器

      LOOP  Next                 //计数器满跳出循环体

//******************************

 

      L     #Tmp_DWord4

      T     #fc_SumOfMeasures

 

 

      LAR1  #Tmp_DWord3


数据排序及滤波 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有8750条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

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