006第4章应用指令课件_第1页
006第4章应用指令课件_第2页
006第4章应用指令课件_第3页
006第4章应用指令课件_第4页
006第4章应用指令课件_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

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

文档简介

第4章应用指令4.1程序控制类指令4.2特殊指令第4章应用指令4.1程序控制类指令14.1程序控制类指令4.1.1结束及暂停指令4.1.2看门狗指令4.1.3跳转指令

4.1.4子程序指令

4.1.5程序循环指令4.1.6顺序控制继电器指令4.1.7与ENO指令

返回本章首页第4章应用指令4.1程序控制类指令4.1.1结束及暂停指令返回本章首24.1.1有条件结束指令梯形图:语句表:

END

功能:当前面的逻辑条件成立时终止当前扫描周期。举例:结束指令分为:有条件结束指令(END)和无条件结束指令(MEND)。END指令在梯形图中以线圈形式编程,指令不含操作数。END指令功能:指令根据前面的逻辑条件终止用户主程序(只能用于主程序)。编程人员不需手工输入MEND指令,而是由软件自动加在主程序结尾。返回主程序的第一条指令。4.1.1有条件结束指令梯形图:结束指令分为:有条件结束指3暂停指令STOP,暂停指令。指令在梯形图中以线圈形式编程,指令不含操作数。暂停指令能够引起CPU工作方式发生变化,从RUN(运行)模式转换为STOP(暂停)模式,立即终止程序的执行。STOP指令可以用在主程序、子程序和中断程序中。如果在中断程序中执行STOP(暂停)指令,中断程序立即终止,并忽略全部待执行的中断,继续扫描主程序的剩余部分。在本次扫描结束后,CPU从RUN(运行)模式转换至STOP(暂停)模式。STOP和END指令通常在程序中对突发紧急事件进行处理,以避免实际生产中的重大损失。暂停指令STOP,暂停指令。指令在梯形图中以线圈形式编程,4梯形图:语句表:

STOP

功能:能够引起CPU工作方式从RUN进入STOP,立即终止程序的执行。举例:在本例中,SM5.0为I/O错误继电器,当出现I/O错误时,SM5.0=1,此时会强迫CPU进入停止方式。梯形图:在本例中,SM5.0为I/O错误继电器,当出现I/O54.1.2看门狗

WDR,看门狗复位指令。当使能输入有效时,执行WDR指令,每执行一次,看门狗定时器就被复位一次。S7的看门狗WDR的设定值为300ms,有时在循环或调用子程序,响应中断服务程序时,扫描时间超过300ms,WDR会认为出错。可用本指令可用以延长扫描周期,从而可以有效避免看门狗超时错误。指令格式:WDR (无操作数)系统故障情况下,扫描时间大于WDT设定值,该定时器不能及时复位,则报警并停止CPU运行,同时复位输入、输出。这种故障称为WDT故障,以防止因系统故障或程序进入死循环而引起的扫描周期过长。梯形图:4.1.2看门狗WDR,看门狗复位指令。当使能输入有效时6图4.1停止、结束、看门狗指令返回本节图4.1停止、结束、看门狗指令返回本节74.1.3跳转梯形图:4.1.3跳转梯形图:8006第4章应用指令课件9编写子程序的步骤1.建立子程序2.编写子程序3.在主程序、其他子程序、或中断程序中调用子程序(带参数的子程序)和子程序返回指令

4.1.4子程序指令

编写子程序的步骤4.1.4子程序指令101.建立子程序可采用下列方式创建子程序:①打开程序编辑器,在“编辑”菜单中执行命令“插入”→“子程序”;②在程序编辑器视窗中单击鼠标右键,在弹出菜单中执行命令“插入”→“子程序”;③用鼠标右键单击指令树上的“程序块”图标,在弹出菜单中执行命令“插入”→“子程序”,程序编辑器将自动生成并打开新的子程序,在程序编辑器底部出现标有新的子程序的标签。1.建立子程序可采用下列方式创建子程序:112.子程序调用

(1)子程序调用和返回指令子程序调用

子程序条件返回(2)注意事项可有64个子程序,可以嵌套子程序,最大嵌套深度为8子程序内不能用END指令不允许直接递归(自己调用自己),可间接递归(3)应用实例

SBR1EN(RET)2.子程序调用(1)子程序调用和返回指令12图4.3所示的程序实现用外部控制条件分别调用两个子程序。图4.3子程序调用举例图4.3所示的程序实现用外部控制条件分别调用两个子程序。图413(1)子程序参数---最多可带16个参数,每个参数包含:

变量名

变量类型(IN类型、IN/OUT、OUT)数据类型(位、字节、字、双字、实型)(2)参数子程序调用的规则参数与局部变量表的定义相匹配参数顺序是:输入,输入/输出,输出(3)程序实例

3.带参数的子程序调用

(1)子程序参数---最多可带16个参数,每个参数包含:314图4.5带参数的子程序调用返回本节图4.5带参数的子程序调用返回本节154.1.5程序循环

1.循环开始FOR每执行一次循环计数值加1,当计数值大于终值,则循环终止。2.循环结束NEXT3.

程序实例

FORENENOINDXINITFINAL(NEXT)计数值初值终值4.1.5程序循环1.循环开始FOR16循环指令使用说明:①FOR、NEXT指令必须成对使用;②FOR和NEXT可以循环嵌套,嵌套最多为8层,但各个嵌套之间不可有交叉现象;③每次使能输入(EN)重新有效时,指令将自动复位各参数;④初值大于终值时,循环体不被执行。循环指令循环指令使用说明:①FOR、NEXT指令必须成对使用;循环17循环指令循环指令的使用举例在本例中,为2层循环嵌套,循环体为VW300中的数值自加1。当2层循环条件同时满足,程序执行后,VW300中的数值加了200个1。循环指令循环指令的使用举例在本例中,为2层循环嵌套,循环体184.1.7顺序控制继电器(p162)顺序控制继电器S是专门用于编写顺序控制程序(常称为步进控制)的。所谓顺序控制,使生产过程按生产工艺的要求预先安排的顺序自动地进行生产的控制方式。一个步进控制程序是由若干个SCR段组成,每个SCR段对应步进控制中的一个功能控制步。4.1.7顺序控制继电器(p162)顺序控制继电器S是专191.顺序继电器指令(1)段开始指令功能:标记一个SCR段的开始,操作数是顺序继电器Sx.y(如S0.0)。当顺序继电器Sx.y=1启动SCRx.y的顺序程序。即允许该SCR段工作。(2)段转移功能:是当Sx.y=1,将当前的SCR段停止,切换到下一个SCR。其操作数为下一个SCR的标志位(如S0.1)(3)段结束功能:标记一个段的结束。SCRSx.yLSCRSnSn(SCRT)SCRTSnSn(SCRE)SCRE1.顺序继电器指令SCRSx.yLSCRSnSn(20006第4章应用指令课件21006第4章应用指令课件224.1.7顺序控制继电器指令顺序结构程序实例

根据舞台灯光效果的要求,控制红、绿、黄三色灯。要求:红灯先亮,2s后绿灯亮,再过3s后黄灯亮。待红、绿、黄灯全亮3min后,全部熄灭。程序如图4-29所示。说明:每一个SCR程序段中均包含三个要素:1)输出对象:在这一步序中应完成的动作;2)转移条件:满足转移条件后,实现SCR段的转移;3)转移目标:转移到下一个步序。4.1.7顺序控制继电器指令顺序结构程序实例根据舞台灯23程序实例根据舞台灯光效果的要求,控制红、绿、黄三色灯。要求:红灯先亮,2s后绿灯亮,再过3s后黄灯亮。待红、绿、黄灯全亮3min后,全部熄灭。程序如下图所示。分析:控制可分四步1)按启动按钮---灯都不亮时,红灯亮2s---T37;2)时间到T37=1----绿灯亮3s--T38;3)时间到T38=1----黄灯亮3min--T394)时间到T39=1----灯全灭程序实例根据舞台灯光效果的要求,控制红、绿、黄三色灯。要求:24LDI0.1ANQ0.0ANQ0.1ANQ0.2//在初始状态下起动,置SS0.1,1//S0.1=1LSCRS0.1//S0.1=1,激活第一SCR程序段,//进入第一步序LDSM0.0SQ0.0,1//红灯亮,并保持TONT37,+20//启动2s定时器LDT37//2s后程序转移到第二SCR段,SCRTS0.2//(S0.2=1,S0.1=0)SCRE//第一SCR段结束LSCRS0.2//S0.2=1,激活第二SCR程序段,//进入第二步序LDSM0.0SQ1.1//绿灯亮,并保持TONT38,+30//启动3s定时器LDI0.1LDI0.125LDT38//3s后程序转移到第三SCR段,SCRTS0.3//(S0.3=1,S0.2=0)SCRE//第二SCR段结束LSCRS0.3//S0.3=1,激活第三SCR程序段,//进入第三步序LDSM0.0SQ0.2,1//黄灯亮,并保持TONT39,+1800//启动3min定时器LDT39//3min后程序转移到第四SCR段,SCRTS0.4//(S0.4=1,S0.3=0)SCRE//第三SCR段结束LSCRS0.4//S0.4=1,激活第四SCR程序段,//进入第四步序LDSM0.0RS0.1,4RQ0.0,3//红、绿、黄灯全灭SCRE//第四SCR段结束

图4-29SCR指令编程返回图4-29SCR指令编程返回264.1.8与ENO指令

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

指令格式:AENO(无操作数)4.1.8与ENO指令AENO,与ENO指令。ENO是梯27图4.13与ENO指令AENO指令只能在语句表中使用,将栈顶值和ENO位的逻辑与运算,运算结果保存到栈顶。程序如图4.13所示。返回本节图4.13与ENO指令AENO指令只能在语句表中使用,将栈284.2.1中断

1.中断源(1)中断源及种类中断源,即中断事件发出中断请求的来源。S7-200可编程序控制器具有34个中断源,每个中断源都分配一个编号用以识别,称为中断事件号。这些中断源大致分为三大类:通信中断、输入输出中断和时基中断。4.2特殊指令4.2.1中断1.中断源4.2特殊指令29(2)中断优先级

中断优先级由高到低依次是:通信中断、输入输出中断、时基中断。每种中断中的不同中断事件又有不同的优先权。主机中的所有中断事件及优先级如表4.2所示。(2)中断优先级30表4.2中断事件及优先级表4.2中断事件及优先级31006第4章应用指令课件322.中断操作指令包括:(1)开中断指令ENI---全局开放所有被连接的中断事件(2)关中断指令DISI---全局关断所有被连接的中断事件(3)中断连接指令ATCH功能:建立一个中断事件EVNT与一个标号为INTn中断服务程序联系,并对该中断事件开放。(ENI)(DISI)

ATCHENENOINTEVNT2.中断操作指令(ENI)(DISI)33(4)中断分离指令DTCH功能:取消某个中断事件EVNT与所有中断程序的关联,并对该事件关中断。(5)中断返回指令RETI和CRET注意事项中断服务程序中,不能使用开中断指令ENI、关中断指令DISI、定义高速计数器指令HDEF、步进开始指令LSCR、条件结束指令END。程序实例有条件返回无条件返回(4)中断分离指令DTCH有条件返回无条件返回34(3)程序实例控制要求:程序实现的功能是用I0.4开放I0.1输入点的上升沿中断,若发现I/O错误,则禁止本中断,用外部条件I0.5可以禁止全局中断。程序实现:本程序如图4.10所示。图4.10中断调用程序(3)程序实例图4.10中断调用程序353.中断程序(1)构成中断程序必须由三部分构成:中断程序标号、中断程序指令和无条件返回指令。(2)编制方法建立中断程序INTn在INTn中编写其服务程序编写中断连接指令允许中断返回本节3.中断程序返回本节36模拟量数据采集和显示实例温度检测系统,测温元件热电阻Pt100测温范围0~200度(电流型),用EM235模块,测量并显示。分析:0~200度对应4~20mA数字量想知道实际温度对应的数字量和模拟量如何求?32000(32000/20)*4=6400模拟量数据采集和显示实例温度检测系统,测温元件热电阻Pt1037006第4章应用指令课件38测量的实际温度=(AIW0-6400)[(200-0)/(32000-6400)]+0测量的实际温度=(AIW0-6400)[(200-0)/(339数据采集:应确定采样周期,依据香农定理需要定时采样模拟量的输入。可以采用定时中断----中断服务程序里进行采集数据和换算用定时中断0,SM34,设定100ms主程序完成初始化和显示任务见程序数据采集:40定时中断0,设定100ms,在中断服务程序中进行数据采集和变换温度模拟量数据采集实例0~200度范围测量的实际温度=(AIW-6400)/[(32000-6400)/200]6400128定时中断0,设定100ms,在中断服务程序中进行数据采集和变41结束结束42第4章应用指令4.1程序控制类指令4.2特殊指令第4章应用指令4.1程序控制类指令434.1程序控制类指令4.1.1结束及暂停指令4.1.2看门狗指令4.1.3跳转指令

4.1.4子程序指令

4.1.5程序循环指令4.1.6顺序控制继电器指令4.1.7与ENO指令

返回本章首页第4章应用指令4.1程序控制类指令4.1.1结束及暂停指令返回本章首444.1.1有条件结束指令梯形图:语句表:

END

功能:当前面的逻辑条件成立时终止当前扫描周期。举例:结束指令分为:有条件结束指令(END)和无条件结束指令(MEND)。END指令在梯形图中以线圈形式编程,指令不含操作数。END指令功能:指令根据前面的逻辑条件终止用户主程序(只能用于主程序)。编程人员不需手工输入MEND指令,而是由软件自动加在主程序结尾。返回主程序的第一条指令。4.1.1有条件结束指令梯形图:结束指令分为:有条件结束指45暂停指令STOP,暂停指令。指令在梯形图中以线圈形式编程,指令不含操作数。暂停指令能够引起CPU工作方式发生变化,从RUN(运行)模式转换为STOP(暂停)模式,立即终止程序的执行。STOP指令可以用在主程序、子程序和中断程序中。如果在中断程序中执行STOP(暂停)指令,中断程序立即终止,并忽略全部待执行的中断,继续扫描主程序的剩余部分。在本次扫描结束后,CPU从RUN(运行)模式转换至STOP(暂停)模式。STOP和END指令通常在程序中对突发紧急事件进行处理,以避免实际生产中的重大损失。暂停指令STOP,暂停指令。指令在梯形图中以线圈形式编程,46梯形图:语句表:

STOP

功能:能够引起CPU工作方式从RUN进入STOP,立即终止程序的执行。举例:在本例中,SM5.0为I/O错误继电器,当出现I/O错误时,SM5.0=1,此时会强迫CPU进入停止方式。梯形图:在本例中,SM5.0为I/O错误继电器,当出现I/O474.1.2看门狗

WDR,看门狗复位指令。当使能输入有效时,执行WDR指令,每执行一次,看门狗定时器就被复位一次。S7的看门狗WDR的设定值为300ms,有时在循环或调用子程序,响应中断服务程序时,扫描时间超过300ms,WDR会认为出错。可用本指令可用以延长扫描周期,从而可以有效避免看门狗超时错误。指令格式:WDR (无操作数)系统故障情况下,扫描时间大于WDT设定值,该定时器不能及时复位,则报警并停止CPU运行,同时复位输入、输出。这种故障称为WDT故障,以防止因系统故障或程序进入死循环而引起的扫描周期过长。梯形图:4.1.2看门狗WDR,看门狗复位指令。当使能输入有效时48图4.1停止、结束、看门狗指令返回本节图4.1停止、结束、看门狗指令返回本节494.1.3跳转梯形图:4.1.3跳转梯形图:50006第4章应用指令课件51编写子程序的步骤1.建立子程序2.编写子程序3.在主程序、其他子程序、或中断程序中调用子程序(带参数的子程序)和子程序返回指令

4.1.4子程序指令

编写子程序的步骤4.1.4子程序指令521.建立子程序可采用下列方式创建子程序:①打开程序编辑器,在“编辑”菜单中执行命令“插入”→“子程序”;②在程序编辑器视窗中单击鼠标右键,在弹出菜单中执行命令“插入”→“子程序”;③用鼠标右键单击指令树上的“程序块”图标,在弹出菜单中执行命令“插入”→“子程序”,程序编辑器将自动生成并打开新的子程序,在程序编辑器底部出现标有新的子程序的标签。1.建立子程序可采用下列方式创建子程序:532.子程序调用

(1)子程序调用和返回指令子程序调用

子程序条件返回(2)注意事项可有64个子程序,可以嵌套子程序,最大嵌套深度为8子程序内不能用END指令不允许直接递归(自己调用自己),可间接递归(3)应用实例

SBR1EN(RET)2.子程序调用(1)子程序调用和返回指令54图4.3所示的程序实现用外部控制条件分别调用两个子程序。图4.3子程序调用举例图4.3所示的程序实现用外部控制条件分别调用两个子程序。图455(1)子程序参数---最多可带16个参数,每个参数包含:

变量名

变量类型(IN类型、IN/OUT、OUT)数据类型(位、字节、字、双字、实型)(2)参数子程序调用的规则参数与局部变量表的定义相匹配参数顺序是:输入,输入/输出,输出(3)程序实例

3.带参数的子程序调用

(1)子程序参数---最多可带16个参数,每个参数包含:356图4.5带参数的子程序调用返回本节图4.5带参数的子程序调用返回本节574.1.5程序循环

1.循环开始FOR每执行一次循环计数值加1,当计数值大于终值,则循环终止。2.循环结束NEXT3.

程序实例

FORENENOINDXINITFINAL(NEXT)计数值初值终值4.1.5程序循环1.循环开始FOR58循环指令使用说明:①FOR、NEXT指令必须成对使用;②FOR和NEXT可以循环嵌套,嵌套最多为8层,但各个嵌套之间不可有交叉现象;③每次使能输入(EN)重新有效时,指令将自动复位各参数;④初值大于终值时,循环体不被执行。循环指令循环指令使用说明:①FOR、NEXT指令必须成对使用;循环59循环指令循环指令的使用举例在本例中,为2层循环嵌套,循环体为VW300中的数值自加1。当2层循环条件同时满足,程序执行后,VW300中的数值加了200个1。循环指令循环指令的使用举例在本例中,为2层循环嵌套,循环体604.1.7顺序控制继电器(p162)顺序控制继电器S是专门用于编写顺序控制程序(常称为步进控制)的。所谓顺序控制,使生产过程按生产工艺的要求预先安排的顺序自动地进行生产的控制方式。一个步进控制程序是由若干个SCR段组成,每个SCR段对应步进控制中的一个功能控制步。4.1.7顺序控制继电器(p162)顺序控制继电器S是专611.顺序继电器指令(1)段开始指令功能:标记一个SCR段的开始,操作数是顺序继电器Sx.y(如S0.0)。当顺序继电器Sx.y=1启动SCRx.y的顺序程序。即允许该SCR段工作。(2)段转移功能:是当Sx.y=1,将当前的SCR段停止,切换到下一个SCR。其操作数为下一个SCR的标志位(如S0.1)(3)段结束功能:标记一个段的结束。SCRSx.yLSCRSnSn(SCRT)SCRTSnSn(SCRE)SCRE1.顺序继电器指令SCRSx.yLSCRSnSn(62006第4章应用指令课件63006第4章应用指令课件644.1.7顺序控制继电器指令顺序结构程序实例

根据舞台灯光效果的要求,控制红、绿、黄三色灯。要求:红灯先亮,2s后绿灯亮,再过3s后黄灯亮。待红、绿、黄灯全亮3min后,全部熄灭。程序如图4-29所示。说明:每一个SCR程序段中均包含三个要素:1)输出对象:在这一步序中应完成的动作;2)转移条件:满足转移条件后,实现SCR段的转移;3)转移目标:转移到下一个步序。4.1.7顺序控制继电器指令顺序结构程序实例根据舞台灯65程序实例根据舞台灯光效果的要求,控制红、绿、黄三色灯。要求:红灯先亮,2s后绿灯亮,再过3s后黄灯亮。待红、绿、黄灯全亮3min后,全部熄灭。程序如下图所示。分析:控制可分四步1)按启动按钮---灯都不亮时,红灯亮2s---T37;2)时间到T37=1----绿灯亮3s--T38;3)时间到T38=1----黄灯亮3min--T394)时间到T39=1----灯全灭程序实例根据舞台灯光效果的要求,控制红、绿、黄三色灯。要求:66LDI0.1ANQ0.0ANQ0.1ANQ0.2//在初始状态下起动,置SS0.1,1//S0.1=1LSCRS0.1//S0.1=1,激活第一SCR程序段,//进入第一步序LDSM0.0SQ0.0,1//红灯亮,并保持TONT37,+20//启动2s定时器LDT37//2s后程序转移到第二SCR段,SCRTS0.2//(S0.2=1,S0.1=0)SCRE//第一SCR段结束LSCRS0.2//S0.2=1,激活第二SCR程序段,//进入第二步序LDSM0.0SQ1.1//绿灯亮,并保持TONT38,+30//启动3s定时器LDI0.1LDI0.167LDT38//3s后程序转移到第三SCR段,SCRTS0.3//(S0.3=1,S0.2=0)SCRE//第二SCR段结束LSCRS0.3//S0.3=1,激活第三SCR程序段,//进入第三步序LDSM0.0SQ0.2,1//黄灯亮,并保持TONT39,+1800//启动3min定时器LDT39//3min后程序转移到第四SCR段,SCRTS0.4//(S0.4=1,S0.3=0)SCRE//第三SCR段结束LSCRS0.4//S0.4=1,激活第四SCR程序段,//进入第四步序LDSM0.0RS0.1,4RQ0.0,3//红、绿、黄灯全灭SCRE//第四SCR段结束

图4-29SCR指令编程返回图4-29SCR指令编程返回684.1.8与ENO指令

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

指令格式:AENO(无操作数)4.1.8与ENO指令AENO,与ENO指令。ENO是梯69图4.13与ENO指令AENO指令只能在语句表中使用,将栈顶值和ENO位的逻辑与运算,运算结果保存到栈顶。程序如图4.13所示。返回本节图4.13与ENO指令AENO指令只能在语句表中使用,将栈704.2.1中断

1.中断源(1)中断源及种类中断源,即中断事件发出中断请求的来源。S7-200可编程序控制器具有34个中断源,每个中断源都分配一个编号用以识别,称为中断事件号。这些中断源大致分为三大类:通信中断、输入输出中断和时基中断。4.2特殊指令4.2.1中断1.中断源4.2特殊指令71(2)中断优先级

中断优先级由高到低依次是:通信中断、输入输出中断、时基中断。每种中断中的不同中断事件又有不同的优先权。主机中的所有中断事件及优先

温馨提示

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

评论

0/150

提交评论