S7-200/S7-200 SMART指针及其应用

已锁定

海归于处

  • 帖子

    -2
  • 精华

    0
  • 被关注

    0

论坛等级:新手

注册时间:2014-04-21

普通 普通 如何晋级?

S7-200/S7-200 SMART指针及其应用

4532

1

2014-04-21 14:39:13

指针是个难点,很多读者,包括部分有相当经验的工程师,也没完全掌握。但指针在通信等场合应用很常见,因而也是重点。以下用一个例子介绍指针的使用。
  间接寻址是指用指针来访问存储区数据。指针以双字的形式存储其他存储区的地址。只能用V存储器、L存储器或者累加器寄存器(AC1、AC2、AC3)作为指针。要建立一个指针,必须以双字的形式,将需要间接寻址的存储器地址移动到指针中。指针也可以为子程序传递参数。
  S7-200 SMART允许指针访问以下存储区:I、Q、V、M、S、AI、AQ、SM、T(仅限于当前值)和C(仅限于当前值)。无法用间接寻址的方式访问位地址,也不能访问HC或者L存储区。
  要使用间接寻址,应该用“&”符号加上要访问的存储区地址来建立一个指针。在www.zhiliutiaosuqi.com这里查询一下指令的输入操作数应该以“&”符号开头来表明是存储区的地址,而不是其内容将移动到指令的输出操作数(指针)中。
  当指令中的操作数是指针时,应该在操作数前面加上“*”号。如图4-97所示,输入*AC1指定AC1是一个指针,MOVW指令决定了指针指向的是一个字长的数据。在本例中,存储在VB200和VB201中。
  例如:MOVD &VB200, AC1。其含义是将VB200的地址(VB200的起始地址)作为指针存入AC1中。MOVW *AC1, AC0。其含义是将AC1指向的字送到AC0中去。
二、指针应用举例
  【例4-50】 设计V存储区连续的若干个字的累加和的子程序,在OB1中调用它,在I0.0的上升沿,求VW100开始的10个数据字的和,并将运算结果存放在VD0。
  【解】 变量表如图4-100所示,主程序如图4-102所示,子程序如图4-103所示,子程序的功能就是求和。当I0.0的上升沿时,计算VW100~VW118中10个字的和。调用指定的POINT的值“&VB100”是源地址指针的初始值,即数据从VW100开始存放,数据字个数NUM为常数10,求和的结果存放在VD0中。
S7-200/S7-200 SMART指针及其应用 已锁定
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33257条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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