1 引言
本文基于ge fanuc公司的pac3i PLC对几种常用的典型PLC控制程序的梯形图编程方法进行了总结、归纳,阐述了各种典型程序的主要特征及运用范围,意在使GE PLC学习者和使用者能较快的掌握其梯形图编程方法,在短时间内设计出满足控制要求的高质量的应用程序。
2 梯形图编程军规
根据PLC的扫描顺序和执行顺序,梯形图语言编程时有一些具体的语法规定,编程过程中应必须遵循这些语法规定,才能保证所编梯形图程序的正确运行[2]。
2.1 顺序编程
梯形图应按照自上而下,从左至右的顺序编写。
2.2 线圈唯一性
同一变量的输出线圈在一个程序中不能使用两次,不同变量的输出线圈可以并行输出。
2.3 GE线圈可以直接驱动
与其他PLC不同的是在GE PLC的梯形图编程中线圈可以直接与左母线直接相连,其功能为上电即导通。
2.4 构造清晰的结构
串联多的支路应尽量放在该指令行的顶部,根据从多到少自上而下排列;并联较多的支路应尽量靠近左母线,如图1所示。
nload="javascript:if(>500)=500" align=center border=0>
图1
2.5 最少化PLC的输入信号和输出信号
可编程逻辑控制器的价格与I/O点数有关,因此减少I/O点数是降低硬件费用的主要措施[3]。如果几个输入器件触点的串并联电路总是作为一个整体出现,可以将他们作为可编程控制器的一个输入信号,只占可编程控制器的一个输入点。
3 典型控制电路编程案例
梯形图的设计方式一般有两种,一是根据原有的继电器电路图来设计梯形图;二是根据被控制对象的工艺过程和控制要求先设计控制方案,然后再设计出梯形图,比较复杂的控制系统有时还要先编制工艺流程图。
nload="javascript:if(>500)=500" align=center border=0>
图2
3.1 根据继电器电路设计梯形图
用plc改造继电器控制系统时,原有的继电器控制系统经过长期的使用和考验,已经被证明能完成系统要求的控制功能,而继电器电路图与梯形图在表示方法和分析方法上有很多相似之处,因此可以根据继电器电路图设计梯形图,即将继电器电路图“转换”为具有相同功能的PLC的外部硬件接线图和梯形图。因此,根据继电器电路图设计梯形图是一条捷径。这种设计方法一般不需要改动控制面板,保持了系统原有的外部特性,操作人员不用改变长期形成的操作习惯,因此常被操作人员采用。
继电器电路网是一个纯粹的硬件电路图。将它改为plc控制时,需要用PLC的外部接线网和梯形图来等效继电器电路图。可以把PLC想象成是一个控制箱,其外部接线图描述了这个控制箱的外部接线.梯形图是这个控制箱的内部“线路图”,梯形图中的输入位和输出位是这个控制箱外部世界联系的“接口继电器”.这样就可以用分析继电器电路图的方法来分析PLC控制系统。
3.2 经验法设计梯形图
经验设计法是在一些经典控制电路的基础上,根据被控对象对控制系统的具体要求,不断地对梯形图加以修改和完善,设计比较简单的控制系统的梯形图。一般需要多次反复地调试和修改梯形图,增加一些触点或中间编程元件,最后才能得到一个满意结果。这种方法没有普遍的规律可以遵循,具有很大的试探性和随意性,最后的结果也不是唯一的,设计所用的时间、设计的质量与设计者的经验有很大的关系,一般用于较简单的梯形图的设计。下面给出经验设计法中一些常用的基本电路程序。
[DividePage:NextPage]
(1) 安全的启保停电路:启保停电路是plc控制系统中最常用的控制电路,梯形图如图2所示,i1启动按钮,输出q1的常开触点实现自锁,i2为停止按钮:
(2)重要的互锁电路:在某些控制电路中,不同设备间的动作或同一设备的不同状态之间是相互排斥的,所以在控制的时候宜采用互锁电路,如图3所示,利用q1和q2的常开触点实现了两个电路的互锁:
nload="javascript:if(>500)=500" align=center border=0>
图3
(3)自助获取周期信号的连续脉冲电路:i1为脉冲发生电路开关,当i1闭合时,q1每隔1秒输出一个宽度为扫描周期的脉冲信号,如图4所示:
nload="javascript:if(>500)=500" align=center border=0>
图4
(4)基本时序控制的延时断开电路:i1为电路启动开关,q1在i1启动1秒后断开,如图5所示:
nload="javascript:if(>500)=500" align=center border=0>
图5
这里介绍的只是几个简单的基本控制程序,使用经验法设计梯形图时,利用这些基本的程序,凭借平时积累的经验,根据控制要求设计各种控制程序。但是用经验设计法设计梯形图时,对于不同的控制系统,没有一种通用的容易掌握的设计方法。设计出的梯形图往往很难阅读,给系统的维修和改进带来了很大的麻烦。而且这种方法要求设计者要有很丰富的设计经验和灵活的设计思路,对于初学者不易掌握,但是随着时间的推移,设计程序的数量和模式的增加,逐渐的积累,这种方法也是一种快速的设计方法。
3.3 顺序控制法设计梯形图
顺序控制就是按照生产工艺预先规定的顺序,在各个输入信号的作用下,根据内部状态和时间的顺序,在生产过程中各个执行机构自动地有秩序的进行操作,如图6所示。使用顺序控制法设计时,首先根据工艺过程,画出状态流程图,然后根据状态流程图画出梯形图,利用顺序功能图(sfc)语言或步进指令完成编程工作。顺序控制设计法是一种先进的设计方法,很容易被初学者接受,对于有经验的工程师,也会提高设计的效率,程序的调试、修改和阅读也很方便。顺序控制法就是用转换条件控制代表各步的编程元件,让他们的状态按照一定的顺序变化,然后用代表各步的编程元件去控制plc的各输出继电器。
nload="javascript:if(>500)=500" align=center border=0>
图6 顺序控制设计法
利用顺序控制法设计梯形图,只需要对控制系统的过程顺序了解,就可以完成程序的设计,所以对于初学者就比较容易接受。尤其在具有周期、连续的复杂控制系统中体现出顺序控制法的优越性。
除了以上所介绍的几种梯形图设计方法,还有逻辑代数法、功能模块法等等。在此不再枚举。
3.4 GE PLC编程
(1) 寄存区的选用。GE PLC常用的寄存区包括数字量输入(i区)、数字量输出(q区)、内部寄存区(m区)、模拟量输入(ai区)、模拟量输出(aq区)和模拟量寄存区(r区),对于数字量的逻辑尽量在m区内进行,然后转存到目的地址,对于模拟量的运算尽量在r区内完成,以减少未知逻辑和运算错误。
(2) 初始化。上电第一个周期建议用#fst变量对所有寄存器进行初始化,避免PLC上电时的误动。
(3) 模块的调用。模块化的思想方便了程序的嵌套调用,大大提高了程序的可读性,但是需要注意的是模块调用结束时模块内变量会保持最后一次运算的状态,对于不希望保持的变量在调用结束时应予以置位。
(4) mov函数的使用。在梯形图编程中mov函数是最常使用的函数之一,在GE PLC中使用mov函数时应尽量避免在一个寄存器区多次使用,尤其在ai区,多次转存可能会导致转存失败。
4 结束语
在设计梯形图的过程中,必须根据控制系统不同的控制要求,采用不同的设计方法和设计思路,有时还需要同时采用两种或两种以上的设计方法来设计程序。
对于任何自动控制系统的梯形图设计来说,都没有唯一的模式,统一的方法,只要能够按照系统或设备的自动控制要求,实现预期的控制目的,无论采用什么方法、程序的长短与否,每一套控制程序都是一套完美的杰作。