
PLC西门子第07讲中断及高速处理指令.ppt
18页第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指令格式,表7-2 中断指令的有效操作数,1.全局性的中断允许指令与中断禁止指令,中断允许指令(ENI,Enable Interrupt)全局性地允许所有被连接的中断事件 禁止中断指令(DISI,Disable Interrupt)全局性地禁止处理所有中断事件,允许中断排队等候,但是不允许执行中断程序,直到用全局中断允许指令ENI重新允许中断。
进入RUN模式时自动禁止中断 中断程序有条件返回指令(CRETI,conditional Return from Interrupt)在控制它的逻辑条件满足时从中断程序返回2.中断连接指令与中断分离指令,中断连接指令(ATCH,Attach Interrupt)用来建立中断事件EVNT(由中断事件号指定)和处理此事件的中断程序INT(由中断程序号指定)之间的联系,并使能该中断事件 中断分离指令(DTCH,Detach Interrupt)用来断开中断事件(EVNT)与中断程序(INT)之间的联系,并禁止该中断事件 消除中断事件指令(CEVNT,Clear Event)从中断队列中清除所有EVNT类型的中断事件7.1.3 中断源,1.中断源及种类 中断源是中断事件向PLC发出中断请求的来源S7-200 CPU最多可以有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)时基中断,时基中断(Timed Interrupt)包括定时中断和定时器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所示只应在中断程序中使用这些位,因为当队列变空或返回主程序时,这些位会被复位表7-4各中断队列的最大中断个数,表7-5 中断队列溢出标志位,3.中断控制,经过中断判优后,将优先级最高的中断请求送给CPU,CPU响应中断后自动保存逻辑堆栈、累加器和某些特殊标志寄存器位,即保护现场中断处理完成后,又自动恢复这些单元保存起来的数据,即恢复现场。












