LAR1 P##TEMP_Pointer // 假设TEMP_Pointer的地址是0.0
L W#16#1002 //数据类型是字节
T LW[AR1,P#0.0]
L 16 //长度16
T LW[AR1,P#2.0]
L 40 //数据块是DB40
T LW[AR1,P#4.0]
L 0
SLD 3
OD DW#16#84000000
T LW[AR1,P#6.0 ] // 起始指针
//这样就定义了一个ANY指针,指针表示DB40.DBB0------DB40.DBB15的一段数据。
******************************************************************************************************
L 1 //假如把0改为1,下面指针表示区域的其实地址也随之变化。
SLD 3
OD DW#16#84000000
T LW[AR1,P#6.0 ] // 起始指针
指针表示DB40.DBB1------DB40.DBB16的一段数据。
******************************************************************************************************
TEMP_Array 和TEMP_Pointer 都是数组类型的。
下面语句是将TEMP_Array内的数据传递给 TEMP_Pointer
CALL "BLKMV" // SFC20
SRCBLK :=#TEMP_Array
RET_VAL :=#TEMP_RetValue
DSTBLK :=#TEMP_Pointer
ANY指针是表示一段长度的数据。
以上是对ANY指针的一些理解,帮忙看看吧。
最佳答案
恭喜你,有很大进步,理解基本无误。
但是有一点,需要注意,最后是
??T?LD[AR1,P#6.0?]?????????????????//LAR1????P##TEMP_Pointer???????
采用这个语句的话,对
TEMP_Pointer?的地址就没有要求了。
假设,如果不采用这个语句,也是可以的,不过赋值必须这样来对ANY分析了。
L w#16#1002
T Lw0
L???16?????????????????????????????????//长度16
T?LW2
L?40??????????????????????????????????????
T?LW4
L?0
SLD?3
OD??DW#16#84000000
T?LD6
提问者对于答案的评价:
谢谢
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc197746.html