请问怎么把一个ANY指针赋值给另外一个ANY指针

该用什么指令可以直接实现呢 如果没有的话 我自己写的这段是否正确 
 L     P##send_buffer
      LAR1  
      L     P##m_send_buffer
      LAR2  
      L     D [AR1,P#0.0]
      T     D [AR2,P#0.0]
      L     D [AR1,P#4.0]
      T     D [AR2,P#4.0]
      L     W [AR1,P#8.0]
      T     W [AR2,P#8.0]

最佳答案

实参到形参赋值的时候是OS自动赋值的!
单独的赋值指令是没有的。
你的 赋值过程是没有错误的,下面是STEP7 手册里的一段示例代码。
FUNCTION FC10: VOID

VAR_TEMP

 Source : ANY;

 Target : ANY;

END_VAR

BEGIN

LAR1 P#Source;
 
L  B#16#10;
T LB[AR1,P#0.0]; 
 
L B#16#02;
T LB[AR1,P#1.0]; 
 
L 10;
T LW[AR1,P#2.0]; 
 
L 22;
T LW[AR1,P#4.0]; 
L P#DBX11.0;
T LD[AR1,P#6.0]; 
 
LAR1 P#Target;
 
L  B#16#10;
T LB[AR1,P#0.0]; 
 
L B#16#02;
T LB[AR1,P#1.0]; 
 
L 10;
T LW[AR1,P#2.0]; 
 
L 33;
T LW[AR1,P#4.0];
L P#DBX202.0;
T LD[AR1,P#6.0]; 
 
CALL SFC 20 (
SRCBLK := Source,
RET_VAL := MW 12,
DSTBLK := Target
);

最后,给个建议,赋值的时候 最好按照ANY 的实际含义来进行赋值,这样看的清楚
      L     W [AR1,P#0.0]  //头文件和数据类型
      T     W [AR2,P#0.0]
      L     W [AR1,P#2.0] //循环系数
      T     W [AR2,P#2.0]
       L     W [AR1,P#4.0] //DB号
      T     W [AR2,P#4.0]
      L     D [AR1,P#6.0] //指针
      T     D [AR2,P#6.0]

提问者对于答案的评价:
谢谢

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc211291.html

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

相关推荐