热情、耐心、真诚的服务与支持
在UN 200中,通过地址访问数据,地址是访问数据的依据,访问数据的过程称为“寻址”。几乎所有的指令和功能都与各种形式的寻址有关,S7-200有两种主要的寻址方式——直接寻址和间接寻址。
了解寻址方式之前先需要知道S7-200PLC中有哪些存储器,在UN-200系列PLC内部存储区按功能可区分为:过程映像输入寄存器(I)、过程映像输出寄存器(Q)、位存储区(M)、特殊功能寄存器(SM)、变量存储区(V)、局部存储区(L)、定时器存储区(T)、计数器存储区(C)、高速计数器(HC)、累计器(AC)、模拟量输入寄存器(AI)、模拟量输出寄存器(AQ)、顺序控制继电器(S)。以上各存储器中I、Q、V、M、S、SM、L存储区均可以按照位、字节、字、双字进行寻址。
直接寻址:所谓直接寻址就是明确指出存储单元的地址,程序中指令的参数直接指明存储器的区域名称、长度和地址编号,然后直接进行数据交换。
例如VD100中,V代表存储器区域名称,D代表长度也就是32位的双字,100是地址编号。在传送指令中
把VB200的值传送给VB1000就是标准的直接寻址。
间接寻址:在指令中没有给出具体的操作数的值或是地址,而是给出被叫做地址指针的存储单元就叫间接寻址。
例如:要把100传给VB1000
下面来具体讲一讲间接寻址:
使用间接寻址时,要建立一个地址指针(双字)用来存放要访问的存储器地址,只能用V、L和累加器作为指针并且用MOV_DW进行传送
如上图中VB1000就是所谓的地址指针(即VW1000的起始地址),*AC1是AC1所指向地址中的数据(AC1前加“*”号代表AC1为一个指针)。
用指针相对于直接寻址的好处在于批量读写数据,在批量读写数据时就要修改指针(使用DW类指令修改),例如从VB1000开始一直往下VB1001、VB1002.。。。。。所有以后的地址都赋值为100:
这样就比立即寻址(把特定的数值赋值给某一寄存器)或者直接寻址要方便得多了!!