plc编程入门到精通教程

plc好学吗?有的人说好学,更多的人说难学。我的看法是入门易,深造难。入门易,总有它易的方法。很多人都买了有关plc的书,如果从头看起的话,我想八成学不成了。因为抽象与空洞占据了整个脑子。
学这方面的知识要有可编程控制器和简易编程器才好,若无,一句话,学不会。因为无法验证对与错。如何学,我的做法是直奔主题。做法如下:
1、认识梯形图和继电器控制原理图符号的区别:
继电器控制原理图中的元件符号,有常开触点、常闭触点和线圈,为了区别它们,在有关符号边上标注如km、ka、kt等以示不同的器件,但其触头的数量是受到限制。而plc梯形图中,也有常开、常闭触点,在其边上同样可标注x、y、m、s、t、c以示不同的软器件。它最大的优点是:同一标记的触点在不同的梯级中,可以反复的出现。而继电器则无法达到这一目的。而线圈的使用是相同的,即不同的线圈只能出现一次。
2、编程元件的分类:编程元件分为八大类,x为输入继电器、y为输出继电器、m为辅助继电器、s为状态继电器、t为定时器、c为计数器、d为数据寄存器和指针(p、i、n)。关于各类元件的功用,各种版本的plc书籍均有介绍,故在此不介绍,但一定要清楚各类元件的功能。
编程元件的指令由二部分组成:如 ld(功能含意)x000(元件地址),即 ld x000,ldi y000......。
3、熟识plc基本指令:
(1)ld(取)、ldi取反)、out(输出)指令;ld(取)、ldi(取反)以电工的说法前者是常开、后者为常闭。这二条指令最常用于每条电路的第一个触点(即左母线第一个触点),当然它也可能在电路块与其它并联中的第一个触点中出现。
这是一张梯形图(不会运行)。左边的纵线称为左母线,右母线可以不表示。该图有三个梯级;第1梯级;左边第一个触点为常开,上标为 x000,x表示为输入继电器,其后的000数据,可以这样认为它使用的是输入继电器中的编号为第000的触点(下同)。其指令的正确表示应为(如右图程序所示):0、ld x000 (前头的0 即为从第0步开始,指令输入时无须理会,它会自动按顺序显示出)。
第2梯级;左边的第一个触点为常闭触点,上标为t0,t表示定时器(有时间长短不同,应注意),0则表示定时器中的编号为0的触点。其指令的正确表示应为:2、ldi t0(如程序所示)。
第3梯级;左边第一个触点为常闭,上标为m0, m为辅助继电器(该继电器有多种,注意类别),其指令的正确表示应为:4、ldi m0(如程序所示)。本梯级的第2行第一个触点为常开,上标为y000,y表示输出继电器,由于该触点与后面y001触点呈串联关系,形成了所谓的电路 块,故而其触点的指令应为 5、ld y000。总之ld与ldi指令从上面可以看出,它们均是左母线每一梯级第一触点所使用的指令。而梯级中的支路(即第3梯级的第2行)有二个或二个以上触点呈串联关系,其第一触点同样按ld或ldi指令。可使用ld、ldi指令的元件有:输入继电器x、输出继电器y、辅助继电器m、定时器t、计数器c、状态继电器s。out为线圈驱动指令,该指令不能出现在左母线第一位。驱动线圈与驱动线圈不能串联,但可并联。同一驱动线圈只能出现一次,并安排在每一梯级的最后一位。如上图中的1、out y000,3、out y001,y为输出继电器,其线圈一旦接获输出信号,可以这样认为,线圈将驱动其相应的触点而接通外部负载(外部负载多为接触器、中间继电器等)。而上图 8、out t0 k40 为定时器驱动线圈指令,其中的k为常数40为设定值(类似电工对时间继电器的整定)。可使用out指令元件有:输出继电器y、辅助继电器m、定时器t、计数器c、状态继电器s。
(2)触点的串联指令and(与)ani(与非);前者为常开,后者为常闭。二者均用于单个触点的串联。二指令可重复出现,不受限制,。如下图所示。
第1梯级来看;x000、t0、y001三触点成串联关系,即t0的常闭串接于x000的后端,而y001的常闭则串接于t0常闭的后端。由于都是常闭故用ani指令。现来看第2梯级;x000、m0、y001,同样三触点也是串联关系,m0的常闭接点串接于x001的后端,而y000的常开接点则串接于m0的后端。故m0的指令用ani,而y000的指令则用and(具体编程详上图),一句话只要是串联后面是常开的用and,是常闭的则用ani。可使用and、ani指令元件有:输入继电器x、输出继电器y、辅助继电器m、定时器t、计数器c、状态继电器s。
(3)触点并联指令or(或)、ori(或反);触点并联时,不管梯级中有几条支路,只要是单个触点与上一支路并联,是常开的用or,是常闭的则用ori。如下图所示。
第1梯级来看;x000、t0、y001三触点成串联关系,即t0的常闭串接于x000的后端,而y001的常闭则串接于t0常闭的后端。由于都是常闭故用ani指令。现来看第2梯级;x000、m0、y001,同样三触点也是串联关系,m0的常闭接点串接于x001的后端,而y000的常开接点则串接于m0的后端。故m0的指令用ani,而y000的指令则用and(具体编程详上图),一句话只要是串联后面是常开的用and,是常闭的则用ani。可使用and、ani指令元件有:输入继电器x、输出继电器y、辅助继电器m、定时器t、计数器c、状态继电器s。
可以看出上图的x000、x001、m0三者处于并联关系。由于x000下面二条支路均为单个触点,因x001是常开触点,故用or指令。而m0是常闭触点,则用ori指令。三接点并联后又与m1串联,串联后又与y000并联,而y000也是单个触点,所以仍采用or指令。可使用or、 ori指令元件有:输入继电器x、输出继电器y、辅助继电器m、定时器t、计数器c、状态继电器s。
(4)串联电路块的并联指令orb(或);任一梯级中有多(或单支路)支路与上一级并联,只要是本支路中是二个以上的触点成串联关系(即所谓的:串联电路块),则应使用orb指令。如下图所示。
上图可以看出,第一支路x003的常开触点与m1的常开触点成串联关系(在这样的情况下,形成了块的关系),它是与上一行的x000与m0串联后相并联,此时程序的编写,如步序号0、1、2、3、4所示。4所出现的第一个orb指的是与上一行并。而第二支路,常闭y001与m2同样是串联关系。也是一个块结构,其串联后再与第一支路并。故步序7再次出现orb。orb指令并无梯形图与数据的显示。可以这样认为;它是下一行形成电路块的情况下与上一行并联的一条垂直直线(如图中所示的二条粗线)。
(5)并联电路块与块之间的串联指令anb;如左下图虚线框内所示的二电路块相串,各电路块先并好后再用anb指令进行相串。左图的梯形图可以用右图进行简化。程序的编写如下图所示。anb指令并无梯形图与数据的显示。可以这样认为;它是形成电路块与电路块之间的串联联接关系,是一条横直线。
(6)进栈指令mps、读栈指令mrd、出栈指令mpp和程序结束指令end;mps、mrd、mpp这是一组堆栈指令。如下图使用的二种堆栈形式;在堆栈形式下mps应与mpp成对出现使用。如在第一堆栈形式下,则采用mps、mpp指令。若在mps、mpp指令中间还有支路出现,则增加mrd 指令,如下图的第二堆栈所示。应知道mps、mpp成对出现的次数应少于11次,而mrd的指令则可重复使用,但不得超过24次。要知道这一组指令,同样并无梯形图与数据的显示。可以这样认为;mps是堆栈的起始点,它起到承上启下的联接点作用,而支路的mrd、mpp则与之依次联接而已。而end指令则是结束指令,它在每一程序的结束的末端出现。
当然还有其它的指令,但只要熟织和应用以上的指令,我以为入个门应该没什么问题了,也够用了。入了门后再去研究其它的指令就不是很难了。故不再一一说明。
4、熟知简易编程器各键的功能:以下是fx-10p(手持式编程器)面板分布(当然少了晶液显示屏)及各键功能。各键下方标注的中文与元件符号均为我所增加(目的是为了输入时易找到对象),其余均与原键盘相同(即实线框内英文与数码)。
(1)液晶显示器;在编程时可显示指令(即指令、元件符号、数据)。在监控运行时,可显示元器件工作状态。
(2)键盘;由35个按键组成,有功能键、指令键、元件符号键和数据键,大多可切换。各键作用如下:
①功能键:rd/wr......读出/写入,若在左下角出现r为程序读出,若出现w则为写入,即程序输入时应出现w,否则无法输入程序。按第一下如为r,再按一下则为w。ins/del......插入/删除,若在程序输入过程中漏了一条程序,此时应按该键,显现i则可输入遗漏程序。若发现多输了一条程序,同样按该键,显现d则可删除多余或错误的程序。mnt/test......监视/测试,t为测试,m为监视,同样按该键,可相互切换。在初学时要学会使用监视键m, 以监视程序的运行情况,以利找出问题,解决问题。
② 菜单键:other, 显示方式菜单
③清除键:clear,按此键,可清除当前输入的数据。
④帮助键:help,显示应用指令一览表,在监视方式时进行十进制数和十六进制数为转换。
⑤步序键:step,监视某步输入步序号。
⑥空格键:,/sp,输入指令时,用于指定元件号和常数。
⑦光标键:↑、↓,用这二键可移动液晶显示屏上光标,作行(上或下)滚动。
⑧执行键:go,该键用于输入指令的确认、插入、删除的执行等。
⑨指令键/元件符号键/数字键(虚线框内):这些键均可自动切换,上部为指令键,下部为元件符号键或数字键。一旦按了指令键,其它键即切换成元件符号或数字,可以进行选择输入。其它z/v、k/h、p/i均可同一键的情况下相互切换。
5、熟习编程器的操作
按规定联接好plc与简易编程器。plc通入电源,小型指示灯亮。将plc上的扭子开关拨向stop(停止)位置。
操作要点
①清零:扭子开关拨向stop(停止)位置,会出现英文,别管它。直接按rd/wd(使显示屏左侧出现w即写的状态),此时先按nop,再按mc/a中的a,接着按二次go予以确认即可(即:w→nop→a→go→go)。
②输入指令:如指令 ld x000 , 按以下顺序输入 ld→x→0→go 即可,屏上自动显现 ld x000。其它指令类推。对于orb、anb、mps、mrd、mpp、end、nop等指令,输入后只要按go确认即可(orb→go)。
③定时器的输入:如指令 out t0 k 40 按如下顺序输入即可 out→t→0→,/sp→k→40→go(t0为100ms为单位,其整定值为:100×40=4000ms=4s)。
④ 删除指令:移动光标对准欲删除的指令,将ins/del键置于d,再予以go确认即可。即 :移动光标对准欲删除指令→d→go。
⑤插入指令:若欲在步序4、5之间插入新的步序,移动光标对准5,将ins/del键置于i,予以确认,再输入新的程序再次确认即可。如欲插入and y001即:移动光标对准欲插入部位→i→go→and→y→1→go。
⑥go键:每一步序输入完毕均应输入go予以确认。
⑦结束指令:每一程序输入完毕在结束时应输入end指令,程序才可运行。
⑧输入指令完毕应将plc上的扭子开关拨向run于运行状态。若有音响、灯亮则说明输入程序有问题。
6、输入简单的可运行程序在监控状态下运行:初学时要学会使用监视键m,可以从液晶显示上监视程序的运行情况,加深对plc各接点运行的认识。并利于找出问题,解决问题的最好办法。
具体操作如下:按mnt/test键置于m监视运行方式,移动光标即可观查整个程序的运行情况。若程序中出现■标记表示元件处于导通状态(on),若无■标记则元件处于断开状态(off)。
7、试着编绘简易梯形图:简易梯形图的编绘,一般以现有的电工原理图,根据其工作原理进行绘制,由浅入深,先求画出,再求简单明了,慢慢领会绘制梯形图心得。首先要理解电工原理图的工作原理,根据电工原理图的工作原理,再按plc的要求进行绘制。应把握的是,不能简单地将plc各接点与电工原理图上的各接点一一对应(这是初学者的通病),若是这样的话就有可能步入死胡同,绘制的梯形图只要能达到目的即可。
①不可逆启动改用plc控制
图1
图2
图3
图4
上图的图1为电原理图,图2则为按与原理图一一对应的原则编绘的梯形图,其特点是易于理解,但在我的印象中没有几张是可以这样绘制的。如果采用这样的方法绘制的话,将有可能走入不归路。尽管二个图都可运行,但如果将图2加以改变而成为图3 ,可以看出图3在程序上少了一个步序anb。简洁明了是编程的要素。故而在编绘梯形图时应尽量地将多触头并联触头放置在梯形图的母线一侧可减少anb指令。图2中的x000、图3中的x002均为外接热继电器所控制的常闭接点,而热继电器则用常开接点(或也可将外部的热继电器的常闭触头与接触器线圈相串联)。只有在画出梯形图后,再根据梯形图编出程序。
工作原理:以图3为例说明,当外接启动按钮一按,x000的常开接点立即闭合电流(实为能流),流经x001、x002的常闭接点至使输出继电器y000 闭合,由于y000的闭合,并接于母线侧的y000常开触点闭合形成自保,由输出继电器接通外部接触器,从而控制了电动机的运行。停止时按外部停止按钮,x001常闭接点在瞬间断流从而关断了输出继电器线圈,外部接触器停止运转。当电动机过载时,外部热继电器常闭接点闭合,导至x002常闭接点断开,从而保护电动机。
②启动、点动控制改用plc控制
这一道题往往是初学者迈不过的一道坎。这主要是因为继电器电原理图使用的是复合按钮,形成的思维定式所造成。从梯形图中可以看出,x001为点动控制触点,因左边的电原理图是使用的复合按钮,思维上自然而然转向了采用x001的常闭触点,与x001的常开形成了与复合按钮相似的效果,想象是不错。要知道 plc在运行状态下,是以扫描的方式按顺序逐句扫描处理的,扫描一条执行一条,扫描的速度是极快的。如果是用x001的常闭代替m0的常闭的话,当按下外接点动按钮时,x001常开触点则闭合而常闭接点则断开,但一旦松手其常闭触点几乎就闭合形成了自保,因此失去了点动的功能,变为只有启动的功能。梯形图中的第一梯级中的第二支路是由y000的常开与中间继电器m0的常闭相串后再与第一支路相并,在这样触点多的情况下如果允许应将它摆列在第一行,这样在编程时可以少用了orb指令。