2024年3月12日发(作者:苦芳蕙)
三菱FX系列中断指令与中断程序
主讲:雷老师
湖北祥辉电气自动化培训中心
三菱
FX
系列
PLC
的中断指令
[IRET
、
El
、
DI(FNC03
、
FNC04
、
FNC05)]
1
.中断指令的使用说明
(1)IRET:
中断子程序返回主程序;
EI:
允许中断;
DI:
禁止中断。
EI
~图
6-19
所示为中断指令使用说明。
DI
为允许中断区间,当中断条件出现在主程序此区间内则转向执行有中断标号的子程序。
(2)
中断子程序开始有中断标号,由
IRET
返回。中断子程序一般出现在主程序后面。中断标号必须对
应允许中断的条件。
在中断条件
0
~
8
中,
0
~
5
表示与输入条件
X0
~
X5
对应,在图
6-19
中中断标号
1001
表示
X0
为
1
在
上升沿执行中断子程序
I
,
I101
表示
X1
为
1
在上升沿执行子程序Ⅱ;
6
~
8
为定时器中断条件(标号),如
I610
表示指定由定时器
6
每计时
10ms
执行一次中断子程序。同理
1899
表示由定时器
8
每计时
99ms
执
行一次中断子程序。
(3)
中断子程序可嵌套最多二级,多个中断信号同时出现,中断标号低的有优先权。
(4)
对中断标号为
I00
□
~I50
□的输入中断,对应
M8050~M8055
为
1
时中断被禁止。对中断标号为
I6
□□
~I8
□□的定时器中断,对应
M8056~M8058
为
1
时中断被禁止。
(5)
在特殊场合主程序设计中采用中断指令,可以有目的预先应付突发事件。中断指令也适用于一些必
须定时监控诊断的主程序中。
(6)
中断要用
EI
允许中断指令和中断返回IRET,中断中需要使用计时器的话,请使用T192-T199和
T246-T249
2
.应用举例
(1)
外部输入中断子程序。图
6-20
所示为一外部输入中断子程序。在主程序执行时,当特殊辅助继电
器
M8050=0
时,标号
I001
的中断子程序允许执行。当
PLC
外部输入信号
X0
有上升沿信号时,执行中断
程序一次,执行完毕返回主程序。
Y10
由
M8013
驱动每秒内一次,而
Y0
输出是当
X0
在上升沿脉冲时,
驱动其为“
1
”信号,此时
Y11
输出就由
M8013
当时状态所决定。若
X10=1
,则
M8050=1
,
I001
中断子
程序禁止执行。
湖北祥辉电气自动化培训中心
图
6-20
外部输入中断子程序
(2)
定时中断子程序。图
6-21
所示为一定时中断子程序。中断标号为
I610
,利用定时器
6
每
10ms
中
断子程序执行一次。每执行一次中断子程序使数据寄存器
D0
内容加
1
,当加到
1000
时使
Y2
置
1
。为验证
中断程序正确与否,在主程序中加入了定时电路
T0
,
T0
触点控制
Y1
,当
X10
由
ON
→
OFF
时,经延时
10s
后,
Y1
,
Y2
应同时为“
1
”态。
INC
为加
1
指令,
CMP
为比较指令,当
1000>[D0]
,
M1=1;1000=[D0]
,
M2=1;1000<[D0]
,
M3=1
(图
6-21
中未画出
M1
、
M3
触点)。当
X10=1
,
M8056=1
,中断被禁止。这时
M0~M2
复位
(ZRST)
,
K0
(数据为
0
)传送
(MOV)
到
D0
中。
湖北祥辉电气自动化培训中心
图
6-21
定时中断子程序实例
湖北祥辉电气自动化培训中心
图
6-22
高速计数器中断示意梯形图
图5.18中断指针格式
(1)
外中断指针
外中断指针的格式如图
5.18(a)
所示,
I00
~
I50
,共
6
点。外中断是外部信号引起的中断,对应的外部信
号的输入口为
X000
~
X005
。指针格式中的最后一位可以选择是上升沿请求中断,还是下降沿请求中断。
(2)
内中断指针
内中断指针的格式如图
5.18(b)
所示,
I6
□□~
I8
□□,共
3
点。内中断为内部定时时间到信号中断,
由指定编号为
6
~
8
的专用定时器控制。设定时间在
10
~
99ms
间选取,每隔设定时间就会中断一次。
(3)
高速外部计数中断指针
高速计数器中断指针的格式如图
5.18(c)
所示,
I010
~
I060
,共
6
点。这
6
个中断指针分别表示由高速
计数器
(C235
~
C255)
的当前值实现的中断。
中断返回
IRET(InterruptionReturn)
、中断允许
EI(InterruptionEnable)
和中断禁止
DI(Interruption
Disable)
相关中断指令的助记符、功能号、操作数和程序步等指令概要如表
5.4
所示。
表
5.4
有关中断指令概要
2.3.4
小节已经介绍了
FX2N
系列
PLC
有
3
类中断,即外部中断、内中断(即内部定时器中断)和高速计
数器外部计数中断。
FX2N
系列
PLC
可以多达
15
个中断源,
15
个中断源可以同时向
CPU
发中断请求信
号,这时
CPU
要通过中断判优,来决定响应哪一个中断。
15
个中断源的优先级由中断号决定,中断号小
者其优先级为高。另外,外中断的优先级整体上高于内中断的优先级。
这样,在主程序的执行过程中,就可根据不同中断服务子程序中
PLC
所要完成工作的优先级高低决定
能否响应中断。对可以响应中断的程序段用中断允许指令
EI
来开中断,对不允许中断的程序段用中断指
令
DI
来关中断。程序中允许中断响应的区间应该由
EI
指令开始,
DI
指令结束,如图
5.17
所示。在此区
间之外时,即使有中断请求,
CPU
也不会立即响应。通常情况下,在执行某个中断服务程序时,将禁止其
他中断。
湖北祥辉电气自动化培训中心
图5.17内外中断示意梯形图
从中断服务子程序中返回必须用专门的中断返回指令
IRET
,不能用子程序返回指令
SRET
。
IRET
指令
除了能从中断服务程序返回以外,还要通知
CPU
本次中断已经结束,可以响应其他中断请求了。中断的
调用与返回过程与子程序的调用与返回过程十分相似,但两者还是有较大区别的。子程序调用是事先在程
序中用
CALL
给定的,但是中断调用要求响应时间小于机器的扫描周期,所以就不能像子程序那样事先在
程序中给定,这样中断没有相应的调用指令,而是由外设随机地通过硬件向
CPU
发出中断请求(这种能
引起中断的外设被称为中断源),才把
CPU
拉到中断服务子程序中去。整个中断是一个软硬件结合的过程。
EI
是中断开放指令,
DI
是中断禁止指令。这两条指令比较简单,
PLC
执行到
EI
指令就开放中断,执
行到
DI
指令就禁止中断。这是因为
PLC
中断控制电路上有一个
“
软开关
”
,这个
“
软开关
”
在
PLC
上电初
始化时是断开的,
EI
的作用就是接通这个
“
软开关
”
,
DI
的作用则是断开这个
“
软开关
”
。
EI
、
DI
控制的
“
软开关
”
是中断源的总开关,它的下面还有一些
“
软
“
的分开关,就是
M8050~M8059
。
这些
“
软
“
的分开关可以在程序中置为
ON
或
OFF
,分别控制不同的中断源,以
FX2N/2NC
为例,其中:
M8050~M8055
分别控制输入中断源
X000-X005
,输入中断用指针编号
I000~I500
;
M8056~M8058
分别控制三个定时器中断源,定时器中断用指针编号
I600
、
I700
、
I800
;
M8059
控制
6
个高速计数器中断源,高速计数器中断用指针编号
I900
。
这样,要想一个中断源触发中断,必须满足
2
个条件:
1
)用
EI
开放中断,
2
)使该中断源的
”
软
“
分开关
为
ON
。
中断源触发中断后,
PLC
就跳转到其中断用指针编号指定的子程序执行。
IRET
是中断返回指令,它是中
断处理程序的结束指令,其作用是使
PLC
返回到被中断时的下一条指令继续执行。
若没有中断处理子程序,虽然触发了中断,但没有处理任何事情。
设
DM6628
为
0011
,即
00003
和
00004
为中断输入点。当
00003
接通时产生中断,停止执行主程序、转
去执行子程序
000
使
20000ON
,返回执行主程序使
01000ON
。当
00004
接通产生中断时,转去执行子程
序
001
使
20001ON
,返回执行主程序使
01000OFF
。
设
DM6628
为
0011
,即
00003
和
00004
为中断输入点。
湖北祥辉电气自动化培训中心
当00003接通时产生中断,停止执行主程序、转去执行子程序000使20000ON,返回执行主程序使01000
ON。
当00004接通产生中断时,转去执行子程序001使20001ON,返回执行主程序使01000OFF。
湖北祥辉电气自动化培训中心
2024年3月12日发(作者:苦芳蕙)
三菱FX系列中断指令与中断程序
主讲:雷老师
湖北祥辉电气自动化培训中心
三菱
FX
系列
PLC
的中断指令
[IRET
、
El
、
DI(FNC03
、
FNC04
、
FNC05)]
1
.中断指令的使用说明
(1)IRET:
中断子程序返回主程序;
EI:
允许中断;
DI:
禁止中断。
EI
~图
6-19
所示为中断指令使用说明。
DI
为允许中断区间,当中断条件出现在主程序此区间内则转向执行有中断标号的子程序。
(2)
中断子程序开始有中断标号,由
IRET
返回。中断子程序一般出现在主程序后面。中断标号必须对
应允许中断的条件。
在中断条件
0
~
8
中,
0
~
5
表示与输入条件
X0
~
X5
对应,在图
6-19
中中断标号
1001
表示
X0
为
1
在
上升沿执行中断子程序
I
,
I101
表示
X1
为
1
在上升沿执行子程序Ⅱ;
6
~
8
为定时器中断条件(标号),如
I610
表示指定由定时器
6
每计时
10ms
执行一次中断子程序。同理
1899
表示由定时器
8
每计时
99ms
执
行一次中断子程序。
(3)
中断子程序可嵌套最多二级,多个中断信号同时出现,中断标号低的有优先权。
(4)
对中断标号为
I00
□
~I50
□的输入中断,对应
M8050~M8055
为
1
时中断被禁止。对中断标号为
I6
□□
~I8
□□的定时器中断,对应
M8056~M8058
为
1
时中断被禁止。
(5)
在特殊场合主程序设计中采用中断指令,可以有目的预先应付突发事件。中断指令也适用于一些必
须定时监控诊断的主程序中。
(6)
中断要用
EI
允许中断指令和中断返回IRET,中断中需要使用计时器的话,请使用T192-T199和
T246-T249
2
.应用举例
(1)
外部输入中断子程序。图
6-20
所示为一外部输入中断子程序。在主程序执行时,当特殊辅助继电
器
M8050=0
时,标号
I001
的中断子程序允许执行。当
PLC
外部输入信号
X0
有上升沿信号时,执行中断
程序一次,执行完毕返回主程序。
Y10
由
M8013
驱动每秒内一次,而
Y0
输出是当
X0
在上升沿脉冲时,
驱动其为“
1
”信号,此时
Y11
输出就由
M8013
当时状态所决定。若
X10=1
,则
M8050=1
,
I001
中断子
程序禁止执行。
湖北祥辉电气自动化培训中心
图
6-20
外部输入中断子程序
(2)
定时中断子程序。图
6-21
所示为一定时中断子程序。中断标号为
I610
,利用定时器
6
每
10ms
中
断子程序执行一次。每执行一次中断子程序使数据寄存器
D0
内容加
1
,当加到
1000
时使
Y2
置
1
。为验证
中断程序正确与否,在主程序中加入了定时电路
T0
,
T0
触点控制
Y1
,当
X10
由
ON
→
OFF
时,经延时
10s
后,
Y1
,
Y2
应同时为“
1
”态。
INC
为加
1
指令,
CMP
为比较指令,当
1000>[D0]
,
M1=1;1000=[D0]
,
M2=1;1000<[D0]
,
M3=1
(图
6-21
中未画出
M1
、
M3
触点)。当
X10=1
,
M8056=1
,中断被禁止。这时
M0~M2
复位
(ZRST)
,
K0
(数据为
0
)传送
(MOV)
到
D0
中。
湖北祥辉电气自动化培训中心
图
6-21
定时中断子程序实例
湖北祥辉电气自动化培训中心
图
6-22
高速计数器中断示意梯形图
图5.18中断指针格式
(1)
外中断指针
外中断指针的格式如图
5.18(a)
所示,
I00
~
I50
,共
6
点。外中断是外部信号引起的中断,对应的外部信
号的输入口为
X000
~
X005
。指针格式中的最后一位可以选择是上升沿请求中断,还是下降沿请求中断。
(2)
内中断指针
内中断指针的格式如图
5.18(b)
所示,
I6
□□~
I8
□□,共
3
点。内中断为内部定时时间到信号中断,
由指定编号为
6
~
8
的专用定时器控制。设定时间在
10
~
99ms
间选取,每隔设定时间就会中断一次。
(3)
高速外部计数中断指针
高速计数器中断指针的格式如图
5.18(c)
所示,
I010
~
I060
,共
6
点。这
6
个中断指针分别表示由高速
计数器
(C235
~
C255)
的当前值实现的中断。
中断返回
IRET(InterruptionReturn)
、中断允许
EI(InterruptionEnable)
和中断禁止
DI(Interruption
Disable)
相关中断指令的助记符、功能号、操作数和程序步等指令概要如表
5.4
所示。
表
5.4
有关中断指令概要
2.3.4
小节已经介绍了
FX2N
系列
PLC
有
3
类中断,即外部中断、内中断(即内部定时器中断)和高速计
数器外部计数中断。
FX2N
系列
PLC
可以多达
15
个中断源,
15
个中断源可以同时向
CPU
发中断请求信
号,这时
CPU
要通过中断判优,来决定响应哪一个中断。
15
个中断源的优先级由中断号决定,中断号小
者其优先级为高。另外,外中断的优先级整体上高于内中断的优先级。
这样,在主程序的执行过程中,就可根据不同中断服务子程序中
PLC
所要完成工作的优先级高低决定
能否响应中断。对可以响应中断的程序段用中断允许指令
EI
来开中断,对不允许中断的程序段用中断指
令
DI
来关中断。程序中允许中断响应的区间应该由
EI
指令开始,
DI
指令结束,如图
5.17
所示。在此区
间之外时,即使有中断请求,
CPU
也不会立即响应。通常情况下,在执行某个中断服务程序时,将禁止其
他中断。
湖北祥辉电气自动化培训中心
图5.17内外中断示意梯形图
从中断服务子程序中返回必须用专门的中断返回指令
IRET
,不能用子程序返回指令
SRET
。
IRET
指令
除了能从中断服务程序返回以外,还要通知
CPU
本次中断已经结束,可以响应其他中断请求了。中断的
调用与返回过程与子程序的调用与返回过程十分相似,但两者还是有较大区别的。子程序调用是事先在程
序中用
CALL
给定的,但是中断调用要求响应时间小于机器的扫描周期,所以就不能像子程序那样事先在
程序中给定,这样中断没有相应的调用指令,而是由外设随机地通过硬件向
CPU
发出中断请求(这种能
引起中断的外设被称为中断源),才把
CPU
拉到中断服务子程序中去。整个中断是一个软硬件结合的过程。
EI
是中断开放指令,
DI
是中断禁止指令。这两条指令比较简单,
PLC
执行到
EI
指令就开放中断,执
行到
DI
指令就禁止中断。这是因为
PLC
中断控制电路上有一个
“
软开关
”
,这个
“
软开关
”
在
PLC
上电初
始化时是断开的,
EI
的作用就是接通这个
“
软开关
”
,
DI
的作用则是断开这个
“
软开关
”
。
EI
、
DI
控制的
“
软开关
”
是中断源的总开关,它的下面还有一些
“
软
“
的分开关,就是
M8050~M8059
。
这些
“
软
“
的分开关可以在程序中置为
ON
或
OFF
,分别控制不同的中断源,以
FX2N/2NC
为例,其中:
M8050~M8055
分别控制输入中断源
X000-X005
,输入中断用指针编号
I000~I500
;
M8056~M8058
分别控制三个定时器中断源,定时器中断用指针编号
I600
、
I700
、
I800
;
M8059
控制
6
个高速计数器中断源,高速计数器中断用指针编号
I900
。
这样,要想一个中断源触发中断,必须满足
2
个条件:
1
)用
EI
开放中断,
2
)使该中断源的
”
软
“
分开关
为
ON
。
中断源触发中断后,
PLC
就跳转到其中断用指针编号指定的子程序执行。
IRET
是中断返回指令,它是中
断处理程序的结束指令,其作用是使
PLC
返回到被中断时的下一条指令继续执行。
若没有中断处理子程序,虽然触发了中断,但没有处理任何事情。
设
DM6628
为
0011
,即
00003
和
00004
为中断输入点。当
00003
接通时产生中断,停止执行主程序、转
去执行子程序
000
使
20000ON
,返回执行主程序使
01000ON
。当
00004
接通产生中断时,转去执行子程
序
001
使
20001ON
,返回执行主程序使
01000OFF
。
设
DM6628
为
0011
,即
00003
和
00004
为中断输入点。
湖北祥辉电气自动化培训中心
当00003接通时产生中断,停止执行主程序、转去执行子程序000使20000ON,返回执行主程序使01000
ON。
当00004接通产生中断时,转去执行子程序001使20001ON,返回执行主程序使01000OFF。
湖北祥辉电气自动化培训中心