quote:以下是引用xkqxwhz在2013-12-28 16:04:15的发言:




L P##PPO //从上一级FB209的静态变量区传过的地址:656
LAR1
L W [AR1,P#0.0]
T #DBNumber //这个数据块地址难道是656?,肯定是不对的,实际为FB209的背景数据块DB101,有点搞不懂了!
L D [AR1,P#2.0]
T #StartAddress //这个地址怎么感觉是658啊? 实际应为656啊,有点搞不懂 !
LAR1 P##StatusAny //建立状态字的ANY地址指针,指向的地址DB101.DBB656~DBB667 12个字节
L B#16#10
T LB [AR1,P#0.0]
L B#16#2
T LB [AR1,P#1.0]
L 12
T LW [AR1,P#2.0]
L #DBNumber
T LW [AR1,P#4.0]
L #StartAddress
T LD [AR1,P#6.0]
LAR1 P##ControlAny //建立控制字的ANY地址指针 ,指向的地址DB101.DBB668~DBB679 12个字节
L B#16#10
T LB [AR1,P#0.0]
L B#16#2
T LB [AR1,P#1.0]
L 12
T LW [AR1,P#2.0]
L #DBNumber
T LW [AR1,P#4.0]
L 12
SLD 3
L #StartAddress
+D
T LD [AR1,P#6.0]
Zane 斑竹前辈能否帮忙看一下前边的疑问,看了半天实在是有点困难,请高手指教一下。谢谢
这段程序的功能就是构建2个ANY指针,分别指向变频驱动的DP报文的发送和接收的映像数据区,以便于用SFC14/15把数据刷出去及读回来。
有一点必须清楚,ANY指针是一种指针结构,通过程序去构建ANY指针同样需要指针来实现,因此就形成了指针的指针,看程序的时候不要混淆了。
这程序也就这么点内容了,自己慢慢琢磨吧,一通则百通。