PLC学习资料.docx
《PLC学习资料.docx》由会员分享,可在线阅读,更多相关《PLC学习资料.docx(44页珍藏版)》请在冰豆网上搜索。
PLC学习资料
PLC程序编辑简单说明
确认:
制作:
李天水2006.11.15
一、认识PLC
1、PLC简介
PLC是ProgrammableLogicController的简写,意为可编程序逻辑控制器,原先叫PC(ProgrammableController),后来由于个人计算机简称PC,为与其区别,改称PLC。
PLC定义是:
一种数字运算操作的电子系统,专为在工业环境应用而设计的。
它采用可编程的存储器,在其内部存储程序,根据程序执行逻辑运算、顺序控制、定时、计数与算术操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程。
简单的说PLC的作用是可按预先已经编辑在内的程序,控制一系列的逻辑控制器。
举例说明:
本公司各个机种的DISC调整工程所使用的PLC控制盒,就是按照已经编辑好的程序,控制气阀开关,使调整夹具循环有序的动作。
PLC具有运算速度高、指令丰富、功能强大、可靠性高、抗干扰性强的优点,而广泛应用于各种工业控制部分,在智能现场控制系统中,选用PLC作为控制器是十分有效的。
2、PLC的构成
从结构上分,PLC分为固定式和组合式(模块式)两种。
固定式PLC包括CPU板、I/O板、显示面板、内存块、电源等,这些元素组合成一个不可拆卸的整体。
模块式PLC包括CPU模块、I/O模块、内存、电源模块、底板或机架,这些模块可以按照一定规则组合配置。
各部分简介:
CPU
CPU也称中央处理器,是由一片或几片大规模集成电路芯片组成的,相当于人的大脑,是PLC的核心部分;CPU的作用是可通过接口及软件向系统的各个部分发出各种命令,同时对被测参数进行巡回检测、数据处理、控制运算、报警处理及逻辑判断等,实现对整个PLC的工作过程进行控制。
I/O模块(I/O板)
I/O是输入(IN)/输出(OUT)接口的简称,PLC通过I/O接口与外部设备进行数据交换。
内存块(存储器)
存储器有:
ROM(只读存储器)用作存储固化的系统程序,和EPROM(可擦除存储器)存储可编辑的用户程序,以及RAM(随机存储器)在工作时存储采集到的现场输入装置送来的状态或数据,以供CPU调用。
电源
PLC电源用于为PLC各模块的集成电路提供工作电源,有的还为输入电路提供24V的工作电源。
电源输入类型有:
交流电源(220VAC或110VAC),直流电源(常用的为24VAC)。
使用电源请注意:
本公司有220V和100V电源两种,而本公司所用的PLC都为100V,请在连接前注意确认!
3、PLC系统的其它设备:
编程设备:
编程器是PLC开发应用、监测运行、检查维护不可缺少的器件,用于编程、对系统作一些设定、监控PLC及PLC所控制的系统的工作状况,但它不直接参与现场控制运行。
小编程器PLC一般有手持型编程器,目前一般由计算机(编程软件)充当编程器。
人机界面:
最简单的人机界面是指示灯和按钮,目前液晶屏(或触摸屏)式的一体式操作员终端应用越来越广泛,由计算机(运行组态软件)充当人机界面也非常普及。
4、PLC的种类
世界各个品牌如三菱、西门子、欧姆龙(OMRON)、松下、A-B、东芝、施耐德、台达、捷通等等都拥有各自不同种类、型号的PLC,据不完全统计,现在世界上生产PLC及其网络的厂家有二百多家,生产大约有400多个品种的PLC产品。
一般PLC按控制规模分为微型、小型、中型及大型、超大型PLC。
小型PLC主要是日本产品,其中三菱、欧姆龙(OMRON)、西门子等各种小型plc具有较大的影响力。
下图为欧姆龙(OMRON)微型PLC
CPM1ACPM2A
欧姆龙(OMRON)中小型PLC
CJ1MCJ1G
欧姆龙(OMRON)大中型
CS1W-MCH71CVM1
下图为本公司各机种的DISC调整机所用的PLC,是日本立石(OMRON)公司CPM1A和CPM2A系列的PLC,它是属于固定式PLC。
CPM1ACPM2A
5、PLC的工作原理
PLC的大致工作原理是:
PLC内部的CPU按PLC的系统程序赋予的功能接收并存贮用户程序和数据,用扫描的方式采集由现场输入装置送来的状态或数据,并存入规定的寄存器中,进入运行后,从用户程序存储器中逐条读取指令,经分析后再按指令规定的任务产生相应的控制信号,去指挥有关的控制电路。
二、PLC程序(编程和控制的软件)简介
各个生产PLC的公司都有其各自对应的程序编辑、控制软件,这些软件都为了同一个目的被设计出来,就是为了要对自己的PLC进行编程、控制和监控。
各个不同品牌的PLC所对应编程软件的编程方法都不太一样,比较通用的编程方式是梯形图编程方式,其次还有逻辑图、流程图、语句表、STEP5语言等多种其他编程语言。
PLC的编程语言与一般计算机语言相比,具有明显的特点,它既不同于高级语言,也不同与一般的汇编语言,它既要满足易于编写,又要满足易于调试的要求。
其一般都具有以下特点:
1、图形式指令结构:
程序由图形方式表达,指令由不同的图形符号组成,易于理解和记忆。
系统的软件开发者已把工业控制中所需的独立运算功能编制成象征性图形,用户根据自己的需要把这些图形进行组合,并填入适当的参数。
在逻辑运算部分,几乎所有的厂家都采用类似于继电器控制电路的梯形图,很容易接受。
2、明确的变量常数:
图形符相当于操作码,规定了运算功能,操作数由用户填人。
3、简化的程序结构:
PLC的程序结构通常很简单,典型的为块式结构,不同块完成不同的功能,使程序的调试者对整个程序的控制功能和控制顺序有清晰的概念。
4、简化应用软件生成过程:
使用汇编语言和高级语言编写程序,要完成编辑、编译和连接三个过程,而PLC使用编程语言,只需要编辑一个过程,其余由系统软件自动完成,整个编辑过程都在人机对话下进行的,不要求用户有高深的软件设计能力。
5、强化调试手段:
PLC的程序调试提供了完备的条件,使用编程器,利用PLC和编程器上的按键、显示和内部编辑、调试、监控等,并在软件支持下,诊断和调试操作都很简单。
这里我们只介绍本公司使用的OMRONPLC的对应软件:
OMRONCX-Programmer。
CX-Programmer是一个用来对OMRONPLC进行编程和对OMRONPLC设备配置进行维护的工具。
它是主要是使用易于理解和编辑的梯形图方式编程的也可以使用语句方式助记符编程。
CX-Programmer对应的PLC系列有:
OmronCS1系列、CV系列、C系列以及CQM1A系列和CPM2*PLC等。
通过数据线将PLC与计算机连接后,CX-Programmer就可以方便的实现实时监视PLC运行过程和在线编辑程序等功能。
三、CX-Programmer工程简介
从工程工作区视图中可以看出,一个CX-Programmer工程由地址、符号、扩展指令、PLC内存内容、I/O表和网络细节以及程序组成。
一个工程文件包含一个或者多个与计算机连接的PLC,一个PLC内又可以包涵一个或多个程序,一个程序又包涵一个或多个程序段。
这些PLC不必真正连接,除非需要进行通信。
每一个CX-Programmer工程文件都是独立的,是一个单独的文档。
CX-Programmer工程文件具有.CXP或者.CXT的文件扩展名(通常使用.CXP文件,它是.CXT文件的一个压缩版本)。
1、地址
地址是PLC存储器中储存数据或程序的位置。
程序中作为操作数。
地址分输入、输出、内部辅助、特殊辅助、暂存、保持继电器(HR)、辅助记忆继电器(AR)、链接继电器(LR)、定时器/计数器(TIM/CNT)、数据内存(DM)等。
而这些地址的数量因不同型号的PLC而异,其中以我们常用到的CPM2A为例有:
输入地址有:
0.00~9.15共160点,其中0.00~0.11、1.00~1.11对应着输入通道000CH~011CH、100CH~111CH。
输出地址有:
10.00~49.15共640点,其中10.00~10.07、11.00~11.07对应着输出通道1000CH~1007CH、1100CH~1107CH。
定时器/计数器(TIM/CNT)地址有0~255。
2、符号表
在编程时如果只用PLC地址,而没有进一步的文档说明,程序将会变得难以阅读和维护,因为地址没有明显的意义。
为了方便引用,可以把一个符号名或者注释分配给一个PLC地址。
一个有名称或者注释的地址叫做符号。
在编程时输入符号名称可以代替地址。
这就使得程序获得了可读性和可维护性。
而且,通过改变符号表里定义的符号地址,程序就会自动使用新地址。
3、扩展指令
扩展指令是具有特定运算功能的指令,如:
AVG(平均值)、FCS(帧检查和)、ASFT(异步移们寄存器)、CMP(比较)、INI(方式控制)、SCL(换算)、INT(中断控制)等等,对于我们很少用到。
4、程序
程序有两种表示方式,一种是梯形图,另一种是助记符,不管是哪一种方式,都能够完整的表示程序,它们的每一个程序步都是一一对应的(如下图)。
四、程序设计、编程方式
1、程序的结构和表示方式
一个PCL程序从总体到细分分成程序段、梯级(条)、程序步组成,最后以END标示结束。
程序段:
为了方便对大型程序的管理,可以将一个程序分成一个或多个能定义的,有名称的段。
一个段就如同书的一章,PLC按照顺序来搜索段。
可以在工程工作区或者列表中对段重新排序或者重新命名,但是要确认重新排序后,指令“END”在程序的最后一个段末尾。
在工程工作区的程序名称下面,显示了一个程序所包含的段的列表(如下图)。
梯形图程序表示如图:
助记符程序表示如图:
梯级(条):
梯级也称为条,是梯形图程序的一个逻辑单元。
一个程序段由一个或多个梯级组成。
梯级(条)编号:
每一个梯级都有一个编号,在梯级的左上角。
编号按程序从上到下顺序排列。
程序步:
程序步是程序的最小单位,由一条指令语句和它的操作数符号组成一个步。
一个梯级由一个或多个程序步组成。
梯形图中以图形方式表示程序步,一个程序步可以显示符号名称或地址、代表指令的图形和符号注释。
(在程序中以符号名称可代替地址)
如上图的程序步中上部是符号的名称或地址,后面的数字记号是条批注,中间是代表指令的图形,下部为符号注释。
步编号:
每一个步有一步编号,梯形图中只显示梯级的首步编号,在梯级的左上角梯级编号的右下方。
梯级(条)批注和步批注:
在编程时用于给梯级或步作标示说明,对程序没有实际影响。
符号注释:
在符号表中定义的符号注释,用于给某一符号作标示说明,对程序没有实际影响。
助记符程序表示是一个使用助记符指令(指令语句)进行编程的格式化程序表示方式,所有的梯形图程序都可以用助记符指令表达,它们是一一对应的。
使用助记符视图就可以快速连续的输入指令语句进行编程,也可以使用复制粘贴功能将一个或多个指令语句传送到助记符视图或者从其传出,例如可以从一个文本编辑器中复制大量的指令语句到助记符视图中。
要在助记符视图中输入梯级(条)批注,在梯级的首步前插入行输入字符“’”空格后输入文本。
要给一个程序步输入注释,在该步下行输入字符“//”空格然后输入文本。
常用梯形图图形含义与其对应的助记符
梯形图
助记符
含义
LD、AND、OR
常开接触点
LDNOT、ANDNOT、ORNOT
常闭接触点
OUT
常开线圈
OUTNOT
常闭线圈
TIM、DIFU、DIFD、AVG、FCS、ASFT、CMP、INI、SCL、INT等等
各种不同功能的指令
2、程序编辑和运行
梯形图的程序编辑是利用梯形图工具栏的工具按钮或键盘快捷键来进行的,编辑时点击相应工具按钮,鼠标指针将变成相应的图标,然后在梯形图中想要创建程序步的位置上点击鼠标,或者先在想要创建程序步的位置上点击鼠标再按键盘快捷键,后将出现以下窗口:
创建接点或线圈窗口
创建指令窗口
在窗口中输入相应的信息完成创建程序步的操作。
以TIM定时器为例,第一个操作数为定时器号,第二个为定时时间,以0.1S为单位。
梯形图工具栏按钮有:
新接点
:
快捷键“C”,创建常开接点。
新常闭接点
:
快捷键“/”,创建常闭接点。
新的纵线
:
快捷键“V”,新建垂直线连接。
新的横线
:
快捷键“H”,新建水平线连接。
新线圈
:
快捷键“O”,新建常开线圈
新常闭线圈
:
快捷键“Q”,新建常闭线圈。
新的PLC指令
:
快捷键“I”,新建PLC指令引用。
常用图形、指令的含义:
常开接点:
表示判定该接点的地址值为1时导通,0时不通(1代表ON,0代表OFF)。
常闭接点:
是常开接点的相反,即判定该接点的地址值为0时导通,1时不通。
常开线圈:
是一个输出,表示通常时将地址值设为0,被触发时,将地址值设为1。
常闭线圈:
是一个输出,表示通常时将地址值设为1,被触发时,将地址值设为0。
TIM定时器:
可以设定一个延时,当指令被持续触发时开始倒数延时,经过延时后将地址值设为1。
DIFU上升沿微分:
瞬间ON状态,当指令被触发的瞬间将指令地址值设为1且瞬间再转为0,直到下一次再被触发前状态不变。
DIFD下降沿微分:
与上升沿微分相似,当指令被触发后停止触发的瞬间将指令地址值设为1且瞬间再转为0,直到下一次触发停止前状态不变。
END:
结束标志,程序的最终指令,必须放在最后一个程序段的末尾。
编程前先要了解PLC的输入和输出地址
编程前首先要了解PLC的输入和输出通道所对应的PLC地址,因为我们编程的目的就是要利用这些输入的信号,来触发程序运行,再得出想要的输出。
上面已经讲到,CPM2A型的PLC的输入通道是000CH~011CH、100CH~111CH,对应的地址是0.00~0.11、1.00~1.11,而这些地址值将随着输入通道的信号的变化而变化。
输出通道是1000CH~1007CH、1100CH~1107CH,对应的地址是10.00~10.07、11.00~11.07,而这些输出通道的信号也将随着这些地址值的变化而变化。
这些地址就是在编程时实际用到的操作数之一。
PLC程序运行方式:
在梯形图中,PLC程序运行的顺序从左到右,从上到下。
可以形象的把梯形图看作从左母线有一个电流流过,程序步是电流流经的条件开关,当这些条件成立时电流被导通,不成立时则不通,而电流通过了这些条件,流到了用于输出的部分时则触发输出。
下面通过例子来说明程序的运行方式:
例1:
假设在DISC调整的夹具上,实现一个以脚踏开关控制UV灯的程序。
在这个基础上可以再增加几个判定的条件:
假设要对产品的PD板胶水照射UV灯,追加以上判定条件:
必须当脚踏开关踩下、UV灯准备就绪、UV光纤位置已到位(利用传感器提供信号)和光栅夹具已经退下时才能进行照射。
通过此例说明,从左母线出发的电流,在全部输入判定部分的条件成立时,电流流到输出部分触发输出。
上例的条件是全部成立时才触发输出的,从梯形图上形象的表示为一个串连的结构,还有一种情况是只要部分的条件成立就可以触发输出,从梯形图上表示为一个并连的结构,如下例:
例2:
在例1的基础上增加一个强制照射的开关。
此例当按下“强制照射开关”时,从左母线的电流直接由此开关导通而触发输出。
常用指令的作用和用法,再通过下面例子来说明:
例2:
对应HOP-B100的CDDISC调整机夹具,编写一个小程序,程序作用为固定产品的几个动作。
通过程序的编写和逐步完善的过程,来认识PLC程序的常用指令和编程技巧。
首先知道安装产品时夹具的动作顺序为:
ACP镜夹爪夹紧→GR夹爪夹紧→主轴顶针顶上→辅轴顶针顶上→CDLD顶针顶入→…………
然后通过输入、输出设备与PLC的连接可以知道连接的设备所对应的PLC地址,但是通常设备与PLC之间的连接线路我们难以了解,这时可以通过查看PLC上的指示灯来确定它们的连接,方法:
在PLC上每一个输入、输出通道都有一个对应的指示灯,当指示灯亮时代表ON状态,熄灭时代表OFF状态。
(如下图所示)
所以通过切换设备的ON、OFF状态,观察PLC的指示灯就可以确认它们的对应关系了。
以HOP-B100CDDISC调整为例,各设备对应的PLC地址如下表:
输入/输出
通道
对应的PLC地址
连接设备
输入通道
101CH
1.01
脚踏开关
103CH
1.03
控制盒上的红色开关(后退一步开关)
输出通道
1005CH
10.05
控制ACP镜夹爪的气阀
1004CH
10.04
控制GR夹爪的气阀
1100CH
11.00
控制主轴顶针的气阀
1007CH
10.07
控制辅轴顶针的气阀
知道了地址,下面开始编程,首先开始第一步,踩下脚踏开关ACP镜夹爪夹紧:
这一个梯级表示当脚踏开关踩下时,可以触发使ACP镜夹夹紧,但是当松开脚踏时,对输出的触发停止了,则ACP镜夹又松开了。
为了要使输出被持续触发,用以下的方法:
这样就可以使得就算脚踏开关松开了,也可以持续的触发输出。
接着再编写后面几步:
这样就可以完成前面几个顶针的步骤了,但这并不能正常运用,因为在踏下开关的瞬间,电流瞬间导通,4个输出都会被触发,4个动作都在瞬间运行了,而没有起到我们想要的一脚踏一步骤的目的。
利用TIM定时器指令就可以使每一步之间不会被瞬间导通:
由于定时器作用是当被触发时开始倒数延时,延时到达之后,才将其值变为1(ON),所以以上例子中,程序必须在延时后才能往下运行,则不会在脚踏踩下时瞬间触发了全部输出,可以得到我们想要的一脚踏一步骤的效果了。
然后,还存在一个问题,这里设定的延时为0.5S,但如果脚踏开关在这延时内还没有放开的话,程序的下一步会继续运行,这样容易造成误操作,也不是我们想要的,这时可利用DIFU上升沿微分指令来解决:
由于DIFU上升沿微分指令的作用是当指令被触发的瞬间将指令地址值设为1且瞬间再转为0,直到下一次再被触发前状态不变,这样即使脚踏开关没有松开也不会运行下一步骤了。
以上程序可以按我们的思路一步一步的进行了。
可逆向动作的程序设计:
在DISC调整的夹具运行过程中,是可以通过PLC控制盒上的按钮进行逆向动作的(后退一步),但是PLC程序在运行时其实并没有这种程序逆向运行的概念。
如何可以使程序后退一步呢,这也是要靠程序的设计来达到的,通过以下方法:
首先追加一个开关的上升沿微分,与脚踏开关相似,此开关作为步骤返回的控制开关,然后追加下记程序:
以上追加程序作用为当程序运行触发了10.05,且还未触发10.04时,按下控制盒的红色按键则触发40.00,使上一梯级的输出触发断开,达到程序返回上一步骤的目的。
通过以上例子,对PLC的程序编辑和编程技巧应该有了少许认识。
以上例子只是为解说而编写的一小段简单程序,而实际的用在HOP-B100CDDISC调整夹具的PLC程序比上例要复杂的多。
通常我们不需要编写完整的一个程序,而是在原有的基础上进行修改和优化,使程序能够按我们所想的运行。
然而修改别人的程序时,要看明白已经由别人编辑好的整个程序不是一件容易的事情,那么要如何才能更容易的、快速的去理解和修改一个已经完成的程序呢,下面介绍一个好用的软件功能:
PLC监视和在线编辑条。
PLC监视和在线编辑条的运行:
1、在与PLC通过数据线连接的计算机上,打开与PLC中所存储的相同的程序(计算机打开的程序必须与PLC存储中的程序一至)。
2、点击在线工作
,使PLC与计算机持续连接通信。
3、再点击PLC监视
,使激活监视功能。
4、然后点击监视模式
,此时就可以对PLC进行监视。
在这种模式下可以一边操作PLC运行,一边通过计算机梯形图窗口实时监控程序的运行过程,编程软件CX-Programmer将使梯形图工作区(编辑梯形图的窗口,下面将会介绍)变为不可编辑状态(灰色背景),并以绿色粗线条表示程序的运行情况,我们可形象的把绿色粗线条看作是从左母线流过的电流(如下图)。
此绿线是随着PLC的运行而实时更新的,这样,我们就可以迅速的知道程序运行到哪一步骤,哪一梯级对应的夹具动作是什么了。
5、在上面4个步骤的前提下,将光标移动到想要编辑的梯级,再点击在线编辑条
就可以对该梯级进行编辑(如下图)。
6、编辑完成后,点击发送在线编辑修改
,则将编辑内容进行检查并传送到PLC,或点击取消在线编辑
,来取消所编辑内容,返回监视状态。
通过PLC监视和在线编辑条功能,我们就可以简单迅速的知道夹具每一动作所对应的程序梯级,并对其进行编辑和调试了。
下面再通过几个简单例子来说明我们经常要修改的一些内容:
例3:
使夹具的其中两个动作连续运行,取消原来中间的踩脚踏开关动作。
以HOP-B100CDDISC调整为例,在UV灯最后照射完成后,原程序过程为:
……→UV灯照射(CDLD胶水硬化)→踩脚踏开关→退去CDLD顶针→……,现变更为:
……→UV灯照射(CDLD胶水硬化)后自动退去CDLD顶针→……
首先通过以上PLC监视功能找到程序中我们想要取消的脚踏动作所对应的程序步(如下图)。
找到后只要将其直接删除即可。
例4:
修改夹具各个步骤之间的间隔时间,或是UV灯的照射时间。
以HOP-U6*1系DISC调整为例,修改其光栅的UV灯照射时间,原来为10S,如要改为9.5S。
以上例同样方法可以找到光栅的UV灯照射所对应的程序梯级,或者在已经知道原照射时间为10S的情况下,找程序中操作数为#100的TIM定时器,找到后将其修改即可(如下图)。
例5:
省去夹具运行动作的其中一个或多个动作。
以HOP-B100CDDISC调整为例,将原来夹具动作中省支两个步骤,原作业顺序:
踩脚踏CDLD顶针顶入
踩脚踏ACP镜夹具上移
进行调整,相关波形调整至OK
踩脚踏ACP夹具下移
滴ACP镜和GR胶水
踩脚踏ACP镜夹具再次上移
确认波形OK
……
照射ACP镜和GR
……
踩脚踏CDLD顶针顶入
踩脚踏ACP镜夹具上移
进行调整,相关波形调整至OK
直接滴ACP镜和GR胶水,无须ACP镜夹具下移
确认波形OK
……
照射ACP镜和GR
……
原作业顺序:
变更为:
以上的作业顺序变更在夹具运行上的变更为省去“ACP镜夹具上移、ACP镜夹具下移”两个步骤。
从上面的例2中已经知道,在DISC调整机上使用的PLC程序,是以上一步骤的输出作为下一步骤的输入条件,来达到程序一步跟着一步运行的效果。
那么我们只要将其输出或输入条件变更就可以达到省去步骤的效果(如下流程图)。
然后对应以上的思路,找到程序中对应的梯级,并修改(如下图)。
这样,程序已经被省去两个步骤,但是程序运行至此,虽然能够达到我们的要求,但需要后退一步操作时不能实现,因为这里用于后退一步的梯级的条件地址已经无法成立了,还须要对其条件修改一下才能正常后退,通过例2修改的方法显而易见(如下图)。
这样程序可以正常的运行了。
通过以上例子我们对程序的理解和修改方法有了一些认识,虽然还不能够深入的理解编程方法,但基本上可以对本公司的各个PLC程序进行修改了。
五、CX-Programmer软件介绍
1、软件界面
CX-Programmer的主窗体如下图所示,分为工具按钮区(工具栏)、工作视图区、状态条等三大板块组成。
工具按钮区(工具栏):
将常用工具以快捷按钮形式置于主窗体上部,方便使用,可以通过菜单“视图→工具栏”来选择