[信息与通信]PLC第五章S7200的功能指令.ppt
2023/8/2,第五章 S7-200的功能指令用,PLC 原理及应用,2023/8/2,本章主要内容,5.1 程序控制类指令5.2 中断指令5.3 高速计数器5.4 高速脉冲输出,2023/8/2,本章学习要求,重点内容:S7-200功能指令的作用及使用方法 了解内容:系统控制类指令的应用 难点内容:高速计数器指令,2023/8/2,5.1 程序控制类指令,一、系统控制类指令二、跳转、循环指令三、子程序调用指令四、顺序控制指令,2023/8/2,一、系统控制类指令,1.结束指令结束指令有两条:END和MEND。两条指令在梯形图中以线圈形式编程。END,条件结束指令。使能输入有效时,终止用户主程序。MEND无条件结束指令。无条件终止用户程序的执行,返回主程序的第一条指令。指令格式:END(无操作数),5.1 程序控制类指令,2023/8/2,2.停止指令STOP,暂停指令。使能输入有效时,该指令使主机CPU的工作方式由RUN切换到STOP方式,从而立即终止用户程序的执行。STOP指令在梯形图中以线圈形式编程。指令不含操作数。指令格式:STOP(无操作数),5.1 程序控制类指令,2023/8/2,3.看门狗复位指令,WDR,看门狗复位指令。当使能输入有效时,执行WDR指令,每执行一次,看门狗定时器就被复位一次。用本指令可用以延长扫描周期,从而可以有效避免看门狗超时错误。指令格式:WDR(无操作数),5.1 程序控制类指令,2023/8/2,5.1 程序控制类指令,2023/8/2,二、跳转、循环指令,1.跳转指令(1)跳转指令 JMP,跳转指令。使能输入有效时,使程序流程跳到同一程序中的指定标号n处执行。(2)标号指令 LBL,标号指令。标记程序段,作为跳转指令执行时跳转到的目的位置。操作数n为0255的字型数据。,5.1 程序控制类指令,2023/8/2,5.1 程序控制类指令,2023/8/2,2、循环指令 由 FOR和NEXT指令构成程序的循环体。FOR指令标记循环的开始,NEXT指令为循环体的结束指令。,5.1 程序控制类指令,2023/8/2,工作原理:使能输入EN有效,循环体开始执行,执行到NEXT指令时返回,每执行一次循环体,当前值计数器INDX增1,达到终止值FINAL时,循环结束。使能输入无效时,循环体程序不执行。每次使能输入有效,指令自动将各参数复位。,5.1 程序控制类指令,2023/8/2,三、子程序调用指令,1.建立子程序2.子程序调用 3.带参数的子程序调用,5.1 程序控制类指令,2023/8/2,1.建立子程序,(1)从“编辑”菜单,选择插入子程序;(2)从“指令树”,用鼠标右键单击“程序块”图标,并从弹出菜单选择插入子程序;(3)从“程序编辑器”窗口,用鼠标右键单击,并从弹出菜单选择插入 子程序。,5.1 程序控制类指令,2023/8/2,2.子程序调用,(1)子程序调用和返回指令 子程序调用 SBR子程序条件返回 CRET,5.1 程序控制类指令,2023/8/2,(1)子程序参数(2)局部变量的类型(3)数据类型(4)建立带参数子程序的局部变量表(5)带参数子程序调用指令,3.带参数的子程序调用,5.1 程序控制类指令,2023/8/2,四、顺序控制指令,5.1 程序控制类指令,1.功能流程图,2023/8/2,(1)顺序步开始指令(LSCR)(2)顺序步结束指令(SCRE)(3)顺序步转移指令(SCRT),5.1 程序控制类指令,2.顺序控制指令,2023/8/2,例5-1使用顺序控制结构,编写出实现红、绿灯循环显示的程序(要求循环间隔时间为1s)。,5.1 程序控制类指令,2023/8/2,5.1 程序控制类指令,2023/8/2,5.2中断指令,一、中断源二、中断指令 三、中断程序,2023/8/2,5.2中断指令,概念:中段就是终止当前正在运行的程序,去执行为立即响应的信号而编制的中断服务程序,执行完毕再返回原先终止的程序并继续执行。一、中断源 中断源是指发出中断请求的事件,又叫中断事件。,2023/8/2,1、中断源分类 S7-200系列可编程控制器最多有34个中断源,分为三大类:通信中断 输入/输出(I/O)中断 时基中断,5.2中断指令,2023/8/2,2、中断优先级 中断优先级由高到低依次是:通信中断、输入输出中断、时基中断。每种中断中的不同中断事件又有不同的优先权。主机中的所有中断事件及优先级如下表。,5.2中断指令,2023/8/2,表5.4中断事件及优先级,2023/8/2,21,5.2中断指令,2023/8/2,3、CPU响应中断的原则 一个程序中总共可有128个中断。S7-200在任何时刻,只能执行一个中断程序;在中断各自的优先级组内按照先来先服务的原则为中断提供服务,一旦一个中断程序开始执行,则一直执行至完成,不能被另一个中断程序打断,即使是更高优先级的中断程序;中断程序执行中,新的中断请求按优先级排队等候,中断队列能保存的中断个数有限,若超出,则会产生溢出。,5.2中断指令,2023/8/2,二、中断指令,5.2中断指令,2023/8/2,三、中断程序(中断服务程序)中段程序是为处理中断事件而事先编好的程序。中断程序不是由程序调用,而是在中断事件发生时由操作系统调用。注意:(1)在中断程序中禁止使用DISI、ENI、HDEF、LSCR、END指令。(2)中断程序最后一条指令一定是无条件返回指令RETI(省略),也可以是有条件返回指令CRETI结束中断程序。,5.2中断指令,2023/8/2,例5-2 编写由I0.1的上升沿产生的中断事件的初始化程序。,5.2中断指令,2023/8/2,5.2中断指令,例5-3 编程完成采样工作,要求每10ms采样一次。,2023/8/2,5.3高速计数器,一.高速计数器介绍二.高速计数指令及应用,2023/8/2,一.高速计数器介绍,高速计数器在程序中使用时的地址编号用HCn来表示(在非程序中有时用HSCn),HC表编程元件名称为高速计数器,n为编号。,5.3高速计数器,2023/8/2,1高速计数器输入端的连接 高速计数器中断事件大致分为3类:当前值等于预设值中断、输入方向改变中断和外部复位中断。所有高速计数器都支持当前值等于预设值中断。,31,22,5.3高速计数器,2023/8/2,2.高速计数器的工作模式,5.3高速计数器,2023/8/2,高速计数器有6种编号,12种工作模式.,HSC0和HSC4有模式0、1、3、4、6、7、8、9、10;HSC1和HSC2有模式0、1、2、3、4、5、6、7、8、9、10、11;HSC3和HSC5只有模式0。,5.3高速计数器,2023/8/2,3高速计数器的控制字和状态字,5.3高速计数器,2023/8/2,5.3高速计数器,2023/8/2,每个高速计数器都有固定的特殊功能存储器与之相配合,完成高速计数功能。,高速计数器的使用,5.3高速计数器,2023/8/2,二、高速计数指令,(1)HDEF指令HDEF,定义高速计数器指令。使能输入有效时,为指定的高速计数器分配一种工作模式,即用来建立高速计数器与工作模式之间的联系。梯形图指令盒中有两个数据输入端:HSC,高速计数器编号,为05的常数,字节型;MODE,工作模式,为011的常数,字节型。,5.3高速计数器,2023/8/2,(2)HSC指令HSC,使用高速计数器指令。使能输入有效时,根据高速计数器特殊存储器位的状态,并按照HDEF指令指定的工作模式,设置高速计数器并控制其工作。梯形图指令盒数据输入端N:高速计数器编号,为05的常数,字型。,5.3高速计数器,2023/8/2,原理:每个高速计数器都有一个32位当前值和一个32位预置值,当前值和预设值均为带符号的整数值。要设置高速计数器的新当前值和新预置值,必须设置控制字节令其第五位和第六位为1,允许更新预置值和当前值,新当前值和新预置值写入特殊内部标志位存储区。然后执行HSC指令,将新数值传输到高速计数器。,高速计数器使用原理,5.3高速计数器,2023/8/2,(1)用首次扫描时接通一个扫描周期的特殊内部存储器SM0.1去调用一个子程序,完成初始化操作。(2)在初始化的子程序中,根据希望的控制设置控制字(SMB37、SMB47、SMB137、SMB147、SMB157)(3)执行HDEF指令,设置HSC的编号(0-5),设置工作模式(0-11)。(4)用新的当前值写入32位当前值寄存器(SMD38,SMD48,SMD58,SMD138,SMD148,SMD158)。(5)用新的预置值写入32位预置值寄存器(SMD42,SMD52,SMD62,SMD142,SMD152,SMD162)(6)、(7)、(8)中断事件(事件13、14、15)与一个中断程序相联系。(9)执行全局中断允许指令(ENI)允许HSC中断(10)执行HSC指令使S7-200对高速计数器进行编程。(11)结束子程序。,三、高速计数器指令初始化,5.3高速计数器,2023/8/2,例5-4高速计数器的应用举例,(1)主程序,5.3高速计数器,2023/8/2,(2)初始化的子程序,2023/8/2,(3)中断程序INT_0,5.3高速计数器,2023/8/2,一、高速脉冲输出介绍,5.4高速脉冲输出,2023/8/2,二、高速脉冲串输出PTO,5.4高速脉冲输出,(1)周期和脉冲数(2)PTO的种类(3)中断事件类型(4)PTO的使用,2023/8/2,三、应用实例,5.4高速脉冲输出,(1)控制要求 步进电机转动过程中,要从A点加速到B点后恒速运行,又从C点开始减速到D点,完成这一过程时用指示灯显示。电机的转动受脉冲控制,A点和D点的脉冲频率为2kHz,B点和C点的频率为10kHz,加速过程的脉冲数为400个,恒速转动的脉冲数为4000个,减速过程脉冲数为200个。步进电机工作过程如图5.17所示,2023/8/2,5.4高速脉冲输出,(2)分析 本控制系统主程序、初始化子程序SBR_1、包络表子程序、中断程序组成。,2023/8/2,5.4高速脉冲输出,(3)程序实现 确定脉冲发生器及工作模式 设置控制字节 写入周期值、周期增量值和脉冲数 装入包络表首地址 中断调用 执行PLS指令,2023/8/2,主程序,2023/8/2,子程序,2023/8/2,包络表子程序,2023/8/2,2023/8/2,2023/8/2,中断程序,2023/8/2,小结:通过本章的学习,重点掌握 S7-200功能指令的作用及使用方法;了解系统控制类指令的应用。,本章小结,2023/8/2,