以下是我截取的一部分程序,以及截取的接口数据和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