LAR1 P#DBX 58.0
L P##Par
L DW#16#FFFFF
AD
+AR1
L DBD [AR1,P#20.0]
T #Par.ParLimitMin
哪位高手能讲解下这段代码特别 LAR1 P#DBX 58.0
我看不懂 我还看到 LAR1 P#db10.DBX 58.0 有什么区别 谢谢
最佳答案
LAR1 P#DBX 58.0
L P##Par
L DW#16#FFFFF
AD
+AR1
L DBD [AR1,P#20.0]
T #Par.ParLimitMin
因为信息有限,所以我们只能去揣测你的程序功能。
首先, LAR1 P#DBX 58.0
是一个固定值,之前一定有一个打开数据块的程序,也就是OPN DBXX。
然后是: L P##Par
Par在程序中是一个结构变量,PartLimitMin是结构的一部分。 这句的目的是获取Par变量在数据块中的地址,而还要加上AR1可见,这个程序是在FB1块内调用的FB2块,而58.0是FB2块的背景数据块的起始地址。
其实就是:
OPN DBxx
L DBDzz //zz=58.0加上Par的地址,然后再偏移20
T #Par.ParLimitMin
上面的xx和zz都是帮助理解而定义的变量,需要提问者认真理解
提问者对于答案的评价:
xx
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc245935.html