PLC课件:中断及高速处理指令_第1页
PLC课件:中断及高速处理指令_第2页
PLC课件:中断及高速处理指令_第3页
PLC课件:中断及高速处理指令_第4页
PLC课件:中断及高速处理指令_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

第7讲中断及高速处理指令7.1中断程序与中断指令

所谓中断,是当控制系统执行正常程序时,系统中出现了某些急需处理的异常情况或特殊请求,这时系统暂时中断现行程序,转去对随机发生的更紧迫事件进行处理(执行中断服务程序),当该事件处理完毕后,系统自动回到原来被中断的程序继续执行。7.1.1中断程序中断程序必须由三部分构成:中断程序标号(即中断事件的编号)、中断程序指令和无条件返回指令。在中断程序中不能使用DISI、ENI、HDEF、LSCR和END指令。在主程序和中断程序之间正确共享数据的编程技巧有以下3条:(1)STL程序共享单个变量(2)LAD程序共享单个变量(3)STL或LAD程序共享多个变量7.1.2中断指令各种中断指令的LAD指令格式如图7-1所示。LAD指令名称及STL指令格式如表7-1所示,指令的有效操作数见表7-2。表7-1中断指令的LAD名称及STL指令格式LADSTL描述RETICRETI从中断程序有条件返回ENIENI允许中断DISIDISI禁止中断ATCHATCHINT,EVNT连接中断事件和中断程序DTCHDTCHEVNT断开中断事件和中断程序的连接CLR_EVNTCEVNTEVNT消除中断事件表7-2中断指令的有效操作数输入/输出数据类型操作数范围INBYTE常数(0~27)EVNTBYTE常数CPU221和CPU222:0~12,19~23和27~33CPU224:0~23和27~33CPU224XP和CPU226:0~331.全局性的中断允许指令与中断禁止指令中断允许指令(ENI,EnableInterrupt)全局性地允许所有被连接的中断事件。禁止中断指令(DISI,DisableInterrupt)全局性地禁止处理所有中断事件,允许中断排队等候,但是不允许执行中断程序,直到用全局中断允许指令ENI重新允许中断。进入RUN模式时自动禁止中断。中断程序有条件返回指令(CRETI,conditionalReturnfromInterrupt)在控制它的逻辑条件满足时从中断程序返回。2.中断连接指令与中断分离指令中断连接指令(ATCH,AttachInterrupt)用来建立中断事件EVNT(由中断事件号指定)和处理此事件的中断程序INT(由中断程序号指定)之间的联系,并使能该中断事件。中断分离指令(DTCH,DetachInterrupt)用来断开中断事件(EVNT)与中断程序(INT)之间的联系,并禁止该中断事件。消除中断事件指令(CEVNT,ClearEvent)从中断队列中清除所有EVNT类型的中断事件。7.1.3中断源1.中断源及种类中断源是中断事件向PLC发出中断请求的来源。S7-200CPU最多可以有34个中断源,这些中断源大致分为三大类:通信口中断、输入/输出(I/O)中断和时基中断。(1)通信口中断(2)I/O中断I/O中断包括上升沿中断或下降沿中断、高速计数器(HSC)中断和脉冲串输出(PTO)中断。CPU可用输入点I0.0~I0.3的上升沿或下降沿产生中断。【例7-1】在I0.0的上升沿通过中断使Q0.0立即置位。在I0.1的下降沿通过中断使Q0.0立即复位。程序设计如图7-2所示。(3)时基中断

时基中断(TimedInterrupt)包括定时中断和定时器T32/T96中断。可用定时中断来执行一个周期性的操作,以1ms为增量单位,周期的时间可取lms~255ms。对定时中断0,必须把周期时间写入SMB34;对定时中断1,必须把周期时间写入SMB35。定时中断一旦被允许,中断就会周期性地不断产生,每当定时时间到时,就会执行被连接的中断程序。如果退出RUN状态或定时中断被分离,定时中断被禁止。如果执行了全局中断禁止指令,定时中断事件仍会连续出现,每个定时中断事件都会进入中断队列,直到中断队列满。【例7-2】定时中断的定时时间最长为255ms,用定时中断1实现周期为2s的高精度定时。为了实现周期为2s的高精度周期性操作的定时,将定时中断的定时时间间隔设为250ms,在定时中断1的中断程序中,将VB0加1,然后用比较触点指令“LD=”判断VB0是否等于8。若相等(中断了8次,对应的时间间隔为2s),在中断程序中执行每2s一次的操作,例如采集模拟量输入的数值和使QB0加1,程序设计如图7-3所示。对于定时间隔不同的任务,可以计算出它们的定时时间的最大公约数,以此作为定时中断的预置时间。在中断程序中对中断事件进行计数,根据计数值来处理不同的任务。2.中断优先级给中断源指定处理的次序就是给中断源确定中断优先级。中断按以下固定的优先级顺序执行:通信(最高优先级)、I/O中断和定时中断(最低优先级)。在上述3个优先级范围内,CPU按照先来先服务的原则处理中断,任何时刻只能执行一个用户中断程序。3个中断队列及其能保存的最大中断个数如表7-4所示。如果发生中断过于频繁,使中断产生的速率比可处理的速率快,或中断被DISI指令禁止,中断队列溢出状态位被置1,如表7-5所示。只应在中断程序中使用这些位,因为当队列变空或返回主程序时,这些位会被复位。队列CPU221、CPU222、CPU224CPU224XP、CPU226通信中断队列4I/O中断队列16定时中断队列8表7-4各中断队列的最大中断个数描述(0=不溢出,1=溢出)SM位通信中断队列溢出SM4.0I/O中断队列溢出SM4.1定

温馨提示

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

评论

0/150

提交评论