回复:帮忙解释下面程序段的意思。

gelu172

  • 帖子

    1370
  • 精华

    32
  • 被关注

    171

论坛等级:至圣

注册时间:2010-09-26

黄金 黄金 如何晋级?

发布于 2017-01-04 15:38:44

2楼

   L     #DB_SCALE                                                //3
      T     #DB_SCALE_TEMP                                 //DB3
      L     #DB_RESULT                                            //4
      T     #DB_RESULT_TEMP                               //DB4,区别DB,使用DI4
      OPN   DB [#DB_SCALE_TEMP]                     //打开DB3
      OPN   DI [#DB_RESULT_TEMP]                    //打开DI4



      L     P#DBX 0.0                                                 //地址寄存器AR1,P#DB3.DBX0.0
      LAR1 
      L     P#DIX 0.0                                                  //地址寄存器AR2,P#DI4.DIX0.0
      LAR2 

      L     #START_ADD                                          //128
      SLD   3                                                             //左移3位,变指针格式
      T     #ADD                                                        


      L     #COUNT                                                    //循环数34
NEXT: T     #COUNT_TEMP

      L     DBD [AR1,P#0.0]                                      //DB3.DBD0给到#HI_LIM
      T     #HI_LIM
      L     DBD [AR1,P#4.0]                                       //DB3.DBD4给到#LOW_LIM
      T     #LOW_LIM
      A     DBX [AR1,P#8.0]                                      //DB3.DBX8.0
      =     #BIPOLAR

      L     PIW [#ADD]                                               //PIW128    硬件组态里边去看对应的模拟量
      T     #INPUT

      CALL  "SCALE"                                                 //上边各种赋值在这里的应用
       IN     :=#INPUT
       HI_LIM :=#HI_LIM
       LO_LIM :=#LOW_LIM
       BIPOLAR:=#BIPOLAR
       RET_VAL:=#RET_RE
       OUT    :=#OUTPUT


      L     #OUTPUT                     // the result will be saved on the DB_RESULT
      T     DID [AR2,P#0.0]           //DB4.DBD0
      L     #RET_RE                     // the state word will be saved on the DB_RESULT
      T     DIW [AR2,P#4.0]         //DB4.DBW4

      L     #ADD                        // outside input address will be accusumed and saved in the temp val
      L     P#2.0                       
      +D   
      T     #ADD                     // //P#130    循环开始前的赋值工作

      +AR1  P#10.0                      //Address offset accumulation for input   新的AR1, P#DB3.DBX10.0
      +AR2  P#6.0                       //Address offset accumulation for output  新的AR2,   P#DI4.DIX6.0

      L     #COUNT_TEMP                 // cyclely get the values          34次循环开始
      LOOP  NEXT                        // cyclely get the values
      BEU  

 

推荐帖推荐理由:指令说明的很清楚(推荐人:自控龙龙)

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54621条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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