在工业控制过程中,简单的逻辑或顺序控制用基本指令通过编程就可以解决。但在实际应用中,系统常要求具有并行顺序控制或程序选择控制能力。同时,多数系统都是由若干个功能相对独立但各部分之间又有相互联锁关系的工序构成,若以基本指令完成控制功能,其联锁部分编程较易出错,且程序较长。为方便处理以上问题,PLC中专门设计了顺序控制指令来完成多程序块联锁顺序运行和多分支、多功能选择并行或循环运行的功能,也制定了状态转移图这一方式,辅助顺序控制程序的设计。
1.功能图的基本概念
功能图SFC(Sequential Function Chart)是描述控制系统的控制过程、功能和特征的一种图解表示方法。它具有简单、直观等特点,不涉及控制功能的具体技术,是一种通用的语言,是IEC首选编程语言,近年来在PLC的编程中已经得到了普及与推广。
功能图的基本思想是:设计者按照生产要求,将被控设备的一个工作周期划分成若干个工作阶段(简称“步”),并明确表示每一步要执行的输出,“步”与“步”之间通过制定的条件进行转换,在程序中,只要通过正确连接,进行“步”与“步”之间的转换,就可以完成被控设备的全部动作。
PLC执行SFC程序的基本过程是:根据转换条件选择工作“步”,进行“步”的逻辑处理。组成SFC程序的基本要素是步、转换条件和有向连线组成,如图7-4所示。
(1)步(Step)
一个顺序控制过程可分为若干个阶段,也称为步或状态。系统初始状态对应的步称为初始步,初始步一般用双线框表示。在每一步中,施控系统要发出某些“命令”,而被控系统要完成某些“动作”,把“命令”和“动作”都称为动作。当系统处于某一工作阶段时,则该步处于激活状态,称为活动步。
(2)转换条件
所谓“转换条件”,就是用于改变PLC状态的控制信号。不同状态的“转换条件”可以不同也可以相同,当“转换条件”各不相同时,SFC程序每次只能选择其中一种工作状态,称为“选择分支”;当“转换条件”都相同时,SFC程序每次可以选择多个工作状态,称为“并行分支”。只有满足条件状态,才能进行逻辑处理与输出,因此,“转换条件”是SFC程序选择工作状态(步)的“开关”。
转移条件在状态转移图中是必不可少的,它表明了从一个状态到另一个状态转移时所要具备的条件。其表示非常简单,只要在各状态块之间的线段上画一短横线,旁边标注上条件即可,如图7-5所示。SM0.1是从初始状态向SCR1段转移的条件,SCR1段的动作是Q0.0接通输出;I0.0是从SCR1段向SCR2段转移的条件,SCR2段的动作是Q0.1接通输出。
图7-4 功能图
图7-5 转换条件的表示
(3)有向连线
步与步之间的连接线就是“有向连线”,“有向连线”决定了状态的转换方向与转换途径。在有向连线上有短线,表示转换条件。当条件满足时,转换得以实现。即上一步的动作结束而下一步的动作开始,因而不会出现动作重叠。步与步之间必须要有转换条件。
(4)功能图的结构分类
根据步与步之间的进展情况,功能图分为以下三种结构。
①单一顺序。单一顺序动作是一个接一个完成,完成每步只连接一个转移,每个转移只连一个步,如图7-6所示。
②选择顺序。选择顺序是指某一步后有若干个单一顺序等待选择,称为分支,一般只允许选择进入一个顺序,转换条件只能标在水平线之下。选择顺序的结束称为合并,用一条水平线表示,水平线以下不允许有转换条件跟着,如图7-7所示。
图7-6 单一顺序
图7-7 选择顺序
③并行顺序。并行顺序是指在某一转换条件下,同时启动若干个顺序,也就是说转换条件实现导致几个分支同时激活。并行顺序的开始和结束都用双水平线表示,如图7-8所示。
(5)功能图设计的注意点
①状态之间要有转换条件。图7-9所示的状态之间缺“转换条件”,为错误的功能图,应改成如图7-10所示正确的功能图。必要时转换条件可以简化,如将图7-11简化成图7-12。
图7-8 并行顺序
图7-9 错误的功能图
图7-10 正确的功能图
图7-11 简化前的功能图
图7-12 简化后的功能图
②转换条件之间不能有分支,错误的功能图如图7-13所示,应该改成图7-14所示的合并后的功能图,合并转换条件。
图7-13 错误的功能图(www.xing528.com)
图7-14 合并后的功能图
2.顺序控制指令
顺序控制指令是实现顺序控制程序的基本指令,它由LSCR、SCRT、SCRE 3条指令构成,其操作数为顺序控制继电器(S)。
(1)指令梯形图和指令表格式
指令的梯形图和指令表格式见表7-2。
表7-2 LSCR、SCRT、SCRE指令的梯形图和指令表格式
(2)指令功能
LSCR装载顺序控制继电器指令,标志一个顺序控制继电器段(SCR段)的开始。LSCR指令将S位的值装载到SCR堆栈和逻辑堆栈的栈顶,其值决定SCR段是否执行,值为1,执行该SCR段;值为0,不执行该段。
SCRT顺序控制继电器转换指令,用于执行SCR段的转换。SCRT指令包含两方面功能:一是通过置位下一个要执行的SCR段的S位,使下一个SCR段开始工作;二是使当前工作的SCR段的S位复位,使该段停止工作。
SCRE顺序控制继电器结束指令,使程序退出当前正在执行的SCR段,表示一个SCR段的结束。每个SCR段必须由SCRE指令结束。
(3)指令使用举例
例7-2现用S7-200 PLC控制红、黄、绿三盏灯的亮灭。具体控制要求如下:按下启动按钮SB1,红灯点亮,延时5s;5s后,黄灯点亮,延时5s;5s后,绿灯点亮,依次循环。
根据上述控制要求,编写程序,要求使用顺序控制指令。
1)PLC控制原理图如图7-15所示。
2)I/O分配表见表7-3。
表7-3 I/O分配表
3)功能图如图7-16所示。
图7-15 PLC控制原理图
图7-16 功能图
4)程序梯形图如图7-17所示。
3.顺序控制指令编程要点
1)顺序控制指令的操作数为顺序控制继电器S,也称为状态器,每一个S位都表示状态转移图中一个SCR段的状态。S的范围是S0.0~S31.7。各SCR段的程序能否,执行取决于对应的S位是否被置位。若需要结束某个SCR段,需要使用SCRT指令或对该段对应的S位进行复位操作。
2)要注意不能把同一个S位在一个程序中多次使用。例如,在主程序中使用了S0.1,在子程序中就不能再次被使用。
3)状态图中的顺序控制继电器S位的使用不一定要遵循元件的顺序,即可以任意使用各S位。但编程时为避免在程序较长时各S位重复,最好做到分组、顺序使用。
图7-17 程序梯形图
4)每一个SCR段需要注意3个方面的内容:
①本SCR段要完成什么样的工作?
②什么条件下才能实现状态的转移?
③状态转移的目标是什么?
5)在SCR段中,不能使用JMP和LBL指令,即不允许跳入、跳出SCR段或在SCR段内跳转,同时也不能使用FOR、NEXT和END指令。
6)一个SCR段被复位后,其内部的元件(线圈、定时器等)一般也要复位,若要保持输出状态,则需要使用置位指令。
7)在所有SCR段结束后,要用复位指令R复位仍为运行状态的S位,否则程序会出现运行错误。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。