第8章PLC程序设计方法5.1经验设计法5.2继电接触器电路转化设计法5.3顺序控制设计法5.1经验设计法经验设计法是可编程控制器应用系统程序设计方法中最原始的方法,也是每一个初学者都经常使用的方法。这是借用了设计继电接触器控制电路的方法来设计梯形图,根据被控对象的具体要求,反复修改、完善梯形图,直到结果满意。经验设计法没有普遍的规律可遵循,具有很强的试探性和随意性,设计最终结果并不是唯一的,设计所花的时间、设计质量与设计者的经验有很大关系。经验设计法一般用于比较简单的程序设计。以一个具体实例说明经验设计法的应用。例:用3个开关分别在3个不同的位置(每个地方只有1个开关)控制一盏灯。在3个地方的任何一地,利用开关都能独立地开灯和关灯。要点:每个开关无论是闭合或断开,都有可能将灯点亮或熄灭。即开关闭合并不一定是将灯点亮,开关断开也并不一定是将灯熄灭。I/O分配:输入点:X0:S1(A地开关)X1:S2(B地开关)X2:S3(C地开关)输出点:Y0:电灯根据控制要求所设计的三地控制一盏灯的程序如图8-1所示。图8-1三地控制一盏灯的梯形图Y0X2X1X1X2X0X0X0X0X0X1X2X2X2X1X1(ED)这个程序的编写,完全是试探性的,开始完全找不到规律,经过反复修改后得出的,只有编出后才有规律可循。根据此规律,很容易设计出4地控制一盏灯、五地控制一盏灯……。虽然上述程序满足了3地控制一盏灯的要求,但此程序的设计构思是比较复杂的,没有足够的设计经验,设计出这样的程序也是有一定困难的。那么,有没有一种设计方法能够直接简便地设计出这样的程序呢?以下是把数字逻辑电路中设计组合逻辑电路的方法应用于PLC程序设计。根据以上原则,可以列出3地控制一盏灯的逻辑函数的真值表。表8-13地控制一盏灯的逻辑函数的真值表X0X1X2Y0X0X1X2Y000001100001111110110101001011001真值表中逻辑状态的排列是按循环码的规律排列的,这样排列的结果才能符合控制要求。由真值表可以列出逻辑表达式:X2X1X0X0X1X2X2X1X0X2X1X0Y0根据逻辑表达式,可以画出3地控制一盏灯的梯形图,如图8-2所示。图8-2三地控制一盏灯的梯形图Y0X0X0X1X1X2X0X1X2X2X0X1(ED)X25.2继电接触器电路转化设计法继电接触器电路转化设计法简称“转化法”。转化法是根据继电接触器线路原理图,用PLC对应的符号和PLC功能相当的器件,把原来的继电接触器控制系统的控制电路直接转换成梯形图程序的设计方法。利用转化法设计可编程控制器梯形图程序的主要步骤如下:(1)熟悉现有的继电接触器控制电路的工作原理,全面详细了解被控对象的机械工作性能、基本结构特点、生产工艺和生产过程。(2)进行PLC的I/O分配。列出输入、输出设备与PLC的I/O端子的对照表。(3)继电接触器控制电路中的中间继电器、定时器用PLC的辅助继电器、定时器代替。(4)根据继电接触器控制电路对应关系画出梯形图,并予以简化和修改。以三相异步电动机星形/三角形减压起动继电接触器控制电路为例说明“转化法”。如图8-3所示。起动原理:略图8-3三相异步电动机星形/三角形减压起动控制电路继电接触器控制电路中的交流接触器KM1、KM2和KM3由PLC的输出继电器来控制,线圈接在PLC的输出端,用输出端Y1、Y2、Y3分别表示,时间继电器KT由PLC内部定时器T0代替。如图8-4所示。图8-4PLC系统的外部接线图I/O分配:输入点:X1:SB1(停止接钮)X2:SB2(起动接钮)X3:FR(热继电器动合触点)输出点:Y1:KM1Y2:KM2Y3:KM3三相异步电动机星形/三角形减压起动控制电路的PLC梯形图如图8-5所示。图8-5三相异步电动机星形/三角形减压起动控制梯形图5.3顺序控制设计法采用顺序控制设计法可以有效解决“经验设计法”和“转化法”的问题。顺序控制设计法:按生产工艺预先规定的控制要求,在外部输入信号和内部控制信号的作用下,根据内部状态和时间顺序,在生产过程中各个执行机构自动地、有秩序地进行操作。顺序设计法又称步进控制设计法。是一种先进的设计方法,比较容易接受和掌握。采用顺序控制设计法设计PLC梯形图程序,顺序功能图(FSC)是一个非常有用的工具。顺序功能图(Sequentialfunctionchart)又称状态转移图、功能表或流程图,是一种描述控制系统的控制过程、功能和特性的图形。用顺序功能图设计顺序控制程序具有编程简单、结构清晰等特点,且设计规范、直观。一个单序列的顺序功能图如图8-6所示。1、构成顺序功能图有3个主要元素:“步”、“转换”和“路径”。步:是顺序设计法最基本的思想。将系统控制过程的一个工作周期划分为若干个顺序相连的阶段,这些阶段称为“步”(Stop)。图8-6单序列的顺序功能图图8-7步划分的示意图步是在顺序条件下为完成相应的控制功能而设计的独立控制程序或程序段。划分步的原则:是看PLC输出量的状态是否变化。在每一步内,所有的输出量的状态应保持不变,一旦系统的输出量状态发生变化,系统就由原来的步进入新步。如图8-7所示。步用矩形方框表示,通常用Si(i=0,1,2,…)表示步的编号。步可分为初始步和活动步。初始步:与系统的初始状态相对应的步。用双线方框表示。每一个顺序功能图至少应有一个初始步。活动步:当系统正在某一步处,则该步就处于活动状态,则称为活动步。步处于活动状态时,相应的动作被执行;处于非活动状态时,非存储型动作被停止执行。步旁边的方框表示程序在该步内所应完成的动作。如果某一步内有几个动作,可以用多加方框来解决。方框的顺序并不表示这些动作之间的任何顺序。步与步之间用有向连线连接,表示步与步之间的顺序关系;步与步之间又用转换将其隔开,表示两步之间的转换条件满足时,转换才能实现。即上一步活动结束,下一步活动开始。注意:两个步之间不能直接相连,必须用一个转换将其隔开。转换:是结束上一步的工作并同时起动下一步工作的条件,这种条件有可能是单一的,也有可能是各种控制信号的综合结果。转换后成为活动步的可能不止一个(同步转换)。转换在顺序功能图中用与有向线垂直的短横线表示,标注在旁边的是转换条件,转换条件可以用文字语言、布尔代数表达式或图形符号表示。注意:两个转换不能直接相连,必须用步隔开。路径:路径是用有向连线表示。路径表示了各步之间连接的顺序关系。2、顺序功能图的几种基本结构顺序功能图的几种常用结构如图8-8所示。图8-8顺序功能图的几种基本结构图(a):单序列顺序功能图。每一步后面紧接一个转换,每一个转换后面只有一步。图(b):单序循环序列顺序功能图:是单序列进行到最后一步后,又回到初始步,形成了循环。图(c):选择序列顺序功能图:就是分支顺序序列,哪个转换条件满足,程序就从初始步转到哪个转换条件下面的步上去,该步即被激活。图(d):并行序列顺序功能图并行序列的开始称为分支。当转换的实现使几个序列同时激活时,这些序列称为并行序列。水平线用双线表示转换的同步实现。每个被激活序列中活动步的进展是独立的。在并行序列的开始和结束只允许有一个转换符号。并行序列功能图适用于对系统中几个同时工作的独立部分进行编程的情况。3、顺序控制法梯形图编程方式最规范、最简单、最容易掌握的顺序控制法就是利用步进指令。介绍利用步进指令实现8-8图中的几种典型结构的编程。单序循环序列控制系统的顺序功能图如图8-9所示。图8-9单序循环序列控制系统的顺序功能图在初始步前加一个转换X0,人工(手动)起动初始步,也可利用R9013和R9014进行自动起动初始步。(1)单序列顺序循环用步进指令实现的单序循环序列顺序功能的梯形图程序如图8-10所示。当执行完最后一段步进程序(S4)后,该程序并没有结束,而是返回到初始步(S0),即实现自动循环,所以在程序中没有使用CSTP指令,但要加上STPE指令,这一编程规则应注意。图8-10单序循环序列顺序功能的梯形图(2)选择序列顺序选择序列顺序的功能图如图8-11所示。图8-11选择序列顺序功能图用步进指令实现的选择序列顺序功能的梯形图程序如图8-12所示。图8-12选择序列顺序功能的梯形图程序运行表明:如果选择了支路1(闭合开关X1),进入S1步后,再闭合开关S3(选择支路2,进入S3步),此次的选择是无效的,不能进入S3步。即选择了支路1,就不能选择支路过了。若要进入支路2,只有把支路1的各步全部走完,最后从步进程序退出,才能进入支路2。支路1的时序如图8-13所示。图8-13选择序列顺序功能图支路1的时序(3)并行序列顺序并行序列顺序的功能图如图8-14所示。图8-14并行序列顺序功能图用步进指令实现的并行序列顺序功能的梯形图程序如图8-15所示。图8-15并行序列顺序功能梯形图并行序列顺序功能与选择序列顺序功能的梯形图明显不同之处是:两个分支程序都能分别独立运行,没有先后顺序之分,运行时互不影响。并且两个支路的程序必须全部运行完毕,才能一起转入S5步。上面并行序列顺序程序的特点是:同步转入,同步跳出。但有时也需要同步转入,分别跳出的控制要求。此时,将8-15图中的S5上面的转换分别移至S2和S4的下面即可。满足同步转入,分别跳出的并行序列顺序功能的梯形图程序如图8-16所示。图8-16并行序列顺序功能梯形图