当前位置: 主页 > PLC控制

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

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

最佳答案

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

VAR_TEMP

SourCE:ANY;

Target:ANY;

END_VAR

BEGIN

LAR1P#Source;

LB#16#10;
TLB[AR1,P#0.0];

LB#16#02;
TLB[AR1,P#1.0];

L10;
TLW[AR1,P#2.0];

L22;
TLW[AR1,P#4.0];
LP#DBX11.0;
TLD[AR1,P#6.0];

LAR1P#Target;

LB#16#10;
TLB[AR1,P#0.0];

LB#16#02;
TLB[AR1,P#1.0];

L10;
TLW[AR1,P#2.0];

L33;
TLW[AR1,P#4.0];
LP#DBX202.0;
TLD[AR1,P#6.0];

CALLsfC20(
SRCBLK:=Source,
RET_VAL:=MW12,
DSTBLK:=Target
);

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

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

  • 关注微信

猜你喜欢

微信公众号