当前位置: 主页 > PLC控制

如何将一个DB块的部分数据复制到另一个DB块里

如题,而且一次只传一个数据,数据并不连续,数据量很多,不要用MOVE

ASs='html_titleimg_p' STyle='text-align:CEnter;'>177f26db82cf61291efaBF60dca24123

问题补充:
sFC20是整体移动,而且数据是连续的。我想用指针,只是每次都得到的结果都不对,希望能有个很会用指针的大师写个例程,谢谢

最佳答案

FC1VOID
title=这个功能可以实现从任意DB号的任意首地址开始的num个Dint数复制到从任意DB号开始的任意首地址开始的num个DINT处。
VAR_INPUT
DBNum1:INT
DBNum2:INT
#Num:INT
change_addr1:INT
change_addr2:INT
VAR_TEMP
Source:ANY
Target:ANY
END_VAR
LP##Source
LAR1
LW#16#1007
TW[AR1,P#0.0]
L##Num
TW[AR1,P#2.0]
L#DBNum1
TW[AR1,P#4.0]
L#change_addr1
SLD3
ODDW#16#84000000
TD[AR1,P#6.0]
LP##Target
LAR1
LW#16#1007
TW[AR1,P#0.0]
L##Num
TW[AR1,P#2.0]
L#DBNum2
TW[AR1,P#4.0]
L#change_addr2
SLD3
ODDW#16#84000000
TD[AR1,P#6.0]
CALL"BLKMOV"
SRCBLK:=#Source
RET_VAL:=#ErrState
DSTBLK:=#Target
如果
DBNum1:INT:=1
DBNum2:INT:=2
#Num:INT:=4
change_addr1:INT:=2
change_addr2:INT:=4
就可以实现把DB1.DBX2.04DINT数复制到DB2.DBX4.04DINT中

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

  • 关注微信

猜你喜欢

微信公众号