下载此文档

通俗解释S7200指针寻址&.doc


文档分类:医学/心理学 | 页数:约7页 举报非法文档有奖
1/7
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/7 下载此文档
文档列表 文档介绍
该【通俗解释S7200指针寻址& 】是由【春天春雨】上传分享,文档一共【7】页,该文档可以免费在线阅读,需要了解更多关于【通俗解释S7200指针寻址& 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。S7-200的指针寻址对指令的操作数的指定方式,我将其理解为“寻址”。下边将以我个人的理解对西门子S7-200的寻址方式进行描绘,若有不妥之处,还请广大读者指正。在程序中绝大多数的指令都带有操作数,所谓的操作数,是履行这一指令时被这一指令加以操作、办理的数值。对指令的操作数的指令方式大概的总结一下,可以归纳为以下几个种类:1:立刻数寻址指令的操作数为“立刻数”,(如:15、16#F、2#1111等、、、、、、)。+255,VW0+I+45,VW0这是一条加法指令,被加数为:255、加数为45履行这条指令后计算出来的“和”寄存在VW0这一储蓄器内。,VB0这是一条传指令,译为:将15传达至储蓄器VB0内。2:直接地点寻址指令的操作数没有直接的给出,而是给出它所在的地点。,VW4-IVW2,VW4这是一条减法指令,译为:将储蓄器VW0内的数值减去储蓄器VW2内的数值,将“差”寄存在储蓄器VW4内。3:寄存器间址寻址指令的操作数没有直接的给出,而是给出它所在的地点的“地点”,在S7-200中,将这类寻址方式称之为“指针寻址”。下边,我们一同来学****一下对于指针的使用方法:1/,会波及到的两个符号::成立指针(进行间接接见的地区):读取指针(读取指针间接指定的地点)S7-200中使用指针的步骤下边是使用指针的一般步骤:1:成立指针成立指针需要使用双字传达指令,以下所示:&MB0,VD10译为:在VD10成立指针,指针指向被间接接见的首地点MB0。在成立指针时需要注意以下几个问题:①可以进行间接接见的地区,包含以下几个地区:I、Q、M、S、V、T(目前值)、C(当前值)。在S7-200中位状态是不可以进行间接指定的,因此这里特别重申但是接见准时器及计数器的目前值,而不是其位状态。②可以作为成立指针的地区,包含以下几个地区:V、L、及累加器AC1至AC3。且只好是双字(32bit)种类的地点。③在成立指针时在储蓄器前加“&”这个符号的表示进行间接接见的地区的首地点,因此除准时器T及计数器C外都必然是以字节的形式出现的。2:读取指针在读取指针时,有以下几种不一样样的状况出现:①以字节的形式读取指针:&MB0,VD10MOVB*VD10,VB30译为:在VD10成立指针,指针指向以MB0为首地点的地点,读取在指针VD10所指向的首地点开始的一个字节(即以MB0开始的一个字节,很显然就是MB0自己),因此,读取指针时将MB0放到VB30。②以字的形式读取指针:&MB0,VD10MOVW*VD10,MW202/:在VD10成立指针,指针指向以MB0为首的地点,读取在指针VD10所指向的首地点开始的一个字(即以MB0开始的一个字,很显然就是MW0),因此,读取指针时将MW0放到MW20。③以双字的形式读取指针:&VB0,VD10MOVD*VD10,VD40译为:在VD10成立指针,指针指向以VB0为首的地点,读取在指针VD10所指向的首地点开始的一个双字(即以VB0开始的一个双字,很显然就是VD0),因此,读取指针时将VD0放到VD40。3:改正指针改正指针是在使用指针寻址中关健的一部分,改正指针是将指针指向的首地点进行适合的偏移,使之指向我们需要接见的地点,这样我们可以比较方便的使用在这一储蓄区的某一详细地点,使程序的灵巧性有所增添。改正指针的方法大概的可以归纳为以下几种:①使用加法或减法指令,对指针进行指定常数作为偏移量的改正指针。②使用加“1”或减“1”指令,对指针进行1个单位(字节)的偏移。改正批指针下边将以实质状况为例来说明改正批指针的方法:例1:网络1:&VB0,VD10MOVD*VD10,VD40+D4,VD10网络2:*VD10,VD44译为:在VD10成立指针,指针指向以VB0为首的地点,读取在指针VD10所指向的首地3/(即以VB0开始的一个双字,很显然就是VD0),因此,读取指针时将VD0放到VD40。此后对指针进行改正,对其指定4个单位的偏移量,即指针此时指向的首地点为VB4。在下一网络中又以双字的形式读取指针。因此,此时读取指针是将以VB4为首的一个双字传达至VD44(即VD4传达至VD44)。例2:网络1:&VB0,VD10MOVB*VD10,MB0INCDVD10网络2:*VD10,MB1译为:在VD10成立指针,指针指向以VB0为首的地点,读取在指针VD10所指向的首地点开始的一个字节(即以VB0开始的一个字节,很显然就是VB0),因此,读取指针时将VB0放到MB0。此后对指针进行改正,对其进行一个单位(字节)的偏移,即指针此时指向的首地址为VB1。在下一网络中又以字节的形式读取指针。因此,此时读取指针是将以VB1为首的一个字节传达至MB1(即VB1传达至MB1)。,假如希望以连续的形式去间接接见解址(即:读取VB0后希望下一次读取的是VB1、读取VW0后希望下一次读取的是VW2、读取VD0后希望下一次读取的是VD4),改正指针时,需要注意以下问题:①读取下一个字节:网络1:&VB0,VD104/*VD10,VB100+D1,VD10网络2:*VD10,VB100第一次读指针时,读取的是VB0。第二次读指针时,读取的是VB1。②读取下一个字:网络1:&VB0,VD10MOVW*VD10,VW100+D2,VD10网络2:*VD10,VW100第一次读指针时,读取的是VW0。第二次读指针时,读取的是VW2。③读取下一个双字:网络1:&VB0,VD10MOVD*VD10,VD100+D4,VD10网络2:*VD10,VD1005/,读取的是VD0。第二次读指针时,读取的是VD4。综上所述,在以连续方式读取指针时:⑴读取下一个字节,改正指针时“加1”。⑵读取下一个字,改正指针时“加2”。⑶读取下一个双字,改正指针时“加4”。应用实例下边,给出两个应用实例,读者可自行分析其工作原理。例1:网络1:&VB0,,1网络2:,1,10网络3:LDAlways_On:,VW1002+IVW1000,VW1002MOVWVW1002,*VD100+D2,VD100网络4:NEXT网络5:LDW>=VW1000,,1例2:网络1:&VB300,VD131MOVW0,VW129网络2:,1,6网络3:*VD131,AC0+IAC0,VW129+D1,VD131网络4:NEXTS7-200cpu赞成使用指针对下述储蓄区进行间接寻址:I,Q,V,M,S,T和C。但不可以对独立的位或模拟量进行间接寻址。指针为双字值,用来寄存另一个储蓄器的地点,只好用V,L或累加器AC1,AC2和AC3作指针。为了生成指针,必然用双字传达指令(MOVD)将某个位置的地点移入另一个地点或累加器作为指针。MOVD&VB200,AC1MOVW*AC1,AC最新文件仅供参照已改成word文本。方便改正若有侵权请联系网站删除7/7word.

通俗解释S7200指针寻址& 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数7
  • 收藏数0 收藏
  • 顶次数0
  • 上传人春天春雨
  • 文件大小46 KB
  • 时间2024-04-16