您现在的位置是:首页 > PLC技术 > PLC技术
S7-200系列PLC的编程元件的寻址
来源:艾特贸易2017-06-04
简介S7-200 将信息存放于不同的存储器单元,每个存储器单元都有唯一确定的地址。根据对存储器单元中信息存取形式的不同,对编程元件的寻址可分为直接寻址和间接寻址。 1 .直接寻址
S7-200将信息存放于不同的存储器单元,每个存储器单元都有唯一确定的地址。根据对存储器单元中信息存取形式的不同,对编程元件的寻址可分为直接寻址和间接寻址。 1.直接寻址 S7-200将信息存储在存储器中,存储单元按字节进行编址,无论所寻址的是何种数据类型,通常应指出它所在存储区域内的字节地址,这种直接指出元件名称的寻址方式称为直接寻址。在直接寻址方式中,直接使用存储器或寄存器的元件名称和地址编号,根据这个地址可以立即找到数据。这里根据数据类型,直接寻址方式又分为位寻址、字节寻址、字寻址和双字寻址四种。S7-200编程元件的直接寻址格式见表4-2。 表4-2 S7-200编程元件的直接寻址格式 注:A:编程元件的名称。 T:数据类型。 如果采用位寻址方式,则不存在该项,数据地址的基本格式为Ax,y。 如果采用字节寻址方式,则该项为B( Byte),数据地址的基本格式为ABx. 如果采用字寻址方式,则该项为W(Word),数据地址的基本格式为AWx. 如果采用双字寻址方式,则该项为D( Double Word),数据地址的基本格式为AdX。 x:字节地址;y:字节内的位地址(又称位号)。 2.间接寻址 间接寻址是指数据存放在存储器或寄存器,在指令中只出现所需数据所在单元的内存地址。存储单元地址的地址又称为地址指针。这种间接寻址方式与计算机的间接寻址方式相同。间接寻址在处理内存连续地址中的数据时非常方便,而且可以缩短程序所生成的代码长度,使编程更加灵活。 可以用地址指针进行间接寻址的存储器有:输入继电器(I)、输出继电器(Q)、通用辅助继电器(M)、变量存储器(V)、顺序控制继电器(S)、定时器(T)和计数器(C)。其中,对T和C的当前值可以进行间接寻址,而对独立的位值和模拟量不能进行间接寻址。 使用间接寻址方式存取数据方法与C语言中的应用相似,其过程如下所述。 (1)建立地址指针 使用间接寻址对某个存储器单元读、写时,首先要建立地址指针。地址指针为双字长,是所要访问的存储器单元的32位物理地址。可作为地址指针存储区的有:变量存储器(V)、局部变量存储器(L)和累加器(AC1、AC2、AC3)。必须采用双字传送指令(MOVD)将存储器所要访问存储器单元的地址装入用来作为地址指针的存储器单元或寄存器,注意,这里装入的是地址而不是数据本身,例如: MOVD &VB100, VD204 MOVD &VB10, AC2 MOVD &C2, lD16 其中:“&”为地址符号,它与单元编号结合表示所对应单元的32位物理地址;VB100、VB10、C2只是一个直接地址编号,并不是它的物理地址;指令中的第二个地址数据长度必须是双字长,如:VD、AC和LD。 (2)间接存取 在操作数的前面加“*”,表示该操作数为一个指针。如图4-2所示,AC1为指针,用来存放要访问的操作数的地址。通过指针AC1将存放于VB200、VB201中的数据传送到AC0中去,而不是直接将VB200和VB201中的内容送到AC0。
图4-2 建立和使用指针的间接寻址过程 (3)修改指针 处理连续数据时,通过修改指针可以很容易地存取相邻数据。简单的数学运算指令如加法、减法、自增和自减等可用来修改指针。在修改指针时,要记住访问的数据长度:在存取字节时,指针加1;在存取字时,指针加2;在存取双字时,指针加4。图4-3所示给出了修改指针和存取数据的过程。
图4-3 修改指针和存取数据的过程
点击排行
