详解西门子间接寻址_第1页
详解西门子间接寻址_第2页
详解西门子间接寻址_第3页
详解西门子间接寻址_第4页
详解西门子间接寻址_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

有关西门子间接寻址的详细信息地址的概念包含命令运算符操作数的完整命令(当然不包括单个命令,如NOT)。其中,操作数是要执行指令的目标,即指令将操作的地址。PLC具有多种用途的存储,例如物理I/o区域p、图像输入区域I、图像输出区域q、位存储m、计时器t、计数器c、数据区域DB、l,其中每个区域都包含位、字节、单词和双词当然,计时器t,计数器c没有这样的测量系统,只按位测量。要说明地址,必须至少包含两个因素。1、保存的区域2、该区域的特定位置示例:A Q2.0其中,a是指令,Q2.0是a的操作数,即地址。此地址由两部分组成:问:表示图像输出区域2.0:此图像输出区域的第二个字节的第0位。因此,正确的地址配置必须如下所示:存储大小符号大小值位值,例如DBX200.0。DB X 200。0其中名为“存储大小”的两个部分统称为地址标识符。这样,由正确的地址组成,可以写如下:地址标识符正确的数字单位间接寻址的概念寻址是指定命令要操作的地址。给定命令操作的寻址方法是寻址方法。在谈间接寻址之前,先简单了解一下直接寻址。直接寻址简单地说就是直接提供命令的确切操作数。如上所述,A Q2.0是直接寻址,而A的Q2.0是命令工作的地址。这样看来,间接寻址似乎是间接命令给定的确切操作数。是的,这就是这个概念。范例:A QMD100,A TDBW100。程序语句中用方形划痕编号标记的内容间接表示命令将进行的地址。在两个语句中,MD100和DBW100称为指针点,它们指向嵌入的数值,即语句实际执行的地址区域的确切位置。间接起了那个名字。西门子的间接寻址方法有两种:内存间接寻址和寄存器间接寻址。内存间接寻址阵列间接寻址的寻址格式是地址标识符指针。指针表示存储单位中包含的数值,即地址的确切数字单位。间接内存寻址有两种指针格式:单词和双单词。单词指针是16位结构,表示从0-16bit到0-65535的数值,是寻址存储的编号。双字指针是从0-2位到总计3位的32位结构,按八进制寻址的位号,即0-7;表示0-65535的数值的16位(3-18bit)到寻址字节总数。指针可以存储在m、DI、DB和l区域中。也就是说,您可以使用这些区域的内容创建指针。单词指针和双单词指针在使用上有很大区别。以下示例如下:l将DW#16#35 /32位十六进制35保存到ACC1MD2/此值存储在32位存储区域MD2中l将10 /16位整数10存入ACC1,32位十六进制数字35自动移至ACC2T MW100 /此值将重新输入为16位存储,即MW100打开OPN DBWMW100 /DBW10。其中MW100是单词指针。指针所在的区域是m区域,MW100的值10是指针间接指定的地址,是16位值!以L L# 10 /32位格式将10插入ACC1。此时,ACC2的内容为16位整数10T104/此值存储回32位存储区域MD104A IMD104 /I1.2和逻辑运算!=DIXMD2 /分配背景数据位DIX6.5!A DBMW100。DBXMD2 /DB10。读取DBX6.5数据位状态=分配给QMD2 /Q6.5A DBMW100。DBXMD2 /DB10。读取DBX6.5数据位状态=QMW100 /错误!Q10没有组件以上系列至少显示了一件事。仅当地址标识符不是位时,单词指针才适用。实际上,单词指针前面确定的值为0-65535,对于特定的位结构(如byte.bit),只能使用双字符指针。第一个区别是单词指针的另一个限制是只能为t、c、DB、FC和FB寻址。通常,单词指针只能用作表示这些存储区域的数字。双字指针对字指针没有此限制,可以指定位地址以及BYTE、WORD、DWORD地址,对区域没有限制。但是,在寻址非位区域时,必须确保0-2位都为零。摘要:word指针的存储间接寻址仅在地址标识符为非地址时可用。双字符指针具有格式,因此对地址标识符没有限制。由于位指针是位指针,因此在指定字节、单词或双词存储地址的地址时,请确保双词指针的内容是8或8的倍数。现在,让我们分析上述示例中A IMD104与I1.2在逻辑上工作的原因。通过L L# 10存储在MD104中的值应如下所示:MD 3104:00000000000000000000000000000000001010必须用双字符指针指定byte(3-18位),用0-2位指定位,以确定最终命令将运行的地址。000000000000000000000000000000000000000001010=1.2有关西门子间接寻址2的详细信息地址寄存器间接寻址在上述阵列的间接寻址中,间接指针直接指定为m、DB、DI和l。换句话说,指针指向的存储库的内容是要执行命令的确切地址数字单位。但是,在寄存器的间接寻址中,命令要执行的正确地址数字单位不是寄存器指向的存储内容。也就是说,寄存器本身间接指向实际地址数字单位。Siemens提供了两种从寄存器中导出实际地址数值单位的方法。1、区域内寄存器间接寻址2、区域间寄存器间接寻址地址寄存器的间接寻址的一般格式如下:“地址标识符”寄存器,p # byte.bit”,例如DIXAR1,P#1.5或MAR1,P#0.0。寄存器,p # byte.bit统称为寄存器寻址指针,地址标识符包含如上所述的“存储器大小符号”。但是在这里,情况发生了变化。比较一下刚才使用的示例:DIX AR1,P#1.5X AR1,P#1.5可以将DIX视为我们通常定义的地址标识符,DI是背景块存储区域,x是此存储区域的标注字符,指向背景数据块的位。但是在下面的例子中,m呢?x只是指定储存体的标注文字,储存体文字在哪里?毫无疑问,在AR1!DIX AR1,P#1.5预定义了要寻址的地址区域,AR1可能会更改,这是此区域内唯一的准确地址数字单位。因此,这是区域内寄存器的间接寻址方式,相应地,其中AR1,P#1.5称为区域内寻址指针。X AR1,P#1.5在这种情况下,寻址目标地址区域和精确地址数字单位不是预先确定的,而是只确定存储大小。也就是说,由于可以在不同区域之间以不同的地址数字单位指定的区域大小进行寻址,因此,区域之间寄存器的间接寻址方式,因此AR1,P#1.5称为区域间寻址指针。由于区域内和区域之间存在寻址分隔,因此相同的AR1具有不同的内容,表示不同的含义。AR的格式地址寄存器是专用于寻址的特殊指针区域,Siemens的地址寄存器包括AR1和AR2,它们分别是32位。如果用于区域内寄存器的间接寻址,则AR的内容仅表示数字单位,因此,在区域内寄存器的间接寻址中,寄存器的内容与上述公告中提到的内存间接寻址中的双词指针相同。也就是说:0-2位,指定位,3-18位指定byte字节。31位元固定为0。ar:000000000 bbbbbbbbbbxxx因此,AR的值可以是:0.0 65535.7例如,ar=D4(hex)=00000000000000000000000000011000(b)实际上等于26.4。在区域间寄存器的间接寻址中,要寻址的区域也必须在AR中指定,因此,在寄存器区域内间接寻址时,AR的内容必须具有不同或不同的AR内容要求。ar:1000 0 yyy 00000 BBB bbbbbbb XXX比较这两种格式的差异后,可以看到此处的31位固定为1,第24、25和26位具有取值的范围。聪明的各位,可以想清楚。这用于指定存储区域。例如,位24-26的值确定要寻址

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论