( 沙角A电厂 广东 )
摘 要:随着计算机技术和自动控制技术的发展,可编程逻辑控制器(PLC)具有强大的功能和高可靠性,可以有效的替代传统继电器控制系统,并在火力发电厂的辅助控制系统中获得了广泛的应用。因此,让热工技术人员熟练掌握一种先进的PLC程序设计方法是非常必要的。本文就PLC顺序控制设计法进行分析研究,通过示例分别运用三种编程方法阐述将顺序功能图转换为梯形图程序的具体过程,并对各种编程方法的特点进行分析,以便进一步提高PLC顺序控制设计法的应用价值。
关键词:PLC;顺序控制;编程;梯形图
0 引言
可编程逻辑控制器(PLC)是一种专门为在工业环境下应用而设计的数字运算操作电子系统。它采用一种可编程的存储器,在其内部存储执行逻辑运算、顺序控制、定时、计数和算术运算等操作的指令,通过数字或模拟式的输入输出来控制各种类型的机械设备或生产过程[1]。在现代火力发电厂中,基于PLC的控制系统已经得到了广泛的运用,如循环水控制系统、干灰输送系统、制氢系统、废水处理系统、液氨站氨气供应系统等等。为应对以后生产流程改进、工艺参数变化和系统程序出错等问题,让热工技术人员熟练掌握一种先进的PLC程序设计方法是非常必要的,这不仅可以让其更迅速的理解原程序的设计思路,而且方便其进一步改进原程序的设计以解决实际问题。
在PLC控制系统的设计中,程序设计是一个非常关键的环节,而梯形图是最常用的一种PLC编程语言。目前,不少工程师仍然采用经验设计法来设计PLC控制系统,不仅设计效率低,容易出差错,而且设计阶段难以发现错误,需要经过多次调试、修改才符合实际要求。而顺序控制设计法是一种先进的设计方法,很容易被初学者接受,对于有经验的工程师,也可以提高设计的效率,还便于程序的调试、修改和阅读。因此,基于PLC的顺序控制编程方法研究,对于火力发电厂中大部分PLC控制系统的设计、调试和维护,都具有很高的应用价值。
1 顺序控制设计法概述
顺序控制,是指按照生产工艺预先规定的顺序,各个执行机构自动有秩序地进行动作。那么,使用顺序控制设计法,应首先根据实际生产的工艺过程,然后画出顺序功能图,最后根据顺序功能图设计出梯形图程序。顺序功能图(SFC)是用来描述控制系统的控制过程、功能和特性的图形,它主要由步、转换、转换条件、有向连线和动作组成[2],如图1所示。据生产工艺要求的不同,SFC的结构可分为单序列、选择序列和并行序列三种基本形式,如图2所示。现在,SFC已经成为PLC国际标准IEC61131-3首选的编程语言,一般中小型PLC并未配备SFC语言,但可以用SFC来描述系统的功能,先画出 SFC,这样再编程就比较容易[3]。
图1 顺序功能图(SFC) | 图2 顺序功能图的三种基本结构 |
2 PLC顺序控制编程基本步骤
在实际进行PLC顺序控制编程前,需要针对生产过程的工艺流程和控制要求进行全面分析和研究,并结合硬件设计工作情况,这样才能够为顺序控制设计法应用在PLC编程工作之中提供良好的前提条件。顺序控制程序的特点是仅当前有限个执行步是激活的,而其他不被执行的步则处于冻结状态,所以实现顺序控制就是在编程中实现只有激活步的代码被执行,而冻结步的代码不被执行;同时判断转换条件,以使各步在激活状态和冻结状态之间转换。根据这一特点,PLC顺序控制编程可以分为以下四个步骤:
第一,划分步。划分的最小工作状态称作“步”,每一步要完成一个或多个特定的动作。划分步的主要依据是PLC的输入信号是否发生改变。需要注意的是,步划分太宽泛,不能体现顺序控制程序编写的优点;步划分太狭窄,则会影响程序执行的效率。
第二,确定转换条件。转换条件能使系统从激活步进入下一个冻结步。转换条件可以是按钮、行程开关等外部输入信号;也可以是如定时器、计数器等PLC内部产生的信号;还可以是若干个信号的逻辑组合。
第三,绘制顺序功能图。顺序功能图是顺控设计法中最为关键的步骤。它反映设计者对实际生产过程的工艺流程和控制要求的具体理解。即使是相对复杂的生产过程,也可以看成是由多个独立的生产过程按时间或逻辑顺序排成的、具有一定结构的序列,而且这些独立的生产过程可以再细分为更小的顺序控制过程。
第四,编写梯形图程序。将绘制好的顺序功能图转换为能被PLC识别的梯形图编程语言。不同品牌和型号的PLC在符号使用和编写软件等方面可能不尽相同,但其基本编程规则和方法是一样的。
3 顺序控制梯形图编程实现方法
对生产设备而言,受控设备任一步的动作是否执行,取决于控制系统前一步是否已有输出信号及其受控设备的动作是否已完成。若前一步的动作未完成,则后一步的动作无法执行。这种严密的互锁,即便产生转换条件的设备故障失灵或出现人为误操作,亦不会导致动作顺序错乱。因此,用顺序功能图编写梯形图程序的关键在于,如何让程序运行时只执行当前
的激活步而不执行冻结步[4]。
基于以上编程思路,将顺序功能流程图转化成梯形图的常用方法有:起保停电路编程方法、置位/复位指令编程方法和顺序控制指令(SCR指令)编程方法。下面以 SIEMENS公司S7-200型号的PLC为例,对图3所示的示例顺序功能图分别用三种方法编写顺序控制梯形图程序,并对以上三种编程方法各自的特点及运用注意事项作分析说明。
图3 示例顺序功能图 |
3.1 起保停电路编程方法
起保停电路即起动-保持-停止电路,其工作原理是当输入信号的常开触点接通,输出信号的线圈得电,同时使输入信号进行“自锁”或“自保持”,即输入信号的常开触点失去作用。起保停电路编程方法是根据“与”、“或”、“非”的基本逻辑关系,设计成串联、并联或复合型的电路结构,并且仅仅使用与触点和线圈有关的指令,无需编程元件做中间环节,各种型号PLC的指令系统都有相关指令,加上该电路利用自保持,从而具有记忆功能,也与传统继电器控制电路基本相类似,因此得到了广泛的应用。这种编程方法通用性强,编程容易把握,一般在原继电器控制系统的PLC改造过程中应用较多。使用起保停电路编程方法设计的梯形图程序,如图4所示。
图4 起保停电路编程法实现的梯形图程序 |
3.2 置位/复位指令编程方法
置位/复位指令编程方法可以实现以转换条件为中心的编程,每一次转换都对应一个置位/复位指令。其原理是,当前级步为活动步且转换条件成立时,用置位指令(S)将后续步激活,同时用复位指令(R)将当前步冻结,需要注意的是不能将代表动作的线圈与置位指令或复位指令并联,而应根据顺序功能图,用代表步的位存储器的常开触点来驱动代表动作的线圈。该编程方法转换关系明确,逻辑比较清晰,易于理解,一般多用于自动控制系统中手动控制程序的编程。使用置位/复位指令编程方法设计的梯形图程序,如图5所示。
图5 置位/复位指令编程法实现的梯形图程序 | 图6 顺序控制指令编程法实现的梯形图程序 |
3.3 顺序控制指令编程方法
顺序控制指令(SCR指令)是S7-200 PLC专门为实现顺序控制程序设计提供的指令,由顺序步的开始指令(LSCR)、结束指令(SCRE)和转移指令(SCRT)构成。它的步只能用顺序继电器S来表示,所以图3中的位寄存器M0.0~M0.2需要用状态寄存器S0.0~S0.2代替。整个顺序控制程序被划分为LSCR与SCRE指令之间的若干SCR段,一个SCR段对应于顺序功能图中的一步。这种编程方法可以提高编程效率,程序的调试、修改和阅读也很容易。特别是对有多个分支的选择序列结构的顺序功能图,此方法能有效简化梯形图程序,在顺序控制编程中应优先考虑。使用顺序控制指令编程方法设计的梯形图程序,如图6所示。
4 结束语
综上所述,顺序控制编程方法有章可循、有规可依,在很大程度上提高了编程效率,可以使梯形图程序的结构更加可靠且逻辑更加清晰,由于每一步的工作被限制在了特定的范围内,所以程序中一些无关的信号可以被排除,基本解决了根据经验进行编程中的记忆、联锁等问题。基于PLC的顺序控制系统在火力发电厂的应用中也极为普遍,掌握多种顺序控制编程方法,才能根据不同的生产控制需要和系统复杂程度,对程序进行合理设计,也可以使程序更容易理解。特别是在对控制系统改造中,让程序的阅读、修改和调试变得更加简单。因此,让热工技术人员熟练掌握一种先进的PLC程序设计方法是非常必要的。
参考文献:
[1] 竺志超, 陈元斌, 韩豫. 非标自动化设备设计与实践:毕业设计、课程设计训练[M]. 国防工业出版社, 2015.
[2] 廖常初. 可编程序控制器的编程方法与工程应用[M]. 重庆大学出版社, 2001.
[3] 廖常初. S7-1200 PLC编程及应用[M]. 机械工业出版社, 2010.
[4] 马宝秋.西门子PLC顺序控制梯形图程序实现方法[J].石家庄职业技术学院学报,2021,33(04):36-40.