西门子S7-300|6ES7313-6BG04-0AB0西门子S7-300|6ES7313-6BG04-0AB0
PLC寄存器,数据寄存器(D)
数据寄存器的元件编号为DO~D1023(共1024点),它用来存储PLC内部的数值型数据(-32768~32767或8000H~7FFFH)。每个数据寄存器的字长为 16 位。其结构如图 2-16所示。
![中断计数梯形图 中断计数梯形图](http://static.11467.com/img/lazy.gif)
图 2-15 中断计数梯形图
![数据寄存器 数据寄存器](http://static.11467.com/img/lazy.gif)
图2-16 数据寄存器
用两个数据寄存器可以处理 32 位的数据。32位指令指定的数据寄存器存放低 16 位数据,其地址 1的那个数据寄存器存放高16 位数据。如图2-17 所示。图中,DMOV是32 位数据传送指令,该指令指定的数据寄存器 DO 存放低 16位数据,而数据寄存器 D1(因为地址 D 1=1)则用来存放高 16 位数据。也就是将数据500000 存放在 DO 和 D1两个数据寄存器中。
当用程序(指令)将数据存人数据寄存器时,数据寄存器中内容一直保持,直到新数据送人后才刷新(改变)。
![用两个数据寄存器处理32位的数据 用两个数据寄存器处理32位的数据](http://static.11467.com/img/lazy.gif)
图2-17 用两个数据寄存器处理32位的数据
通信寄存器(W)
通信寄存器的元件编号为W0~WFF(共1024点),它用来存放数据通信用的数据。每个通信寄存器的字长为 16位,是进行数据读写操作的基本单位。将图 2-16 中的D换成 W,即为通信寄存器的结构图。
同数据寄存器一样,用两个通信寄存器也可处理32位数据。用32位指令指定存放低16位的通信寄存器的地址号(比如WO),高16位数据存放在指定地址号加1(01)的通信寄存器(W1)中,将图2-17中的DO和D1分别换成WO和 W1,即为用两个通信寄存器(WO和W1)存放32位的数据(500000)的情况。
利用通信寄存器可以实现主站与就地站或两个就地站之间的数据通信。比如,在一个站(主站或就地站)写人的数据,可以在其他站(就地站或主站)读出和使用。
为了在数据通信中使用通信寄存器,需要在主站对各个站所使用的通信寄存器进行设置。凡是没有设置在各站中使用的通信寄存器,均可作为数据寄存器。也就是说,对在数据通信中要使用的通信寄存器,必须先在主站进行设置,设置为通信用的通信寄存器,不能再用作数据寄存器。
注意:当通信寄存器用于通信系统时,通信寄存器中的数据不能在远程I/0)站中使用。
文件寄存器(R)
文件寄存器用作数据寄存器的一个扩展存储区,存储卡内的用户存储空间可供设置文件寄存器存储区用。通过参数设置,文件寄存器可达1K~4K 点。
文件寄存器的字长为16位,是进行数据读写操作的基本单位。将图2-16 中的D换成R,即为文件寄存器的结构图。
同数据寄存器一样,用两个文件寄存器也可处理32位数据。32位指令所指定的地址(比如RO)为存放低16位的文件寄存器的地址号,而高16位数据,则存放在指定地址号加1的文件寄存器(R1)中。将图2-17 中的DO 和 D1分别换成RO和R1,即为用两个文件寄存器(RO和R1)存放 32 位的数据(500000)的情况。
文件寄存器中存放的数据在电源接通时是不能清除的,将开关SET扳至“RESET”或“LATCHCLEAR”时,也不能清除。要清除文件寄存器中的内容。需用FMOV(P)指令将“0”写入到文件寄存器中,如图 2-18所示。其中,“RO”表示起始地址,“K1024”表示清零的点数。
![图2-18 清除文件寄存器中内容的方法 图2-18 清除文件寄存器中内容的方法](http://static.11467.com/img/lazy.gif)
图2-18 清除文件寄存器中内容的方法
累加器
累加器的元件编号为A0、Al(共2点),它用来存放基本指令和应用指令的操作结果。每个累加器的字长为16位,是进行数据读写操作的基本单位。将图2-16中的D换成A,即为累加器的结构图。
同数据寄存器一样,用两个累加器可处理32位数据。使用32位指令时,累加器A0在放低 16位,累加器 A1 存放高 16位。将图2-17中的DO和DI 分别换成A0和A1,即为用两个累加器(AO 和A1)存放 32 位数据(500000)的情况。
变址寄存器(Z、V)
在使用基本指令和应用指令时,可以采用变址寄存器来间接指定软元件(X、Y、M、L、B、T、C、D、W、R等)的地址。A2N系列PLC提供两个变址寄存器。即Z和V。每个变址寄存器由16 位组成,16 位是进行数据读写的基本单位。
当使用32位指令时,用变址寄存器Z存放低16 位数据,V存放高16位数据。且注意在编程中使用32位指令时,不能指定V作为操作数。
将图2-17中的DO和DI分别换成Z和V,即为用两个变处寄存器(Z和V)存放32位的数据(500000)的情况。
变址寄存器不能对以触点或线圈为单位的位软元件(X、Y、M、L、B、T、C等)进行间接指定,只有用这些位软元件构成以 16位为单位时,才能使用变址操作。如图 2-19所示。
值得说明的是,在执行中断程序之前,A2N系列PLC不能保存变址寄存器中的数据。在执行中断程序期间,变址寄存器中的数据已经有了变化,而在中断程序执行完成时,又想将变址寄存器中的数据恢复到执行中断程序之前的状态,则必须编写一段如图2-20所示的程序。
![变址寄存器的应用 保存和恢复变址寄存器中数据 变址寄存器的应用 保存和恢复变址寄存器中数据](http://static.11467.com/img/lazy.gif)
图2-19 变址寄存器的应用
图2-20 保存和恢复变址寄存器中数据
西门子S7-300|6ES7313-6BG04-0AB0西门子S7-300|6ES7313-6BG04-0AB0西门子S7-300|6ES7313-6BG04-0AB0西门子S7-300|6ES7313-6BG04-0AB0西门子S7-300|6ES7313-6BG04-0AB0西门子S7-300|6ES7313-6BG04-0AB0
西门子6ES7515-5FN03-0AB0
西门子6ES7516-3FP03-0AB0
西门子6ES7511-1TL03-0AB0
西门子6ES7515-2TN03-0AB0
西门子6ES7511-1UL03-0AB0
西门子6ES7515-2UN03-0AB0
西门子模块6ES7511-1AL03-0AB0
西门子模块6ES7513-1AM03-0AB0