ANY指针

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2017年8月26日 上午12:33
下一篇 2017年8月26日

相关推荐