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日 上午12:20
下一篇 2017年6月3日 上午12:21

相关推荐

  • FC5的问题

    FC5 和FC50有什么区别 最佳答案 1。300CP用FC5;400CP用FC50 2。用以太网使用TCP、ISO-ON-TCP、ISO、UDP及FDL连接通…

    SIMATIC Net 2017年6月24日
  • 求cp5613的驱动程序

    求5613驱动,最好是XP下的驱动程序,免费的哦 最佳答案 下载: http://support.automation.siemens.com/CN/llisapi.dl…

    SIMATIC Net 2017年6月18日
  • 通信故障

    模拟量模块有问题会引起从站的通信故障吗?我的问题是,315-2DP挂8个ET200M从站,其中总有一个站闪断报通信故障,同时CPU上的SF灯常亮,BF灯只是闪一下,此站的DP接头,…

    SIMATIC Net 2017年6月8日
  • 以太网通讯,PG/PC接口设置选择网卡后,网卡上有个黄色叹号。

    以太网通讯,硬件组态有CPU314 ,CP343-1。PG/PC接口设置选择网卡后,一开始无法跟CP343-1通讯,后来可以通讯。发现BF灯亮,通过 ,在硬件组…

    2017年6月5日
  • simatic.net连接simense 300

    按照A0030操作外,硬件配置时直接或交叉连线的区别?另外通过SIMATIC.NET可以连接同一网络内的两套PLC吗,如何操作?请详细说明 最佳答案 DTE 类设备:PC…

    SIMATIC Net 2017年6月12日
  • 西门子通信软件 SoftNet

    请问西门子通信软件 SoftNet 6GK1 704 1CW00 3AL0这是干什么用的?是不是可以连接64个PLC 的…

    SIMATIC Net 2017年6月10日
  • 请教一下关于西门子300PLC和S120以及现场接地的问题

    请教一下,一个控制柜里有西门子314C-2DP以及300的机架,一个动力柜里有1200+DP从站,另一个DP柜里有CU320-2DP和S120驱动单元;设备里动力柜是接三相五线制的…

    SIMATIC Net 2017年5月31日
  • 仿真 OPC

    使用PLC SIM能否在本机仿真OPC的通讯(使用SIMATIC NET OPC)http://www.ad.siemens.com.cn/servi…

    SIMATIC Net 2017年6月1日
  • C++开发OPC客户端

    我想在VS2010下用MFC开发一个软件,电脑上安装了SIMATIC NET V8.2作为OPC,想问大家,MFC该如何跟OPC通讯呢,如何访问OPC里已经组态…

    SIMATIC Net 2017年6月3日
  • CP340 modbus

    用CP340 和modbus协议和仪表通讯上了,用的485传送介质!但是有几点疑问: 试验结果:接收指令的使能位EN_R用一直处于置位状态的点来使能和用发送指令…

    SIMATIC Net 2017年6月24日