PLC可编程控制器的编程方法及技巧.docx
《PLC可编程控制器的编程方法及技巧.docx》由会员分享,可在线阅读,更多相关《PLC可编程控制器的编程方法及技巧.docx(8页珍藏版)》请在冰豆网上搜索。
PLC可编程控制器的编程方法及技巧
PLC可编程控制器的编程方法及技巧
1.可编程控制器的组成及其各部分的功能
1.可编程控制器的基本组成
从语辞义上来讲,PLC也是一种计算机控制系统,只不过它比一般的计算机具有更强的与工业过程相连接口和更直接的适用于控制要求的编程语言。
所以PLC与计算机的组成十分相似,具有中央处理器(CPU),存贮器,输入/输岀(I/O)接口,电源,编程语言,详见图1
2.可编程控制器各组成部分的作用。
2.1输入部件
输入部件是PLC与工业生产现场被控对象之间的连接部件,是PLC控制系统的条件。
输入部件主要接收以下二种信号:
A:
主令元件。
用户的操作键盘(控制台)上操作的功能键信号:
如:
开机、关机、锁模、开模、顶前(后)等按钮。
主令元件给岀的信号称为主令信号。
B:
检测元件。
检测元件或称为控制元件。
用户用于对控制过程中的一些物理
量(位置、压力、流量、温度、液位等)在设备工作过程中的状态信号。
一般情况检测元件有两种输入方式,其一是数字量输入(也称为开关量),其二是模拟量输入(或称电平输入)。
这两种信号进入PLC时需使用不同的模块。
输入部件均带有光电耦合器电咱,其U的是为了把PLC内部电咱与外部电路隔离开来,以提高PLC的抗干扰能力。
另外还有滤波电路、电平转换、信号锁存电路等。
2.2输出部件:
输出部件也是PLC与现场设备之间的连接部件,其功能是对设备的工作进行控制(如起动电机、电磁阀得电、指示灯控制等)。
输出模块一般有三种形式:
①晶体管输出②可控硅输出③继电器触点输出。
输出部件均带有光电耦合器,显示灯、电平转换等。
2.3中央处理器(CPU)
CPU是PLC的核心部件,它按照PLC系统程序周全赋于的功能,指挥PLC正常工作。
CPU的主要任务是:
①控制用户程序的上载,并存贮在指定的空间中。
②用扫描的形式,对PLC的输入/输出部件的状态和存贮器内的数据进行刷新。
③诊断电源,内部电咱的丄作故障,并根据系统程序进行故障处理和提示。
④编程的语法错误分析和提示。
⑤通讯的控制和数据的传递。
2.4存贮器及存贮器扩展
存贮器的用处与计算机相同,用来存贮系统程序和用户程序以及用户或系统数据。
不同的程序被存放在指定的存贮区域。
存贮器的结构有三种形式,一种是ROM(只读存贮器)结构,另一种是EPROM(重写存贮器)结构,还有一种是RAM(随机存贮器)结构。
不同的存贮器及用途见表1
存贮器形式
用途
说明
ROM结构
系统程序存放区域
不可擦除,掉电不丢失
RAM结构
用户数据存放区域
掉电丢失(有后备电池时可保持)
EPROM结构
用户程序存放区域
可擦除,掉电不丢失
不同的CPU,存贮器的容量是一定的,当不够用时,PLC都提供有存贮器扩展功能,用户可将新增存贮器扩展直接插入CPU模板中即可使用。
2.5通讯接口
一般的PLC均设有多种通讯接口,用以实现“人一机”“机一机”之间的对话。
PLC通过这些通讯接口实现监视器,打印机,其它PLC或计算机相连接。
通讯接口必须具有通讯协议。
为了实现标准化PLC与其它设备相连接时,必须具有相同的通讯协议。
如DH485、DH+以太网协议等。
2.6编程器或编程汁算机。
PLC使用一些专用的语言用于编程。
由于PLC主要针对工业控制领域。
面向广大的技术人员和操作人员,为了更能形象化设计。
PLC一般都具有梯形图的编程方式。
编程器的作用是供用户进行程序的编制、编辑、调试、监视。
二、可编程控制器的工作过程
概括地讲,PLC的工作方式是一个为断循环的顺序扫描过程。
每一次扫描所用的时间称为扫描时间,也叫做扫描周期或工作周期。
顺序扫描丄作方式简单可靠直观。
扫描时间包括以下部分:
1输入扫描。
读取输入模块状态并根据住处更新处理器的输入映象表。
2程序扫描。
执行用户程序。
检测输入映象表,进行程序的逻辑计算,更新内部工作存贮器的状态和输出映象表。
注意此时输出映象表的内容还没有传至输出模块。
3输出扫描输出映象表送至输出模块。
4通讯。
处理器与其它网络设备进行通讯。
5处理器内务处理。
包括进行程序预扫描(有的PLC有专用的工作存贮器,每次执行程序扫描时,首先把程序从EPROM存贮已读入到工作存贮区内(如SIEMENS),更新时基,复位监视计时器地址指外,更新状态文件等。
6处理器硬件和I/O点的检查扫描。
当检查有问题时,系统程序立即做出反映(停止运行,报z警/错误提示)。
三、可编程控制器的编程方法:
1.编程语言
□前的PLC编程语言主要有梯形图、语句表、逻辑图、高级语言等。
梯形图一一这种方法比较适合于初频道接触PLC的编程人员使用,因为它比较直观,简单易懂,只要具备基本的电路知识,易看懂易编程。
语句表一一用助记符表示的PLC的一个功能。
PLC在执行程序时,实际上就是按照语句表编写顺序,逐个按照助记符表示的功能进行执行。
这种方法比较直观地反映出编写程序的大小;在某些指令执行过程中,用语句表编写比用梯形图编写扫描时间较少。
但对于初学者和复杂的功能有一定的难度。
逻辑图一一用逻辑关系表达出来的方式编程。
它具有逻辑关系比较、清晰,但不易懂。
一般情况下不采用此方法。
高级语言一一如C语言,Basic语言或专门的高级语言。
使用高级语言编程的PLC,—般是中高型PLC。
2.程序的结构框图
在编程序之前,必须首先具备一些资料,这些资料是根据被控对象的要求和条件确定的,一般有:
I/O点分布和意义表,参数的定义和地址分配表,被控对象响应的工艺及安全性条件说明书等。
程序框图是编程的主要依据,用此要尽可能地根据资料详细化,以便确定应用程序的基本结构。
程序框图包括两种:
程序结构框图和功能控制框图。
程序结构框图是一台PLC的全部功能部分在内存中前后排列的缩影,使用中可以根据此结构图了解所有功能控制在整一个程序中的位置。
见图2。
功能控制框图是描述某一功能控制在程序中的具体实现方法及控制信号流
程,设计人员根据功能控制框图来编写实际控制程序,使用者根据控制框图可以详
细阅读程序清单。
见图3
以上两种框图化编程时缺一不可,十分重要。
3.程序设计结构方式:
软件设汁任务的复杂程度决定用户程序的结构。
1线性经编程:
程序以线性的或顺序的方式执行每条指令。
基本上是将程序放在一个主程序内全部完成。
2分部式编程:
程序设计按照动作逻辑功能的不同分成各自独立的子程序块,每个子程序完成一项或多项简单的且独立的任务。
然后由主程序按照工艺有条件或无条件调用子程序。
这些子程序在每一个扫描周期内只能调用一次。
3结构化编程:
独立编制具有通用性的程序块或子程序,通过赋给这些通用子程序块不同的信息或条件,在每个扫描周期内可以反复调用这些通用程序块。
对于压铸机程序设讣,由于其有一定的复杂性,建议釆用“分部式编程”方法。
具有的优点有:
易设计、易维护、易扩展。
4.安全回路的设计:
设计•工业化控制程序,安全和信息描述是必要的一个环节。
压铸机的动作流程具有一定的危险性,因此安全回路的设计是应引起重视。
安全指设备和操作人员。
安全回路应考虑以下因素,并进行控制:
1操作失误引起的危险或冒险
2外部配件的损坏引起的危险,外部配件包括PLC本身故障和硬件电路信号。
3动作工艺流程规定的混乱引起的危险。
4特殊性引发的危险,例如:
冷室机的空压射,易引发设备损坏时。
停电或电源模块故障时。
安全回路的设计时大部分采用紧急停止回路,自锁回路,互锁回咱。
外部信号保护回路,顺控型回路等方式。
同进外部硕件回路也要组成保护回路:
如热继电器、急停按钮等。
5.综合上述设计PLC的软件有许多方法,设计•人员除保持自己的设计风格和必须遵循本公司的指导性要求外,设计的经验是对关重要的,所以只有为断地努力,才能摸索出适合自己的一种有效方法。
但一些基本的步骤是公共的。
1对被控对象的过程和要求进行分解,绘制出程序的结构框图,了解和掌握被控对象的控制要求和流程。
2确定各单元的功能特性,绘制出功能控制框图。
3选择合适的程序结构方式,将各功能控制联系起来。
4慎重考虑安全回路的设计,宣言故障的形式及控制方案。
5编写各独立部分的程序,确定各模块程序的接口资料。
6调试各独立块程序,调试各模块的接口程序。
调试安全回路程序。
7联机在线调试设备或过程。
四、可编程控制器的编程技巧
编程的技巧是在编程实践中不断提炼,不断总结出来的,它涉及的面较广。
这里只能介绍一部分内容,真正的编程技巧要自己不断地积累,创造出来。
1.简化电路:
扫描时间和存贮空间是复杂编程时要注意的问题之一。
对于具有相同功能的电路,不同的编排顺序,其执行的指令个数和占用的存贮的空间也不同。
一般的原则是:
1先串后并。
将儿个并联支路中,触点数最多的串联支路放在梯形图的最上面。
2先并后串。
将儿个串联支路中触点数最多的并联回路放在梯形图的最左侧。
3多分支输出电路。
将直接输岀的支路放在最上面。
4复杂电器。
在不影响逻辑功能的情况下,应尽可能地将简化或先串后并或先并后串的形式,避免出现串并交义情况。
举例:
in7in8:
n5in1
-II1I—|—II1I1I-
in6
^n2in3
Hli卜
2.缩短扫描周期:
单纯地处理好一个指令或一个功能并不能解决此问题,要在整个程序设计中处处留意,才能真正做到缩短扫描周期。
下面介绍儿种方法。
1充分使用程序扫描和程序工作方法的原则,简化程序的设计。
例如:
输出的结果,仅对最后一次扫描的结果有效。
2避免重复操作。
任何一个输出都有一定数量的条件,要尽可能使用已经确定的逻辑操作结果,避免重新创造条件。
3使用(合理性的)条件调用指令和跳转指令。
对于不经常使用或具有专用的功能程序,应采用条件调用或条件跳转指令。
尽量不要使用条件判断来实现。
当前这两种类型的指令有时会引真情些副作用,关健是理解和正确使用指令。
4对于常用的逻辑组合结果,应确定一个有意义的位来代替,这样在使用时可以节省很多存贮空间。
5减少判断工作量。
6尽量使用基本指令。
因为基本指令执行简单占用机器时间较少。
任何高有指令都比基本指令操作复杂,占用复杂,占用机器时间长。
3.地址的编排及使用:
位地址和数据地址的组合构成了程序。
因此地址在程序编制过程中的重要性是重要的。
但是如果随意使用地址,会给编程造成困难或麻烦。
一般悄况下,位地址控制程序执行的顺序,若需对这些位地址组成的字节
(或字)进行操作时,会影响执行的结果。
例如:
报警字,每一位代表一个报警信息。
若这些位没有编排是任意的,则操作所有报警信息时,必须按位遵条进行,造成程序复杂化,若编排在1〜2个字时,则容易处理操作。
以上对可编程控制器的编程方法及技巧,作了简单的介绍,它只是从一些基本的方面进行了阐述,并不能代表全部的方法。
最重要的是在实践中不断探索,获取经验,这样才能丰富和提高编程水平。