关于如何处理奇偶数的程序

已锁定

艾星落尘

  • 帖子

    996
  • 精华

    1
  • 被关注

    179

论坛等级:至圣

注册时间:2010-02-26

白金 白金 如何晋级?

关于如何处理奇偶数的程序

828

1

2016-11-10 14:28:33

之前的讨论帖子太长了,而且一些细节的东西没有写明,再发一个分享的:


    程序:

     L     P##IN0

      LAR1  

      L     W [AR1,P#2.0]

      T     #LENGTH

      L     W [AR1,P#4.0]

      T     #DBS

      L     D [AR1,P#6.0]

      T     #DZS

//将数据源的ANY指针数据复制下来

      L     P##IN1

      LAR1  

      L     B#16#10                     //对应ANY_JI

      T     LB    28

      L     B [AR1,P#1.0]

      T     LB    29                    //对应ANY_JI

      L     W [AR1,P#2.0]

      T     LW    30                    //对应ANY_JI

      L     W [AR1,P#4.0]

      T     #DBJI

      T     LW    32                    //对应TANY_JI

      L     D [AR1,P#6.0]

      T     #DZJI

      T     LD    34                    //对应ANY_JI


//将存放奇数的DB块的ANY数据进行处理,并编写ANY_JI

      L     P##IN2

      LAR1  

      L     B#16#10

      T     LB    38                    //对应ANY_OU

      L     B [AR1,P#1.0]

      T     LB    39                    //对应ANY_OU

      L     W [AR1,P#2.0]

      T     LW    40                    //对应ANY_OU

      L     W [AR1,P#4.0]

      T     #DBOU

      T     LW    42                    //对应ANY_OU

      L     D [AR1,P#6.0]

      T     #DZOU

      T     LD    44                    //对应ANY_OU

////将存放偶数的DB块的ANY数据进行处理,并编写ANY_OU

      L     0

      T     #ZERO

      CALL  "FILL"

       BVAL   :=#ZERO

       RET_VAL:=#TEMP12

       BLK    :=#ANY_JI

      CALL  "FILL"

       BVAL   :=#ZERO

       RET_VAL:=#TEMP13

       BLK    :=#ANY_OU

//初始化,清零,调用SFC21

      OPN   DB [#DBS]

      OPN   DI [#DBJI]

      LAR1  #DZS

      LAR2  #DZJI

      L     #LENGTH

M002: T     #LOOP_JI

      L     DBW [AR1,P#0.0]

      SRW   1

      A     >0

      JCN   M001

      L     DBW [AR1,P#0.0]

      T     DIW [AR2,P#0.0]

      +AR2  P#2.0

M001: +AR1  P#2.0

      L     #LOOP_JI

      LOOP  M002

//奇数

      OPN   DB [#DBS]

      OPN   DI [#DBOU]

      LAR1  #DZS

      LAR2  #DZOU

      L     #LENGTH

M004: T     #LOOP_OU

      L     DBW [AR1,P#0.0]

      SRW   1

      A     >0

      JC    M003

      L     DBW [AR1,P#0.0]

      T     DIW [AR2,P#0.0]

      +AR2  P#2.0

M003: +AR1  P#2.0

      L     #LOOP_OU

      LOOP  M004

//偶数

调用:因为这里采用的是INT数据所以在调用的时候要写:P#DB7.DBX0.0 INT 10

测试效果:



关于如何处理奇偶数的程序 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54624条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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