PLC的编程语言与一般计算机语言相比,具有明显的特点,它既不同于高级语言,也不同与一般的汇编语言,它既要满足易于编写,又要满足易于调试的要求。目前,还没有一种对各厂家产品都能兼容的编程语言。如三菱公司的产品有它自己的编程语言,OMRON公司的产品也有它自己的语言。但不管什么型号的PLC,其编程语言都具有以下特点:
1. 图形式指令结构:程序由图形方式表达,指令由不同的图形符号组成,易于理解和记忆。系统的软件开发者已把工业控制中所需的独立运算功能编制成象征性图形,用户根据自己的需要把这些图形进行组合,并填入适当的参数。在逻辑运算部分,几乎所有的厂家都采用类似于继电器控制电路的梯形图,很容易接受。如西门子公司还采用控制系统流程图来表示,它沿用二进制逻辑元件图形符号来表达控制关系,很直观易懂。较复杂的算术运算、定时计数等,一般也参照梯形图或逻辑元件图给予表示,虽然象征性不如逻辑运算部分,也受用户欢迎
2. 明确的变量常数:图形符相当于操作码,规定了运算功能,操作数由用户填人,如:K400,T120等。PLC中的变量和常数以及其取值范围有明确规定,由产品型号决定,可查阅产品目录手册。
3. 简化的程序结构LC的程序结构通常很简单,典型的为块式结构,不同块完成不同的功能,使程序的调试者对整个程序的控制功能和控制顺序有清晰的概念。
4. 简化应用软件生成过程:使用汇编语言和高级语言编写程序,要完成编辑、编译和连接三个过程,而使用编程语言,只需要编辑一个过程,其余由系统软件自动完成,整个编辑过程都在人机对话下进行的,不要求用户有高深的软件设计能力。
5. 强化调试手段:无论是汇编程序,还是高级语言程序调试,都是令编辑人员头疼的事,而PLC的程序调试提供了完备的条件,使用编程器,利用PLC和编程器上的按键、显示和内部编辑、调试、监控等,并在软件支持下,诊断和调试操作都很简单。
总之,PLC的编程语言是面向用户的,对使用者不要求具备高深的知识、不需要长时间的专门训练。 §2 编程语言的形式
本教材采用Z常用的两种编程语言,一是梯形图,二是助记符语言表。采用梯形图编程,因为它直观易懂,但需要一台个人计算机及相应的编程软件;采用助记符形式便于实验,因为它只需要一台简易编程器,而不必用昂贵的图形编程器或计算机来编程。
虽然一些的PLC还具有与计算机兼容的C语言、BASIC语言、专用的高级语言(如西门子公司的GRAPH5、三菱公司的MELSAP),还有用布尔逻辑语言、通用计算机兼容的汇编语言等。不管怎么样,各厂家的编程语言都只能适用于本厂的产品。
l 编程指令:指令是PLC被告知要做什么,以及怎样去做的代码或符号。从本质上讲,指令只是一些二进制代码,这点PLC与普通的计算机是完全相同的。同时PLC也有编译系统,它可以把一些文字符号或图形符号编译成机器码,所以用户看到的PLC指令一般不是机器码而是文字代码,或图形符号。常用的助记符语句用英文文字(可用多国文字)的缩写及数字代表各相应指令。常用的图形符号即梯形图,它类似于电气原理图是符号,易为电气工作人员所接受。
l 指令系统:一个PLC所具有的指令的全体称为该PLC的指令系统。它包含着指令的多少,各指令都能干什么事,代表着PLC的功能和性能。一般讲,功能强、性能好的PLC,其指令系统必然丰富,所能干的事也就多。我们在编程之前必须弄清PLC的指令系统
l 程序LC指令的有序集合,PLC运行它,可进行相应的工作,当然,这里的程序是指PLC的用户程序。用户程序一般由用户设计,PLC的厂家或代销商不提供。用语句表达的程序不大直观,可读性差,特别是较复杂的程序,更难读,所以多数程序用梯形图表达。
l 梯形图:梯形图是通过连线把PLC指令的梯形图符号连接在一起的连通图,用以表达所使用的PLC指令及其前后顺序,它与电气原理图很相似。它的连线有两种:一为母线,另一为内部横竖线。内部横竖线把一个个梯形图符号指令连成一个指令组,这个指令组一般总是从装载(LD)指令开始,必要时再继以若干个输入指令(含LD指令),以建立逻辑条件。Z后为输出类指令,实现输出控制,或为数据控制、流程控制、通讯处理、监控工作等指令,以进行相应的工作。母线是用来连接指令组的。下图是三菱公司的FX2N系列产品的Z简单的梯形图例:
它有两组,diyi组用以实现启动、停止控制。第二组仅一个END指令,用以 结束程序。
l 梯形图与助记符的对应关系: 助记符指令与梯形图指令有严格的对应关系,而梯形图的连线又可把指令的顺序予以体现。一般讲,其顺序为:先输入,后输出(含其他处理);先上,后下;先左,后右。有了梯形图就可将其翻译成助记符程序。上图的助记符程序为:
地址 指令 变量
0000 LD X000
0001 OR X010
0002 AND NOT X001
0003 OUT Y000
0004 END
反之根据助记符,也可画出与其对应的梯形图。
l 梯形图与电气原理图的关系:如果仅考虑逻辑控制,梯形图与电气原理图也可建立起一定的对应关系。如梯形图的输出(OUT)指令,对应于继电器的线圈,而输入指令(如LD,AND,OR)对应于接点,互锁指令(IL、ILC)可看成总开关,等等。这样,原有的继电控制逻辑,经转换即可变成梯形图,再进一步转换,即可变成语句表程序。
有了这个对应关系,用PLC程序代表继电逻辑是很容易的。这也是PLC技术对传统继电控制技术的继承。补充PLC控制系统设计的要点在现代化的工业生产设备中,有大量的数字量及模拟量的控制装置,例如电机的起停,电磁阀的开闭,产品的计数,温度、压力、流量的设定与控制等,工业现场中的这些自动控制问题,若采用可编程序控制器(PLC)来解决自动控制问题已成为Z有效的工具之一,本文叙述PLC控制系统设计时应该注意的问题。硬件选购目前市场上的PLC产品众多,除国产品牌外,国外有:日本的 OMRON、MITSUBISHI、FUJJ、anasonic,德国的SIEMENS,韩国的LG等。近几年,PLC产品的价格有较大的下降,其性价比越来越高,这是众多技术人员选用PLC的重要原因。那么,如何选购PLC产品呢? 1、系统规模首先应确定系统用PLC单机控制,还是用PLC形成网络,由此计算PLC输入、输出点。数,并且在选购PLC时要在实际需要点数的基础上留有一定余量(10%)。 2、确定负载类型根据PLC输出端所带的负载是直流型还是交流型,是大电流还是小电流,以及PLC输出点动作的频率等,从而确定输出端采用继电器输出,还是晶体管输出,或品闸管输出。不同的负载选用不同的输出方式,对系统的稳定运行是很重要的。 3、存储容量与速度尽管国外各厂家的PLC产品大体相同,但也有一定的区别。目前还未发现各公司之间完全兼容的产品。各个公司的开发软件都不相同,而用户程序的存储容量和指令的执行速度是两个重要指标。一般存储容量越大、速度越快的PLC价格就越高,但应该根据系统的大小合理选用PLC产品。 4、编程器的选购PLC编程可采用三种方式:是用一般的手持编程器编程,它只能用商家规定语句表中的语句编程。这种方式效率低,但对于系统容量小,用量小的产品比较适宜,并且体积小,易于现场调试,造价也较低。是用图形编程器编程,该编程器采用梯形图编程,方便直观,一般的电气人员短期内就可应用自如,但该编程器价格较高。是用IBM个人计算机加PLC软件包编程,这种方式是效率Z高的一种方式,但大部分公司的PLC开发软件包价格昂贵,并且该方式不易于现场调试。因此,应根据系统的大小与难易,开发周期的长短以及资金的情况合理选购PLC产品。5、尽量选用大公司的产品其质量有保障,且技术支持好,一般售后服务也较好,还有利于你的产品扩展与软件升级。一、输入回路的设计1、电源回路 PLC供电电源一般为 AC85—240V(也有DC24V),适应电源范围较宽,但为了抗干扰,应加装电源净化元件(如电源滤波器、1:1隔离变压器等)。 2、PLC上DC24V电源的使用各公司 PLC产品上一般都有DC24V电源,但该电源容量小,为几十毫安至几百毫安,用其带负载时要注意容量,同时作好防短路措施(因为该电源的过载或短路都将影响PLC的运行)。 3、外部DC24V电源 若输入回路有 DC24V供电的接近开关、光电开关等,而PLC上DC24V电源容量不够时,要从外部提供DC24V电源;但该电源的“—”端不要与 PLC的 DC24V的“—”端以及“COM”端相连,否则会影响PLC的运行。 4、输入的灵敏度各厂家对PLC的输人端电压和电流都有规定,如日本三菱公司F7n系列PLC的输入值为DC24V、7mA,启动电流为4.5mA,关断电流小于1.5mA,因此,当输入回路串有二极管或电阻(不能完全启动),或者有并联电阻或有漏电流时(不能完全切断),就会有误动作,灵敏度下降,对此应采取措施。另一方面,当输入器件的输入电流大于PLC的Z大输入电流时,也会引起误动作,应采用弱电流的输入器件,并且选用输人为共漏型输入的 PLC,Bp输入元件的公共点电位相对为负,电流是流出 PLC的输入端。 二、输出回路的设计 1、各种输出方式之间的比较 (1)继电器输出: 优点是不同公共点之间可带不同的交、直流负载,且电压也可不同,带负载电流可达2A/点;但继电器输出方式不适用于高频动作的负载,这是由继电器的寿命决定的。其寿命随带负载电流的增加而减少,一般在几十万次至Jl百万次之间,有的公司产品可达1000万次以上,响应时间为10ms。 (2)晶闸管输出: 带负载能力为0.2A/点,只能带交流负载,可适应高频动作,响应时间为1ms。 (3)晶体管输出: Z大优点是适应于高频动作,响应时间短,一般为0.2ms左右,但它只能带 DC 5—30V的负载,Z大输出负载电流为0./点,但每4点不得大于0.8A。 当你的系统输出频率为每分钟6次以下时,应shou选继电器输出,因其电路设计简单,抗干扰和带负载能力强。当频率为10次/min以下时,既可采用继电器输出方式;也可采用PLC输出驱动达林顿三极管(5—10A),再驱动负载,可大大减小。 2、抗干扰与外部互锁当 PLC输出带感性负载,负载断电时会对PLC的输出造成浪涌电流的冲击,为此,对直流感性负载应在其旁边并接续流二极管,对交流感性负载应并接浪涌吸收电路,可有效保护PLC。当两个物理量的输出在PLC内部已进行软件互锁后,在PLC的外部也应进行互锁,以加强系统的可靠性。 3、“GOM“点的选择不同的 PLC产品,其“COM”点的数量是不一样的,有的一个“COM”点带8个输出点,有的带4个输出点,也有带2个或1个输出点的。当负载的种类多,且电流大时,采用一个“COM”点带1—2个输出点的 PLC产品;当负载数量多而种类少时,采用一个“COM”点带4—8个输出点的PLC产品。这样会对电路设计带来很多方便,每个“COM”点处加一熔丝,1—2个输出时加2A的熔丝,4—8点输出的加5—10A的熔丝,因 PLC内部一般没有熔丝。 4、PLC外部驱动电路对于 PLC输出不能直接带动负载的情况下,必须在外部采用驱动电路:可以用三极管驱,也可以用固态继电器或晶闸管电路驱动,同时应采用保护电路和浪涌吸收电路,且每路有显示二极管(LED)指示。印制板应做成插拔式,易于维修。 PLC的输入输出布线也有一定的要求,请看各公司的使用说明书。 三、扩展模块的选用 对于小的系统,如80点以内的系统.一般不需要扩展;当系统较大时,就要扩展。不同公司的产品,对系统总点数及扩展模块的数量都有限制,当扩展仍不能满足要求时,可采用网络结构;同时,有些厂家产品的个别指令不支持扩展模块,因此,在进行软件编制时要注意。当采用温度等模拟模块时,各厂家也有一些规定,请看相关的技术手册。 各公司的扩展模块种类很多,如单输入模块、单输出模块、输入输出模块、温度模块、高速输入模块等。 PLC的这种模块化设计为用户的产品开发提供了方便。 四、PLC的网络设计 当用PLC进行网络设计时,其难度比PLC单机控制大得多。首先你应选用自己较熟悉的机型,对其基本指令和功能指令有较深入的了解,并且指令的执行速度和用户程序存储容量也应仔细了解。否则,不能适应你的实时要求,造成系统崩溃。另外,对通信接口、通信协议、数据传送速度等也要考虑。 Z后,还要向 PLC的商家寻求网络设计和软件技术支持及详细的技术资料,至于选用几层工作站,依你的系统大小而定。 五、软件编制 在编制软件前,应首先熟悉所选用的 PLC产品的软件说明书,待熟练后再编程。若用图形编程器或软件包编程,则可直接编程,若用手持编程器编程,应先画出梯形图,然后编程,这样可少出错,速度也快。编程结束后先空调程序,待各个动作正常后,再在设备上调试。