师兄帮我看看STL

师兄帮我看看, 本人水平有限   看得不太懂,主要作用是判断故障用的,具体不知道怎么运作的    说明下  里面的都是德文
        Datenbaustein      in    int             90
               
                    Anzahl           in    int              80

                   Stoerung            out    bool        m98.0
                   Stoerimpuls         out   bool          m97.0

                   Schleifenzaehler        temp    int
                     Hilfsvariable           temp   int
                      QuittZeiger            temp   dword

L     #Datenbaustein              // 载入 90
      T     #Hilfsvariable              // Transfer in Hilfsvariable
      OPN   DB [#Hilfsvariable]         //打开DB90
      L     0                           // Lade Anfangsadresse der St鰎ungen 
      SLW   3                           //左移3个 是P#0.0?、不明白有什么意义?
      LAR1                              // P#0.0载入寄存器1 ??对吗??

      L     #Anzahl                     // 载入 80
      L     2                           // Multizieren mit 2          *I                                // 是80*2 吗??

      SLW   3                           // 160*8  对吗???
      LAR2                              // 160*8载入寄存器2  ??

      SET                               // VKE auf den Signalzustand "1" setzen
      R     #Stoerung                   // St鰎meldeausgang zur點ksetzen

      SET                               // VKE auf den Signalzustand "1" setzen
      R     #Stoerimpuls                // St鰎impuls zur點ksetzen

////////////////////////////下面的循环就看不懂了  不明白什么意思??
      L     #Anzahl                     // 载入80
      M100: T     #Schleifenzaehler           // 80传入 in Schleifenz鋒ler
      L     DBW [AR1,P#0.0]             // Lade St鰎datenwort neuer Zustand
      L     0                           // Lade Konstante "0"
      <>I                               // St鰎ung gesetzt ?
      S     #Stoerung                   // Setze St鰎ausgang

      L     DBW [AR1,P#0.0]             // Lade St鰎datenwort neuer Zustand
      L     DBW [AR2,P#0.0]             // Lade St鰎datenwort alter Zustand
      INVD                              // Invertiere alten Zustand
      AW                                // UND-Verkn黳fung -> neue St鰎ungen =1
      L     0                           // Lade Konstante "0"
      <>I                               // St鰎ung neu gesetzt ?
      S     #Stoerimpuls                // Setze Impuls f黵 neue St鰎ung

      L     DBW [AR1,P#0.0]             // Lade St鰎datenwort neuer Zustand
      T     DBW [AR2,P#0.0]             // Transfer in St鰎datenwort alter Zustand

      +AR1  P#2.0                       // Adre遰egister 1 um 2 Byte erh鰄en
      +AR2  P#2.0                       // Adre遰egister 2 um 2 Byte erh鰄en

      L     #Schleifenzaehler           // Lade Schleifenz鋒ler
      LOOP  M100 


我在截图一张调用这个块的图片

问题补充:
不好意思 少了一行 在 
L     #Anzahl                     // 载入 80
 L     2                           // Multizieren mit 2          *I                                // 是80*2 吗??
  是相互*
SLW   3                           // 
LAR2 
最后LAR2   是不时 P#160.0   我这样理解对吗???

图片说明:

师兄帮我看看STL   

最佳答案

不知道具体意思,但很好理解程序。
SLW   3//这里目的是把accu1里的内容编程地址指针格式
LAR1 //相当与地址是p#0.0


L     #Anzahl                     // 这里没有用,你当就没有看见这一行
L     2                              // 2 
SLW   3                           // 
LAR2                              // P#2.0,载入寄存器2 

前面所有的目的就是ar1=0.0,ar2=2.0
所以下面的循环就很好理解了,不等于则置位
第一次
取 DB90.DBW0和0比较,不等于则置位M98.0
然后   DB90.DBW0 和 DB90.DBW2的取反后相与,结果和0比较 不等于则置位M97.0   
最后  把 DB90.DBW0 送给 DB90.DBW2 
然后  ar1=2.0,ar2=4.0(即下次循环变成了dbw2 和dbw4了)

如此循环80次

提问者对于答案的评价:
谢谢  看懂了

最佳答案作者回复:
没错那地址就变成160.0
dbw0  dbw160
dbw2 dbw162
dbw4 dbw164
如此80次结束

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc296803.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月31日 下午1:53
下一篇 2020年10月31日 下午1:53

相关推荐

  • 软件授权问题

    s7-300下挂et200m,CPU通过以太网与操作员站通讯,请问操作员站是否必需以太网驱动软件6GK17041CW643AA0. 最佳答案 不用,STEP7就行了。自带有驱动 提…

    自动化系统综合 2021年7月5日
  • 西门子TP270可以直接用PG通信吗?

    我们这有一台S7300PLC 下面通过MPI挂了一台TP270,我们可以通过现场PG的MPI通信电缆通过PLC可以和TP270建立通信,但只能DOWNLOAD项目去TP2…

    自动化系统综合 2020年11月1日
  • 全闭环问题

    各位大侠好!那位熟悉发格数控系统,数控系统是8055,它的全闭环则么配置,设置那些轴数据和驱动数据,只在数控系统那边设置数据就可以了,还是要在驱动那边进行配置,借助西门子网站,我请…

    自动化系统综合 2018年12月2日
  • v13中HMI硬件不全

    我的博图软件已经装到V13 SP1 UPD6了,但是里面的HMI硬件选项还是缺了很多。我需要的是TP700 fort触摸屏。 问题补充:是wincc的…

    2017年7月25日
  • 什么是机械零位,什么是电气零位

    详细点!谢谢 最佳答案 机械零位,就是设备上用刻度之类的器具标记的机器参考0点,其它设备安装,运行都以这个点为基准位置,主要使用的机械零点,一般是标记机器停机状态的初始位置,&nb…

    自动化系统综合 2020年10月31日
  • 重装授权

    重装 Automation License Manager时,说是之前的已经存在,需要重装,可是我重装后,又出现图示的信息,不知道怎么处理,请大虾们帮…

    2017年11月12日
  • 语句表

    各位师兄,小弟张有一段语句 看不太它要表达的意义   说明下 这个编辑MOBY-F的以段小程序程序是在FB72 &nbs…

    2020年10月31日
  • 运动控制卡如何接入PROFIBUS系统?

    请教高手,现在一个生产线的一个模块中要控制的轴(伺服电机)比较多,所以S7-200应该就用不了了,想用一块运动控制卡,但是不知道运动控制卡能不能接入PROFIBUS现场总线系统,怎…

    自动化系统综合 2017年11月16日
  • USB—MPI

    USB—MPI电缆能下载200的程序吗?有没有可以下载200也可以下载300的编程电缆? 最佳答案 可以 USB-MPI就可以下200和300西门子CP5711&nb…

    自动化系统综合 2020年10月31日
  • 安装硬件支持包报错

    TIA Portal V11在更新安装HSP_V11SP2_0026_001_S71200_CPU21x_MAP3_3.0时报要关闭所有实例,但没有打开任何项目…

    2020年10月31日