340 likes | 451 Views
可编程序控制器. 主讲:张波. 第三章 S7-200 系列 PLC 软元件结构. PLC 可等效为由多个输入继电器、输出继电器、定时器、计数器、寄存器、内部辅助继电器和一些特殊功能继电器等软元件组成的集合体. 3.1 S7-200 系列 PLC 存储空间及地址分配. 3.1.1 存储器与存储空间 3.1.2 数据存储空间 3.1.3 数据空间地址分配方法. 返回本章首页. 3.1.1 存储器与存储空间. S7-200 所用的内部存储器分 EEPROM 和 RAM 两种。 主要功能:
E N D
可编程序控制器 主讲:张波
第三章 S7-200系列PLC软元件结构 PLC可等效为由多个输入继电器、输出继电器、定时器、计数器、寄存器、内部辅助继电器和一些特殊功能继电器等软元件组成的集合体
3.1 S7-200系列PLC存储空间及地址分配 3.1.1 存储器与存储空间 3.1.2 数据存储空间 3.1.3 数据空间地址分配方法 返回本章首页
3.1.1 存储器与存储空间 • S7-200所用的内部存储器分EEPROM和RAM两种。 • 主要功能: • 为PLC提供程序存储空间(存储监控程序和应用程序)、参数存储空间(存储相关参数)和数据存储空间(存储数据)。 • 为PLC提供内部软元件。PLC内部的每一个软元件对应着EEPROM或RAM参数空间或数据空间中的一个位(bit)、一个字节(byte)用B表示、一个字(word)用W表示、双字(double word)用D表示。
存储空间分为程序空间、参数空间和数据空间。存储空间分为程序空间、参数空间和数据空间。 • 程序空间用于存放监控程序和用户程序。该空间分配给程序存储器EEPROM • 参数空间用于存放PLC配置结构参数和区域参数等。如保护口令、PLC站地址、停电记忆保护区、强制操作的信号设定等。PLC内部的部分软元件也属于此空间,该空间分配给存储器EEPROM • 数据空间用于存放PLC的输入信号、程序执行的中间状态、计时值、计数值、输出结果和PLC所用的内部工作寄存器、部分软元件等。数据一部分在EEPROM中,一部分在RAM中。
3.1.2 数据存储空间 S7-200的数据空间分为数字量空间和模拟量空间 • 开关量输入的数据存入数字量空间的输入映像寄存器中,该区定义为I; • 开关量输出的数据存入数字量空间的输出映像寄存器中,该区定义为Q; • 模拟量输入的数据存入模拟量空间的模拟量输入区,该区定义为AI; • 模拟量输出的数据存入模拟量空间的模拟量输出区,该区定义为AQ;
数据空间还包括: • 内部标志位寄存器(M) • 内部特殊标志继电器(SM) • 内部变量存储器(V) • 局部变量存储器(L) • 计时器(T) • 计数器(C) • 顺序控制寄存器(S) • 高速计数器(HSC) • 累加器(AC)
3.1.3 数据空间地址分配方法 • S7-200PLC数据存储空间分为: • 输入地址 • 输出地址 • 内部地址 • 每一类地址分为 • 数字量空间 • 模拟量空间
S7-200PLC采用“字节位”编址规则,即“识别符+字节地址+小数点+位号”S7-200PLC采用“字节位”编址规则,即“识别符+字节地址+小数点+位号” • 识别符:用于区别地址类型和存储器空间区域。如I数字量输入、Q数字量输出、SM特殊标志寄存器。 • 字节地址:用于指定存储器空间中的字节、字、双字或起始地址。如IB0、MW10、VD100等。 • 小数点:用于分割字节地址和该字节的位号。 • 位号是表示该字节中的某一位,它是0-7之间的某个数。如I2.0、Q3.4、M8.2、SM6.7
1、输入地址编码 S7-200PLC输入地址包括: • 基本单元的数字量输入地址 • 扩展单元的数字量输入地址 • 扩展单元的模拟量输入地址 每个扩展模块的地址由其类型在I/O链上的位置决定,并以基本单元的I/O位起点开始分配 (1)数字量输入地址 S7-200PLC开关量输入以8点(1个字节)为组进行分配,数字输入地址的识别符为I,每一个输入点对应于输入映像寄存器(IB)中的每个位。
(2)模拟量输入地址 S7-200PLC基本单元不带模拟量输入,可以采用扩展方式连接模拟模块来扩展模拟通道的。 模拟量输入是以每一路为组进行分配,模拟量输入地址识别符为AI。每一路模拟量输入占2个字,但实际只使用1个字,地址编号为AIW,对应输入映像寄存器AIB。 模拟通道的地址编号不是连续的,每一路模拟量虽只用1个字,但占用两个字的连续编号空间。 每一路模拟量输入转换的分辨率都为12位,其数据存入对应的输入映像寄存器AIB的两个字节中。如AIW0模拟量输入转换后的12位数据被存入AIB0和AIB1中,AIB1存入的是低8位,AIB0的低4位存入的是转换后数据的高4位。AIB0中的高4位用户不能使用。
2、输出地址编号 S7-200PLC输出地址包括: • 基本单元的数字量输出地址 • 扩展单元的数字量输出地址 • 扩展单元的模拟量输出地址 (1)数字量输出地址 S7-200PLC开关量输出以8点(1个字节)为组进行分配,数字输出地址的识别符为Q,每一个输入点对应于输出映像寄存器(QB)中的每个位。输出映像寄存器的未用位可作为内部标志位使用。
(2)模拟量输出地址 S7-200PLC基本单元不带模拟量输出,也采用扩展方式连接模拟模块来扩展模拟通道的。模拟量输出是以每一路为组进行分配,模拟量输出地址识别符为AQ。每一路模拟量输出占2个字,但实际只使用1个字,地址编号为AQW,对应输入映像寄存器AQB。 3、内部软元件地址编号 S7-200内部软元件地址编号方法按其功能分类,以其功能名称定义,并对各个位进行编址。
3.2 S7-200PLC内部软元件 • S7-200PLC内部软元件分布在参数空间和数据空间中,它们的功能是相互独立的。 • 有固定地址,其地址编号采用八进制数码。
3.2.1 I/O软继电器 I/O软继电器是PLC与控制系统连接的等效接口器件。输入软继电器接收控制系统的输入信号,输出软继电器给控制系统输出控制信号。 1、输入软继电器 S7-200PLC的每一个输入端子对应内部的一个输入软继电器,定义为输入继电器I。 地址分配采用“字节位”编制方式。 功能:相当于一个具有无限次常开/常闭触点的继电器,用来接收从外部敏感元件或开关元件发来的信号。 输入软继电器只能由外部信号驱动,不能由程序控制改写,其触点也不能直接输出带动负载。
2、输出软继电器 • S7-200PLC的每一个输出端子对应内部的一个输出软继电器,定义为输出继电器Q • 地址分配采用“字节位”编制方式。 • 功能:输出软继电器的对外输出触点直接接到输出端子,控制外部负载,其内部的软触点使用次数不限。 • 输出软继电器实际是通过输出映像寄存器中的相应位对PLC输出端子进行控制,它只能由程序内部指令来驱动,使其触点接通或断开,因此它只有一个触点能对外直接输出带动负载 • 输出软继电器有无数个内部常开/常闭触点供编程使用。
3、I/O软继电器工作过程 • 输入软继电器接收PLC输入端子的状态信号,在每个程序扫描周期开始时被采样,采用结果存入输入映像寄存器, • 在程序执行阶段,CPU对输入或输出的操作实际是对内部输入或输出映像寄存器的操作,并不直接涉及输入或输出端点及软继电器,即在程序执行阶段,I/O软继电器的状态保持不变。 • 最后,输出映像寄存器的内容被传送给输出软继电器,输出软继电器将其触点状态传送到输出端子。 • 在程序执行阶段,PLC使用I/O映像寄存器作为I/O软继电器的暂存缓冲器。
程序执行有如下特点: 程序在扫描开始时同步采样所有输入点并存入输入映像寄存器。 • 一方面可使输入映像寄存器内容不变,从而保持被控制系统获得更好的稳定性。 • 另一方面由输入软继电器及时接收外部端子输入信号的变化,从而保证对控制信号的实时采样。 程序执行完毕后,CPU从输出映像寄存器取出内容,一次性刷新所有输出继电器,同时改变所有实际输出端子状态,使被控制系统有更好的同步性。 I/O点软继电器只能以位为单位进行读入或输出,映像寄存器能以位、字节、字或双字进行存取,具有更好的灵活性;而且存取映像寄存器的速度高于存取I/O点的速度,程序执行得更快。 可以使用直接I/O指令对输入软继电器和输出软继电器进行存取。
3.2.2 变量寄存器(V) 主要用于模拟量控制、数据运算、参数设置等。可按位、字 节、字或双字操作。分为一般变量寄存器和断电保护变量寄存器。 分布在数据空间的RAM中,可进行读写操作。 所有变量寄存器统称位数据块1(DB1),其内容通过对PLC的数据装载操作在EEPROM和RAM中互相复制。 • PLC在每次通电后,先检查RAM中DB1的数据是否丢失。 • 若RAM正被超级电容进行保持,则EEPROM 中DB1非保持的部分内容被复制到RAM的非保持变量寄存器中; • 若RAM未被超级电容进行断电保持,则EEPROM 中整个DB1的映像内容都被复制到RAM中。 • PLC在每次上电时都要恢复DB1非保持变量寄存器的内容,其他内容只是在数据丢失时才会从EEPROM 中复制恢复。
3.2.3 内部标志位寄存器(M) • 也称为内部软继电器或中间辅助继电器。为程序执行的中间状态或其他控制信息提供信息暂存区。不能直接驱动外部负载。 • 可以以位、字节、字或双字为单位使用。 • CPU22X系列有256个,编号是M0.0-M31.7。其中MB0-MB13是断电永久保护区,其内容每次掉电时会自动保存。
3.2.4 特殊标志位寄存器(SM) • 提供大量的状态和控制功能,并能起到在PLC和用户程序之间交换信息的作用。可以以位、字节、字或双字为单位使用。S7-200系列的CPU22X有SM0-SM299的非连续的特殊标志寄存器,并分为只读区域(SM0-SM29)和可读写区域(SM30-SM299)。编号为SM0.0-SM299.7。
3.2.5 局部寄存器(L) • 存放局部变量,有64个字节的局部寄存器。地址编码为LB0.0-LB63.7可进行位、字节、字或双字访问。 • 其中60个可用作暂时存储器或者给子程序传递参数
局部寄存器与变量寄存器的区别: • 变量寄存器是全局有效,可以被任何程序存取(如主程序、子程序、中断程序)局部寄存器是局部有效,只能在特定程序中存取。 • PLC分别给主程序、各级子程序嵌套和各中断程序分配64个局部寄存器,各级子程序和各中断程序不能访问主程序的局部寄存器,各级子程序和各中断程序也不能互访对方的局部寄存器。 • 在执行主程序时,分配给子程序和中断程序的局部寄存器是不存在的,即此时局部寄存器不起作用。 • 当执行子程序和中断程序时,分配给它们的局部寄存器才被使用。 • 局部寄存器在分配PLC时不进行初始化,初值可能是任意的。 • 局部寄存器在传递参数过程中不接收值。 • 当子程序调用过程中传递参数时,在被调用子程序的局部寄存器中,由CPU代替被传递的参数。
3.2.6 定时器(T)和计数器(C) 1、定时器(T) • 用来累计时间增量的寄存器 • CPU22X提供256个定时器。地址编码为T0-T255。1ms定时器4个、10ms定时器16个、100ms定时器236个、66个定时器有断电保持功能。每个定时器有1个当前值寄存器和一个状态位。 • 带位操作的指令存取定时器状态位,带字操作的指令存取定时器当前值。分为接通延时定时器(TON)、有记忆接通延时定时器(TONR)和断开延时定时器(TOF)
2、计数器(C) • 用来累计其输入端脉冲电平由低到高的次数。 • CPU22X提供256个定时器,地址编码为C0-C255,每个计数器占用1个字。每个计数器有1个当前值寄存器和一个状态位。 • 带位操作的指令存取计数器状态位,带字操作的指令存取计数器当前值。计数指令包括:加计数(CTU)、减计数(CTD)和加/减计数(CTUD)。任何计数器可用指令定义位加或减计数器。
3.2.7 高速计数器(HSC) • 用于记录频率比PLC扫描速度更快的外部输入脉冲信号。对扫描处理程序不能检测的外部事件进行计数。 • CPU224和CPU226有6个,地址编号为HSC0-HSC5;CPU221和CPU222有四个,地址编号为HSC0、 HSC3、 HSC4、 HSC5。 • 每个高速计数器具有一个带符号的32位计数值(或称当前值)。当直接存取高速计数器的当前值时,一般只可以读取,而且对当前值必须以双字为单位进行存取。 • HSC0和HSC4是多用途计数器,HSC3和HSC5是简单用途计数器,只有单相时钟输入操作模式。 • 通过设置SMB36-SMB65相应位可对HSC0、 HSC1、 HSC2的操作模式进行控制。通过设置SMB131-SMB165相应位可对HSC3、 HSC4、 HSC5的操作模式进行控制。
3.2.8 累加器(AC) 3.2.8 累加器 • 可进行读/写操作 • 可向子程序传递参数、从子程序返回参数,或用来存储计算的中间值。 • 有中断请求时,PLC保存中断发生前的累加器内容,用户可放心地在中断程序中使用累加器,不必担心丢失累加器原有内容。 • 不能利用累加器在主程序和中断程序之间传递参数。 • S7-200PLC提供4个累加器AC0-AC3。每个累加器占1个双字。可以字节、字、双字为单位进行存取操作。 • 以字节或字为单位存取累加器时,使用累加器的低8位或低16位。
3.2.9 顺序控制软继电器(S) • 用于组织PLC操作或进入等效程序的起步 • S7-200有32个顺序控制继电器。 • 地址编号位S0.0-S31.7 • 可按位、字节、字、双字来存取。 软件表见P58表3.10
3.3 S7-200PLC其他功能 3.3.1 中断功能 3.3.2 自由口通信功能 3.3.3 输入信号滤波与捕捉功能
3.3.1 中断功能 • CPU221和CPU222有相同的中断类型和中断个数。 • 4个可编程I/O事件中断输入,对应硬件I0.0-I0.3输入端点,由信号上升沿或下降沿触发中断,产生中断请求。 • 4个高速计数器HSC0-HSC3都具有中断请求功能,当计数器达到设定值时可发出中断请求。输入可接到I0.0-I0.5中的某个输入端点。计数信号频率不得超过30kHz • 2个脉冲输出中断,对应硬件Q0.0-Q0.1输出端点,其脉冲宽度和频率可调,最大输出频率位20kHz • 2个1ms定时器中断 • 3个串行通信中断(2个接收中断和1个发送中断) • CPU224 比CPU222和CPU222多2个高速计数器中断。 • CPU226比CPU224多2个串行通信中断。
3.3.2 自由口通信功能 • PLC的串行通信接口具有自由通信功能。通过用户程序设置波特率、字符长度、奇偶校验等通信参数和通信协议。 • CPU处于RUN模式时才能实现自由口通信。 • CPU处于STOP模式时自由口被禁止,通信口转换为PPI协议操作。 • SM0.7控制通信口进入自由口方式,它对应PLC模式开关的位置。当模式开关在TERM位置时, SM0.7为0;当模式开关在RUN位置时,SM0.7为1。 • SMB30和SMB130为自由口通信选择波特率、奇偶校验等。 • 在通信过程中,如果检测到校验奇偶出错,则SM3.0被置为。当发送结束时,SM4.5被置位。 • 为了灵活支持多种通信协议,自由口通信的接收是在接受中断控制时完成的,自由口每接收一个字符就产生一次中断,被接收的字符存入SMB2中。
3.3.3 输入信号滤波与捕捉功能 S7-200 CPU为每个主机数字量输入提供了脉冲捕捉功能,它可以使主机能够捕捉小于一个扫描周期的短脉冲,并将其保持到主机读到这个信号,但前提是只有通过滤波器后,脉冲捕捉才有效。此外,在一个给定的扫描周期内如果有不只一个脉冲,则只有第一个脉冲可以被捕捉到,几种情况下的脉冲捕捉波形如图所示。
Thank You ! www.themegallery.com