《第4章应用指令课件.ppt》由会员分享,可在线阅读,更多相关《第4章应用指令课件.ppt(42页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第4章应用指令4.1 程序控制类指令4.2特殊指令4.1 程序控制类指令n4.1.1结束及暂停指令n4.1.2看门狗指令n4.1.3跳转指令 4.1.4子程序指令 n4.1.5程序循环指令n4.1.6顺序控制继电器指令n4.1.7与ENO指令 返回本章首页返回本章首页第4章应用指令4.1.1有条件结束指令梯形图:梯形图:语句表:语句表:END 功能:功能:当前面的逻辑条件成立时终止当前扫描周期当前面的逻辑条件成立时终止当前扫描周期。举例:举例:结结束束指指令令分分为为:有有条条件件结结束束指指令令(END)和和无无条条件件结结束束指指令令(MEND)。)。END指令在梯形图中以线圈形式编程,指
2、令不含操作数。指令在梯形图中以线圈形式编程,指令不含操作数。END指指令令功功能能:指指令令根根据据前前面面的的逻逻辑辑条条件件终终止止用用户户主主程程序序(只只能用于主程序能用于主程序)。编程人员不需手工输入编程人员不需手工输入MEND指令,而是由软件自动加在主程序结尾。返回指令,而是由软件自动加在主程序结尾。返回主程序的第一条指令。主程序的第一条指令。暂停指令STOP,暂暂停停指指令令。指指令令在在梯梯形形图图中中以以线线圈圈形形式式编编程程,指令不含操作数。指令不含操作数。暂暂停停指指令令能能够够引引起起CPU工工作作方方式式发发生生变变化化,从从RUN(运运行行)模模式式转转换换为为S
3、TOP(暂暂停停)模模式式,立立即即终终止止程程序序的执行。的执行。STOP指指令令可可以以用用在在主主程程序序、子子程程序序和和中中断断程程序序中中。如如果果在在中中断断程程序序中中执执行行STOP(暂暂停停)指指令令,中中断断程程序序立立即即终终止止,并并忽忽略略全全部部待待执执行行的的中中断断,继继续续扫扫描描主主程程序序的的剩剩余余部部分分。在在本本次次扫扫描描结结束束后后,CPU从从RUN(运运行行)模模式式转换至转换至STOP(暂停)模式。暂停)模式。STOP和和END指指令令通通常常在在程程序序中中对对突突发发紧紧急急事事件件进进行行处处理,以避免实际生产中的重大损失。理,以避免
4、实际生产中的重大损失。梯形图:梯形图:语句表:语句表:STOP 功能:功能:能够引起能够引起CPU工作方式从工作方式从RUN进入进入STOP,立即终止程序的执行立即终止程序的执行。举例:举例:在在本本例例中中,SM5.0为为I/O错错误误继继电电器器,当当出出现现I/O错错误时,误时,SM5.0=1,此时会强迫,此时会强迫CPU进入停止方式。进入停止方式。4.1.2看门狗 nWDR,看看门门狗狗复复位位指指令令。当当使使能能输输入入有有效效时时,执执行行WDR指指令,每执行一次,看门狗定时器就被复位一次。令,每执行一次,看门狗定时器就被复位一次。nS7的的看看门门狗狗WDR的的设设定定值值为为
5、300ms,有有时时在在循循环环或或调调用用子子程程序序,响响应应中中断断服服务务程程序序时时,扫扫描描时时间间超超过过300ms,WDR会认为出错。会认为出错。n可可用用本本指指令令可可用用以以延延长长扫扫描描周周期期,从从而而可可以以有有效效避避免免看看门门狗狗超时错误。超时错误。n指令格式:指令格式:WDR(无操作数)无操作数)系统故障情况下,扫描时间大于系统故障情况下,扫描时间大于WDT设定值,该定时器不设定值,该定时器不能及时复位,则报警并停止能及时复位,则报警并停止CPU运行,同时复位输入、输出。运行,同时复位输入、输出。这种故障称为这种故障称为WDT故障,以防止因系统故障或程序进
6、入死循故障,以防止因系统故障或程序进入死循环而引起的扫描周期过长。环而引起的扫描周期过长。梯形图:梯形图:图图4.1停止、结束、看门狗指令停止、结束、看门狗指令返回本节返回本节4.1.3跳转 梯形图:梯形图:编写子程序的步骤编写子程序的步骤1.建立子程序建立子程序2.编写编写子程序子程序3.在主程序、其他子程序、或中断程序中在主程序、其他子程序、或中断程序中调用子程序调用子程序(带参数的子程序)(带参数的子程序)和子程序返回指令4.1.4子程序指令 1.建立子程序可采用下列方式创建子程序:打开程序编辑器,在“编辑”菜单中执行命令“插入”“子程序”;在程序编辑器视窗中单击鼠标右键,在弹出菜单中执
7、行命令“插入”“子程序”;用鼠标右键单击指令树上的“程序块”图标,在弹出菜单中执行命令“插入”“子程序”,程序编辑器将自动生成并打开新的子程序,在程序编辑器底部出现标有新的子程序的标签。2.子程序调用 n(1)子程序调用和返回指令)子程序调用和返回指令 子程序调用子程序调用 子程序条件返回子程序条件返回n(2)注意事项)注意事项n可有可有64个子程序,可以嵌套子程序,最大个子程序,可以嵌套子程序,最大嵌套深度为嵌套深度为8n子程序内子程序内不能用不能用END指令指令n不允许直接递归(自己调用自己),可间不允许直接递归(自己调用自己),可间接递归接递归n (3)应用实例)应用实例 SBR1EN(
8、RET)n图图4.3所所示示的的程程序序实实现现用用外外部部控控制制条条件件分分别别调调用两个子程序。用两个子程序。图图4.3 子程序调用举例子程序调用举例n(1)子程序参数)子程序参数-最多最多可带可带16个参数,每个参数,每个参数包含:个参数包含:变量名变量名 变量类型变量类型(IN类型、类型、IN/OUT、OUT)数据类型数据类型(位、字节、字、双字、实型)(位、字节、字、双字、实型)n(2)参数子程序调用的规则)参数子程序调用的规则n参数与局部变量表的定义相匹配参数与局部变量表的定义相匹配n参数顺序是:输入,输入参数顺序是:输入,输入/输出,输出输出,输出n(3)程序实例)程序实例 3
9、.带参数的子程序调用带参数的子程序调用 图图4.5 带参数的子程序调用带参数的子程序调用返回本节返回本节4.1.5程序循环 1.循环开始循环开始FOR每执行一次循环计数值每执行一次循环计数值加加1,当计数值大于,当计数值大于终值,则循环终止。终值,则循环终止。2.循环结束循环结束 NEXT3.程序实例程序实例 FOREN ENOINDXINITFINAL (NEXT)计数值计数值初值初值终值终值循环指令使用说明:循环指令使用说明:FORFOR、NEXTNEXT指令必须成对使用;指令必须成对使用;FORFOR和和NEXTNEXT可可以以循循环环嵌嵌套套,嵌嵌套套最最多多为为8 8层层,但但各个嵌
10、套之间各个嵌套之间不可有交叉不可有交叉现象;现象;每每次次使使能能输输入入(ENEN)重重新新有有效效时时,指指令令将将自自动动复位各参数;复位各参数;初值大于终值时,循环体不被执行。初值大于终值时,循环体不被执行。循环指令循环指令循环指令的使用举例在在本本例例中中,为为2层层循循环环 嵌嵌 套套,循循 环环 体体 为为VW300中中的的数数值值自自加加1。当当2层层循循环环条条件件同同时时满满足足,程程 序序 执执 行行 后后,VW300中中的的数数值值加加了了200个个1。4.1.7顺序控制继电器(p162)n顺顺序序控控制制继继电电器器S是是专专门门用用于于编编写写顺顺序序控控制程序(常
11、称为步进控制)的。制程序(常称为步进控制)的。n所所谓谓顺顺序序控控制制,使使生生产产过过程程按按生生产产工工艺艺的的要要求求预预先先安安排排的的顺顺序序自自动动地地进进行行生生产产的的控控制方式。制方式。n一一个个步步进进控控制制程程序序是是由由若若干干个个SCR段段组组成成,每每个个SCR段段对对应应步步进进控控制制中中的的一一个个功功能能控控制步。制步。n1.顺序继电器指令顺序继电器指令n(1)段开始指令)段开始指令n功功能能:标标记记一一个个SCR段段的的开开始始,操操作作数数是是顺顺序序继继电电器器Sx.y(如(如S0.0)。n当当顺顺序序继继电电器器Sx.y=1启启动动SCR x.
12、y的的顺顺序序程程序序。即即允允许该许该SCR段工作。段工作。n(2)段转移)段转移n功功能能:是是当当Sx.y=1,将将当当前前的的SCR段段停停止止,切切换换到到下下一一个个SCR。其其操操作作数数为为下下一一个个SCR的的标标志志位位(如如S0.1)n(3)段结束)段结束n功能:标记一个段的结束。功能:标记一个段的结束。SCRSx.yLSCR SnSn(SCRT)SCRT SnSn(SCRE)SCRE4.1.7 顺序控制继电器指令顺序结构程序实例 根根据据舞舞台台灯灯光光效效果果的的要要求求,控控制制红红、绿绿、黄黄三三色色灯灯。要要求求:红红灯灯先先亮亮,2s2s后后绿绿灯灯亮亮,再再
13、过过3s3s后后黄黄灯灯亮亮。待待红红、绿绿、黄黄灯灯全全亮亮3min3min后后,全全部部熄熄灭灭。程程序序如如图图4-294-29所示。所示。说明:每一个说明:每一个SCRSCR程序段中均包含三个要素:程序段中均包含三个要素:1 1)输出对象:在这一步序中应完成的动作;)输出对象:在这一步序中应完成的动作;2 2)转移条件:满足转移条件后,实现)转移条件:满足转移条件后,实现SCRSCR段的转移;段的转移;3 3)转移目标:转移到下一个步序。)转移目标:转移到下一个步序。程序实例根根据据舞舞台台灯灯光光效效果果的的要要求求,控控制制红红、绿绿、黄黄三三色色灯灯。要要求求:红红灯灯先先亮亮,
14、2s2s后后绿绿灯灯亮亮,再再过过3s3s后后黄黄灯灯亮亮。待待红红、绿绿、黄黄灯灯全全亮亮3min3min后后,全全部部熄熄灭灭。程程序序如下图所示。如下图所示。分析:控制可分四步分析:控制可分四步1 1)按按启启动动按按钮钮-灯灯都都不不亮亮时时,红红灯灯亮亮2s-T372s-T37;2 2)时间到)时间到 T37=1-T37=1-绿灯亮绿灯亮3s-T38;3s-T38;3 3)时间到)时间到 T38=1-T38=1-黄灯亮黄灯亮3min-T393min-T394 4)时间到)时间到 T39=1-T39=1-灯全灭灯全灭LD I0.1AN Q0.0AN Q0.1AN Q0.2 /在初始状态
15、下起动,置S S0.1,1 /S0.1=1LSCR S0.1/S0.1=1,激活第一SCR程序段,/进入第一步序LD SM0.0S Q0.0,1 /红灯亮,并保持TON T37,+20 /启动2s定时器LD T37 /2s后程序转移到第二SCR段,SCRT S0.2 /(S0.2=1,S0.1=0)SCRE /第一SCR段结束LSCR S0.2/S0.2=1,激活第二SCR程序段,/进入第二步序LD SM0.0S Q1.1 /绿灯亮,并保持TON T38,+30 /启动3s定时器 LD I0.1LD T38 /3s后程序转移到第三SCR段,SCRT S0.3 /(S0.3=1,S0.2=0)S
16、CRE /第二SCR段结束LSCR S0.3/S0.3=1,激活第三SCR程序段,/进入第三步序LD SM0.0S Q0.2,1 /黄灯亮,并保持TON T39,+1800 /启动3min定时器LD T39 /3min后程序转移到第四SCR段,SCRT S0.4 /(S0.4=1,S0.3=0)SCRE /第三SCR段结束LSCR S0.4/S0.4=1,激活第四SCR程序段,/进入第四步序LD SM0.0R S0.1,4R Q0.0,3 /红、绿、黄灯全灭SCRE /第四SCR段结束 图4-29 SCR指令编程 返回返回4.1.8与ENO指令 nAENO,与,与ENO指令。指令。ENO是梯形
17、图和功能是梯形图和功能框图编程时指令盒的框图编程时指令盒的布尔能流输出端布尔能流输出端。如果。如果指令盒的能流输入有效,同时执行没有错误,指令盒的能流输入有效,同时执行没有错误,ENO就置位,将能流向下传递。当用梯形图就置位,将能流向下传递。当用梯形图编程时,且指令盒后串联一个指令盒或线圈,编程时,且指令盒后串联一个指令盒或线圈,语句表语言中用语句表语言中用AENO指令描述。指令描述。n指令格式:指令格式:AENO(无操作数)无操作数)图图4.13与与ENO指令指令AENO指令只能在语句表中使用,将栈顶值和ENO位的逻辑与运算,运算结果保存到栈顶。程序如图4.13所示。返回本节返回本节4.2.
18、1 中断 n1.中断源中断源n(1)中断源及种类)中断源及种类n中中断断源源,即即中中断断事事件件发发出出中中断断请请求求的的来来源源。S7-200可可编编程程序序控控制制器器具具有有34个个中中断断源源,每每个个中中断断源源都都分分配配一一个个编编号号用用以以识识别别,称称为为中中断断事事件件号号。这这些些中中断断源源大大致致分分为为三三大大类类:通通信中断、输入输出中断和时基中断。信中断、输入输出中断和时基中断。4.2特殊指令n(2)中断优先级)中断优先级 n中中断断优优先先级级由由高高到到低低依依次次是是:通通信信中中断断、输输入入输输出出中中断断、时时基基中中断断。每每种种中中断断中中
19、的的不不同同中断事件又有不同的优先权。中断事件又有不同的优先权。n主机中的所有中断事件及优先级如表主机中的所有中断事件及优先级如表4.2所示。所示。表表4.2中断事件及优先级中断事件及优先级n2.中断操作指令中断操作指令n包括:包括:n(1)开开中中断断指指令令ENI-全全局局开开放放所所有有被连接的被连接的中断中断事件事件n(2)关关中中断断指指令令DISI-全全局局关关断断所所有有被连接的中断事件被连接的中断事件n(3)中断连接指令)中断连接指令ATCHn功功能能:建建立立一一个个中中断断事事件件EVNT与与一一个个标标号号为为INTn中中断断服服务务程程序序联联系系,并并对对该中断事件开
20、放。该中断事件开放。(ENI)(DISI)ATCHEN ENOINTEVNTn(4)中断)中断分离分离指令指令DTCHn功能:取消某个中断事件功能:取消某个中断事件EVNT与所有中断程序的关与所有中断程序的关联,并对联,并对该事件关中断该事件关中断。n(5)中断返回指令)中断返回指令RETI和和CRETn注意事项注意事项 中断服务程序中,不能使用开中断指令中断服务程序中,不能使用开中断指令ENI、关中、关中断指令断指令DISI、定义高速计数器指令、定义高速计数器指令HDEF、步进开、步进开始指令始指令LSCR、条件结束指令、条件结束指令END。n程序实例程序实例有条件返回无条件返回n(3)程序
21、实例)程序实例n控制要求:控制要求:n程程序序实实现现的的功功能能是是用用I0.4开开放放I0.1输输入入点点的的上上升升沿沿中中断断,若若发发现现I/O错错误误,则则禁禁止止本本中中断断,用用外外部部条条件件I0.5可可以以禁禁止止全局中断。全局中断。n程程序序实实现现:本本程程序序如图如图4.10所示。所示。图图4.10中断调用程序中断调用程序n3.中断程序中断程序n(1)构成)构成n中中断断程程序序必必须须由由三三部部分分构构成成:中中断断程程序序标标号号、中断程序指令和无条件返回指令。中断程序指令和无条件返回指令。n(2)编制方法)编制方法n建立中断程序建立中断程序INT nn在在IN
22、T n中编写其服务程序中编写其服务程序n编写中断连接指令编写中断连接指令n允许中断允许中断返回本节返回本节模拟量数据采集和显示实例n温度检测系统,测温元件热电阻温度检测系统,测温元件热电阻Pt100测温测温范围范围0200度(电流型),用度(电流型),用EM235模块,模块,测量并显示。测量并显示。n分析:分析:n0200度度 对应对应 420mAn 数字量数字量n想知道实际温度对应的数字量和模拟量如何求?想知道实际温度对应的数字量和模拟量如何求?32000(32000/20)*4=6400测量的实际温度测量的实际温度=(AIW0-6400)(200-0)/(32000-6400)+0n数据采
23、集:数据采集:n应确定采样周期,依据香农定理应确定采样周期,依据香农定理n需要定时采样模拟量的输入。需要定时采样模拟量的输入。n可以采用定时中断可以采用定时中断-中断服务程序里进行中断服务程序里进行采集数据和换算采集数据和换算n用定时中断用定时中断0,SM34,设定设定100msn主程序完成初始化和显示任务主程序完成初始化和显示任务n见程序见程序定时中断定时中断0,设定,设定100ms,在中断,在中断服务程序中进行数据采集和变换服务程序中进行数据采集和变换温度模拟量数据采集实例温度模拟量数据采集实例0200度范围度范围测量的实际温度测量的实际温度=(AIW-6400)/(32000-6400)/2006400128结结 束束