项目自动送料车控制系统相关知识课件_第1页
项目自动送料车控制系统相关知识课件_第2页
项目自动送料车控制系统相关知识课件_第3页
项目自动送料车控制系统相关知识课件_第4页
项目自动送料车控制系统相关知识课件_第5页
已阅读5页,还剩129页未读 继续免费阅读

下载本文档

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

文档简介

项目十一自动送料车控制系统

项目十一自动送料车控制系统1项目十一自动送料车控制系统项目描述任务1认知PLC程序结构任务2自动送料车系统工艺过程分析;外部接线图设计和I/O接线任务3用经验法编程控制送料车任务4用顺序控制编程控制送料车项目十一自动送料车控制系统项目描述2项目描述初始状态:S1=OFF,S2=OFF,阀K1、K2,电动机M1、M2、M3皆为OFF。气动系统,红灯灭L1=OFF,绿灯L2=ON,表示允许汽车开进装料,K1阀通电打开进料,当料斗中料到达上位S1时,K1阀关闭;5s后,红灯L1亮,绿灯L2灭。电机M3运行,电机M3运行2s后M2接通,M2运行2s后M1也接通运行,料斗出料阀K2在M1接通2s后打开出料。当汽车装料后S2=ON,料斗出料阀K2关闭,3s后电机M1停止运行,M1停止3s后m2停止,M2停止3s后M3停止,此时红灯灭L1=OFF,绿等L2=ON,汽车可以开走。前一汽车开走5s后,下一汽车进来,如此循环。当按下停止按钮后,系统停车顺序按汽车装满后的流程停车,直到全部到初始状态后系统停止运行。项目描述初始状态:S1=OFF,S2=OFF,阀K1、K2,3项目实施过程一、方案设计(1)硬件设计(2)软件设计二、项目实施(1)硬件接线(2)程序录入三、设备调试四、项目报告项目实施过程一、方案设计4任务1认知PLC程序结构学习目标:掌握程序控制功能指令,PLC系统控制的典型程序结构任务1认知PLC程序结构学习目标:51、S7-200的指令规约1.1使能输入与使能输出梯形图中有一条提供“能流”的左侧垂直母线,图中I2.4的常开触点接通时,能流流到功能块DIV_I的数字量输入端EN(EnableIN,使能输入),该输入端有能流时,功能指令DIV_I才能被执行。如果功能块在EN处有能流而且执行时无错误,则ENO(EnableOutput,使能输出)将能流传递给下一元件。如果执行过程中有错误,能流在出现错误的功能块终止。1、S7-200的指令规约1.1使能输入与使能输出6与ENO指令

AENO,与ENO指令ENO是梯形图和功能框图编程时指令盒的布尔能流输出端。如果指令盒的能流输入有效,同时执行没有错误,ENO就置位,将能流向下传递。当用梯形图编程时,且指令盒后串联一个指令盒或线圈,语句表语言中用AENO指令描述。

指令格式:AENO(无操作数)返回本节与ENO指令AENO,与ENO指令返回本节7与ENO指令AENO指令只能在语句表中使用,将栈顶值和ENO位的逻辑与运算,运算结果保存到栈顶。程序如图所示。返回本节与ENO指令与ENO指令AENO指令只能在语句表中使用,将栈顶值和EN81.2梯形图中的网络与指令在梯形图中,程序被划分为称为网络(Network)的独立的段,网络由触点、线圈和功能块组成。在梯形图中给出了网络的编号,如网络2。能流只能从左往右流功,网络中不能有断路、开路和反方向的能流。允许以网络为单位给梯形图程序加注释。STL程序不使用网络,如果用Network这个关键词对程序分段,可以将STL程序转换为梯形图程序。

1.2梯形图中的网络与指令在梯形图中,程序被划分为称为9必须有能流输入才能执行的功能块或线圈指令称为条件输入指令,它们不能直接连接到左侧母线上。如果需要无条件执行这些指令,可以用接在左侧母线上的SM0.0(该位始终为1)的常开触点来驱动它们。有的线圈或功能块的执行与能流无关,例如标号指令LBL和顺序控制指令SCR等,称为无条件输入指令,应将它们直接接在左侧母线上。不能级连的指令块没有END输出端和能流流出。JMP、CRET、LBL、NEXT、SCR和SCRE等属于这类指令。触点比较指令没有能流输入时,输出为0,有能流输入时,输出与比较结果有关。

必须有能流输入才能执行的功能块或线圈指令称为条件输入指令,它101.3其他规约

SIMATIC程序编辑器中的直接地址由存储器区和地址组成,如I0.0。IEC程序编辑器用%表示直接地址.如%I0.0。可以用数字和字母组成的符号来代替存储器的地址,符号地址便于记忆,使程序更容易理解。程序编译后下载到PLC时,所有的符号地址被转换为绝对地址。“INPUT1’’为全局符号名,符#INPUT1中的“#”号表示该符号是局部变量,红色问号“??.?”或“????”表示需要输入的地址或数值。梯形图中的规约:“”是一个开路符号,或需要能流连接。“|”表示输出是一个可选的能流,用于指令的级连。符号“>>”表示有一个值或能流可以使用。1.3其他规约SIMATIC程序编辑器中的直接地址由存储112.程序控制指令1.1结束指令结束指令有两条:END和MEND。两条指令在梯形图中以线圈形式编程。END(ConditionalEND),条件结束指令使能输入有效时,终止用户主程序。MEND,无条件结束指令无条件终止用户程序的执行,返回主程序的第一条指令。用Micro/Win32编程时,不需手工输入MEND指令,而是由软件自动加在主程序结尾。指令格式:END (无操作数)2.程序控制指令1.1结束指令122.暂停指令STOP,暂停指令使能输入有效时,该指令使主机CPU的工作方式由RUN切换到STOP方式,从而立即终止用户程序的执行。STOP指令在梯形图中以线圈形式编程。指令不含操作数。

STOP指令可用在主程序、子程序和中断程序中。指令格式:STOP (无操作数)返回本节2.2程序控制指令2.暂停指令返回本节2.2程序控制指令132.3监控定时器复位指令监控定时器(Watchdog)又称看门狗,它的定时时间为500ms,每次扫描都被自动复位一次,正常工作时,若扫描周期小于500ms,它不起作用。如扫描周期大于500ms,监控定时器会停止执行用户程序。如:1)用户程序很长;2)出现中断事件时,执行中断程序的时间很长;3)循环指令使扫描时间延长。4)为了防止在正常情况下监控定时器动作,可将监控定时器复位指令插到程序适当的地方。2.3监控定时器复位指令监控定时器(Watchdog)142.4看门狗复位指令WDR,看门狗复位指令当使能输入有效时,执行WDR指令,每执行一次,看门狗定时器就被复位一次。用本指令可用以延长扫描周期,从而可以有效避免看门狗超时错误。指令格式:WDR(无操作数)程序实例:指令STOP、END、WDR的应用如图所示。2.4看门狗复位指令WDR,看门狗复位指令15停止、结束、看门狗指令应用返回本节停止、结束、看门狗指令应用返回本节162.5循环指令循环开始

FOR,循环开始指令。用来标记循环体开始,在LAD中有3个输入端:INDX(Index):当前循环计数INIT(Initial):循环初值FINAL(Final):循环终值循环结束

NEXT,循环结束指令。用来标记循环体结束,无操作数。指令格式:FORINDX,INIT,FINAL

NEXT2.5循环指令循环开始17FOR指令必须与NEXT指令配套使用。允许循环嵌套,即FOR/NEXT循环在另一个FOR/NEXT循环之中,最多可嵌套8层。图6-2中的I2.1接通时,执行100次标有1的外层循环,I2.1和I2.2同时接通时,执行2次标有2的内层循环。FOR指令必须与NEXT指令配套使用。允许循环嵌套,即FO18【例6-1】在I0.1=1的上升沿,将10,15,20,…,35这6个数分别送到VW10,VW12,…,VW20。【例6-1】在I0.1=1的上升沿,将10,15,20,…,19程序实例返回本节程序实例返回本节202.6跳转与标号指令1.跳转指令(1)跳转指令 JMP(Jump),跳转指令 使能输入有效时,使程序流程跳到同一程序中的指定标号n处执行。执行跳转指令时,逻辑堆栈的栈顶值总是1。(2)标号指令LBL(Label),标号指令。标记程序段,作为跳转指令执行时跳转到的目的位置。操作数n为0~255的字型数据。指令格式:JMPnLBLn2.6跳转与标号指令1.跳转指令21程序实例:如右图所示。用增减计数器进行计数,如果当前值小于500,则程序按原顺序执行,若当前值超过500,则跳转到从标号10开始的程序执行。程序实例:如右图所示。用增减计数器进行计数,如果当前值小于5222.7诊断LED指令S7-200检测到致命错误时,SF/DlAG(故障/诊断)LED发出红光。在V4.0版编程软件的系统块的“配置LED”选项卡中,如果选择了有变量被强制或是有I/0错误时LED亮,出现上述诊断事件时LED将发黄光。如果两个选项都没有被选择,SF/DIAGLED发黄光只受DIAG_LED指令的控制。如果此时指令的输人参数IN为0,诊断LED不亮。如果IN大于0,诊断LED发黄光。图6-4的VB10中如果有非零的错误代码,将使诊断LED亮。

2.7诊断LED指令S7-200检测到致命错误时,SF/D233局部变量表与子程序

3.1局部变量表3.2建立子程序3.3子程序调用

3.4带参数的子程序调用

3局部变量表与子程序3.1局部变量表243.1局部变量表(1)局部变量与全局变量

程序中的每个POU(ProgramOrganizationalunit,程序组织单元)均有自己的由64字节L存储器组成的局部变量表。局部变量只在它被创建的POU中有效,在局部变量表中定义。全局符号在各POU中均有效,只能在符号表/局变量表中定义。全局符号与局部变量名称相同时,在定义局部变量的POU中,该局部变量的定义优先。该全局定义则在其它POU中使用。局部变量有以下优点:(a)在子程序中只用局部变量,不用绝对地址成全局符号,子程序可移植到别的项目中去。(b)如果使用临时变量(TEMP),同一片物理存储器可在不同的程序中重复使用。3.1局部变量表(1)局部变量与全局变量25(2)局部变量的类型

TRMP(临时变量):暂时保存在局部数据区中的变量。IN(输入变量):由调用它的POU提供的输入参数。OUT(输出变量):返回给调用它的POU的输出参数;IN_OUT(输入/输出变量):其初始值由调用它的POU提供,被子程序修改后返回给调用它的POU。(2)局部变量的类型TRMP(临时变量):暂时保存在局部26(3)局部变量的赋值在局部变量表中赋值时,只需指定局部变量的类型(TEMP、IN、IN_OUT或OUT)和数据类型,不用指定存储器地址,程序编辑器自动地在L存储区中为所有局部变量指定存储器位置。起始地址为L0,1~8个连续的位参数分配一个字节,字节中的位地址为Lx.0~Lx.7。字节、字和双字值在局部存储器中按字节顺序分配,例如LBx、Lwx或LDx。

(3)局部变量的赋值在局部变量表中赋值时,只需指定局部变量的27(4)在局部变量表中增加新的变量

对于主程序与中断程序,局部变量表显示一组已被预先定义为TEMP(临时)变量的行。要向表中增加行,只需用右健单击表中的某一行,选择“插入>行”指令,在所选行的上部插入新的行,选择“插入>行下”指令,在所选行的下部插入新的行。对于子程序,局部变量表显示数据类型被项先定义为IN、IN_OUT、OUT和TEMP的一系列行,不能改变它们的顺序。如果要增加新的局部变量,必须用鼠标右键单击已有的行,并用弹出菜单在所击行的上下插入相同类型的另一局部变量。(4)在局部变量表中增加新的变量对于主程序与中断程序,局部28(5)局部变量数据类型检查

局部变量作为参数向子程序传递时,在该子程序的局部变量表中指定的数据类型必须与调用POU中的数据类型值匹配。例如从主程序OB1调用子程序SBR0,使用名为INPUT1的全局符号作为子程序的输入参数。在SBR0的局部变量表中,已经定义了一个名为FIRST的局部变量作为该输入参数。当OB1调用SBR0时.INPUT1的数值被传入门FIRST,INPUT1和FIRST的数据类型必须匹配。(5)局部变量数据类型检查局部变量作为参数向子程序传递时,293.2子程序的编写1.子程序的作用子程序常用于需要多次反复执行相同任务的地方,只需要写一次子程序,别的程序在需要子程序的时候调用它,而无需重写该程序。子程序的调用是有条件的,未调用它时不会执行子程序中的指令,因此使用子程序可以减少扫描时间。使用子程序可以将程序分成容易管理的小块,使程序结构简单清晰,易于查错和维护。如果子程序中只使用局部变量,因为与其他POU没有地址冲突,可以将子程序移植到其他项目。为了移植子程序,应避免使用全局符号和变量,例如V存储器中的绝对地址。

3.2子程序的编写1.子程序的作用302.建立子程序

(CreateaSubroutine)

方法1:在指令窗口中,右击ProgramBlock图标,在弹出的选择按钮中单击InsertSubroutine;方法2:用菜单Edit|Insert|Subroutine;方法3:在编辑窗口右击编辑区,在弹出的菜单选项中选择Insert|Subroutine。新建的子程序默认的程序名是SBR_n,编号n从0开始按递增顺序生成,可以在图标上直接更改子程序的程序名。在指令树窗口双击子程序的图标就可对它进行编辑。2.建立子程序(CreateaSubroutine)31项目自动送料车控制系统相关知识课件323.3子程序调用

(CallInstruction)(1)子程序调用和返回指令子程序调用(CALL)使能输入有效时,主机把程序控制权交给子程序name。指令格式:CALLname例:CALLSBR-0子程序条件返回(ConditionalReturn)使能输入有效时,结束子程序的执行,返回主程序中子程序调用指令的下一条指令。指令格式:CRET例:CRET(2)注意事项

CRET多用于子程序内部,RET用于子程序的结束;子程序可以嵌套,最多8级;累加器可在调用程序和被调子程序之间自由传递,累加器的值不变。可以在主程序、另一子程序或中断程序中调用子程序,但是递归调用应甚用。调用子程序时将执行子程序的全部指令,直至子程序结束,然后返回调用程序中子程序调用指令的下一条指令之处。3.3子程序调用(CallInstruction)(33应用实例

如下图所示的程序实现用外部控制条件分别调用两个子程序。应用实例如下图所示的程序实现用外部控制条件分别调用两个子程34(1)子程序参数

变量名:最多8个字符,第一个不能是数字。变量类型(按数据传递方向划分)IN类型:传入子程序参数,直接寻址数据、间接寻址数据、立即数、数据的地址。IN/OUT类型:传入传出子程序参数,直接寻址数据、间接寻址数据OUT类型:传出子程序参数。直接寻址数据、间接寻址数据TEMP类型:暂时变量类型。在子程序内部暂时存储数据数据类型

能流、布尔型、字节型、字型、双字型、整数型、双整数型和实型3.4.带参数的子程序调用

(1)子程序参数3.4.带参数的子程序调用353.4.带参数的子程序调用

(2)参数子程序调用的规则常数参数必须声明数据类型,如DW#1234输入或输出参数没有自动数据类型转换功能参数在调用时必须按顺序排列,依次为IN、IN/OUT、OUT、TEMP3.4.带参数的子程序调用(2)参数子程序调用的规则36(3)变量表使用局部变量表例在局部变量表中加入一个参数,右击要加入的变量类型区,选择插入。局部变量表分配如下表所示,程序段如图所示。(3)变量表使用局部变量表例在局部变量表中加入一个参数,右击37(4)程序实例

子程序返回本节图5.5带参数的子程序调用主程序(4)程序实例子程序返回本节图5.5带参数的子程序调用38典型程序结构主程序初始化值程序回原点子程序全自动子程序半自动子程序手动子程序典型程序结构主程序39任务2自动送料车系统工艺过程分析初始状态:S1=OFF,S2=OFF,阀K1、K2,电动机M1、M2、M3皆为OFF。S1=OFF,S2=OFF:原点条件阀K1、K2,电动机M1、M2、M3皆为OFF:复位程序执行结果任务2自动送料车系统工艺过程分析初始状态:S1=OFF,S40工艺过程分析启动系统,红灯灭L1=OFF,绿灯L2=ON,表示允许汽车开进装料,K1阀通电打开进料,当料斗中料到达上位S1时,K1阀关闭;5s后,红灯L1亮,绿灯L2灭。电机M3运行,电机M3运行2s后M2接通,M2运行2s后M1也接通运行,料斗出料阀K2在M1接通2s后打开出料。:顺序延时工艺过程分析启动系统,红灯灭L1=OFF,绿灯L2=ON,表41工艺过程分析当汽车装料后S2=ON,料斗出料阀K2关闭,3s后电机M1停止运行,M1停止3s后m2停止,M2停止3s后M3停止,此时红灯灭L1=OFF,绿灯L2=ON,汽车可以开走。顺序延时前一汽车开走5s后,下一汽车进来,如此循环。循环程序当按下停止按钮后,系统停车顺序按汽车装满后的流程停车,直到全部到初始状态后系统停止运行。启保停电路工艺过程分析当汽车装料后S2=ON,料斗出料阀K2关闭,342地址分配序号符号地址含义1SB1I0.0启动按钮2SB2I1.0停止按钮3S1I0.1料仓上限4S2I0.2称重5K1Q0.0阀16KM1Q0.1电机M17KM2Q0.2电机M28KM3Q0.3电机M39K2Q0.4阀2L1Q0.5红灯10L2Q0.6绿灯地址分配序号符号地址含义1SB1I0.0启动按钮2SB2I143外部接线图外部接线图44任务3用经验法编程控制送料车1梯形图的经验设计法2根据继电器电路图设计梯形图的方法3经验法送料车程序设计任务3用经验法编程控制送料车1梯形图的经验设计法451梯形图的经验设计法数字量控制系统又称开关量控制系统,继电器控制系统就是典型的数字量控制系统。经验设计法:在一些典型电路的基础上,根据被控对象对控制系统的具体要求,根据经验不断地修改和完善梯形图。有时需要多次反复地调试和修改才能得到一个较为满意的结果。特点:没有普遍的规律可以遵循,具有很大的试探性和随意性,最后的结果不是惟一的,设计所用的时间、设计的质量与设计者的经验有很大的关系。1梯形图的经验设计法数字量控制系统又称开关量控制系统,继461.1起动保持停止电路起保停电路最主要的特点是具有“记忆”功能。在实际电路中,起动信号和停止信号可能由多个触点组成的串、并联电路提供。

1.1起动保持停止电路起保停电路最主要的特点是具有“记忆”471.2定时器应用电路【例4-1】用定时器设计延时接通延时断开电路,要求输入I0.0和输出Q0.1的波形如图4-2所示。

1.2定时器应用电路【例4-1】用定时器设计延时接通延时断开481.2定时器应用电路【例4-2】用计数器扩展定时器的定时范围。总的定时时间T=0.1KTKc(s)=0.1x3000sx12000=1,000h1.2定时器应用电路【例4-2】用计数器扩展定时器的定时范491.2定时器应用电路【例4-3】用定时器设计输出脉冲的周期和占空比可调的振荡电路(即闪烁电路)。闪烁电路实际上是一个具有正反馈的振荡电路,T37和T38的输出信号通过它们的触点分别控制对方的线圈,形成了正反馈。特殊存储器位SM0.5的常开触点提供周期为1s,占空比为0.5的脉冲信号,可以用它来驱动需要闪烁的指示灯。1.2定时器应用电路【例4-3】用定时器设计输出脉冲的501.3经验设计法举例

图4-5是三相异步电动机正反转控制的小车往复运动的主电路和继电器控制电路图1.3经验设计法举例

图4-5是三相异步电动机正反转控制的511.3经验设计法举例改为PLC控制系统的外部接线图硬件互锁电路1.3经验设计法举例改为PLC控制系统的外部接线图521.3经验设计法举例互锁按钮联锁梯形图中的软件互锁和按钮联锁电路并不保险,在电机切换方向的过程中,可能原来接通的接触器的主触点的电弧还没有熄灭,另一个接触器的主触点已经闭合了,由此造成瞬时的电源相间短路,使熔断器熔断。此外,如果因主电路电流过大或接触器质量不好,某一接触器的主触点被断电时产生的电弧熔焊而被粘结,其线圈断电后主触点仍然是接通的,这时如果另一

接触器的线圈通电,也会造成三相电源短路的事故。1.3经验设计法举例互锁531.4常闭触点输入信号的处理为了使梯形图和继电器电路图中触点的类型相同,建议尽可能地用常开触点作PLC的输入信号。如果某些信号只能用常闭触点输入,可以按输入全部为常开触点来设计,然后将梯形图中相应的输入位的触点改为相反的触点,即常开触点改为常闭触点,常闭触点改为常开触点。1.4常闭触点输入信号的处理为了使梯形图和继电器电路图中触542根据继电器电路图设计梯形图的方法2.1基本方法PLC使用与继电器电路图极为相似的梯形图语言,因此可以将继电器电路图“翻译”成梯形图。

这种设计方法一般不需要改动控制面板,保持了系统原有的外部特性,操作人员不用改变长期形成的操作习惯。

2根据继电器电路图设计梯形图的方法2.1基本方法552.1基本方法将继电器电路图转换为功能相同的PLC的外部接线图和梯形图的步骤:1)了解和熟悉被控设备的工艺过程和机械的动作情况,根据继电器电路图分析和掌握控制系统的工作原理,这样才能做到在设计和调试控制系统时心中有数。2)确定PLC的输入信号和输出负载,以及与它们对应的梯形图中的输入位和输出位的地址,画出PLC的外部接线图。3)确定与继电器电路图的中间继电器、时间继电器对应的梯形图中的存储器位(M)和定时器(T)的地址。这两步建立了继电器电路图中的元件和梯形图中的位地址之间的对应关系。4)根据上述对应关系画出梯形图。2.1基本方法将继电器电路图转换为功能相同的PLC的外部接线562.1基本方法三速异步电动机起动和自动加速的继电器控制电路图2.1基本方法三速异步电动机起动和自动加速的继电器控制电路图572.1基本方法PLC控制系统的外部接线图继电器电路图中的交流接触器和电磁阀等执行机构如果用PLC的输出位来控制,它们的线圈接在PLC的输出端。按钮、控制开关、限位开关、光电开关等用来给PLC提供控制命令和反馈信号,它们的触点接在PLC的输入端,一般使用常开触点。2.1基本方法PLC控制系统的外部接线图582.1基本方法继电器电路图中的中间继电器和时间继电器(如图4-8中的KA、KTl和KT2)的功能用PLC内部的存储器位和定时器来完成,它们与PLC的输入位、输出位无关。时间继电器KT2的触点是瞬动触点,即该触点在KT2的线圈通电的瞬间接通。在梯形图中,在与KT2对应的T38功能块的两端并联有M0.2的线圈,用M0.2的常开触点来模拟KT2的瞬动触点。

2.1基本方法继电器电路图中的中间继电器和时间继电器(如图4592.2注意事项1.应遵守梯形图语言中的语法规定2.设置中间单元3.尽量减少PLC的输入信号和输出信号4.设立外部联锁电路5.梯形图的优化设计6.外部负载的额定电压

2.2注意事项1.应遵守梯形图语言中的语法规定603经验法送料车程序设计请根据要求设计程序!并接线、调试!3经验法送料车程序设计请根据要求设计程序!61任务四用顺序控制编程控制送料车1程序结构设计2输出状态表3功能流程图4程序设计5程序调试任务四用顺序控制编程控制送料车1程序结构设计621程序结构设计主程序初始化程序复位程序自动程序1程序结构设计主程序632输出状态表请画出送料车的输出状态表,并划分工步。2输出状态表请画出送料车的输出状态表,并划分工步。643功能流程图根据输出状态表画出功能流程图。3功能流程图根据输出状态表画出功能流程图。654程序设计用启保停或置复位指令或顺序控制指令进行程序设计!4程序设计用启保停或置复位指令或顺序控制指令进行程序设计!665程序调试请在实验台上接线调试。5程序调试请在实验台上接线调试。67项目十一自动送料车控制系统

项目十一自动送料车控制系统68项目十一自动送料车控制系统项目描述任务1认知PLC程序结构任务2自动送料车系统工艺过程分析;外部接线图设计和I/O接线任务3用经验法编程控制送料车任务4用顺序控制编程控制送料车项目十一自动送料车控制系统项目描述69项目描述初始状态:S1=OFF,S2=OFF,阀K1、K2,电动机M1、M2、M3皆为OFF。气动系统,红灯灭L1=OFF,绿灯L2=ON,表示允许汽车开进装料,K1阀通电打开进料,当料斗中料到达上位S1时,K1阀关闭;5s后,红灯L1亮,绿灯L2灭。电机M3运行,电机M3运行2s后M2接通,M2运行2s后M1也接通运行,料斗出料阀K2在M1接通2s后打开出料。当汽车装料后S2=ON,料斗出料阀K2关闭,3s后电机M1停止运行,M1停止3s后m2停止,M2停止3s后M3停止,此时红灯灭L1=OFF,绿等L2=ON,汽车可以开走。前一汽车开走5s后,下一汽车进来,如此循环。当按下停止按钮后,系统停车顺序按汽车装满后的流程停车,直到全部到初始状态后系统停止运行。项目描述初始状态:S1=OFF,S2=OFF,阀K1、K2,70项目实施过程一、方案设计(1)硬件设计(2)软件设计二、项目实施(1)硬件接线(2)程序录入三、设备调试四、项目报告项目实施过程一、方案设计71任务1认知PLC程序结构学习目标:掌握程序控制功能指令,PLC系统控制的典型程序结构任务1认知PLC程序结构学习目标:721、S7-200的指令规约1.1使能输入与使能输出梯形图中有一条提供“能流”的左侧垂直母线,图中I2.4的常开触点接通时,能流流到功能块DIV_I的数字量输入端EN(EnableIN,使能输入),该输入端有能流时,功能指令DIV_I才能被执行。如果功能块在EN处有能流而且执行时无错误,则ENO(EnableOutput,使能输出)将能流传递给下一元件。如果执行过程中有错误,能流在出现错误的功能块终止。1、S7-200的指令规约1.1使能输入与使能输出73与ENO指令

AENO,与ENO指令ENO是梯形图和功能框图编程时指令盒的布尔能流输出端。如果指令盒的能流输入有效,同时执行没有错误,ENO就置位,将能流向下传递。当用梯形图编程时,且指令盒后串联一个指令盒或线圈,语句表语言中用AENO指令描述。

指令格式:AENO(无操作数)返回本节与ENO指令AENO,与ENO指令返回本节74与ENO指令AENO指令只能在语句表中使用,将栈顶值和ENO位的逻辑与运算,运算结果保存到栈顶。程序如图所示。返回本节与ENO指令与ENO指令AENO指令只能在语句表中使用,将栈顶值和EN751.2梯形图中的网络与指令在梯形图中,程序被划分为称为网络(Network)的独立的段,网络由触点、线圈和功能块组成。在梯形图中给出了网络的编号,如网络2。能流只能从左往右流功,网络中不能有断路、开路和反方向的能流。允许以网络为单位给梯形图程序加注释。STL程序不使用网络,如果用Network这个关键词对程序分段,可以将STL程序转换为梯形图程序。

1.2梯形图中的网络与指令在梯形图中,程序被划分为称为76必须有能流输入才能执行的功能块或线圈指令称为条件输入指令,它们不能直接连接到左侧母线上。如果需要无条件执行这些指令,可以用接在左侧母线上的SM0.0(该位始终为1)的常开触点来驱动它们。有的线圈或功能块的执行与能流无关,例如标号指令LBL和顺序控制指令SCR等,称为无条件输入指令,应将它们直接接在左侧母线上。不能级连的指令块没有END输出端和能流流出。JMP、CRET、LBL、NEXT、SCR和SCRE等属于这类指令。触点比较指令没有能流输入时,输出为0,有能流输入时,输出与比较结果有关。

必须有能流输入才能执行的功能块或线圈指令称为条件输入指令,它771.3其他规约

SIMATIC程序编辑器中的直接地址由存储器区和地址组成,如I0.0。IEC程序编辑器用%表示直接地址.如%I0.0。可以用数字和字母组成的符号来代替存储器的地址,符号地址便于记忆,使程序更容易理解。程序编译后下载到PLC时,所有的符号地址被转换为绝对地址。“INPUT1’’为全局符号名,符#INPUT1中的“#”号表示该符号是局部变量,红色问号“??.?”或“????”表示需要输入的地址或数值。梯形图中的规约:“”是一个开路符号,或需要能流连接。“|”表示输出是一个可选的能流,用于指令的级连。符号“>>”表示有一个值或能流可以使用。1.3其他规约SIMATIC程序编辑器中的直接地址由存储782.程序控制指令1.1结束指令结束指令有两条:END和MEND。两条指令在梯形图中以线圈形式编程。END(ConditionalEND),条件结束指令使能输入有效时,终止用户主程序。MEND,无条件结束指令无条件终止用户程序的执行,返回主程序的第一条指令。用Micro/Win32编程时,不需手工输入MEND指令,而是由软件自动加在主程序结尾。指令格式:END (无操作数)2.程序控制指令1.1结束指令792.暂停指令STOP,暂停指令使能输入有效时,该指令使主机CPU的工作方式由RUN切换到STOP方式,从而立即终止用户程序的执行。STOP指令在梯形图中以线圈形式编程。指令不含操作数。

STOP指令可用在主程序、子程序和中断程序中。指令格式:STOP (无操作数)返回本节2.2程序控制指令2.暂停指令返回本节2.2程序控制指令802.3监控定时器复位指令监控定时器(Watchdog)又称看门狗,它的定时时间为500ms,每次扫描都被自动复位一次,正常工作时,若扫描周期小于500ms,它不起作用。如扫描周期大于500ms,监控定时器会停止执行用户程序。如:1)用户程序很长;2)出现中断事件时,执行中断程序的时间很长;3)循环指令使扫描时间延长。4)为了防止在正常情况下监控定时器动作,可将监控定时器复位指令插到程序适当的地方。2.3监控定时器复位指令监控定时器(Watchdog)812.4看门狗复位指令WDR,看门狗复位指令当使能输入有效时,执行WDR指令,每执行一次,看门狗定时器就被复位一次。用本指令可用以延长扫描周期,从而可以有效避免看门狗超时错误。指令格式:WDR(无操作数)程序实例:指令STOP、END、WDR的应用如图所示。2.4看门狗复位指令WDR,看门狗复位指令82停止、结束、看门狗指令应用返回本节停止、结束、看门狗指令应用返回本节832.5循环指令循环开始

FOR,循环开始指令。用来标记循环体开始,在LAD中有3个输入端:INDX(Index):当前循环计数INIT(Initial):循环初值FINAL(Final):循环终值循环结束

NEXT,循环结束指令。用来标记循环体结束,无操作数。指令格式:FORINDX,INIT,FINAL

NEXT2.5循环指令循环开始84FOR指令必须与NEXT指令配套使用。允许循环嵌套,即FOR/NEXT循环在另一个FOR/NEXT循环之中,最多可嵌套8层。图6-2中的I2.1接通时,执行100次标有1的外层循环,I2.1和I2.2同时接通时,执行2次标有2的内层循环。FOR指令必须与NEXT指令配套使用。允许循环嵌套,即FO85【例6-1】在I0.1=1的上升沿,将10,15,20,…,35这6个数分别送到VW10,VW12,…,VW20。【例6-1】在I0.1=1的上升沿,将10,15,20,…,86程序实例返回本节程序实例返回本节872.6跳转与标号指令1.跳转指令(1)跳转指令 JMP(Jump),跳转指令 使能输入有效时,使程序流程跳到同一程序中的指定标号n处执行。执行跳转指令时,逻辑堆栈的栈顶值总是1。(2)标号指令LBL(Label),标号指令。标记程序段,作为跳转指令执行时跳转到的目的位置。操作数n为0~255的字型数据。指令格式:JMPnLBLn2.6跳转与标号指令1.跳转指令88程序实例:如右图所示。用增减计数器进行计数,如果当前值小于500,则程序按原顺序执行,若当前值超过500,则跳转到从标号10开始的程序执行。程序实例:如右图所示。用增减计数器进行计数,如果当前值小于5892.7诊断LED指令S7-200检测到致命错误时,SF/DlAG(故障/诊断)LED发出红光。在V4.0版编程软件的系统块的“配置LED”选项卡中,如果选择了有变量被强制或是有I/0错误时LED亮,出现上述诊断事件时LED将发黄光。如果两个选项都没有被选择,SF/DIAGLED发黄光只受DIAG_LED指令的控制。如果此时指令的输人参数IN为0,诊断LED不亮。如果IN大于0,诊断LED发黄光。图6-4的VB10中如果有非零的错误代码,将使诊断LED亮。

2.7诊断LED指令S7-200检测到致命错误时,SF/D903局部变量表与子程序

3.1局部变量表3.2建立子程序3.3子程序调用

3.4带参数的子程序调用

3局部变量表与子程序3.1局部变量表913.1局部变量表(1)局部变量与全局变量

程序中的每个POU(ProgramOrganizationalunit,程序组织单元)均有自己的由64字节L存储器组成的局部变量表。局部变量只在它被创建的POU中有效,在局部变量表中定义。全局符号在各POU中均有效,只能在符号表/局变量表中定义。全局符号与局部变量名称相同时,在定义局部变量的POU中,该局部变量的定义优先。该全局定义则在其它POU中使用。局部变量有以下优点:(a)在子程序中只用局部变量,不用绝对地址成全局符号,子程序可移植到别的项目中去。(b)如果使用临时变量(TEMP),同一片物理存储器可在不同的程序中重复使用。3.1局部变量表(1)局部变量与全局变量92(2)局部变量的类型

TRMP(临时变量):暂时保存在局部数据区中的变量。IN(输入变量):由调用它的POU提供的输入参数。OUT(输出变量):返回给调用它的POU的输出参数;IN_OUT(输入/输出变量):其初始值由调用它的POU提供,被子程序修改后返回给调用它的POU。(2)局部变量的类型TRMP(临时变量):暂时保存在局部93(3)局部变量的赋值在局部变量表中赋值时,只需指定局部变量的类型(TEMP、IN、IN_OUT或OUT)和数据类型,不用指定存储器地址,程序编辑器自动地在L存储区中为所有局部变量指定存储器位置。起始地址为L0,1~8个连续的位参数分配一个字节,字节中的位地址为Lx.0~Lx.7。字节、字和双字值在局部存储器中按字节顺序分配,例如LBx、Lwx或LDx。

(3)局部变量的赋值在局部变量表中赋值时,只需指定局部变量的94(4)在局部变量表中增加新的变量

对于主程序与中断程序,局部变量表显示一组已被预先定义为TEMP(临时)变量的行。要向表中增加行,只需用右健单击表中的某一行,选择“插入>行”指令,在所选行的上部插入新的行,选择“插入>行下”指令,在所选行的下部插入新的行。对于子程序,局部变量表显示数据类型被项先定义为IN、IN_OUT、OUT和TEMP的一系列行,不能改变它们的顺序。如果要增加新的局部变量,必须用鼠标右键单击已有的行,并用弹出菜单在所击行的上下插入相同类型的另一局部变量。(4)在局部变量表中增加新的变量对于主程序与中断程序,局部95(5)局部变量数据类型检查

局部变量作为参数向子程序传递时,在该子程序的局部变量表中指定的数据类型必须与调用POU中的数据类型值匹配。例如从主程序OB1调用子程序SBR0,使用名为INPUT1的全局符号作为子程序的输入参数。在SBR0的局部变量表中,已经定义了一个名为FIRST的局部变量作为该输入参数。当OB1调用SBR0时.INPUT1的数值被传入门FIRST,INPUT1和FIRST的数据类型必须匹配。(5)局部变量数据类型检查局部变量作为参数向子程序传递时,963.2子程序的编写1.子程序的作用子程序常用于需要多次反复执行相同任务的地方,只需要写一次子程序,别的程序在需要子程序的时候调用它,而无需重写该程序。子程序的调用是有条件的,未调用它时不会执行子程序中的指令,因此使用子程序可以减少扫描时间。使用子程序可以将程序分成容易管理的小块,使程序结构简单清晰,易于查错和维护。如果子程序中只使用局部变量,因为与其他POU没有地址冲突,可以将子程序移植到其他项目。为了移植子程序,应避免使用全局符号和变量,例如V存储器中的绝对地址。

3.2子程序的编写1.子程序的作用972.建立子程序

(CreateaSubroutine)

方法1:在指令窗口中,右击ProgramBlock图标,在弹出的选择按钮中单击InsertSubroutine;方法2:用菜单Edit|Insert|Subroutine;方法3:在编辑窗口右击编辑区,在弹出的菜单选项中选择Insert|Subroutine。新建的子程序默认的程序名是SBR_n,编号n从0开始按递增顺序生成,可以在图标上直接更改子程序的程序名。在指令树窗口双击子程序的图标就可对它进行编辑。2.建立子程序(CreateaSubroutine)98项目自动送料车控制系统相关知识课件993.3子程序调用

(CallInstruction)(1)子程序调用和返回指令子程序调用(CALL)使能输入有效时,主机把程序控制权交给子程序name。指令格式:CALLname例:CALLSBR-0子程序条件返回(ConditionalReturn)使能输入有效时,结束子程序的执行,返回主程序中子程序调用指令的下一条指令。指令格式:CRET例:CRET(2)注意事项

CRET多用于子程序内部,RET用于子程序的结束;子程序可以嵌套,最多8级;累加器可在调用程序和被调子程序之间自由传递,累加器的值不变。可以在主程序、另一子程序或中断程序中调用子程序,但是递归调用应甚用。调用子程序时将执行子程序的全部指令,直至子程序结束,然后返回调用程序中子程序调用指令的下一条指令之处。3.3子程序调用(CallInstruction)(100应用实例

如下图所示的程序实现用外部控制条件分别调用两个子程序。应用实例如下图所示的程序实现用外部控制条件分别调用两个子程101(1)子程序参数

变量名:最多8个字符,第一个不能是数字。变量类型(按数据传递方向划分)IN类型:传入子程序参数,直接寻址数据、间接寻址数据、立即数、数据的地址。IN/OUT类型:传入传出子程序参数,直接寻址数据、间接寻址数据OUT类型:传出子程序参数。直接寻址数据、间接寻址数据TEMP类型:暂时变量类型。在子程序内部暂时存储数据数据类型

能流、布尔型、字节型、字型、双字型、整数型、双整数型和实型3.4.带参数的子程序调用

(1)子程序参数3.4.带参数的子程序调用1023.4.带参数的子程序调用

(2)参数子程序调用的规则常数参数必须声明数据类型,如DW#1234输入或输出参数没有自动数据类型转换功能参数在调用时必须按顺序排列,依次为IN、IN/OUT、OUT、TEMP3.4.带参数的子程序调用(2)参数子程序调用的规则103(3)变量表使用局部变量表例在局部变量表中加入一个参数,右击要加入的变量类型区,选择插入。局部变量表分配如下表所示,程序段如图所示。(3)变量表使用局部变量表例在局部变量表中加入一个参数,右击104(4)程序实例

子程序返回本节图5.5带参数的子程序调用主程序(4)程序实例子程序返回本节图5.5带参数的子程序调用105典型程序结构主程序初始化值程序回原点子程序全自动子程序半自动子程序手动子程序典型程序结构主程序106任务2自动送料车系统工艺过程分析初始状态:S1=OFF,S2=OFF,阀K1、K2,电动机M1、M2、M3皆为OFF。S1=OFF,S2=OFF:原点条件阀K1、K2,电动机M1、M2、M3皆为OFF:复位程序执行结果任务2自动送料车系统工艺过程分析初始状态:S1=OFF,S107工艺过程分析启动系统,红灯灭L1=OFF,绿灯L2=ON,表示允许汽车开进装料,K1阀通电打开进料,当料斗中料到达上位S1时,K1阀关闭;5s后,红灯L1亮,绿灯L2灭。电机M3运行,电机M3运行2s后M2接通,M2运行2s后M1也接通运行,料斗出料阀K2在M1接通2s后打开出料。:顺序延时工艺过程分析启动系统,红灯灭L1=OFF,绿灯L2=ON,表108工艺过程分析当汽车装料后S2=ON,料斗出料阀K2关闭,3s后电机M1停止运行,M1停止3s后m2停止,M2停止3s后M3停止,此时红灯灭L1=OFF,绿灯L2=ON,汽车可以开走。顺序延时前一汽车开走5s后,下一汽车进来,如此循环。循环程序当按下停止按钮后,系统停车顺序按汽车装满后的流程停车,直到全部到初始状态后系统停止运行。启保停电路工艺过程分析当汽车装料后S2=ON,料斗出料阀K2关闭,3109地址分配序号符号地址含义1SB1I0.0启动按钮2SB2I1.0停止按钮3S1I0.1料仓上限4S2I0.2称重5K1Q0.0阀16KM1Q0.1电机M17KM2Q0.2电机M28KM3Q0.3电机M39K2Q0.4阀2L1Q0.5红灯10L2Q0.6绿灯地址分配序号符号地址含义1SB1I0.0启动按钮2SB2I1110外部接线图外部接线图111任务3用经验法编程控制送料车1梯形图的经验设计法2根据继电器电路图设计梯形图的方法3经验法送料车程序设计任务3用经验法编程控制送料车1梯形图的经验设计法1121梯形图的经验设计法数字量控制系统又称开关量控制系统,继电器控制系统就是典型的数字量控制系统。经验设计法:在一些典型电路的基础上,根据被控对象对控制系统的具体要求,根据经验不断地修改和完善梯形图。有时需要多次反复地调试和修改才能得到一个较为满意的结果。特点:没有普遍的规律可以遵循,具有很大的试探性和随意性,最后的结果不是惟一的,设计所用的时间、设计的质量与设计者的经验有很大的关系。1梯形图的经验设计法数字量控制系统又称开关量控制系统,继1131.1起动保持停止电路起保停电路最主要的特点是具有“记忆”功能。在实际电路中,起动信号和停止信号可能由多个触点组成的串、并联电路提供。

1.1起动保持停止电路起保停电路最主要的特点是具有“记忆”1141.2定时器应用电路【例4-1】用定时器设计延时接通延时断开电路,要求输入I0.0和输出Q0.1的波形如图4-2所示。

1.2定时器应用电路【例4-1】用定时器设计延时接通延时断开1151.2定时器应用电路【例4-2】用计数器扩展定时器的定时范围。总的定时时间T=0.1KTKc(s)=0.1x3000sx12000=1,000h1.2定时器应用电路【例4-2】用计数器扩展定时器的定时范1161.2定时器应用电路【例4-3】用定时器设计输出

温馨提示

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

最新文档

评论

0/150

提交评论