您现在的位置是:首页 > PLC技术 > PLC技术

S7-200 PLC操作数的寻址方式

来源:艾特贸易2017-06-04

简介所谓寻址方式.就是在指令中如何获取指令操作数的方式。在 S7-200 PLC 中常用的寻址方式有直接寻址、符号寻址和间接寻址等方式,但不同的操作数其寻址方式不尽相同。 1) 直接寻址

    所谓寻址方式.就是在指令中如何获取指令操作数的方式。在S7-200 PLC中常用的寻址方式有直接寻址、符号寻址和间接寻址等方式,但不同的操作数其寻址方式不尽相同。    1)直接寻址    所谓直接寻址,就是在指令中直接给出操作数所在存储器单元的地址。S7-200 PLC的存储器有输入映像寄存器(I)、输出映像寄存器(Q)、位存储器(M)、特殊功能寄存器(SM)、变量存储器(V)、定时器存储区(T)、计数器存储区(C)、高速计数器(HC)、累加器存储区(AC)、过程映像输入寄存器(AI)、过程映像输出寄存器(AQ)等类型。对于不同的存储器其单元地址的寻址形式也不尽相同,有些存储器既可以按位( Bit)寻址,也可以按字节(Byte)、字(Word)或双字(DWord)进行寻址,而有些存储器只能按字节(Byte)或字(Word)寻址。S7-200 PLC各种存储器(软元件)的寻址方式如表2-3所列。    2-3    S7-200 PLC各种存储器(软元件)的寻址方式
S7-200 PLC各种存储器(软元件)的寻址方式
    ①位寻址。用“软元件标示符.字节地址序号,位序”的形式表示某个布尔类型变量的地址。字节地址序号的取值从每个存储区域的0地址开始,其上限受CPU限制;位序的数字范围是07    例如:I1.0表示数字量输入区域的第1字节的第0位;Q2.4表示数字量输出区域的第2字节的第4位。    ②字节寻址。用“软元件标示符+B+字节地址序号”的形式表示某个字节(Byte)类型变量的地址。    例如:IB1表示数字量输入区域的第1个字节;QB2表示数字量输出区域的第2个字节。    ③字寻址。用“软元件标示符+W+字地址序号”的形式表示某个字(Word)变量的地址。一个字由2个字节组成,其中的高地址字节位于字的低位、低地址字节位于字的高位,为了避免两个字变量出现字节重叠,一般规定字的地址用偶数表示。字地址序号的取值从每个存储区域的0地址开始,其上限受CPU限制。    例如:IW2表示数字量输入区域地址是2的字,它包含IB2(高字节)和IB3(低字节);QW0表示数字量输出区域地址是0的字,它包含QB0(高字节)和QB1(低字节)。    ④双字寻址 用“软元件标示符+D+双字地址序号”的形式表示某个双字(DWord)类型变量的地址。一个双字由4个字节组成,其中的最高地址字节位于双字的最低位、最低地址字节位于双字的最高位.为了避免两个双字变量出现字节重叠,一般规定双字的地址用4的倍数表示。双字地址序号的取值从每个存储区域的0地址开始,其上限受CPU限制。    例如:ID0表示数字量输入区域地址是0的双字,它包含IB0(高字节)、IB1(次高字节)、IB2(次低字节)和IB3(低字节);QD4表示数字量输出区域地址是4的双字,它包含QB4(高字节)、QB5(次高字节)、QB6(次低字节)和QB7(低字节)。字节、字及双字的关系如图2-1所示。
字节、字及双字的关系
    2-1    字节、字及双字的关系    2)符号寻址    所谓符号寻址,就是在指令中用具有一定意义的自定义符号来表示某个变量的地址。符号必须先定义再使用,所定义的符号可以由大小写字母、数字及下划线构成,且必须以字母开头,长度不超过24个字符,所定义的符号不能是系统关键词。    例如:可以用SB_1作为I0.0的符号名,表示启动按钮,但不可以用SB_1作为I0.0的符号名。因为SB_1属于系统预定义的符号,表示特殊功能存储器的一个字节。    3)间接寻址    所谓间接寻址,就是在指令中以存储器的形式给出操作数所在存储器单元的地址,也就是说该存储器的内容是操作数所在存储器单元的地址。该存储器一般称为地址指针,在指令中用“*”打头。S7-200系统约定只能使用VL或累加器作为地址指针,且只能采用双字格式。间接寻址示例如图2-2所示。
间接寻址示例
    2-2    间接寻址示例    图中首先通过第二条为VD100输入一个初值,即“12345678”;然后通过第三条指令将VD100的物理存储器地址(而不是“VD100”),即“16#08000064(对应的十进制数为“134217828)传送给累加器AC1,最后通过第四条指令将AC1所指向的存储器单元(VD100)的内容传送给VD200,因此VD200的内容即变为“12345678”。    使用地址指针可方便查询表格数据,例如:假设在VW100VW106中存放有一个表格,要求将该表格每个字节中的数据分别乘2,然后再分别存入VW200VW206中。程序示例如图2-3所示。
指针查表示例
    2-3    指针查表示例    使用指针连续存取表格数据时,因为指针为32位的单元,所以应使用双字加指令来修改指针值。如果按字节存取数据,则指针每次加1;如果按字存取数据,则指针每次加2;如果按双字存取数据,则指针每次加4