间接寻址的问题!!

已锁定

一介书生

  • 帖子

    626
  • 精华

    24
  • 被关注

    45

论坛等级:侠圣

注册时间:2009-09-08

普通 普通 如何晋级?

间接寻址的问题!!

668

4

2010-12-26 19:26:41

1,建立一个数据块DB1,建立从DB1.DBD0---DB1.DBD36 10个双字地址,把1-10分别储存在此地址内,如DB1.DBD0--1 DB1.DBD4--2 依次类推

2,建立另一个数据块DB2,也分别照上面建立10个双字地址,但并不赋值!

3,把MD10与数据块DB1内的10个存储地址一次做比较,如果,MD10=1,则在数据块DB2内的 DB2.DBD0累计1,如果MD=3.则在DB2.DBD8内累计1,依次类推
OPN DB1 //打开数据块

L P#0.0

T MD10 //把储存器内的数据清零

L 7

NEXT:T MW14 //把循环的次数设定为7次

L MD20

L DBD[MD10]

==R

JC M1 //把储存地址MD20内的数据和DB1.DBD0内的数据做比较,如果等

//则跳转到M1,如果不相等,则继续扫描

L MD10

L P#4.0

+R

T MD10 //把MD10内的地址加4,即DB1.DBD0变成DB1.DBD4

LOOP NEXT

M1:FP M0.0

JCN M2 //如果上面比较的结果为真,则继续扫描,如果为假,则跳转到M2

L MD10

L P#40.0

T MD30 //把MD10内的地址加40储存到MD30,即把DB1.DBD0变成DB1.DBD40

L DBD[MD30]

L 1.0

+R

T DBD[MD30] //把DB1.DBD[MD30]内的数据加1,如MD10和DB1.DBD0内的数值相

//等,则把DB1.DBD4内的数值加1



M2:NOP 0



我把我编程的程序贴出来了,大家帮忙看看,为什么实现不了我想要的结果!

间接寻址的问题!! 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54710条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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