回复:请假SFC20的使用问题,移位的首地址如果是变化的如何处理?

dudongdong

  • 帖子

    70
  • 精华

    0
  • 被关注

    4

论坛等级:游侠

注册时间:2014-03-02

普通 普通 如何晋级?

发布于 2015-03-15 03:04:40

3楼

FC1 VOID
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
L P##Source
LAR1
L W#16#1007
T W[AR1,P#0.0]
L ##Num
T W[AR1,P#2.0]
L #DBNum1
T W[AR1,P#4.0]
L #change_addr1
SLD 3
OD DW#16#84000000
T D[AR1,P#6.0]
L P##Target
LAR1
L W#16#1007
T W[AR1,P#0.0]
L ##Num
T W[AR1,P#2.0]
L #DBNum2
T W[AR1,P#4.0]
L #change_addr2
SLD 3
OD DW#16#84000000
T D[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.0 4 DINT数复制到DB2.DBX4.0 4 DINT中
仅供参考,周一我去公司仿真一下,太晚了先休息了
会说话、会办事、会做人
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54710条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。