回复:请教:S7-300共享DB赋值的问题

n次看你的背影

  • 帖子

    2321
  • 精华

    73
  • 被关注

    53

论坛等级:奇侠

注册时间:2008-03-11

普通 普通 如何晋级?

发布于 2013-09-07 10:41:28

1楼

楼主:如果不怕麻烦,可以用装置和传送指令,程序执行效率会高一点,但代码量大一些。比如:
L PID 256
T DB1.DBD 0

L PID 260
T DB1.DBD 4
·
·
·

也可以用指针结合循环来处理一下,代码量短一些,执行效率底一些。比如:
OPN DB 1   //打开DB1
LAR1 P#0.0   //初始化地址寄存器1
L 50    //循环次数(数据个数)
NEXT: T LW 20   //存储当前的循环次数
L PIW [AR1,P#256.0]  //装载当前PIW地址里面的数据到ACCU1(从PIW256开始)
T DBW [AR1,P#0.0] //将当前ACCU1地址里面的数据写到DB1当前的地址里面
+AR1 P#2.0 //地址寄存器1的内容加P#2.0,相当于PIW的地址递增一个字
L LW 20   //装载当前循环次数
LOOP NEXT //循环次数减一,跳转到NEXT标签,当循环次数减至0,离开循环,往下执行

对了,楼主,此类问题已经有人问过了,你可以在发问前搜索一下,多看看老帖!
佛对我说:“你的痛苦来自于你的欲望,没有欲望也就没有痛苦!”
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54617条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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