第07章中断及高速处理指令_第1页
第07章中断及高速处理指令_第2页
第07章中断及高速处理指令_第3页
第07章中断及高速处理指令_第4页
第07章中断及高速处理指令_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

1、第第7章章 中断及高速处理指令中断及高速处理指令7.1 中断程序与中断指令中断程序与中断指令 所谓所谓中断中断,是当控制系统执行正常程序时,系统,是当控制系统执行正常程序时,系统中出现了某些急需处理的异常情况或特殊请求,这中出现了某些急需处理的异常情况或特殊请求,这时系统暂时中断现行程序,转去对随机发生的更紧时系统暂时中断现行程序,转去对随机发生的更紧迫事件进行处理(执行中断服务程序),当该事件迫事件进行处理(执行中断服务程序),当该事件处理完毕后,系统自动回到原来被中断的程序继续处理完毕后,系统自动回到原来被中断的程序继续执行。执行。7.1.1 中断程序中断程序 中断程序必须由三部分构成:中

2、断程序必须由三部分构成:中断程序标号中断程序标号(即(即中断事件的编号)、中断事件的编号)、中断程序指令中断程序指令和和无条件返回无条件返回指令指令。 在中断程序中不能使用在中断程序中不能使用DISI、ENI、HDEF、LSCR和和END指令。指令。 在主程序和中断程序之间正确共享数据的编程技在主程序和中断程序之间正确共享数据的编程技巧有以下巧有以下3条:条: (1)STL程序共享单个变量程序共享单个变量 (2)LAD程序共享单个变量程序共享单个变量 (3)STL或或LAD程序共享多个变量程序共享多个变量7.1.2 中断指令中断指令各种中断指令的各种中断指令的LAD指令格式如图指令格式如图7-

3、1所示。所示。LAD指令名称及指令名称及STL指令格式如表指令格式如表7-1所示,指令的有效操作数见表所示,指令的有效操作数见表7-2。表7-1 中断指令的LAD名称及STL指令格式LADSTL描述描述RETICRETI从中断程序有条件返回ENIENI允许中断DISIDISI禁止中断ATCHATCH INT, EVNT连接中断事件和中断程序DTCHDTCH EVNT断开中断事件和中断程序的连接CLR_EVNTCEVNT EVNT消除中断事件表7-2 中断指令的有效操作数输入输入/输出输出数据类型数据类型操作数范围操作数范围INBYTE常数(027)EVNTBYTE常数 CPU221和CPU22

4、2:012,1923和2733CPU224:023和2733 CPU224XP和CPU226:0331全局性的中断允许指令与中断禁止全局性的中断允许指令与中断禁止指令指令 中断允许指令中断允许指令(ENI,Enable Interrupt)全局性地允许所有被连接的中断事件。 禁止中断指令禁止中断指令(DISI,Disable Interrupt)全局性地禁止处理所有中断事件,允许中断排队等候,但是不允许执行中断程序,直到用全局中断允许指令ENI重新允许中断。 进入RUN模式时自动禁止中断。 中断程序有条件返回指令中断程序有条件返回指令(CRETI,conditional Return from

5、 Interrupt)在控制它的逻辑条件满足时从中断程序返回。2中断连接指令与中断分离指令中断连接指令与中断分离指令 中断连接指令中断连接指令(ATCH,Attach Interrupt)用来建立中断事件EVNT(由中断事件号指定)和处理此事件的中断程序INT(由中断程序号指定)之间的联系,并使能该中断事件。 中断分离指令中断分离指令(DTCH,Detach Interrupt)用来断开中断事件(EVNT)与中断程序(INT)之间的联系,并禁止该中断事件。 消除中断事件指令消除中断事件指令(CEVNT,Clear Event)从中断队列中清除所有EVNT类型的中断事件。7.1.3 中断源中断源

6、 1中断源及种类中断源及种类中断源是中断事件向中断源是中断事件向PLC发出中断请求的来源。发出中断请求的来源。S7-200 CPU最多可以有最多可以有34个中断源,这些中断个中断源,这些中断源大致分为三大类:通信口中断、输入源大致分为三大类:通信口中断、输入/输出输出(I/O)中断和时基中断。)中断和时基中断。(1)通信口中断)通信口中断(2)I/O中断中断I/O中断包括上升沿中断或下降沿中断、高速计数器中断包括上升沿中断或下降沿中断、高速计数器(HSC)中断和脉冲串输出()中断和脉冲串输出(PTO)中断。)中断。CPU可用输入点可用输入点I0.0I0.3的上升沿或下降沿产生中断。的上升沿或下

7、降沿产生中断。【例例7-1】在在I0.0的的上升沿通过中断使上升沿通过中断使Q0.0立即置位。在立即置位。在I0.1的下降沿通过的下降沿通过中断使中断使Q0.0立即复立即复位。程序设计如图位。程序设计如图7-2所示。所示。(3)时基中断)时基中断 时基中断(时基中断(Timed Interrupt)包括定时中断和定时器)包括定时中断和定时器T32/T96中断。可用定时中断来执行一个周期性的操作,中断。可用定时中断来执行一个周期性的操作,以以1ms为增量单位,周期的时间可取为增量单位,周期的时间可取lms255ms。对定。对定时中断时中断0,必须把周期时间写入,必须把周期时间写入SMB34;对定

8、时中断;对定时中断1,必须把周期时间写入必须把周期时间写入SMB35。 定时中断一旦被允许,中断就会周期性地不断产生,每当定时中断一旦被允许,中断就会周期性地不断产生,每当定时时间到时,就会执行被连接的中断程序。如果退出定时时间到时,就会执行被连接的中断程序。如果退出RUN状态或定时中断被分离,定时中断被禁止。如果执行状态或定时中断被分离,定时中断被禁止。如果执行了全局中断禁止指令,定时中断事件仍会连续出现,每个了全局中断禁止指令,定时中断事件仍会连续出现,每个定时中断事件都会进入中断队列,直到中断队列满。定时中断事件都会进入中断队列,直到中断队列满。 【例例7-2】定时中断的定时时间最长为定

9、时中断的定时时间最长为255ms,用定时中,用定时中断断1实现周期为实现周期为2s的高精度定时。的高精度定时。 为了实现周期为为了实现周期为2s的高精度周期性操作的定时,将定时中的高精度周期性操作的定时,将定时中断的定时时间间隔设为断的定时时间间隔设为250ms,在定时中断,在定时中断1的中断程序的中断程序中,将中,将VB0加加1,然后用比较触点指令,然后用比较触点指令“LD=”判断判断VB0是是否等于否等于8。若相等(中断了。若相等(中断了8次,对应的时间间隔为次,对应的时间间隔为2s),),在中断程序中执行每在中断程序中执行每2s一次的操作,例如采集模拟量输入一次的操作,例如采集模拟量输入

10、的数值和使的数值和使QB0加加1,程序设计如图,程序设计如图7-3所示。所示。 对于定时间隔不同的任务,可以计算出它们的定时时间的对于定时间隔不同的任务,可以计算出它们的定时时间的最大公约数,以此作为定时中断的预置时间。在中断程序最大公约数,以此作为定时中断的预置时间。在中断程序中对中断事件进行计数,根据计数值来处理不同的任务。中对中断事件进行计数,根据计数值来处理不同的任务。2中断优先级中断优先级给中断源指定处理的次序就是给中断源确定中断优先级。给中断源指定处理的次序就是给中断源确定中断优先级。中断按以下固定的优先级顺序执行:通信中断按以下固定的优先级顺序执行:通信(最高优先级最高优先级)、

11、IO中断和定时中断中断和定时中断(最低优先级最低优先级)。在上述。在上述3个优先级范围内,个优先级范围内,CPU按照先来先服务的原则处理中断,任何时刻只能执行按照先来先服务的原则处理中断,任何时刻只能执行一个用户中断程序。一个用户中断程序。3个中断队列及其能保存的最大中断个中断队列及其能保存的最大中断个数如表个数如表7-4所示。所示。 如果发生中断过于频繁,使中断产生的速率比可处理的速如果发生中断过于频繁,使中断产生的速率比可处理的速率快,或中断被率快,或中断被DISI指令禁止,中断队列溢出状态位被置指令禁止,中断队列溢出状态位被置1,如表,如表7-5所示。只应在中断程序中使用这些位,因为当所

12、示。只应在中断程序中使用这些位,因为当队列变空或返回主程序时,这些位会被复位。队列变空或返回主程序时,这些位会被复位。队列队列CPU221、CPU222、CPU224CPU224XP、CPU226通信中断队列4IO中断队列16定时中断队列8表表7-4各中断队列的最大中断个数各中断队列的最大中断个数描述(描述(0=不溢出,不溢出,1=溢出)溢出)SM位位通信中断队列溢出SM4.0IO中断队列溢出SM4.1定时中断队列溢出SM4.2表表7-5 中断队列溢出标志位中断队列溢出标志位3中断控制中断控制 经过中断判优后,将优先级最高的中断请经过中断判优后,将优先级最高的中断请求送给求送给CPU,CPU响

13、应中断后自动保存逻响应中断后自动保存逻辑堆栈、累加器和某些特殊标志寄存器位,辑堆栈、累加器和某些特殊标志寄存器位,即保护现场。中断处理完成后,又自动恢即保护现场。中断处理完成后,又自动恢复这些单元保存起来的数据,即恢复现场。复这些单元保存起来的数据,即恢复现场。7.2 高速处理指令高速处理指令 高速处理指令有高速计数指令和高速脉冲输出指高速处理指令有高速计数指令和高速脉冲输出指令两类。令两类。 7.2.1 高速计数操作指令高速计数操作指令 高速计数器高速计数器HSC(High Speed Counter)用来累计比)用来累计比PLC扫描频率高得多的脉冲输入(扫描频率高得多的脉冲输入(30kHz

14、),利用产生的),利用产生的中断事件完成预定的操作。中断事件完成预定的操作。 PLC的普通计数器的计数过程与扫描工作方式有关。的普通计数器的计数过程与扫描工作方式有关。1编码器编码器 编码器每圈发出一定数量的计数时钟脉冲和一个编码器每圈发出一定数量的计数时钟脉冲和一个复位脉冲,作为高速计数器的输入。高速计数器复位脉冲,作为高速计数器的输入。高速计数器有一组预置值,开始运行时装入第一个预置值,有一组预置值,开始运行时装入第一个预置值,当前计数值小于当前预置值时,设置的输出有效。当前计数值小于当前预置值时,设置的输出有效。当前计数值等于预置值或有外部复位信号时,产当前计数值等于预置值或有外部复位信

15、号时,产生中断。发生当前计数值等于预置值的中断时,生中断。发生当前计数值等于预置值的中断时,装载入新的预置值,并设置下一阶段的输出。有装载入新的预置值,并设置下一阶段的输出。有复位中断事件发生时,设置第一个预置值和第一复位中断事件发生时,设置第一个预置值和第一个输出状态,循环又重新开始。个输出状态,循环又重新开始。 用高速计数器可实现高速运动的精确用高速计数器可实现高速运动的精确控制控制。编码器分为以下编码器分为以下2种类型:种类型:(1)增量式编码器)增量式编码器根据输出信号的个数,有根据输出信号的个数,有3种增量式编码器:种增量式编码器:1)单通道增量式编码器)单通道增量式编码器2)双通道

16、增量式编码器)双通道增量式编码器3)三通道增量式编码器)三通道增量式编码器(2)绝对式编码器)绝对式编码器 N位绝对式编码器有N个码道,最外层的码道对应编码的最低位。每一码道有一个光电耦合器,用来读取该码道的0、1数据。绝对式编码器输出的N位二进制数反映了运动物体所处的绝对位置,根据位置的变化情况,可以判别出旋转的方向。2高速计数器的工作模式与外部输入信号高速计数器的工作模式与外部输入信号(1)高速计数器的工作模式)高速计数器的工作模式 高速计数器的工作模式分为下面的高速计数器的工作模式分为下面的4大类:大类:1)无外部方向输入信号的单相加减计数器(即)无外部方向输入信号的单相加减计数器(即带

17、有内部方向控制的单相计数器)(模式带有内部方向控制的单相计数器)(模式02)2)有外部方向输入信号的单相加减计数器)有外部方向输入信号的单相加减计数器(模式模式35)3)有加计数时钟脉冲和减计数时钟脉冲输入的双)有加计数时钟脉冲和减计数时钟脉冲输入的双相计数器(模式相计数器(模式68)4)AB相正交计数器相正交计数器(模式模式911)(2)高速计数器的外部输入信号)高速计数器的外部输入信号各计数器有专用的时钟脉冲、方向控制、复位及启动输入端子,各计数器有专用的时钟脉冲、方向控制、复位及启动输入端子,有的计数器只有部分输入端子。各高速计数器的外部输入信有的计数器只有部分输入端子。各高速计数器的外

18、部输入信号如表号如表7-6和表和表7-7所示。只有所示。只有CPU224、CPU226和和CPU226XM有有HSC1和和HSC2。表表7-7 HSC1和和HSC2的外部输入信号的外部输入信号HSC1 1HSC2模模 式式I0.6I0.7I1.01.0I1.1I1.2I1.3I1.4I1.50 0时钟时钟时钟时钟1时钟时钟复位复位时钟时钟复位复位2时钟时钟复位复位启动启动时钟时钟复位复位启动启动3时钟时钟方向方向时钟时钟方向方向4时钟时钟方向方向复位复位时钟时钟方向方向复位复位5时钟时钟方向方向复位复位启动启动时钟时钟方向方向复位复位启动启动6加时钟加时钟减时钟减时钟加时钟加时钟减时钟减时钟7

19、加时钟加时钟减时钟减时钟复位复位加时钟加时钟减时钟减时钟复位复位8加时钟加时钟减时钟减时钟复位复位启动启动加时钟加时钟减时钟减时钟复位复位启动启动9A相时钟相时钟B相时钟相时钟A相时钟相时钟B相时钟相时钟10A相时钟相时钟B相时钟相时钟复位复位A相时钟相时钟B相时钟相时钟复位复位11A相时钟相时钟B相时钟相时钟复位复位启动启动A相时钟相时钟B相时钟相时钟复位复位启动启动(3)高速计数器的中断事件类型)高速计数器的中断事件类型 高速计数器的中断事件大致可分为高速计数器的中断事件大致可分为三种方式三种方式(1)所所有的计数器模式都会在当前值等于预置值时产生有的计数器模式都会在当前值等于预置值时产生

20、中断;中断;(2)使用外部复位端的计数模式支持外部复使用外部复位端的计数模式支持外部复位中断;位中断;(3)除去模式除去模式0、1和和2之外,所有计数器之外,所有计数器模式都支持计数方向改变中断(参见图模式都支持计数方向改变中断(参见图7-7)。每)。每种中断条件都可以分别使能或者禁止。种中断条件都可以分别使能或者禁止。 当使用外部复位中断时,不要写入初始值,或者当使用外部复位中断时,不要写入初始值,或者是在该中断服务程序中先禁止再允许高速计数器是在该中断服务程序中先禁止再允许高速计数器工作,否则会产生一个致命错误。工作,否则会产生一个致命错误。3高速计数器指令高速计数器指令高速计数器指令有两

21、条:高速计数器定义指令高速计数器指令有两条:高速计数器定义指令(HDEF)和高速计数器指令()和高速计数器指令(HSC)。其)。其LAD及及STL指令格式如图指令格式如图7-7所示,指令的有效操作数所示,指令的有效操作数见表见表7-8。(1)高速计数器定义指令()高速计数器定义指令(HDEF):为指定的高):为指定的高速计数器(速计数器(HSC)设置一种工作模式)设置一种工作模式,即用来建立即用来建立高速计数器与工作模式之间的联系,模式的选择高速计数器与工作模式之间的联系,模式的选择决定了高速计数器的时钟方向、启动和复位功能。决定了高速计数器的时钟方向、启动和复位功能。(2)高速计数器指令()

22、高速计数器指令(HSC):根据高速计数器):根据高速计数器特殊存储器位的状态,并按照特殊存储器位的状态,并按照HDEF指令指定的指令指定的工作模式,设置高速计数器并控制其工作。工作模式,设置高速计数器并控制其工作。4高速计数器相关的特殊存储器高速计数器相关的特殊存储器(1)高速计数器的状态字节)高速计数器的状态字节 每个高速计数器都有一个状态字节,给出了当每个高速计数器都有一个状态字节,给出了当前计数方向和当前值是否大于或等于预置值,如前计数方向和当前值是否大于或等于预置值,如表表7-9所示。所示。(2)高速计数器的控制字节)高速计数器的控制字节 只有定义了高速计数器和它的计数模式,才能只有定

23、义了高速计数器和它的计数模式,才能对高速计数器的动态参数进行编程。对高速计数器的动态参数进行编程。图图7-8中所示的复位和启动操作适用于使用复位和启动输入的所有中所示的复位和启动操作适用于使用复位和启动输入的所有模式。图中复位输入和启动输入都被编程为高电平有效。模式。图中复位输入和启动输入都被编程为高电平有效。(3)初始值和预置值的设置)初始值和预置值的设置 各高速计数器均有一个各高速计数器均有一个32位的预置值和一个位的预置值和一个32位的初始位的初始值,预置值和初始值均为有符号双字整数。值,预置值和初始值均为有符号双字整数。 高速计数器的当前值可以用存储器类型标志符高速计数器的当前值可以用

24、存储器类型标志符HC(高速(高速计数器当前值)后面跟高速计数器编号(计数器当前值)后面跟高速计数器编号(HCx的格式,的格式,x=05)的格式读出,高速计数器的当前值为只读数据。)的格式读出,高速计数器的当前值为只读数据。5高速计数器的程序设计高速计数器的程序设计对高速计数器编程的步骤如下:对高速计数器编程的步骤如下:(1)定义高速计数器选择工作模式;)定义高速计数器选择工作模式;(2)设置控制字节;)设置控制字节;(3)设置初始值和预置值;)设置初始值和预置值;(4)执行)执行HDEF指令;指令;(5)指定并使能中断服务程序;)指定并使能中断服务程序;(6)启动高速计数器。)启动高速计数器。

25、7.2.2 脉冲输出指令脉冲输出指令1脉冲输出指令脉冲输出指令脉冲输出指令(脉冲输出指令(PLS)用于在高速输出点()用于在高速输出点(Q0.0或或Q0.1)上实现脉冲串()上实现脉冲串(PTO)和脉宽调制)和脉宽调制(PWW)两种方波输出功能。)两种方波输出功能。1).脉冲串(脉冲串(PTO)功能提供周期与脉冲数目可由用户控制的)功能提供周期与脉冲数目可由用户控制的方波(方波(50占空比)输出,脉冲宽度与脉冲周期之比称为占空比)输出,脉冲宽度与脉冲周期之比称为占空比。占空比。2).脉冲宽度调制(脉冲宽度调制(PWM,简称为脉宽调制)功能提供连续,简称为脉宽调制)功能提供连续的、周期与脉冲宽度

26、可由用户控制的输出。的、周期与脉冲宽度可由用户控制的输出。2脉冲宽度调制(脉冲宽度调制(PWM)操作)操作PWM功能提供可变占空比的脉冲输出,如图功能提供可变占空比的脉冲输出,如图7-11(a)所示)所示PWM的高频输出波形进滤波后可以得到与占空比成正的高频输出波形进滤波后可以得到与占空比成正比的模拟量输出电压。可用下述的两种方法改变比的模拟量输出电压。可用下述的两种方法改变PWM波形的特性:波形的特性:(1)同步更新)同步更新(2)异步更新)异步更新3脉冲串(脉冲串(PTO)操作)操作PTO功能生成指定脉冲数目和周期的方波(占空比功能生成指定脉冲数目和周期的方波(占空比为为50)脉冲串,如图

27、)脉冲串,如图7-11(b)所示。)所示。如果周期小于两个时间单位,周期被默认为两个时如果周期小于两个时间单位,周期被默认为两个时间单位。如果指定的脉冲数为间单位。如果指定的脉冲数为0,则脉冲数默认,则脉冲数默认为为1。PTO功能允许脉冲串功能允许脉冲串“链接链接”或者或者“排队排队”,形成,形成管线管线有两种管线方式:单段管线和多段管线。有两种管线方式:单段管线和多段管线。(1)单段管线)单段管线在单段流水线中,需要为下一脉冲列更新特殊寄存器在单段流水线中,需要为下一脉冲列更新特殊寄存器SM。启动了初始启动了初始PTO段后,必须按照第二段波形的要求立即修段后,必须按照第二段波形的要求立即修改

28、改SM,并再次执行,并再次执行PLS指令。指令。(2)多段管线)多段管线在多段流水线中,在多段流水线中,CPU自动从自动从V存储器区的包络表中读取各存储器区的包络表中读取各脉冲串段的特性。该模式下仅使用特殊存储器区的控制字脉冲串段的特性。该模式下仅使用特殊存储器区的控制字节和状态字节。节和状态字节。包络表如表包络表如表7-13所示,多段所示,多段PTO的另一特点是可以通过编程的另一特点是可以通过编程的方式以指定的脉冲数自动增加或减少周期。的方式以指定的脉冲数自动增加或减少周期。(3)包络表中数据的计算)包络表中数据的计算 4开环运动控制开环运动控制(1)开环位置控制的一些基本)开环位置控制的一

29、些基本概念概念1)最大速度与启动)最大速度与启动/停止速度停止速度MAX_SPEED是运行速度的最是运行速度的最大值,它应在电动机转矩允大值,它应在电动机转矩允许的范围内,驱动负载所需许的范围内,驱动负载所需的转矩由摩擦力、惯性以及的转矩由摩擦力、惯性以及加速加速/减速时间决定。减速时间决定。SS_SPEED通常是通常是MAX_SPEED的的5%15%。图图7-13中的中的MIN_SPEED是是最低速度。最低速度。2)包络)包络 包络是一个预先定义的以位置为横坐标、以速度为纵坐标的曲线,包络是运动的图形描述。 PTO支持两种操作模式,即相对位置模式和单速连续转动模式。3)包络中的步)包络中的步 包

温馨提示

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

评论

0/150

提交评论