1.输入过程映像寄存器I
输入过程映像寄存器与输入端相连,它是专门用来接受PLC外部开关信号的元件。在每次扫描周期的开始,CPU对物理输入点进行采样,并将采样值写入输入过程映像寄存器中。CPU可以按位、字节、字或双字来存取输入过程映像寄存器中的数据,输入寄存器等效电路如图4-4所示。
位格式:I[字节地址].[位地址],如I0.0。
字节、字或双字格式:I[长度][起始字节地址],如IB0、IW0、ID0。
2.输出过程映像寄存器Q
输出过程映像寄存器是用来将PLC内部信号输出传送给外部负载(用户输出设备)。输出过程映像寄存器线圈是由PLC内部程序的指令驱动,其线圈状态传送给输出单元,再由输出单元对应的硬触点来驱动外部负载,输出寄存器等效电路如图4-5所示。在每次扫描周期的结尾,CPU将输出过程映像寄存器中的数值复制到物理输出点上。可以按位、字节、字或双字来存取输出过程映像寄存器。位格式,Q[字节地址].[位地址],如Q1.1。
字节、字或双字格式,Q[长度][起始字节地址],如QB5、QW5、QD5。
图4-4 输入过程映像寄存器I0.0的等效电路
图4-5 输出过程映像寄存器Q0.0的等效电路
可以用V存储器存储程序执行过程中控制逻辑操作的中间结果,也可以用它来保存与工序或任务相关的其他数据,变量存储器不能直接驱动外部负载。它可以按位、字节、字或双字来存取V存储区中的数据。
位格式:V[字节地址].[位地址],如V10.2。
字节、字或双字格式:V[长度][起始字节地址],如VB100、VW100、VD100。
4.位存储器M
位存储器是PLC中数量最多的一种继电器,一般的辅助继电器与继电器控制系统中的中间继电器相似。位存储器不能直接驱动外部负载,负载只能由输出过程映像寄存器的外部触点驱动。位存储器的常开与常闭触点在PLC内部编程时可无限次使用。可以用位存储区作为控制继电器来存储中间操作状态和控制信息,并且可以按位、字节、字或双字来存取位存储区。
位格式:M[字节地址].[位地址],如M2.7。
字节、字或双字格式:M[长度][起始字节地址],如MB10、MW10、MD10。
注意:有的用户习惯使用M区作为中间地址,但S7-200 SMART CPU中M区地址空间很小,只有32个字节,往往不够用。而S7-200 SMART CPU中提供了大量的V区存储空间,即用户数据空间。V存储区相对很大,其用法与M区相似,可以按位、字节、字或双字来存取V区数据,例如V10.1、VB20、VW100、VD200等。
【例4-3】图4-6所示的梯形图中,Q0.0控制一盏灯,请分析当系统上电后接通I0.0和系统断电后又上电时灯的明暗情况。
【解】当系统上电后接通I0.0,Q0.0线圈带电并自锁,灯亮;系统断电后又上电,Q0.0线圈处于断电状态,灯不亮。
图4-6 梯形图
5.特殊存储器SM
SM位为CPU与用户程序之间传递信息提供了一种手段。可以用这些位选择和控制S7-200 SMART CPU的一些特殊功能。例如,首次扫描标志位(SM0.1)、按照固定频率开关的标志位或者显示数学运算或操作指令状态的标志位,并且可以按位、字节、字或双字来存取SM位。
位格式:SM[字节地址].[位地址],如SM0.1。
节、字或者双字格式:SM[长度][起始字节地址],如SMB86、SMW22、SMD42。
特殊寄存器的范围为SMB0~SMB1549,其中SMB0至SMB29和SMB1000至SMB1535是只读存储器。具体如下:
只读特殊存储器如下:
SMB0:系统状态位
SMB1:指令执行状态位
SMB2:自由端口接收字符
SMB3:自由端口奇偶校验错误
SMB4:中断队列溢出、运行时程序错误、中断已启用、自由端口发送器空闲和强制值
SMB5:I/O错误状态位
SMB6-SMB7:CPU ID、错误状态和数字量I/O点
SMB8-SMB21:I/O模块ID和错误
SMW22-SMW26:扫描时间
SMB28-SMB29:信号板ID和错误
SMB1000-SMB1049:CPU硬件/固件ID
SMB1050-SMB1099 SB:信号板硬件/固件ID
SMB1100-1299 EM:扩展模块硬件/固件ID
读写特殊存储器如下:
SMB30(端口0)和SMB130(端口1):集成RS485端口(端口0)和CM01信号板(SB)RS232/RS485端口(端口1)的端口组态
SMB34-SMB35:定时中断的时间间隔
SMB36-45(HSC0)、SMB46-55(HSC1)、SMB56-65(HSC2)、SMB136-145(HSC3):高速计数器组态和操作
SMB66-SMB85:PWM0和PWM1高速输出
SMB86-SMB94和SMB186-SMB194:接收消息控制
SMW98:I/O扩展总线通信错误
SMW100-SMW110:系统报警
SMB136-SMB145:HSC3高速计数器
SMB186-SMB194:接收消息控制(请参见SMB86-SMB94)
SMB566-SMB575:PWM2高速输出
SMB600-SMB649:轴0开环运动控制
SMB650-SMB699:轴1开环运动控制(www.daowen.com)
SMB700-SMB749:轴2开环运动控制
全部掌握是比较困难的,具体使用特殊寄存器请参考系统手册,系统状态位是常用的特殊寄存器,见表4-3。SM0.0、SM0.1、SM0.5的波形图如图4-7所示。
图4-7 SM0.0、SM0.1、SM0.5的波形图
表4-3 特殊存储器字节SMB0(SM0.0~SM0.7)
【例4-4】图4-8所示的梯形图中,Q0.0控制一盏灯,请分析当系统上电后灯的明暗情况。
【解】因为SM0.5是周期为1s的脉冲信号,所以灯亮0.5s,然后暗0.5s,以1s为周期闪烁。
SM0.5常用于报警灯的闪烁。
图4-8 例4-4的梯形图
6.局部存储器L
S7-200 SMART有64B的局部存储器,其中60B可以用做临时存储器或者给子程序传递参数。如果用梯形图或功能块图编程,STEP7-Micro/WIN保留这些局部存储器的最后4B。局部存储器和变量存储器V很相似,但有一个区别:变量存储器是全局有效的,而局部存储器只在局部有效。全局是指同一个存储器可以被任何程序存取(包括主程序、子程序和中断服务程序),局部是指存储器区和特定的程序相关联。S7-200 SMART给主程序分配64B的局部存储器,给每一级子程序嵌套分配64B的局部存储器,同样给中断服务程序分配64B的局部存储器。
子程序不能访问分配给主程序、中断服务程序或者其他子程序的局部存储器。同样,中断服务程序也不能访问分配给主程序或子程序的局部存储器。S7-200 SMART PLC根据需要来分配局部存储器。也就是说,当主程序执行时,分配给子程序或中断服务程序的局部存储器是不存在的。当发生中断或者调用一个子程序时,需要分配局部存储器。新的局部存储器地址可能会覆盖另一个子程序或中断服务程序的局部存储器地址。
在分配局部存储器时,PLC不进行初始化,初值可能是任意的。当在子程序调用中传递参数时,在被调用子程序的局部存储器中,由CPU替换其被传递的参数的值。局部存储器在参数传递过程中不传递值,在分配时不被初始化,可能包含任意数值。L可以作为地址指针。
位格式:L[字节地址].[位地址],如L0.0。
字节、字或双字格式:L[长度][起始字节地址],如LB33。下面的程序中,LD10作为地址指针。
LD S M 0.0
MOVD&VB0,LD10 //将V区的起始地址装载到指针中
7.模拟量输入映像寄存器AI
S7-200 SMART能将模拟量值(如温度或电压)转换成1个字长(16位)的数字量。可以用区域标识符(AI)、数据长度(W)及字节的起始地址来存取这些值。因为模拟输入量为1个字长,并且从偶数位字节(如0、2、4)开始,所以必须用偶数字节地址(如AIW16、AIW18、AIW20)来存取这些值。如AIW1是错误的数据,则模拟量输入值为只读数据。
格式:AIW[起始字节地址],如AIW16。以下为模拟量输入的程序。
LD SM0.0
MOVW AIW16,MW10//将模拟量输入量转换为数字量后存入MW10中
8.模拟量输出映像寄存器AQ
S7-200 SMART能把1个字长的数字值按比例转换为电流或电压。可以用区域标识符(AQ)、数据长度(W)及字节的起始地址来改变这些值。因为模拟量为1个字长,且从偶数字节(如0、2、4)开始,所以必须用偶数字节地址(如AQW10、AQW12、AQW14)来改变这些值。模拟量输出值时只写数据。
格式:AQW[起始字节地址],如AQW20。以下为模拟量输出的程序。
LD SM0.0
MOVW 1234,AQW20//将数字量1234转换成模拟量(如电压)从通道0输出
9.定时器T
在S7-200 SMART CPU中,定时器可用于时间累计,其分辨率(时基增量)分为1ms、10ms和100ms三种。定时器有以下两个变量。
●当前值:16位有符号整数,存储定时器所累计的时间。
●定时器位:按照当前值和预置值的比较结果置位或者复位(预置值是定时器指令
的一部分)。
可以用定时器地址来存取这两种形式的定时器数据。究竟使用哪种形式取决于所使用的指令:如果使用位操作指令,则是存取定时器位;如果使用字操作指令,则是存取定时器当前值。存取格式为:T[定时器号],如T37。
S7-200 SMART系列中定时器可分为接通延时定时器、有记忆的接通延时定时器和断开延时定时器三种。它们是通过对一定周期的时钟脉冲进行累计而实现定时功能的,时钟脉冲的周期(分辨率)有1ms、10ms、100ms三种,当计数达到设定值时触点动作。
10.计数器存储区C
在S7-200 SMART CPU中,计数器可以用于累计其输入端脉冲电平由低到高的次数。CPU提供了三种类型的计数器,一种只能增加计数;一种只能减少计数;另外一种既可以增加计数,又可以减少计数。计数器有以下两种形式。
●当前值:16位有符号整数,存储累计值。
●计数器位:按照当前值和预置值的比较结果置位或者复位(预置值是计数器指令的一部分)。
可以用计数器地址来存取这两种形式的计数器数据。究竟使用哪种形式取决于所使用的指令:如果使用位操作指令,则是存取计数器位;如果使用字操作指令,则是存取计数器当前值。存取格式为:C[计数器号],如C24。
11.高速计数器HC
高速计数器用于对高速事件计数,它独立于CPU的扫描周期。高速计数器有一个32位的有符号整数计数值(或当前值)。若要存取高速计数器中的值,则应给出高速计数器的地址,即存储器类型(HC)加上计数器号(如HC0)。高速计数器的当前值是只读数据,仅可以作为双字(32位)来寻址。
格式:HC[高速计数器号],如HC1。
12.累加器AC
累加器是可以像存储器一样使用的读写设备。例如,可以用它来向子程序传递参数,也可以从子程序返回参数,以及用来存储计算的中间结果。S7-200 SMART提供4个32位累加器(AC0、AC1、AC2和AC3),并且可以按字节、字或双字的形式来存取累加器中的数值。
被访问的数据长度取决于存取累加器时所使用的指令。当以字节或者字的形式存取累加器时,使用的是数值的低8位或低16位。当以双字的形式存取累加器时,使用全部32位。
格式:AC[累加器号],如AC0。以下为将常数18移入AC0中的程序。
LD SM0.0
MOVB 18,AC0//将常数18移入AC0
13.顺控继电器存储S
顺控继电器位(S)用于组织机器操作或者进入等效程序段的步骤。SCR提供控制程序的逻辑分段。可以按位、字节、字或双字来存取S位。
位:S[字节地址].[位地址],如S3.1。
字节、字或者双字:S[长度][起始字节地址]。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。