欢迎来到天天文库
浏览记录
ID:38111924
大小:107.10 KB
页数:3页
时间:2019-05-24
《直接和间接编址_》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、直接和间接编址但您写入程序时,您可以使用以下三种模式之一,为指令操作数编址:•直接•符号•间接直接编址S7-200在具有独特地址的不同内存位置存储信息。您可以明确识别您希望存取的内存地址。这将允许程序直接存取信息。直接编址指定内存区、大小和位置;例如,VW790指内存区中的字位置790。欲存取内存区中的一个位,您需要指定地址,包括内存区标识符、字节地址和前面带一个句号的位数。下图显示存取位(亦称为"字节位"编址)的一个范例。在该范例中,内存区和字节地址(1=输入,3=字节3)后面是一个句号("."),用于分隔位址(位4)。您可以使用字节地址格式将大多数内存区(V、I、Q、M、S
2、、L和SM)的数据存取为字节、字或双字。欲存取内存中数据的字节、字或双字,您必须以与指定位址相似的方法指定地址。如下图所示,这包括区域标识符、数据大小指定和字节、字或双字的字节地址。其他内存区中的数据(例如,T、C、HC和累加器)可使用地址格式存取,地址格式包括区域标识符和设备号码。符号编址符号编址使用字母数字字符组合来识别地址。符号常数使用符号名识别常数或ASCII字符值。对于SIMATIC程序,您用符号表进行全局符号赋值。对于IEC程序,您使用全局变量表进行全局符号赋值。如果您在SIMATIC符号表或局部变量表中有指定的符号地址,您可以在检视带有绝对(例如,10.0)或符号
3、(例如,Pump1)表示的参数地址之间切换。符号编址功能从"检视"菜单控制。名称旁的复选符号表示该功能已打开。否则,所有的地址均仅显示为绝对地址。提示:如果您为局部和全局级别的地址使用相同的名称,局部用法会优先。即如果程序编辑器在局部变量表中发现某一特定程序块的名称定义,则使用该定义。如果未发现定义,程序编辑器会检查符号表。例如,您将PumpOn定义为全局符号。您同时也在SBR2中(不是SBR1中)将其定义为局部变量。编译程序时,在SBR2中使用将局部定义用于PumpOn,在SBR1中将全局定义用于PumpOn。间接编址间接编址使用指针存取内存中的数据。指针是包含另一个内存位置
4、地址的双字内存位置。您只能将V内存位置、L内存位置或累加器寄存器(AC1、AC2、AC3)用作指针。欲建立指针,您必须使用"移动双字"指令,将间接编址内存位置移至指针位置。指针还可以作为参数传递至子程序。S7-200允许指针存取以下内存区:I、Q、V、M、S、T*仅限当前值)和C(仅限当前值)。您不能使用间接编址存取单个位或存取AI、AQ、HC、SM或内存区。欲间接存取内存区数据,输入一个"和"符号(&)和需要编址的内存位置,建立一个该位置的指针。指令的输入操作数前必须有一个"和"符号(&),表示内存位置的地址(而并非内存位置的内容)将被移入在指令输出操作数中识别的位置(指针)
5、。在指令操作数前面输入一个星号(*)指定该操作数是一个指针。如下图所示,输入*AC1指定AC1是"移动字"(MOVW)指令引用的字长度数值的指针。在该范例中,在VB200和VB201中存储的数值被移至累加器AC0。如下图所示,您可以改动指针数值。由于指针是32位数值,使用双字指令修改指针数值。可使用简单算术操作(例如加或递增)修改指针数值。提示:欲间接存取字节,将指针用一递增或递减。欲间接存取字,将指针用二递增或递减。欲间接存取双字,将指针用四递增或递减。如果您从使终止位置超出V内存上限的起始位置递增双字,程序执行时会收到一则运行时间错误信息。欲存取定时器或计数器当前值(此为字
6、数值),将指针用二递增或递减。另请参阅:编址概述(GS2.2)内存类型和属性CPU内存地址范围特殊内存地址符号表/全局变量表
此文档下载收益归作者所有