我最近学习西门子的840PLC,看到里面的所以AR1与AR2的寄存器间接寻址,把人看的偷都大了,看了很多资料,但TOOLBOX里面的类似程序还是看不懂。如P#20.0,P#M3.0这些都能看懂。但是如果是P##Error时,就看不懂了,你说这个P指的是POINTER类型的块参数,是吗?就是#Error是6个字节吗?
大家帮我看一段程序吧,帮我翻译一下吧(这是840TOOLBOX FB2里面的)
L P##Error
TAR2
AD DW#FFFFFF
+D
T #PError
上面的#Error在FB2局部变量表里面是个OUT BOOL类型的变量。
#PError十个双字静态变量(stat)
为什么AD的时候是,保留了24位呢(FFFFFF)?
另外,如果在功能块或功能里面,那个P##Error中,#Error肯定不能是不能用它的实际值,是吗?如果它是bool型的话,它的0或者1怎么在P##Error里面用呢,或者它肯定用地址了,是吗?但是在这个局部变量表里面地址是自动分配的呀,这个#Error放的位置不一样,地址不一样呀,如果在制作变量表的时候,给它自动分配了132.0,那么P##Error指的地址是132.0吗?请高手指导,谢谢。