STL程序分析LAR2 #TMP_AR2,LAR1 #TMP_AR1

NET WORK 1:
   TAR1  #TMP_AR1
    TAR2  #TMP_AR2
NET WORK 2:
  CLR   
      =     #Wartungsschalter_aktiv
      =     #Sammelfehler_Gateway

      L     #Adr_Gate_PD
      SLD   3
      LAR1  
      L     IW [AR1,P#0.0]
      T     #Zustand_Gateway
      L     0
      ==I   
      JC    OK

      L     IW [AR1,P#0.0]
      L     1
      ==I   
      =     #Wartungsschalter_aktiv
      >I    
      AN    #ABAG
      =     #Sammelfehler_Gateway

OK:   NOP   0
NET WORK 3:
      LAR1  #TMP_AR1
      LAR2  #TMP_AR2

请问 NET WORK 1 和 NET WORK 3 这两个段 是什么作用?有点困惑,希望高手讲解一下,谢谢

最佳答案

请问 NET WORK 1 和 NET WORK 3 这两个段 是什么作用?
1、· NET WORK 1 和 NET WORK 3 这两个段作用很简单,分别是:
NET WORK 1:保存当前的地址寄存器AR1与AR2的内容到 #TMP_AR1与TAR1  #TMP_AR2两个单元中。
NET WORK 3 :恢复所保存的地址寄存器AR1与AR2的内容。即将#TMP_AR1与TAR1  #TMP_AR2两个单元中的内容装进地址寄存器AR1与AR2中。
2、这种编程是非常常用的,例如,在主程序中(OB1)已应用了地址寄存器AR1与AR2,这时要调用子程序(FB或FC),而子程序中也应用地址寄存器AR1与AR2。所以,在进入子程序时必须首先要将保存当前的地址寄存器AR1与AR2的内容,待子程序执行结束时再恢复原地址寄存器AR1与AR2的内容。
3、重要一点!在调用FB时需要背景数据块,这时需要特别注意:
FB中为了方便背景数据块参数的寻址,自动使用AR2寄存器,AR2寄存器指向背景数据块的首地址P#DBX0.0,如果改变了这个寄存器的值,你再访问背景数据块参数时将不会得到正确的数值.所以,在FB里使用AR2寄存器要小心,对这两个寄存器改变后不要再使用背景数据块参数,当要使用背景数据块参数时要先恢复这两个寄存器的值。
所以在调用FB时就要用到类似 NET WORK 1 和 NET WORK 3 这两个段的程序了!当然必须要保存AR2寄存器。

提问者对于答案的评价:
谢谢,讲解非常详细,受用

专家置评

已阅,最佳答案正确。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年6月3日
下一篇 2017年6月3日

相关推荐

  • PLC与上位机通讯

    用Siemens S7-300,400 PLC,上位机必须用WinCC组态吗?用别的作态软件呢? 最佳答案 不行,若果你用Siemens的控制器,就要用WinC…

    SIMATIC Net 2017年6月27日
  • opc软件里找不到cp5711?

    按照A0037–“通过profibus建立simatic net opc服务器与PLC的s7连接”,用station configuration&n…

    SIMATIC Net 2017年6月10日
  • 关于适用cp5613卡跟intouch通讯问题

    最近我在做一个单机通讯实验,主要设备是一台xp系统电脑,cpu315-2dp,一个dp电缆,我先使用别人的笔记本把plc程序写好下载进plc中去,然后利用自己的xp电脑安装sima…

    2017年6月4日
  • CP343-1通讯方法

    不明白https://support.industry.siemens.com/cs/document/83104160/%E9%80%9A%E8%BF%87cp343-1%E6%…

    2017年6月1日
  • 请教大家安装博途V13的问题

    我在网上下载的,博图v13,装好后,如下图显示的已安装的产品,这么说我已经安装了wincc basic了? 我想安装wincc professiona…

    2017年6月1日
  • 315-2PN/DP之间通讯

    现在有两台S7315-2PN/DP各自通过CPU集成网口用网线连接到一台交换机,1台wincc通过网线连接到交换机读两个PLC数据运行。现在我需要这两个PLC之间读取交换数据,怎么…

    SIMATIC Net 2017年6月10日
  • PROFINET转INTERBUS

    各位好 请问西门子的产品有PROFINET转INTERBUS的模块吗 最佳答案 西门子的产品有PROFINET转INTERBUS的模块吗?西门子公司没有。可应用第三方的产…

    SIMATIC Net 2017年6月1日
  • 请解释一下啊?

    PROFZBUS,MPI,DP,ESHERNET分别是什么意思!谢谢了!自学者学历很低! 问题补充:储存器前加#是什么意思!如:#M,#T   谢谢了…

    SIMATIC Net 2017年6月24日
  • 5611 A2通讯卡,

    买了张5611的通讯卡,发现5611与5611A2的插口不一样,A2的多个角,是否是兼容图中1,2的PIE插口??只是为了主板插口不够而设计出来的?也图中1,2都能正常使用吗?或者…

    2017年5月28日
  • 最近听到一个词叫Dupline系统,感觉这个东西在工控领域里很少见?

    做工控有近7、8年,从来都没有听过Dupline系统,今天听同事说Dupline系统,后来百度查了一下,是一个通信的总线,不知这种总线为何用得好像不多?相比RS485,以太网,不知…

    SIMATIC Net 2017年6月3日