在PLC中使用的寻址方式分为直接寻址和间接寻址两种方式,所谓的直接寻址,就是直接使用存储区或寄存器的元件名称和地址编号,根据这个地址去找到该数据,而间接寻址,不直接给处存储区或寄存器的地址,而是通过对地址的地址进行访问来实习对存储区的数据读取,通俗的来讲,这个地址的地址就是一个编号或一个代号,这好比读书时每同学会有一个学号,老师在点名的时候,可以叫名字,也可以叫学号,叫名字就好比直接寻址,叫学号就好比间接寻址。不管是叫名字还是叫学号,其实对应的都是同一个人。如下图所示:
VB0:就好比一个人的名字,而地址的地址16#08000000就相当于学号。CPU会为每一个存储区分配一个32位大小的数值作为存储器地址的地址。
所有不管是通过间接寻址的方式还是直接寻址的方式其实是访问同一个存储器或是寄存器。
不同的PLC有不同的寻址方式,这里给大家介绍下西门子系列PLC的间接寻址的方式。这里先给大家介绍下西门子S7-200系列的PLC的间接寻址的过程。
在S7-200系列PLC中,可以用间接寻址访问的存储有:输入过程映像区(I)、输出过程映像区(Q)、位存储器(M)、全局变量存储区(V)、顺控状态继电器(S)以及定时器(T)和计数器(C)。
在S7-200系列PLC中间接寻址的使用主要分为三步骤:
(1)建立指针
使用间接寻址对某个存储单元读写时,首先需要建立地址指针,指针为双字的长度,可作为指针的存储区有全局变量存储区V,局部变量存储区L和累加器(AC1AC2AC3),建立指针时,必须使用双字的传送指令(MOVD),将存储区中所要访问单元的地址装入用来作为指针的存储器单元或寄存器中。如前面图中所示,若需要提取VB0地址的地址出来,则需要在VB0前面加上符号“&”即&VB0,&VB0所表示的就不是VB0的值了,而是VB0地址的地址即16#08000000.如下图所示:
Allen-Bradley 1336-PB-SP20F
Schneider Square D SS 60amp switch CH362DSWC c/w 600V
Measurex 05346901 Switch
Measurex PIDP 09437703 Rev A
Measurex 08512103 Matrix Printer Controller, Rev A, 05344001
ABB SC86-4CM 57289058
Measurex 08502602 QSSB ML4 Assembly, RevA, 05356702
Allen-Bradley Communication Adapter 145108, 141927 , Rev 8
ABB SMPS 7738 56100202
FAG 22226E1K.C3 Spherical
FAG 222S.300, 222SM75 Spilt
Measurex DOP Discrete 09436602, Rev A
Allen-Bradley 170024 Discrete Adapter Board, 170014 Rev 03
Allen-Bradley 170950 Interface (PSI) Board, 170949
zma1122.cn.b2b168.com/m/