中断指令及其应用
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
表6-21 FX2N系列PLC指针种类及地址分配
跳转和子程序 调用的指针编号 输入中断用
中断用指针
定时器中断用
计数器中断用
P0~P127 128点
其中: P63为指向END的标号
I00□(X000) I10□(X001) I20□(X002) I30□(X003) I40□(X004) I50□(X005) 6点 □中可为1或0,1表
中断是指PLC在执行主程序的过程中,根据中断条件 自动转去执行中断子程序。 中断是为某些特定的控制功能而设定的独立于主程序 的子程序。 和普通子程序的不同点是,这些特定的控制功能都有 一个共同的特点,即要求:中断子程序响应时间小于机器 的中断源。 FX2N 系列 PLC 有三类十五个中断源 : 输入中断 (6 个 ) 、 定时器中断 (3个 )、和计数器中断 (6个 )。为了区别不同 的中断源入口,应在程序中标明不同的中断指针标号(在 编写中断子程序的指令表时,标号需占一行)。指针地 址编号不可重复使用。
I101
脱 离 主 程 序 的 扫 描 区
END
图8-12 中断指令在梯形图中的表示
2.中断指令的执行过程及应用实例 (1)外部(输入)中断子程序 外部输入中断常用来引入发生频率高于机器 扫描频率的外控制信号,或用于处理那些需快速 响应的信号。 比如,在可控整流装置的控制中,取自同步 变压器的触发同步信号可经专用输入端子引入可 编程控制器作为中断源,并以此信号作为移相角 的计算起点。
图8-14 定时器中断子程序
(3)计数器中断子程序 计数器中断是利用PLC内部的高速计数器对外 部脉冲计数,若当前计数值与设定值比较相等时, 执行中断子程序。 计数器中断子程序常用于利用高速计数器计数 进行优先控制的场合。计数器中断要与高速计数器 比较置位指令FNC 53 (HSCS)组合使用才能实现。 图8-16所示,当高速计数器C255的当前计数值 与K100比较相等时,产生中断响应,转去执行中断 指针指向的中断子程序,中断子程序执行完后,返 回原断点后的主程序。
中断指令的梯形图表 示如图8-12所示。从 图中可以看出,中断程 序作为子程序是安排在 主程序结束指令FEND之 后的。 主程序中EI及DI指 令之间的程序区为允许 中断子程序响应的范围。 若主程序带有多个 中断子程序时,为了区 分每个独立的中断子程 序,中断标号和与其最 近的一处中断返回指令 构成的程序即为一个中
( 定时中断) M8056=OFF, I6 □□ 允许中断 ( 定时中断) M8057=OFF, I7 □□ 允许中断
在EI和DI的开中断区间,若M8056= OFF ,每 隔 I6 □□ 设定的时间执行 I6 □□ 处的子程序。 在EI和DI的开中断区间,若M8057= OFF ,每 隔 I7 □□ 设定的时间执行 I7 □□ 处的子程序。
Y003 1 2 10
X001=ON,禁止定时中断, 只对M1~M3和D0复位 M1 M3 M1~M3复位 D0清零
K0
D0 X001
10秒 Y001=Y002
K1000
D0
M1
FNC 03 IRET END
(K1000>D0当前值,M1=ON) (K1000=D0当前值, M2=ON) (K1000<D0当前值, M3=ON)
示上升沿有效,0表 示下降沿有效.
I6□□ I7□□ I8□□ 3点 □□为中断指定的定
时时间,10~99ms
I010 I020 I030 I040 I050 I060 6点
六个输入中断指针是接收对应输入端 X000 ~ X005 信号而执行中断子程序的。常用于由外部干 预需要中断处理一些工作的场合。 三个定时器中断标号是机内的中断定时器, 当定时值与设定时间相等时,自动执行中断子程 序。常用于需要周期性中断处理一些工作的场合。 六个计数器中断标号是机内高速计数器 (C235 ~ C255) 计数值与设定值比较相等时,指定 执行中断子程序的入口地址。常用于由高速计数 器计数而需要中断处理一些工作的场合。
• 中断子程序是脱离于程序扫描执行的。处理多 个中断子程序突发执行的优先秩序,称为中断 优先权。 • FX2N系列PLC一共有15个中断,其优先权由中断 号的大小决定,号数小的中断优先权高。外部 输入中断号整体上高于定时器中断。即外部输 入中断的优先权较高。 • 中断子程序是为一些特定的随机事件处理而设 计的子程序,它能否允许响应中断请求,取决于 主程序中是否安排有中断允许的开放区和中断 禁止的关闭区。
在EI和DI的开中断区间,若M8058= OFF ,每 隔 ( 定时中断) M8058=OFF, I8 □□ 允许中断 I8 □□ 设定的时间ห้องสมุดไป่ตู้行 I8 □□ 处的子程序。 ( 计数器中断) 在开中断区间,若M8059= OFF , 高速计数器的当前 M8059=OFF, 允许 I010 ~I060 中断 值若与比较值相等时,执行 I010 ~I060 处的子 程序。
表8-7 特殊辅助继电器与中断对应关系
地址号 · 名称 动作 · 功能
在EI和DI的开中断区间,若M8050= OFF ,由 X000 ( 输入中断) M8050=OFF, I00 □ 允许中断 端口 的上升沿或下降沿执行I00口处的子程序。
( 输入中断) 在EI和DI的开中断区间,若M8051= OFF ,由 X001 M8051=OFF, I10 □ 允许中断 端口 的上升沿或下降沿执行I10口处的子程序。
M8000
C255 K2,147,483,647
S1· S2· D·
FNC 53 DHSCS K100
C255
I010
FNC 06 FEND I010 中断程序 FNC 03 IRET
图8-16 高速计数器中断动作示意图
FNC04
计数器中断子程序实例2
M8059=OFF,允许中断
X10
EI
M8059
FNC 03 IRET
END
图8-13 外部输入中断子程序
(2)定时中断子程序为一个时间比较的验证性中断子 程序。定时中断子程序的入口标号为I610,每10ms自动 执行一次中断子程序。从梯形图的程序可知: 当程序第一次扫描执行期间, M8056=ON,标号为I610的 定时中断子程序禁止执行,只对M1~M3,D0和T0初始化; 第二次扫描执行程序时,M8056=OFF,定时中断子程序 允许工作,即每间隔10mS,执行一次中断子程序,数据 存储器D0中加1,当加到1000时,M2为ON,使主程序中 Y002置1。 为了验证定时中断子程序执行的正确性,主程序中 的定时器T0与中断子程序同时定时运行,其设定值也为 10秒,控制输出端Y001,这样主程序与中断子程序经过 10S的运行,Y001及Y002应同时置1。
中断指令及其应用 1.中断指令说明及其梯形图表示方法 中断指令的助记符、指令代码、操作数、程 序步见表 中断指令使用要素
操作数 指令名称 指令代码 助记符 D 中断返回指令 允许中断指令 禁止中断指令 FNC 03 FNC 04 FNC 05 IRET EI DI 无 无 无 1步 1步 1步 程序步
M8000 C255
FNC53 HSCS FNC04
K1000
C255
I010
M8000
FEND
高速计数器 C255 计到 1000 ,执行 中断程序
Y000
I010
M8001
Y001
FNC03 IRET END
在EI和DI的开中断区间,若M8052= OFF ,由 X002 ( 输入中断) M8052=OFF, I20 □ 允许中断 端口 的上升沿或下降沿执行I20口处的子程序。 在EI和DI的开中断区间,若M8053= OFF ,由 X003 ( 输入中断) M8053=OFF, I30 □ 允许中断 端口 的上升沿或下降沿执行I30口处的子程序。 在EI和DI的开中断区间,若M8054= OFF ,由 X004 ( 输入中断) M8054=OFF, I40 □ 允许中断 端口 的上升沿或下降沿执行I40口处的子程序。 在EI和DI的开中断区间,若M8055= OFF ,由 X005 ( 输入中断) M8055=OFF, I50 □ 允许中断 端口 的上升沿或下降沿执行I50口处的子程序。
FNC 04 EI X001 M8056 FNC 40 ZRST FNC 12 MOV X001 T0 T0 M2 M8013 Y003 FNC 05 DI FNC 06 FEND M8000 I 610 M2 FNC 24 INC FNC 10 CMP D0 I610每0.01秒使D0加1, 计到1000时,正好为10秒 K100 Y001 Y002
FNC 04 EI X010
M8050
FNC 05 DI FNC 04 EI X020
开中 断范围
关中 断范围 开中 断范围
循 环 扫 描 区
M8051
FNC 05 DI FNC 06 FEND I 001 FNC 03 IRET 中断 程序① M8050=0时,从 X000输入中断 中断 程序② FNC 03 IRET M8051=0时,从 X001输入中断
FNC 04 EI X001 M8050 M8013 Y011 FNC 05 DI FNC 06 FEND M8000 I 001 Y000 M8013 Y012 Y012由M8013驱动, 每秒闪一次 SET Y000 M8050=0时,允许 X000上升沿引起 I001子程序执行 Y011由M8013驱动, 每秒闪一次
在主程序的开中断区, 当X001=OFF,则M8050 =OFF,标号为I001的中 断子程序允许执行,即 每当输入口X000接收到 一次上升沿中断请示信 号时,就执行该中断子 程序一次,使Y000=ON, 利用触点型秒脉冲特殊 继电器M8013驱动Y012 每秒接通一次,中断子 程序执行完后返回主程 序。
在主程序中,允许中断指令EI与禁止中断指令DI
指令之间为允许(或开)中断区,区外为关中断。
若 EI 和 DI 在主程序的头尾 , 则整个主程序都为开中 断区,称为全程允许中断。 PLC是根据开中断区中的 工作性质决定是否响应中断子程序的。 如果主程序后面安排的中断子程序比较多,而这些 中断子程序又不一定需要同时响应时,可以在主程序 开中断区中安排特殊辅助继电器 M8050~M8059对输入, 定时,计数中断子程序选择执行 , M8050~M8059与15 个中断指针的对应关系如表 8 - 7 所示。机器规定 : 当 M8050 ~ M8059 被置 1 时,其对应的中断被封锁;反之 置0时,允许对应的中断执行。