quote:以下是引用独孤厨者在2011-07-03 18:21:21的发言:
我很菜还是不懂,我举二例子吧,望老大解释啊
MD20=[MD100+MD104+MD108+MD112]
OB1:
CALL FC3
IN-DATA:=P#M100.0
NO:=4
OUT-VAL:=MD20
FC3:
L P##IN-DATA //P#M100,0的首地址
LAR1
L 0
L W[AR1,P#0.0]//判断指针是否是数据块。。问:P#0.0为什么不是P#1.0呢
因为数据块号占两个字节
=I
JC M1
T #BLOCK_NO
OPN DB[#BLOCK_NO]
M1: L D[AR1,P#2.0]//找出数据区的开始地址。。问:为什么是P#2.0不是P#4.0KNX
Pointer类型第2个字节开始的4个字节是区域指针
以上,明白Pointer类型结构楼主就不会有以上问题