这个答案有问题?

已锁定

天道007

  • 帖子

    144
  • 精华

    0
  • 被关注

    20

论坛等级:侠士

注册时间:2013-02-18

普通 普通 如何晋级?

这个答案有问题?

456

3

2015-07-22 18:56:12

展开查看
引用自找答案,问题ID:105796

比如DB1中所有的数据都是双整数(Dint)格式,通过某一个计算出来的值映射到DB2中去,所有地址都对应,是否有块可以调用或则自行编写个程序块,例如以下:
db1.dbd0/4→db2.dbd0,db1.dbd4/4→db2.dbd4,db1.dbd8/4→db2.dbd8.....,总数可以设定

提问者:efmecg


艾星落尘 回答道:

这个可以自己编写一个程序,用指针的方式进行;不是很理解你说的那个,你的计算值到底怎么回事,但是可以写一个如何将DB1里的10个双字写到DB2里,顺序是对应的
OPN DB1   
OPN DB2
LAR1  0  连个数据块都是从0开始的,
LAR2  0
L 10  //10个双字的计算
_001:T MW100
    L  DB1.DBD[AR1,P#0.0] 取DB1的数据给DB2
    T  DB2.DBD[AR2,P#0.0]
    +AR1 P#4.0  地址寄存器自加,中间有没有逗号我忘记了,自己实践看看吧
    +AR2 P#4.0
    L MW100
LOOP _001
   NOP 0

还有5人在找答案上回答了该问题,查看全部>
如果直接复制可以利用SFC20,SFC81的,但是OPN DB1
OPN DB2
LAR1 0 连个数据块都是从0开始的,
LAR2 0
L 10 //10个双字的计算
_001:T MW100
L DB1.DBD[AR1,P#0.0] 取DB1的数据给DB2
T DB2.DBD[AR2,P#0.0]
+AR1 P#4.0 地址寄存器自加,中间有没有逗号我忘记了,自己实践看看吧
+AR2 P#4.0
L MW100
LOOP _001
NOP 0
这个程序段有问题,一个是不能同时打开两个DB块,另一个就是“ L DB1.DBD[AR1,P#0.0] 取DB1的数据给DB2
T DB2.DBD[AR2,P#0.0]”这两条有错误,设定不对,无法执行
这个答案有问题? 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54759条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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