S7-200 PLC为用户提供了许多数据存储空间,并将其划分为不同功能的区域,以存放不同类型的数据。这些数据存储器有各自的功能和固定的地址,其数量的多少决定了S7-200 PLC的规模和数据处理能力。S7-200 PLC的CPU的数据存储器就划分为如下的各种存储区。
1.输入映像寄存器(I)
在执行程序的每个扫描周期开始,CPU对外部接收的输入信号如按钮、行程开关、光电开关和传感器等的通/断状态进行采样,并将采样值存入输入映像寄存器中。
每一个输入端子都对应一个输入映像寄存器,外部输入信号接通时,对应输入映像寄存器的状态为ON(1状态),反之为OFF(0状态)。在梯形图中,可多次使用输入位的常开和常闭触点进行编程,这相当于CPU从存储器中取数据。
输入映像寄存器的状态只能由外部输入信号决定,而不能由程序指令来改变。它们一般采用八进制编号,一个输入端子占用1位。如位地址10.0~10.7,后面紧接着是11.0~11.7。
I、Q、V、M、S、SM和I均可以按位、字节、字和双字来存取数据,如CPU226模块输入映像寄存器的有效地址范围为:I(0.0~15.7),IB(0~15),IW(0~14),ID(0~12)。
2.输出映像寄存器(Q)
在每个扫描周期的结尾,CPU将输出映像寄存器的结果集中送到相应的输出锁存器中,通过输出模块驱动外部负载。
每一个输出模块的端子对应一个输出映像寄存器。如果梯形图中Q0.0的线圈“接通”,继电器型输出模块中对应的硬件继电器的常开触点闭合,使连在标号为0.0端子的外部负载通电;反之,外部负载断电。输出模块中的每一个硬件继电器只有一对常开触点,用于驱动外部负载,但在编写梯形图程序时,输出位的常开和常闭触点可以多次使用。
输出映像寄存器的状态是由程序执行的结果决定的,它们一般也采用八进制编号,一个输出端子占用1位。如位地址Q0.0~Q0.7,紧接着是Q1.0~Q1.7。
CPU226模块输出映像寄存器的有效地址范围为:Q(0.0~15.7),QB(0~15),QW(0~14),QD(0~12)。
3.变量存储器(V)
变量存储器用于存放全局变量、程序执行过程中的中间结果或其他相关的数据。变量存储器是全局有效的,全局有效是指同一个存储器可以在任一程序分区(主程序、子程序和中断程序)被访问。
CPU226模块变量存储器的有效地址范围为:V(0.0~10239.7),VB(0~10239),VW(0~10238),VD(0~10236)。
4.位存储器(M)
位存储器(M0.0~M31.7)也称为内部线圈,类似于继电器控制系统中的中间继电器,用它存放中间操作状态或其他相关的数据。
在S7-200 PLC中,位存储器没有外部输入端子或输出端子与之对应,因此,它不能接受外部输入信号,其输出线圈也不能直接驱动外部负载。如果位存储器状态需要输出显示,则可接输出模块。
CPU226模块位存储器的有效地址范围为:M(0.0~31.7),MB(0~31),MW(0~30),MD(0~28)。
5.定时器存储器(T)
定时器相当于继电器控制系统中的时间继电器。S7-200 PLC有通电延时、有记忆通电延时和断开延时3种定时器,它们的时间基准分别为1 ms、10 ms和100 ms。定时器采用十进制编号,如T0、T40等。定时器由一个16位的当前值寄存器和一个1位的定时器位组成,当前值寄存器用于存放时间预设值和累计时间基准增量值(1~32767),定时器位用来描述定时器触点的状态。
使用定时器时,必须先将时间预设值输入当前值寄存器中,当定时器的线圈通电时开始计时,于是当前值从0开始按相应的时间基准累加(对于通电延时定时器);当定时器的当前值大于或等于预设值时,定时器位被置为1;其线圈断电时,定时器位被复位为0。
定时器位为1时,梯形图中对应的常开触点闭合,常闭触点断开;定时器位为0时,触点的状态相反。
S7-200 PLC定时器存储器的有效地址范围为:T(0~255)。
6.计数器存储器(C)
计数器用来累计其计数输入端的脉冲个数即电平由低到高或者由高到低的次数。S7-200 PLC有加计数器、减计数器和加减计数器3种类型。计数器采用十进制编号,如C6、C20等。计数器由一个16位的当前值寄存器和一个1位的计数器位组成,当前值寄存器用于存放脉冲设定值和累计脉冲数(1~32767),计数器位用来描述其触点的状态。
使用计数器时,必须先将脉冲的设定值输入当前值寄存器中,当计数器的输入条件满足时,它开始累计脉冲输入端电平由低到高(上升沿)的次数,于是当前值从0开始累加上升沿的次数(对于加计数器);当加计数器的当前值大于或等于设定值时,计数器位被置为1,其常开触点闭合,常闭触点断开。
S7-200 PLC计数器存储器的有效地址范围为:C(0~255)。
一般计数器的计数频率受扫描周期的影响,所以不能太高。对高频信号的计数可以使用高速计数器。(www.xing528.com)
7.高速计数器(HC)
高速计数器用来累计比CPU扫描速率更快的高速脉冲信号,它的计数过程与扫描周期无关。每个高速计数器有一个32位有符号整数的当前值寄存器,当前值为只读数据。高速计数器的数量较少,其地址由标识符HC和计数号组成,如HC5。
CPU226模块高速计数器的有效地址范围为:HC(0~5)。
8.顺序控制继电器(S)
顺序控制继电器(SCR)用于顺序控制(步进控制)。它与顺序控制继电器指令配合使用,采用基于顺序功能图(SFC)的编程方式。
CPU226模块顺序控制继电器存储器的有效地址范围为:S(0.0~31.7),SB(0~31),SW(0~30),SD(0~28)。
9.特殊标志位存储器(SM)
特殊标志位存储器也称为特殊寄存器,是用户程序与系统程序之间的界面,它为用户提供一些特殊的控制功能及系统信息。特殊标志位存储器分为只读区域(SM0.0~SM29.7)和可读/写区域两部分,在只读区,用户只能利用特殊标志位触点。例如:
SM0.0——RUN监控,PLC在RUN方式时,SM0.0总为1;
SM0.1——初始脉冲,PLC由STOP转为RUN时,SM0.1接通一个扫描周期;
SM0.5——秒脉冲,占空比为50%,周期为1 s的脉冲。
可读/写特殊标志位则用于特殊控制功能。例如,用于自由通信口设置的SMB30,用于定时中断间隔时间设置的SMB34、SMB35,用于高速计数器设置的SMB36~SMB65等。
因此,熟悉特殊标志位SM的使用还可以简化用户编程。CPU226模块特殊标志位存储器的有效地址范围为:SM(0.0~549.7),SMB(0~549),SMW(0~548),SMD(0~546)。
10.累加器(AC)
累加器是用于暂存数据的存储器。它可以用来存放运算中间数据和结果数据,也可向子程序传递参数或返回参数。S7-200 PLC的CPU提供了4个32位累加器(AC0,AC1,AC2,AC3),它的数据长度可以是字节、字或双字。
实际应用时,存取数据的长度取决于所使用的指令。按字节、字只能存取累加器的低8位或低16位,按双字则可存取全部32位。
11.模拟量输入映像寄存器(AI)
S7-200 PLC的模拟量输入模块(A/D转换模块)将外部输入的模拟信号转换成1个字长(16位)的数字量,存放在模拟量输入映像寄存器(AI)中,供CPU运算处理。模拟量输入的值为只读数据,必须从偶数字节开始存放,有效地址为AIW0、AIW2等。
CPU226模块模拟量输入映像寄存器的有效地址范围为:AIW(0~62)。
12.模拟量输出映像寄存器(AQ)
CPU运算的结果存放在模拟量输出映像寄存器(AQ)中,S7-200 PLC的模拟量输出模块(D/A转换模块)将1个字长(16位)的数字量转换为模拟量,以驱动外部模拟量控制的设备。模拟量输出映像寄存器中的数字量为只写数据,必须从偶数字节开始存放,有效地址为AQWO、AQW2等。
CPU226模块模拟量输出映像寄存器的有效地址范围为:AQW(0~62)。
13.局部存储器(L)
局部(1oca1)存储器用来存放局部变量,局部变量是局部有效的,局部有效是指某一局部存储器只能在某一程序分区(主程序或子程序或中断程序)中使用。
S7-200 PLC有64个字节的局部存储器,其中60个可用做暂时存储器或给子程序传递参数。如果用梯形图编程,编程软件保留局部存储器的最后4个字节LB60~LB63。如果用语句表编程,可以使用全部的64个字节,建议不使用最后4个字节。
主程序、子程序和中断程序简称为POU(program organizationa1 unit,程序组织单元),各POU都有自己的局部变量表,局部变量仅仅在它被创建的POU中有效。变量存储器(V)是全局存储器,可以被所有的POU存取。
CPU226模块局部存储器的有效地址范围为:L(0.0~63.7),LB(0~33),LW(0~32),LD(0~60)。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。