第五讲PLC的编程语言和基本指令教学目标1、了解可编程序控制器的编程语言2、掌握可编程序控制器的基本指令3、熟悉基本指令的使用规律及其应用4、掌握利用可编程序控制器来实现电动机的点动、连续控制和正、反转控制程序编写可编程控制器的编程语言不同厂家,不同型号的PLC的编程语言只能适应自己的产品。IEC中的PLC编程语言标准中有五种编程语言:顺序功能图编程语言、梯形图编程语言、功能块图编程语言、指令语句表编程语言、结构文本编程语言。最常用的就是梯形图编程语言和指令语句表编程语言。梯形图编程语言梯形图是在原继电器—接触器控制系统的继电器梯形图基础上演变而来的一种图形语言。它是目前用得最多的PLC编程语言。注意:梯形图表示的并不是一个实际电路而只是一个控制程序,其间的连线表示的是它们之间的逻辑关系,即所谓“软接线”。常开触点:常闭触点:线圈:注意:它们并非是物理实体,而是“软继电器”。每个“软继电器”仅对应PLC存储单元中的一位。该位状态为“1”时,对应的继电器线圈接通,其常开触点闭合、常闭触点断开;状态为“0”时,对应的继电器线圈不通,其常开、常闭触点保持原态。梯形图编程格式(1)梯形图按行从上至下编写,每一行从左往右顺序编写。PLC程序执行顺序与梯形图的编写顺序一致。(2)图左、右边垂直线称为起始母线、终止母线。每一逻辑行必须从起始母线开始画起,终止于继电器线圈或终止母线(有些PLC终止母线可以省略)。(3)梯形图的起始母线与线圈之间一定要有触点,而线圈与终止母线之间则不能有任何触点。指令语句表编程语言助记符语言类似于计算机汇编语言,用一些简洁易记的文字符号表达PLC的各种指令。同一厂家的PLC产品,其助记符语言与梯形图语言是相互对应的,可互相转换。助记符语言常用于手持编程器中,梯形图语言则多用于计算机编程环境中案例在生产实践过程中,某些生产机械常要求既能正常起动,又能实现调整位置的点动工作。试用可编程控制器的基本逻辑指令来控制电动机的点动及连续运行。一、异步电动机控制线路图异步电动机控制线路图图(a)为主电路。工作时,合上刀开关QS,三相交流电经过QS,熔断起FU,接触器KM主触点,热继电器FR至三相交流电动机。图(b)为最简单的点动控制线路。起动按钮SB没有并联接触器KM的自锁触点,按下SB,KM线圈通电,松开按钮SB时,接触器KM线圈又失电,其主触点断开,电动机停止运转。图(c)是带手动开关SA的点动控制线路。当需要点动控制时,只要把开关SA断开,由按钮SB2来进行点动控制。当需要正常运行时,只要把开关SA合上,将KM的自锁触点接入,即可实现连续控制。图(d)中增加了一个复合按钮SB3来实现点动控制。需要点动运行时,按下SB3点动按钮,其常闭触点先断开自锁电路,常开触发后闭合接通起动控制电路,KM接触器线圈得电,主触点闭合,接通三相电源,电动机起动运转。当松开点动按钮SB3时,KM线圈失电,KM主触点断开,电动机停止运转。若需要电动机连续运转,由停止按钮SB1及起动按钮SB2控制,接触器KM的辅助触点起自锁作用。二、可编程控制器的硬件连接实现电动机的点动及连续运行所需的器件有:起点按钮SB1,停止按钮SB2,交流接触器KM,热继电器JR及刀开关QS等。主电路的连接如图所示。三、梯形图的设计梯形图便是是以图形符号及图形符号在图中的相互关系表示控制关系的编程语言,是从继电器电路图演变而来。两者部分符号对应关系如表所示。梯形图的设计根据输入输出接线圈可设计出异步电动机点动运行的梯形图如图(a)所示。工作过程分析如下:当按下SB1时,输入继电器X0得电,其常开触点闭合,因为异步电动机未过热,热继电器常开触点不闭合,输入继电器X2不接通,其常闭触点保持闭合,则此时输出继电器Y0接通,进而接触器KM得电,其主触点接通电动机的电源,则电动机起动运行。当松开按钮SB1时,X0失电,其触点断开,Y0失电,接触点KM断电,电动机停止转动,即本梯形图可实现点动控制功能。大家可能发现,在梯形图中使用的热继电器的触点为常开触点,如果要使用常闭触点,梯形图应如何设计?梯形图的设计图(b)为电动机连续运行的梯形图,其工作过程分析如下:当按SB1被按下时X0接通,Y0置1,这时电动机连续运行。需要停车时,按下停车按钮SB2,串联于Y0线圈回路中的X1的常闭触点断开,Y0置1,电机失电停车。启-保-停电路梯形图(b)称为启-保-停电路。这个名称主要来源于图中的自保持触点Y0。并联在X0常开触点上的Y0常开触点的作用是当钮SB1松开,输入继电器X0断开时,线圈Y0仍然能保持接通状态。工程中把这个触点叫做“自保持触点“。启-保-停电路是梯形图中最典型的单元,它包含了梯形图程序的全部要素。它们是:a、事件每一个梯形图支路都针对一个事件。事件输出线圈(或功能框)表示,本例中为Y0。b、事件发生的条件梯形图支路中除了线圈外还有触点的组合,使线圈置1的条件既是事件发生的条件,本例中为起动按钮X0置1。c、事件得以延续的条件触点组合中使线圈置1得以持久的条件。本例中为与X0并联的Y0的自保持触点。d、使事件终止的条件触点组合中使线圈置1中断的条件。本例中为X1的常闭触点断开。四、语句表点动控制即图(a)所使用到的基本指令有:从母线取用常开触点指令LD;常闭触点的串联指令ANI;输出继电器的线圈驱动指令OUT。每条指令占用一个程序步,语句表如下:程序步指令元件0LDX01ANIX12OUTY0语句表连续运行控制即图(b)所使用到的基本指令有:从母线取用常开触点指令LD;常开触点的并联指令OR;常闭触点的串联指令ANI;输出继电器的线圈驱动指令OUT。语句表如下:程序步指令元件0LDX01ORY02ANIX13ANIX24OUTY0表6-26指令助记符及功能符号、名称功能梯形图表示和可操作组件程序步LD取逻辑运算开始的常开触点X,Y,M,S,T,C1LDI取反逻辑运算开始的常闭触点X,Y,M,S,T,C1OUT(输出)线圈驱动指令Y,M,S,T,CY、M:1;S,特M:2T:3;C:3~53.编程应用语句步指令元素说明图6-30LD、LDI、OUT指令的编程应用(二)触点串联(AND、ANI)指令1.指令助记符及功能符号、名称功能梯形图表示和可操作组件程序步AND与常开触点串联连接X、Y、M、S、T、C1ANI与非(AndInverse)常闭触点串联连接X、Y、M、S、T、C1表6-27触点串联指令助记符及功能3.编程应用语句步指令元素说明0LDX0021ANDX000串联触点2OUTY0033LDY0034ANIX003串联触点5OUTM1016ANDT1串联触点7OUTY004纵接输出图6-31AND、ANI指令的应用*Y004M101Y003X003T1MPSMPP图6-32MPS、MPP指令的关系*(三)触点并联(OR、ORI)指令1.指令助记符及功能表6-28触点并联指令助记符及功能符号、名称功能梯形图表示和可操作组件程序步OR或常开触点并联连接X、Y、M、S、T、C1ORI或非OrInverse常闭触点并联连接X、Y、M、S、T、C13.编程图6-33OR、ORI指令的使用应用脉冲指令助记符及功能X,Y,M,S,T,C指令助记符、名称功能梯形图表示和可操作软组件程序步LDP取脉冲上升沿检测运算开始1LDF取脉冲下降沿检测运算开始X,Y,M,S,T,C1ANDP与脉冲上升沿检测串联连接X,Y,M,S,T,C1ANDF与脉冲下降沿检测串联连接X,Y,M,S,T,C1ORP或脉冲上升沿检测并联连接X,Y,M,S,T,C1ORF或脉冲下降沿检测并联连接X,Y,M,S,T,C1如图6-34所示,两种梯形图都在X010由OFF→ON变化时,使M6接通一个扫描周期。图6-34两种梯形图具有同样的动作效果同样,图6-35两个梯形图也具有同样的动作效果。两种梯形图都在X010由OFF→ON变化时,只执行一次传送指令MOV。上升沿检测X010FNC12MOVK10D0X010FNC12MOV(P)K10D0=应用指令的脉冲执行形式图6-35两种取指令均在OFF→ON变化时,执行一次MOV指令3.编程应用图6-36脉冲检测指令的编程应用(五)串联电路块的并联(ORB)指令1.指令助记符及功能表6-30电路块或指令助记符与功能符号、名称功能梯形图表示及操作组件程序步ORB(电路块或)串联电路块的并联连接操作组件:无13.编程应用图6-38串联电路块并联指令应用(六)并联电路块的串联(ANB)指令1.指令助记符及功能表6-31并联电路块串联指令助记符及功能符号、名称功能梯形图表示及操作组件程序步ANB(电路块与)并联电路块的串联连接操作组件:元13.编程应用图6-39并联电路块串联指令应用程序(七)栈操作(MPS/MRD/MPP)指令1.指令助记符及功能表6-32栈指令助记符及功能MPSMRDMPP指令助记符、名称功能电路表示及操作组件程序步MPS(Push)进栈将连接点数据入栈无操作组件1MRD(Read)读栈读栈存储器栈顶数据1MPP(Pop)出栈取出栈存储器栈顶数据12.指令说明(1)这组指令分别为进栈、读栈、出栈指令,用于分支多重输出电路中将连接点数据先存储,便于连接后面电路时读出或取出该数据。②①123→MPPMRD↓MPS↑MPP1011(2)在FX2N系列PLC中有11个用来存储运算中间结果的存储区域,称为栈存储器。栈指令操作如图6-40,由图可知,使用一次MPS指令,便将此刻的中间运算结果送入堆栈的第一层,而将原存在堆栈第一层的数据移往堆栈的下一层。图6-40栈存储器3.编程应用【例1】(八)主控触点(MC/MCR)指令1.指令助记符及功能表6-33主控指令助记符及功能MCNiY,M除了特殊辅助继电器MMCRNi符号、名称功能梯形图表示及操作组件程序步MC(主控)(MasterControl)主控电路块起点3MCR(主控复位)主控电路块终点2【例1】无嵌套结构的主控指令MC/MCR编程应用,如图6-45所示。图中上、下两个主控指令程序中,均采用相同的嵌套级N0。1MCN0返回母线(N0为嵌套级号)在没有嵌套结构时,可以全部用N0编程,N0的使用次数没有限制。8MCRN03步指令0LDX000SPM1004LDX0015OUTY0006LDX0027OUTY0012步指令(九)置位/复位(SET/RST)指令1.指令助记符及功能表6-34置位/复位指令助记符及功能SETY,M,SY,M,S,T,C,D,V,ZRST符号、名称功能梯形图表示及可操作的组件程序步SET(置位)线圈接通保持指令Y、M:1S、特M:2T、C:2D、V、Z、特D:3RST(复位)线圈接通清除指令3.编程应用图6-47SET/RST指令的编程应用(十)微分脉冲输出(PLS/PLF)指令1.指令助记符及功能表6-35指令助记符及功能Y,MPLSY,MPLF符号、名称功能电路表示及可操作组件程序步PLS(上沿脉冲)上升沿微分输出特M除外2PLF(下沿脉冲)下降沿微分输出23.编程应用图6-48PLS/PLF指令的编程应用(十一)取反(INV)指令1.指令助记符及功能INV指令的功能、梯形图表示、操作组件和程序步如表6-36所示。表6-36指令助记符及功能无操作软元件符号、名称功能梯形图表示及可操作组件程序步INV(取反)运算结果取反操作1Y000X0000LDX0001INV2OUTY000OFFOFFOFFOFFONONONONX000Y000图6-50取反INV指令的编程应用由图6-50可知,如果X000断开,则Y000接通;如果X000接通,则Y000断开。(十二)空操作(NOP)指令和程序结束(END)指令1.指令助记符及功能NOP和END指令的功能、梯形图表示、操作组件和程序步如表6-37所示。无操作元件NOP无操作元件END符号、名称功能电路表示和操作组件程序步NOP(空操作)无动作1END(结束)输入输出处理返回到0步1第四节编程规则及注意事项一、梯形图的结构规则梯形图作