第8章 程序控制类指令设计_第1页
第8章 程序控制类指令设计_第2页
第8章 程序控制类指令设计_第3页
第8章 程序控制类指令设计_第4页
第8章 程序控制类指令设计_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

第8章程序控制类指令程序设计8.1主控指令及其应用8.3跳转指令及其应用8.2看门狗指令及其应用8.4子程序指令8.5中断指令及其应用8.6循环指令8.7程序控制指令实训8.1主控指令及其应用MC/MCR指令属于基本指令,但对程序结构有影响。8.2看门狗指令及其应用看门狗指令WDT是用来检测程序有无死机的指令,对应D8000作为监视定时器,初始设定值为200ms。程序中加入看门狗指令后,如果在D8000设定时间内没有完成一次扫描,则认为死机,系统通过重启动恢复运行。CJ跳转、FOR/NEXT循环等,可能导致程序执行时间过长,可以在程序中加上WDT指令,监视定时器复位。未出现死机,每次扫描结束监视定时器D8000将重新计时,可通过程序段调整监视定时器的设定值。8.3跳转指令及其应用跳转指令是用来跳过暂且不执行的程序段,转去执行其它程序段的指令。它改变了原扫描周期和程序执行顺序。8.3.1跳转指令说明及对扫描过程的影响当X0置1,跳转指令CJP1执行条件满足,将跳至标号P1处,仅执行该梯形图中X5后面的程序。跳转指令意义:在满足跳转条件X0为ON之后的各个扫描周期中,PLC将不再扫描执行跳转指令CALLP1与跳转指针P1间的程序,跳到以指针P1为入口的程序段执行。直到跳转条件不再满足,停止跳转。8.3.2跳转程序段中元器件的工作状态程序段中的输出继电器、辅助继电器、状态寄存器,工作状态保持跳转发生前的状态不变。8.3.2跳转程序段中元器件的工作状态程序段中的时间继电器、计数器,当前值保持不变;跳转中止后计时、计数继续进行8.3.3使用跳转指令的要点在同一程序中因跳转而不会被同时执行的同一线圈,不被视为双线圈8.3.3使用跳转指令的要点可以有多条跳转指令使用同一标号8.3.3使用跳转指令的要点标号一般设在相关的跳转指令之后,也可以设在跳转指令之前。但要注意防止造成死循环8.3.4跳转指令的应用及实例同一套设备在不同的条件下,有两种工作方式,需运行两套不同程序时可用跳转指令。图8-11编排两段程序,手动为

B段,自动为A段。设立一个手动B段/自动A段转换开关对程序段进行选。图8-118.4子程序指令8.4.1子程序指令的使用要素子程序是为一定控制目编制的相对独立的程序,排在主程序结束的FEND后8.4.2子程序的执行过程当X01、X03或X05置1,执行子程序调用指令CALLP10,执行P10子程序,遇到SRET后返回继续执行原程序,相当于在其中加入了一段程序。8.4.3子程序应用实例数据处理程序,要求:

将D9-D0中的数按由大到小排序,再将D8-D1进行平均。得出的值放到D10去。8.5中断指令及其应用8.5.1中断指令说明中断指令用于实现中断功能,即是在主程序执行过程中遇到中断条件,转去执行中断程序,完成后继续执行原程序的过程。8.5.1中断指令说明中断程序特点:中断是由外部(内部)条件随机地向CPU发出请求,要求响应时间小于机器扫描周期、或者定时工作时使用。

中断源:能够触发PLC中断的中断源,FX2N有外部(端口)、定时器和(外部)计数器。外部中断为X0-X5。为不同中断规定了中断标号:外部中断定时器中断中断标号:I

□0□

中断标号:I□

□□10~99ms中断封锁辅助继电器M8050~M8055中断封锁辅助继电器M8056~M80588.5.1中断指令说明外部中断从输入端子送入,用于外部突发事件执行;定时中断用于周期性工作场合。PLC默认处于禁止中断状态,用EI允许,可通过M8050-M8058控制各中断是否允许响应。根据号数由小到大决定中断优先顺序。

一次中断请求中断程序一般仅能执行一次。

8.5.2中断指令的应用实例例1:分析带有外部中断子程序梯形图程序的动作过程。图8-19主程序运行到EI到DI间时允许中断,X1控制M8050决定是否允许X0端口的中断执行。当X1=0,X0出现1次上升沿,执行一次I1开头的中断程序,执行完返回主程序。中断程序的内容常用M8000作为驱动条件。例2:一段试验性质的时间中断子程序。8.5.2中断指令的应用实例当X17为ON时,每隔50ms执行一次中断程序,D0加1;当加到1000时使Y2置1。在主程序段中设有时间继电器T0,控制Y1作为对照。当X20由ON至OFF并经历50s后,Y1及Y2应同时置1。8.5.3输入输出有关指令——输入输出刷新REF为了发挥中断程序及时反应的优势,提供了REF输入输出刷新指令,用于需要最新的输入信息以及希望立即输出运算结果的场合。【例8.4】输入X0为ON时,快速驱动Y0为ON,X0为OFF,则Y0快速为OFF。利用X0上升沿和下降沿两个中断,使得程序进入中断程序,上升沿置1,下降沿清0,然后刷新输出。8.6循环指令8.6.1程序循环指令的要素由FOR及NEXT二条指令构成。这两条指令总是成对出现【例8.5】当X0为ON,计算D0-D99的8位的累加和,所有寄存器需将高位移至低位,而低位运算时需屏蔽高位,将最后2个字(8位),作检验码用,送入D100中,试编程实现。8.7PLC结构指令电路的实训8.7.1实训项目内容1:图8-22接线,SB1-SB4、SB6、SB7为按钮,并接入接线并调试程序。编写如【例8.2】的程序并进行调试,测试中断时间与普通的定时器的一致性。内容2:编写一个向后跳转程序,跳转前Y0为ON,跳转中Y1为ON,跳转后Y2为ON。测试观察什么情况?内容3:编写一个含FOR/NEXT指令的应用程序,或编制嵌套程序,并测试循环扫描时间,分别测试循环程序运行时间小于循环扫描时间,循环程序运行时间大于循环扫描时间,再修改循环扫描时间。内容4:重新设计机械手程序,定义并设计一个自动程序和一个手动程序。内容5:设计一个急停的中断按钮,并用输出刷新立即输出。8.7.2实训思考题1、用中断时间计数,普通的定时器做同值得输出脉冲计数,哪一个更准。2、编写一个向后跳转程序,做一个D0-D99的平均数计算,在一个扫描周期里做完。3、编写一个含FOR/NEXT指令的应用程序,做D0-D99的冒泡程序(把其中最大的数挑出来)。本章小结常见的程序结构类型有以下几种。1.简单结构也称线性结构。指令平铺直述地写下来,执行时也是平铺直述地运

温馨提示

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

评论

0/150

提交评论