电气控制与可编程控制器(第4章)_第1页
电气控制与可编程控制器(第4章)_第2页
电气控制与可编程控制器(第4章)_第3页
电气控制与可编程控制器(第4章)_第4页
电气控制与可编程控制器(第4章)_第5页
已阅读5页,还剩86页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章PLC的编程语言与指令系统12024/3/27第一节PLC的编程语言编程语言——

程序表明所采用的方式

现代PLC通常采用以下几种编程语言:2024/3/272一、梯形图(LadderDiagram)及其格式特点

——简单、直观、易学易懂、应用最为广泛、最受电气

技术人员欢迎逻辑电路构成

——

常开接点、常闭接点组合功能

——

逻辑运算、算术运算、数据传送、变换与外部输出表达形式

——

类似于继电器线路图一个接触器的启、

停控制线路驱动一个逻辑线圈或功能指令块2024/3/273继电器线路图与梯形图有两个重要区别:1)继电器线路图为并行工作方式 梯形图为串行工作方式2)继电器线路图中常开、常闭接点的数量有限 梯形图中各类软器件用于内部编程的常开、常闭接点使用次数不受限制2024/3/274另外:

——

在梯形图左右两侧的直线称为左右母线相

当于继电器线路图中的左右电源线

——

与左母线相连的控制线路通常是一个由常

开、常闭接点组成的逻辑电路

——

与右母线相连接的是输出线圈、其他各类

软器件的逻辑线圈或功能指令块

——

在梯形图中右母线有时也可以省略。2024/3/275二、指令语句表及其格式(语句表)

——

是梯形图的一种派生语言

——

类似于汇编语言但更简单表答——

助记符形式的各类指令语句来描述梯形图的逻辑运算、算术运算、数据传送与处理或程序执行中的某些特定功能

基本格式——

操作码+操作数

——

与梯形图之间有着严格的一一对应关系

——

特点是便于用户程序的输入、读出与修改2024/3/276MOVX0X1Y0Y0示例:PLC梯形图

M100T0Y0K100D100915K123···2024/3/277步序

操作码(助记符)

操作数(操作件号)

指令功能12345691015...LDANIOROUTANDOUTKLDMOVKD....X0X1Y0Y0M100T0123X31210010....从母线开始取X0常开触点串联X1常闭触点并联Y0常开触点驱动Y0线圈串联M100常开触点连续驱动T0线圈(3步)设定定时器延时值为12.3s从母线开始取X3常开触点16位数据传送(功能号12,为5步指令)十进制常数100为源数据地址编号为10的16位数据寄存器为目标数示例:指令语言表2024/3/278三、顺序功能图及其格式(SFC)

——

近年国际电工协会(IEC)大力推广的新编程标准

——

顺序功能图又称为功能表图或状态转移图

原理——将一个完整的控制过程分解为若干个阶段(状态) ——

各阶段有不同的动作或其他各种控制内容

——

阶段之间有一定的转换条件

——

一旦条件满足就实现状态的自动转移

——

上一阶段结束

——

下一阶段动作开始直至完成整个过程的控制要求2024/3/279S21S20S2M8002自动方式初始状态状态转移开始原始位置条件夹具夹紧Y0下降X1下限位T0K10机械手自动方式下状态转移图(a)M8041M8044SETY1S22T2上升T0S23T3右移X2上限位122024/3/2710S25夹具放松T1K10机械手自动方式下状态转移图(b)RSTY1S26Y2上升X1S27Y4右移X4左限位S24Y0下限X3右限位12T1X22024/3/2711四、级式编程语言 ——

是类似功能图的图形编程语言 ——

沿用了梯形图编程方法 ——

在PLC内部开发了供编程使用的通用与专用编

程元件和指令(状态元件、级式指令)2024/3/2712110级式语言图与语句表程序

S10转移目标10SG转移条件Y1Y1010JMPS5本级处理2024/3/2713五、逻辑图(功能块图)编程语言

——

是一种图形编程语言

——

采用逻辑电路规定的“与”、“或”、

“非”等逻辑图符号依控制顺序组合而成

——

是国际电工协会(IEC)颁布的PLC编程语

言之一2024/3/2714Y30逻辑符号图(功能块图)程序

X3X1X2ORNOTAND2024/3/2715六、高级编程语言

——

中、大型PLC已采用

BASICFORTRANPASCALC

等高级语言的PLC专用编程语言2024/3/2716第二节PLC的基本指令及其编程应用一、PLC的基本指令系统1、基本指令——LD(取)、LDI(取反)OUT(输出)

LD——取用指定元件的常“开”触点;

LDI——取用指定元件的常“闭”触点。(起始取指令)

OUT——是线圈输出指令

——是程序执行的结果

——总是出现在一个逻辑行的末2024/3/2717指令助记符指令功能操作数程序步数LD(Load)从公共母线开始取用常开接点(取)X、Y、M、S、T、C1LDI(LoadInverse)从公共母线开始取用常闭接点(取反)X、Y、M、S、T、C1OUT线圈驱动(输出)线圈并联可连续使用Y、M、S、T、C(T、C后紧跟常数)Y、M1S特殊M2T3C3-5接点取用与线圈输出指令2024/3/2718X1

地址指令数据00000000010000200003000040000700008LDOUTLDIOUTOUTLDOUTX1Y1X2M101T2K20T2Y2LD、LDI、OUT指令的应用

X2

T2

027Y1M101T2K20Y2写母线相连驱动指令驱动(定时器)指令设定常数,延时设定2s与母线相连驱动指令2024/3/2719X1

Warning:输出线圈重复使用的程序执行Y3

X2

Y3Y4Y3

输出处理Y3=OFFY4=ON

输入处理X1=ONX2=OFF1st2nd2024/3/27202、逻辑运算指令

——AND(与)

——ANI(与非)

——OR(“或”)

——ORI(“或非”)

——ANB(块“与”)

——ORB(块“或”)

AND——串联一个常“开”触点;

ANI——串联一个常“闭”触点。(“与”“与非”是单个触点的串联指令)2024/3/2721指令助记符

指令功能操作数范围占用程序步数AND串联一个常开接点(与)X、Y、M、S、T、C1ANI串联一个常闭接点(与非)X、Y、M、S、T、C1OR并联一个常开接点(或)X、Y、M、S、T、C1ORI并联一个常闭接点(或非)X、Y、M、S、T、C1ANB(AndBlock)两块电路串联(块与)无1ORB(OrBlock)两块电路并联(块或)无1逻辑运算指令2024/3/2722X1

地址指令数据0000000001000020000300004000050000600007LDANDOUTLDANIOUTANDOUTX1X2Y5X3X4Y6X5Y7AND、ANI指令的应用

X4

Y5Y6Y7串联常开接点串联常闭接点X2X3X5032024/3/2723X1

X4

Y5Y7Y6X2X3X503Warning:不推荐,需要用到栈命令2024/3/2724 OR——并联一个常“开”触点;

ORI——并联一个常“闭”触点。(“或”“或非”是单个触点的串联指令) ANB、ORB——是块“与”“或”指令 ——用于程序块的串联或并联连接 ——该指令无操作数。2024/3/2725X1

地址指令数据000000000100002000030000400005000060000700008LDORORIOUTLDORANIORIOUTX1X2M105Y1X3M100X4M110M100OR、ORI指令的应用

M105X3

04Y1M100并联接点并联接点X2M110M100X42024/3/2726X0

不推荐程序000000000100002000030000400005000060000700008LDANILDANDLDIANDORBORBOUTX0X1X2X3X4X5←←Y5ORB指令的应用

X4X1Y5X2X3X5

推荐程序000000000100002000030000400005000060000700008LDANILDANDORBLDIANDORBOUTX0X1X2X3←X4X5←Y52024/3/2727X0

地址指令数据00000000010000200003000040000500006LDORLDIORANBOROUTX0X1X2X3X4Y0ANB指令的应用

X3Y0X2X1X42024/3/27283、内部信息与器件状态处理指令

MPS、MRD、MPP;LDP、LDF、ANDP、ANDF、ORP、ORF;PLS、PLF、SET、RSTMPS、MRD、MPP

——

多重输出指令 ——

用于多重输出电路2024/3/2729

MPS

——

指令将接点状态储存起来(进栈)

MRD或MPP

——

指令读出

——

对于同一个接点状态MRD

指令可以多次使用读出后栈内容不变

——

各层内容也不移动

MPP

——

指令只能使用一次

——

读出后栈内容消失(全零)

MPS与MPP

——

必须成对使用且连续使用应少于11次

注意2024/3/2730信息与器件状态处理指令指令助记符指令功能操作数程序步数MPS(Push)进栈无1MRD(Read)读栈无1MPP(Pop)出栈无1PLS(Palse)信号上升沿微分输出(一个扫描周期)Y、M(特殊M除外)2PLF信号下降沿微分输出(一个扫描周期)Y、M(特殊M除外)2SET被操作数元件置位并保持Y、M、SY、M1S、特殊M2RST(Reset)被操作数元件复位并保持或清零Y、M、SD、V、Z、T、CY、M1S、T、C、特殊M2D、V、Z、特殊D32024/3/2731指令助记符指令功能操作数程序步数LDP取脉冲上升沿指令X、Y、MS、T、C2LDF取脉冲下降沿指令ANDP与脉冲上升沿指令ANDF与脉冲下降沿指令ORP或脉冲上升沿指令ORF或脉冲下降沿指令2024/3/2732X000X001X002X006X007X010指令数据LDANDMPS(状态入栈)ANDOUTMPP(状态出栈)OUTLDMPSANDOUTMPPANDOUTLDMPSANDOUTMRDANDOUTMRDANDOUTMPPANDOUTX000X001X002Y000Y001X003X004Y002X005Y003X006X007Y004X010Y003X011Y006X012Y007栈存储器与多重输出指令的应用

X003X004X005MPSMPPX011X012MPSMRDMRDMPP...MRDMPSMPP0714123nY0Y1Y2Y3Y4Y5Y6Y7MPSMPP2024/3/2733X000X001Y0X002X005X007X010指令数据LDMPS(状态入栈)LDORANBOUT

MRD(状态读栈)LDANDLDANDORBANB×OUTMPPANDOUTLDORANBOUTX000X001X002Y000X003X004X005X006

Y001X007Y002X010X011Y003一层栈电路

Y1X003X004Y3X006Y2X011MPSMRDMPP2024/3/2734X000X001Y0X002X004X006指令数据LDMPS(状态入栈)ANDMPSANDOUT

MPPANDOUTMPPANDMPSANDOUTMPPANDOUTX000X001X002Y000X003Y001

X004X005Y002X006Y003二层栈电路

Y1X003Y3X005Y2MPSMPPMPSMPPMPPMPS2024/3/2735X001X002Y0X003指令数据LDMPS(状态入栈)ANDMPSANDMPSANDMPSANDOUTMPPOUTMPPOUTMPPOUTMPPOUTX000X001X002X003

X004Y000Y001Y002Y003Y004四层栈电路

Y1X004MPSMPSMPPMPPMPSMPSY2Y3MPPX000Y4MPP2024/3/2736指令数据LDPORPOUTLDANDPOUTX00X01M0M8000X02M1X00X01M8000LDP、LDF指令应用M0X02M1X00X01X02M0M1一个扫描周期一个扫描周期一个扫描周期2024/3/2737指令数据LDFORFOUTLDANDFOUTX00X01M0M8000X02M1X00X01M8000LDP、LDF指令的应用M0X02M12024/3/2738PLS与PLF——脉冲输出指令

——被操作元件的脉冲输出宽度为一个程序扫描周期PLS(上升沿微分)——在信号的上升沿输出PLF(下降沿微分)——在信号的下降沿输出PLS、PLF——不能应用于输入继电器X、状态 器S和特殊型辅助继电器M注意2024/3/2739符号格式

功能操作元件程序占用步数PLS操作件号信号上升沿微分输出Y、M(特殊M除外)2PLF操作件号信号下降沿微分输出Y、M(特殊M除外)22024/3/2740脉冲指令的用法:1)一组与LD、AND、OR指令相对应的脉冲式操作指令。触点只在操作元件有上升/下降沿时导通一个扫描一个周期2)PLS、PLF指令的软元件指定为辅助继电器(M)2024/3/2741指令数据LDPLSLDSETLDPLFLDRSTX000M0M0Y000X001M1M1Y001X000M0M0PLSX001M1Y000RSTY000SETM1PLFX000X001M0M1Y000一个扫描周期一个扫描周期PLS、PLF指令的应用注意:LDP

X0

OUT

M0

与LDX0

PLSM0功能是一样的2024/3/2742置位与复位指令——SET(置位)

RST(复位)应用:SET、RST——对位元件操作时必须成对使用

——对同一元件可以多次使用SET与RST指令

——指令顺序可任意

——状态决定于程序最后的执行结果2024/3/2743符号格式

功能操作元件程序占用步数SET操作件号被操作元件置位并保持Y、M、SY、M1S、特M2RST操作件号被操作元件复位并保持清零Y、M、S、D、V、Z、T、CY、M1S、T、C、特M2D、V、Z、特D22024/3/2744指令数据LDSETLDRSTLD

SETLDRSTLDSETLDRSTLDRSTX000Y000X001Y000X002

M0X003M0X004S0X005S0X006D0X000SETY000X001RSTY000X002SETM0X003RSTM0X004SETS0X005RSTS0X006RSTD0X0X1Y0SET、RST指令应用于位元件

2024/3/2745RST——指令可单独应用于T、C、D、V、Z等字元件的清零

——

当X0接通时T246复位 ——

当前值清0 ——

其触头复位 ——X1接通期间T246对1ms时钟脉冲计数 ——

累积计数到1234时Y0动作 ——32位双向计数器根据M8200状态对X4端子输入脉冲进行加计数(M8200状态为0)或减计数(X2接通M8200置1) ——

当计数值达到D1、D0所存的设定值时C200线圈置位,Y1置1,当X3接通C200复位 ——

当前值清零,Y1值0。2024/3/2746指令数据LDRSTLDOUTK

LDOUTLDOUTLDRSTLDOUTDLDOUTX000T246X001T2461234

T246Y000X002M8200X003C200X004C2000C200Y001X000T246X001RSTT246X002X003C200X004RSTC200T246K1234Y000M8200C200D0Y001RST指令应用于T、C

2024/3/27474、程序处理指令——NOP,INV(取反)

ENDMC(进主控)

MCR(出主控)应用——用于程序修改,结束。符号格式

功能操作元件程序占用步数NOP无操作件号空操作无动作

无1END无操作件号程序结束回到第0步

无1程序处理指令2024/3/2748说明:1、在编程序过程中,放进NOP指令

——在程序更改时使步序号码变更少。2、若将LD、LDI、ANB、ORB指令改为NOP

——则梯形图的构成将发生很大变化。3、END——防止程序结束后,还继续执行无用的空操作。4、END——分段调试程序时放在每一段的结束,可实现分段调

试。2024/3/2749主控与主控复位指令——MC(进主控)

MCR(出主控)应用——用于公共串联触点的连接;符号格式

功能操作元件程序占用步数MCN级号主控电路块起点Y、M(除特殊M)3MCRN级号主控电路块终点N(嵌套级号)2程序处理指令2024/3/2750注意:1、当M100=ON则执行MC~MCR中的所有程序;

2、MC~MCR中非积算定时器、OUT驱动的元件复位;

3、MC~MCR中积算定时器、计数器、SET/RST指令驱动的元件保持当前状态;

4、MC可以嵌套使用嵌套级N的编号按0~7顺次增大——返回时用MCR从N大到小逐级解除;

5、特殊用途辅助继电器不能用作MC操作元件;

6、MC、MCR要同时使用。2024/3/2751指令数据LDMC

LDOUTLDOUTMCRLDOUTX000N0M100X001Y000X002Y001N0X003Y002M100X001X002X003N0X000MCN0M100MCRN0MC、MCR指令应用Y000Y001Y0022024/3/2752Exercise12024/3/2753PLC的基本指令的编程应用一、延时断开电路Y0X0Y0X0T0K50T0Y0输入条件X0为ON,输出Y为ON;当输入从ON到OFF时,输出Y0延时一段时间5s才断开2024/3/2754二、定时器延时扩展电路X0T0K1000T0T1K2000T1Y0(一)2024/3/2755X1T1K100T1C1K100C1Y0(二)T1C1RSTX22024/3/2756三、异步电动机单向运转控制电路PLCCOMCOMX0X1Y0SB1SB2KM~220VX0Y0Y0X1PLC2024/3/2757四、异步电动机可逆运行控制互锁电路COMCOMX0X1Y0SB1SB2KM1~220VX0Y0Y0X2X2SB3Y1KM2KM1KM2FRY1X1X1Y0Y1X2Y0X02024/3/2758五、两台电动机分时启动的基本延时电路X1Y1Y1X2T0Y2Y2X2T0K100两台电动机,一台启动10s后第二台起动,共同运行后一起停止。2024/3/2759六、分频电路X0M100 Y0M100Y0Y0M100PLS(X0)M100Y02024/3/2760七、编制一个用户程序,控制交流电动机M1、M2的启/停运行。其控制要求是:1)M1启动40s后方允许M2启动;2)M2停止运行30s后,方允许M1停止运行。2024/3/2761SB1SB2SB3SB4PLC的I/O端口接线KM1X0Y0X1Y1

PLCX2

X3COMCOMFUFR1FR2KM2~2024/3/2762指令数据LDSETSET

LDOUTKLDANDSETRSTLDRSTSETLDOUTKLDANDRSTRSTENDX000Y0M0M0T0400T0X2Y1M0X3Y1M1M1

T1300T1X1Y0M1M0T0K400X000SETY0ENDSETM0T0X002SETY1RSTM0M1T1K300X003RSTY1SETM1T1X001RSTY0RSTM12024/3/2763八、自动台车控制电路SQ2(X2)SQ1(X1)SQ3(X3)Y1Y2SB(X0)2024/3/2764九、抢答装置电路5个队参加抢答比赛,设有主持人总台及5个参赛队分台。总台有台灯及音响、总台开始及复位按钮。分台装有分台灯及分台抢答按钮。各队抢答必须在主持人给出题目,说了“开始”并同时按下开始控制按钮的10s内进行,如提前,抢答器将报出“违例”信号,10s时间到,还无人抢答,抢答器将给出应答时间到信号,该题作废。在有人应答的情况下,抢得答题的队必须在30s内完成答题。如30s内还没答完,则作答题超时处理。灯光及音响信号设置是按控制要求这样安排的:音响及某队台灯满足条件属正常抢答成功。音响及某队台灯加主持人指示灯都满足条件属违例。音响及主持人指示灯满足条件属无人应答及答题超时。在一轮题目抢答终了后,主持人按下复位按钮,抢答器回复原始状态,为第二轮抢答做好准备。2024/3/2765输入装置PLC输入输出装置PLC输出总台(主持人)复位X0总台(主持人)音响Y01队用台按钮X11队用台指示灯Y12队用台按钮X22队用台指示灯Y23队用台按钮X33队用台指示灯Y34队用台按钮X44队用台指示灯Y45队用台按钮X55队用台指示灯Y5总台(主持人)开始X10总台(主持)指示灯Y142024/3/2766绿灯亮25s南北向东西向红灯亮30s南北向东西向黄灯2s红灯亮30s绿灯亮25s黄灯2s绿灯亮红灯亮Y0Y1Y2Y3Y4Y5十、交通信号灯控制电路2024/3/2767第三节PLC的步进指令及其编程应用梯形图编程:

——采用编程软器件接点的逻辑组合

——去完成一个多条件、多因素的复杂顺序控制

用户程序的设计往往存在一定困难

——不仅要有经验而且所设计的梯形图难画、难

懂、调试困难2024/3/2768SFC编程方式:

——

具有直观、简易的特点

——

且程序调试极为方便

——

特别适合于复杂的顺序控制系统的用户程序设计FX2系列PLC的SFC编程方式:

——

它具有两条步进指令

——

还配置较多的SFC基本编程软器件——

状态器2024/3/2769一、状态转移图及其格式

——SFC编程的思路 ——

将一个完整的控制过程分解为若干个阶段 ——

每一阶段构成一种状态 ——

各个状态有不同的控制内容 ——

状态之间有一定的转换条件 ——

用一个方框表示一种状态 ——

方框右侧梯形图表示该状态的控制内容2024/3/2770状态转移及其等效梯形与语句表

S21X2SETS22S22S20S21X1Y1X2SETS20M1SETY1SETS21X1X0M1Y0Y2Y3Y0Y2Y3S22﹕﹕2024/3/2771例如当S20置位时

——Y0和Y2分别置1 ——M1闭合时Y1也为1

各状态之间的垂直短线上的控制线路表示状态转移条件例如:

——

当X1=1时S20状态就转移到S21 ——

即S20置0、S21置1 ——

此时控制内容随之变化 ——Y0、Y2均为0,Y1仍为1,Y3为12024/3/2772二、步进指令——STL(步进开始)

RET(步进结束)

应用——目前PLC应用中较多采用SFC编程语言。特点——直观、简单;可使工作效率大为提高,程序调试方便。与梯形图相比——对于完成一个多条件、多因素的复杂顺

序控制程序设计存在一定困难,不仅要有经验,

而且梯形图程序难读、难懂。2024/3/2773说明:1)——STL步进开始——操作元件是状态器S。

STL——

由此符号表示。

SET——设置一个状态后,则另一个状态复位。2)——RET步进结束——无操作目标元件——在一系列STL后必须使用RET表示步进结束。

3)——步进顺序控制指令可以有多种方式

<1>表示多条件可选择的分支汇合状态转移方式。

<2>表示同一条件多顺序分支并行分支汇合状态转移方式。2024/3/2774M8002ENDY1STL、RET指令的应用

SETS0S0X000SETS20S20X001SETS21Y2S21X002SETS22Y3S22X003SETS23Y4S23X004RETS20S0S20Y1S21Y2X0X1S22Y3S23Y4X2X3X4M8002启动按钮初始脉冲STLX5X5X005X004S0X0052024/3/2775STL、RET指令的应用

2024/3/2776SFC编程方法

1、——SFC编程方法:

——

单回路SFC的编程方法

——

适用单流程顺序控制

——

图中初始状态通常采用S0~S9中的某一个状态器

——在启动运行之初先用初始化脉冲或其他条件使S0置1 ——然后采用从S20开始的一系列状态器并逐一使用STL指

令进入步进控制状态

——最后使用RET使控制过程进入自动循环或者使状态回

复到初态而停止运行2024/3/27772、选择性分支与汇合SFC的编程方法 ——

当某一状态有多个转移条件且这些条件又不会同时出现 ——

例如某自动生产线的PLC程序要求有手动、步进、单循环及自动等不同运行方式时,可通过控制面板上的一个多档位主令开关SA示需要进行选择编程方法可采用下图所示状态转移图方式。

——当S20状态为1时

——输出线圈Y0为1,此时X11、X12、X13或X14中的任一个为1

(对应手动、单步、循环和自动方式输入)

——将S20和Y0置0

——S21、S31、S41或S51中对应输入为1的那个状态器就置1

——为避免出现两条或两条以上支路同时运行可采用转移条件之间的互锁

——即将各X11、X12、X13和X14常闭接点作为转移条件之一串联在其他支路中2024/3/2778(1)选择分支的用户程序

X10S20Y0X11S21X12S31X

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论