S7300中的关于指针在无参数调用多重背景程序应用中看不懂的语句表程序

以下是我截取的一部分程序,以及截取的接口数据和FB37程序    L     #ProcessValue
      T     #FunctionAI.PLC
      L     #ScadaOutValue
      T     #FunctionAI.SCADA
      +AR2  P#52.0
      UC    "RealSCADA"   FB37  麻烦帮我详细讲解下这个AR2和这个指针在其中的作用!一直未看明白在里面的用途!感激不尽!
      +AR2  P#8140.0
      L     #FunctionAI.SCADA
      T     #ScadaOutValue
      L     #FunctionAI.PLC
      T     #ProcessValue
在此段程序块中的接口数据:
STATA-FunctionAI(数据类型为RealSCADA)-INOUT(PLC和SCADA都是实型)

FB37(接口数据和上面的一致)程序如下:
 SET   
      SAVE  
      =     L      0.1
      L     #SCADA  (这个参数是否和上面的 #FunctionAI.SCADA相同,数值一致?)
      L     #PLC
      ==R   
      JCN   A7d0
      T     #Memory
A7d0: L     #Memory
      L     #PLC
      <>R   
      JCN   A7d1
      T     #Memory
      T     #SCADA
A7d1: L     #Memory
      L     #SCADA
      <>R   
      JCN   A7d2
      T     #PLC
      T     #Memory
A7d2: CLR   
      A     L      0.1
      SAVE  
      BE

问题补充:
这段程序时SCL转换成STL语句的!STL语句很多!比较难理解!无参数调用FB37多重背景块,AR2 P#52.0指向FunctionAI(数据类型为RealSCADA,其中地址是52.0),不知道在这里前后2个AR P#有什么作用!不知道能否将STL语句转为SCL语句的啊?

最佳答案

1、AR2和这个指针在其中的作用?
a、+AR2  P#52.0指令本身的意思:
+AR2 <P#Byte.Bit>:要加上的偏移量通过 <P#Byte.Bit> 地址定义。
b、这个指针在其中的作用,一直未看明白在里面的用途?
就楼主贴出的程序,只有上述的+AR2  P#52.0指令,而没有任何引用这个地址寄存器指令,所以不可能指出其在程序里面的用途。如何应用地址寄存器详见:
、《关于S7-300和S7-400指针寻址的说明与例程(更新版)(2008.03.04)     》下载:
http://www.ad.siemens.com.cn/download/searchResult.aspx?searchText=F0215
、《step7编程之地址概念详解》连接:
http://www.plc365.com/jishu/57.html
2、这个参数是否和上面的 #FunctionAI.SCADA相同,数值一致?
一个是#FunctionAI.SCADA,一个是#SCADA 两者是两个不同的变量。至于数值是否一致,从程序上看是不一致的。
3、建议看看上述文档,以便系统地了解地址寄存器的用法。

提问者对于答案的评价:
xiexie~

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月1日 下午11:19
下一篇 2018年12月1日 下午11:19

相关推荐