《可编程序控制器第五章.方案.ppt》由会员分享,可在线阅读,更多相关《可编程序控制器第五章.方案.ppt(66页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Chapter 5 Chapter 5 PLCPLC的基本指令及程序设计的基本指令及程序设计 Basic Instructions and Program Design Basic Instructions and Program Design5.1 5.1 PLCPLC的基本逻辑指令及举例的基本逻辑指令及举例5.2 5.2 程序控制指令程序控制指令5.3 PLC5.3 PLC初步编程指导初步编程指导5.4 5.4 典型的简单电路编程典型的简单电路编程5.5 5.5 PLC PLC 程序的简单设计方法几应用举例程序的简单设计方法几应用举例指令分类指令分类按功能分按功能分按功能分按功能分1。位操
2、作功能位操作功能位操作功能位操作功能2 2。定时器。定时器。定时器。定时器/计数器计数器计数器计数器3 3。算术运算功能。算术运算功能。算术运算功能。算术运算功能4 4。关系运算功能。关系运算功能。关系运算功能。关系运算功能5 5。数据传送功能。数据传送功能。数据传送功能。数据传送功能6 6。转换功能。转换功能。转换功能。转换功能7 7。控制功能。控制功能。控制功能。控制功能基本逻辑指令基本逻辑指令逻辑关系逻辑关系 梯形图梯形图 助记符助记符LDI0.0AI0.1=Q0.0LDI0.0OI0.1=Q0.0LDN I0.1=Q0.0与与AND或或OR非非NOT当当 I0.0与与 I0.1 都都“
3、ON”时,时,则输出则输出 Q0.0“ON”(1)。当当 I0.0 或或 I0.0 “ON”时时,则输出则输出 Y0“ON”(1)当当 I0.1 “OFF”时时则输出则输出 Q0.0“ON”(1)I0.0 I0.1Q0.0I0.0I0.1Q0.0Q0.0I0.1I0.0*I0.1Q0.0X2是与图中是与图中A点处的结果(即点处的结果(即X0与与X1的结果)的结果)相或,而不是与相或,而不是与X1相或。相或。ALDX0AX1OX2=Y0例:例:1X0X2X1Y0逻辑关系逻辑关系 梯形图梯形图 助记符助记符LDX0OX1LDX2OX3ALD=Y0LDX0AX1LDX2AN X3OLD=Y0当当“X
4、0 或或 X1”与与“X2 或或X3”都都“ON”时,时,则输出则输出 Y0“ON”。区块与区块与ALD(And Stack)区块或区块或OLD(Or Stack)当当“X0 与与 X1”或或“X2 与与X3非非”“ON”时,则输时,则输出出 Y0“ON”。Y0X0X2X1X3X0X1X2X3Y0例例1 1:直接启动停车控制直接启动停车控制继电器控制电路图继电器控制电路图I/OI/O分配:分配:I0.0I0.0:停车停车I0.1I0.1:启动启动Q0.1Q0.1:KMKM语句表语句表LD I0.1LD I0.1O Q0.0O Q0.0A I0.0A I0.0=Q0.0=Q0.0启动优先启动优先
5、I0.0I0.0Q0.0Q0.0Q0.0Q0.0I0.1I0.1停止优先停止优先I/OI/O分配决定分配决定PLCPLC的端子接线图的端子接线图PLCPLC的端子接线方式又决定编的端子接线方式又决定编程语言程语言I/OI/O分配:分配:I0.0I0.0:停车停车I0.1I0.1:启动启动Q0.1Q0.1:QA1QA1Q0.0Q0.0I0.0I0.0Q0.0Q0.0I0.1I0.1置位、复位指令置位、复位指令边沿脉冲指令边沿脉冲指令例例2l有一个工业过程如图所示:有一个工业过程如图所示:l有一个进水阀、一个出水阀有一个进水阀、一个出水阀l一个事故放水阀。一个液位一个事故放水阀。一个液位l组合开关
6、。组合开关。l要求:要求:1)每个阀均可单独控制;)每个阀均可单独控制;2)当液位低)当液位低时,强开时,强开#1进水阀、强关进水阀、强关#3事故放水阀;事故放水阀;3)当液位高时,强开事故放水阀。按上述要求完当液位高时,强开事故放水阀。按上述要求完成主回路设计、成主回路设计、PLC I/O分配、分配、PLC硬件接线硬件接线原理图并设计原理图并设计PLC程序。程序。主回路图主回路图PLCI/O 分配分配l开关量输入(开关量输入(DI)接线原理图接线原理图立即立即I/O指令指令立即输出立即输出执行立即输出指令时,则将结果同时立即复制到物理输出点和相应的输出映象寄存器 立即立即I/O指令指令立即置
7、位和复位指令立即置位和复位指令须指出:立即I/O指令是直接访问物理输入输出点的,比一般指令访问输入输出映象寄存器占用CPU时间要长,因而不能盲目地使用立即指令,否则,会加长扫描周期时间,反而对系统造成不利影响。5.1 5.1 PLCPLC的基本逻辑指令及举例的基本逻辑指令及举例 Basic Logic Instructions and ExamplesBasic Logic Instructions and Examples 一、比较指令一、比较指令二、二、定时器指令定时器指令三、计数器指令三、计数器指令比较指令比较指令比较指令是将两个数值或字符串按指定条件进行比较,条件成立时,触点就闭合。所
8、以比较指令实际上也是一种位指令。在实际应用中,比较指令为上下限控制以及数值条件判断提供了方便。类型:l字节比较、整数比较、双字整数比较、实数比较和字符串比较。l数值比较指令的运算符有:=、=、和等6种。字符串比较指令有=和两种。定时器及定时器指令定时器及定时器指令输入接点输入接点设定值设定值:132767定时器号码定时器号码(0255)INPTT37TON定时器分辨率(时基)有三种:1ms、10ms、100ms。定时器的分辨率由定时器号决定 定时器的实际设定时间定时器的实际设定时间T=设定值设定值PT分辨率分辨率 TONTON:接通延时定时器接通延时定时器 TOFTOF:断开延时定时器断开延时
9、定时器 TONRTONR:有记忆接通延时定时器有记忆接通延时定时器类型类型 1ms分分辩辩率定率定时时器器每隔每隔1ms刷新一次,刷新定刷新一次,刷新定时时器位和定器位和定时时器当前器当前值值,在一个在一个扫扫描周期中要刷新多次,而不和描周期中要刷新多次,而不和扫扫描周期同步。描周期同步。10ms分分辩辩率定率定时时器器10ms分分辩辩率定率定时时器启器启动动后,定后,定时时器器对对10ms时间间时间间隔隔进进行行计时计时。程序。程序执执行行时时,在每次,在每次扫扫描周期的开始描周期的开始对对10ms定定时时器刷新,在一个器刷新,在一个扫扫描周期内定描周期内定时时器位和定器位和定时时器当前器当
10、前值值保持不保持不变变。100ms分辨率定时器分辨率定时器 100ms定时器启动后,定时器对定时器启动后,定时器对100ms时间间隔时间间隔进行计时。只有在定时器指令执行时,进行计时。只有在定时器指令执行时,100ms定时器定时器的当前值才被刷新。的当前值才被刷新。TS=1200*0.1=120S延时接通定时器延时接通定时器 TON其工作波形图如下:其工作波形图如下:I0.1I0.1Q0.1Q0.1计时值计时值设定值设定值TS设定值设定值使能输入使能输入TONPTINT38T38TONPTINI0.1120()T38Q0.1延时断开定时器延时断开定时器 TOF其工作波形图如下其工作波形图如下:
11、I0.1Q0.1Q0.1计时值设定值TS设定值设定值使能输入使能输入TOFPTINT38TS=1200*0.1=120SI0.1120T38()T38Q0.1PTINTOF保持型定时器保持型定时器 TONR其工作波形图如下:其工作波形图如下:输入端输入端Q0.1Q0.1当前值当前值设定值设定值TSTS=120*10msM0.1M0.1T4输入端设定值TONRPTINTONRPTINI0.1120T4()T4Q0.1()T4R1M0.1最大值最大值32767120自复位式的定时器计数器指令计数器指令定时器是对PLC内部的时钟脉冲进行计数,而计数器是对外部的或由程序产生的计数脉冲进行计数。当前值当
12、前值:计数器累计计数的当前值(16位有符号整数),它存放在计数器的16位(bit)当前值寄存器中。每个计数器只有一个16位的当前值寄存器地址。在一个程序中,同一计数器号不要重复使用,更不可分配给几个不同类型的计数器。增计数器增计数器增增/减计数器减计数器增计数增计数减计数减计数复位复位C(0255)I0.1I1.1I1.2当前值输出端当前值当前值减.计数器CUPVC(0255)CTDLD复位,装设定值复位,装设定值计脉冲数计脉冲数I1.3I1.4当前值输出21计数器当前值等于0时,停止计数,同时计数器位被置位“1”设定值设定值5.2程序控制指令程序控制指令 Instructions of Pr
13、ogram ControlInstructions of Program Controll程序控制指令程序控制指令lPLC编程初步指导编程初步指导l应用实例应用实例l l程序控制指令程序控制指令l结束及暂停指令结束及暂停指令l看门狗复位指令看门狗复位指令l跳转及标号指令跳转及标号指令l循环指令循环指令程序控制指令程序控制指令END和MENDl结束指令分为有条件结束指令(END)和无条件结束指令(MEND)。l使用说明:结束指令只能用在主程序中,不能在子程序和中断程序中使用。而有条件结束指令可用在无条件结束指令前结束主程序。在调试程序时,在程序的适当位置插入无条件结束指令可实现程序的分段调试。可
14、以利用程序执行的结果状态、系统状态或外部设置切换条件来调用有条件结束指令,使程序结束。使用方法:软件自动处理。程序控制指令程序控制指令停止指令STOPlSTOP指令有效时,可以使主机CPU的工作方式由RUN切换到STOP,从而立即中止用户程序的执行。STOP指令在梯形图中以线圈形式编程。指令不含操作数。lSTOP指令可以用在主程序、子程序和中断程序中。如果在中断程序中执行STOP指令,则中断处理立即中止,并忽略所有挂起的中断。继续扫描程序的剩余部分,在本次扫描周期结束后,完成将主机从RUN到STOP的切换。lSTOP和END指令通常在程序中用来对突发紧急事件进行处理,以避免实际生产中的重大损失
15、。程序控制指令程序控制指令WDT(Watchdog Reset)称为看门狗复位指令,也称为警戒时钟刷新指令。它可以把警戒时钟刷新,即延长扫描周期,从而有效地避免看门狗超时错误。WDR指令在梯形图中以线圈形式编程,无操作数。跳转及标号指令跳转及标号指令l跳转指令JMP(Jump to Label):当输入端有效时,使程序跳转到标号处执行。l标号指令LBL(Label):指令跳转的目标标号。操作数n为0255。使用说明:l跳转指令和标号指令必须配合使用,而且只能使用在同一程序块中,如主程序、同一个子程序或同一个中断程序。不能在不同的程序块中互相跳转。l执行跳转后,被跳过程序段中的各元器件的状态:Q
16、、M、S、C等元器件的位保持跳转前的状态;计数器C停止计数,当前值存储器保持跳转前的计数值;对定时器来说,因刷新方式不同而工作状态不同。在跳转期间,分辨率为1 ms和10 ms的定时器会一直保持跳转前的工作状态,原来工作的继续工作,到设定值后,其位的状态也会改变,输出触点动作,其当前值存储器一直累计到最大值32 767才停止。对分辨率为100 ms的定时器来说,跳转期间停止工作,但不会复位,存储器里的值为跳转时的值,跳转结束后,若输入条件允许,可继续计时,但已失去了准确计时的意义。所以在跳转段里的定时器要慎用。使用举例使用举例循环指令循环指令l循环开始指令FOR:用来标记循环体的开始。l循环结
17、束指令NEXT:用来标记循环体的结束。无操作数。lFOR和NEXT之间的程序段称为循环体,每执行一次循环体,当前计数值增1,并且将其结果同终值作比较,如果大于终值,则终止循环。循环指令循环指令参数使用说明l循环指令盒中有三个数据输入端:当前循环计数INDX(index value or current loop count)、循环初值INIT(starting value)和循环终值FINAL(ending value)。lINDX操作数:VW、IW、QW、MW、SW、SMW、LW、T、C、AC、*VD、*AC和*CD;属INT型。lINIT和FINAL操作数:VW、IW、QW、MW、SW、S
18、MW、LW、T、C、AC、常数、*VD、*AC和*CD;属INT型。指令使用说明lFOR、NEXT指令必须成对使用。lFOR和NEXT可以循环嵌套,嵌套最多为8层,但各个嵌套之间不可有交叉现象。l每次使能输入(EN)重新有效时,指令将自动复位各参数。l初值大于终值时,循环体不被执行。l在使用循环指令时,要注意在循环体中对INDX的控制,这一点非常重要。子程序子程序子程序的调用l子程序调用指令(CALL)在使能输入有效时,主程序把程序控制权交给子程序。子程序的调用可以带参数,可以不带参数。l子程序条件返回指令(CRET)在使能输入有效时,结束子程序的执行,返回主程序中(此子程序调用的下一条指令)
19、。梯形图中以线圈的形式编程,指令不带参数。5.35.3PLC初步编程指导初步编程指导Guide of a Preliminary PLC ProgrammingGuide of a Preliminary PLC Programmingl梯形图编程的基本规则梯形图编程的基本规则PLC内部元器件触点的使用次数是无限制的。梯形图的每一行都是从左边母线开始,然后是各种触点的逻辑连接,最后以线圈或指令盒结束。触点不能放在线圈的右边。但如果是以有能量传递的指令盒结束时,可以使用AENO指令在其后面连接指令盒(较少使用)。l线圈和指令盒一般不能直接连接在左边的母线上,如线圈和指令盒一般不能直接连接在左边的
20、母线上,如需要的话可通过特殊的中间继电器需要的话可通过特殊的中间继电器SM0.0(常(常ON特殊特殊中间继电器)完成中间继电器)完成。在同一程序中,同一编号的线圈使用两次及两次以上称为双线圈输出。双线圈输出非常容易引起误动作,所以应避免使用。S7-200 PLC中不允许双线圈输出。在手工编写梯形图程序时,触点应画在水平线上,从习惯和美观的角度来讲,不要画在垂直线上。使用编程软件则不可能把触点画在垂直线上。l不包含触点的分支线条应放在垂直方向,不要放在水不包含触点的分支线条应放在垂直方向,不要放在水平方向,以便于读图和美观。使用编程软件则不可能平方向,以便于读图和美观。使用编程软件则不可能出现这
21、种情况。出现这种情况。应把串联多的电路块尽量放在最上边,把并联多的电路块尽量放在最左边,这样一是节省指令,二是美观。编程中应注意的编程中应注意的几个几个问题问题X0X0Y0Y0X1X1Y0Y0X1X1Y0Y0X0X0Y0Y0v用电路变换简化程序用电路变换简化程序(减少指令的条数)减少指令的条数)v避免出现无法编程的梯形图避免出现无法编程的梯形图LD X3LD X3A X5A X5O X1O X1AN X2AN X2=Y1=Y1LD X1LD X1A X5A X5O X3O X3AN X4AN X4=Y2=Y2EDEDX1X1X2X2Y1Y1X5X5X3X3X4X4Y2Y2v逻辑关系应尽量清楚逻
22、辑关系应尽量清楚(避免左轻右重避免左轻右重)LD X2LD X2AN X3AN X3A X4A X4LD X2LD X2A X5A X5AN X6AN X6A A X7X7LD X2LD X2A X5A X5AN X6AN X6A X8A X8AN X9AN X9OLDOLD=Y0=Y0EDEDX3X3X2X2X5X5X4X4X6X6X8X8X7X7Y0Y0X9X9X3X3X2X2X5X5X4X4X6X6X8X8X7X7Y0Y0X9X9X5X5X6X6X2X2X2X2边沿脉冲指令边沿脉冲指令应用实例应用实例l有两台水泵,一台工作、一台备用。为了保证有两台水泵,一台工作、一台备用。为了保证每台水
23、泵相对均匀工作,要求每台水泵相对均匀工作,要求:l1、每台泵可单独启停每台泵可单独启停l2、泵工作一天自动切换、泵工作一天自动切换 试设计水泵的主回路、并用试设计水泵的主回路、并用S7-200PLC实现控实现控制功能制功能主回路主回路I/O分配分配lI0.0#1启动启动lI0.1#1停止停止lI0.2#2启动启动lI0.3#2停止停止lI0.4 切换允许切换允许lQ0.0#1泵运行泵运行lQ0.1#2泵运行泵运行程序程序5.45.4典型的简单电路和环节的典型的简单电路和环节的PLCPLC程序设计程序设计 延时脉冲产生电路延时脉冲产生电路脉冲宽度可控制电路脉冲宽度可控制电路计数器的扩展计数器的扩
24、展长定时电路长定时电路报警电路报警电路应用实例应用实例延时脉冲产生电路延时脉冲产生电路控制要求:控制要求:有输入信号后,停一段时间产生一个脉冲有输入信号后,停一段时间产生一个脉冲瞬时接通瞬时接通/延时断开电路延时断开电路延时接通延时接通/延时断开电路延时断开电路脉冲宽度可控制电路脉冲宽度可控制电路计数器的扩展计数器的扩展定时器的扩展定时器的扩展闪烁电路闪烁电路报警电路报警电路l输入信号:I0.0为故障信号;I1.0为消铃按钮;I1.1为试灯按钮。l输出信号:Q0.0为报警灯;Q0.7为报警电铃。电动机顺序启动电动机顺序启动/停止电路停止电路l现有三台电动机现有三台电动机MA1、MA2、MA3,
25、要求启动,要求启动顺序为:先启动顺序为:先启动MA1,经,经1分钟后启动分钟后启动MA2,再经再经1分钟后启动分钟后启动MA3;停车时要求:先停;停车时要求:先停MA3,经,经30秒后再停秒后再停MA2,再经,再经30秒后停秒后停MA1。三台电机使用的接触器分别为。三台电机使用的接触器分别为QA1、QA2和和QA3。试设计该三台电动机的启。试设计该三台电动机的启/停控停控制线路,并用制线路,并用PLC实现上述功能。实现上述功能。电气控制线路电气控制线路I/O分配分配lI0.0 启动按钮启动按钮lI0.1 停止按钮停止按钮lQ0.0 MA1启动启动lQ0.1 MA2启动启动lQ0.2 MA3启动启动程序编制程序编制l时序控制时序控制l1)启动时序)启动时序l2)停止时序)停止时序l电机控制电机控制5.5 PLC程序的简单设计法程序的简单设计法l例例2:液体混合装置控制:液体混合装置控制总体介绍l初始状态l启动及正常操作l停止操作I/O点地址分配l输入点:输出点:l启动按钮SF1:I0.0 液体A电磁阀MB1:Q0.0l停止按钮SF2:I0.1 液体B电磁阀MB2:Q0.1l液位传感器BG1:I0.2 搅拌电机接触器MA:Q0.2l液位传感器BG2:I0.3 混合液体电磁阀MB3:Q0.3l液位传感器BG3:I0.4
限制150内