0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于PLC中断指令详细解析

电子工程师 来源:AMT论坛 作者:AMT论坛 2021-04-27 15:01 次阅读

中断的概念:中断是计算机独有的一种工作方式;在主程序执行的过程中,中断主程序的执行;在执行子程序的过程中,中断子程序的执行。中断程序主要是为某些特定控制功能而设定。与子程序不同,中断是随机发生且必须立即响应的。需要执行中断程序必须要有中断源(引发中断的信号)每个中断信号都有一个编号加以识别,也就是我们说的中断事件号

在200SMART系列PLC中共有三大类中断事件,分别是:I/O中断:I/O 中断包括上升/下降沿中断、高速计数器中断和脉冲串输出中断。CPU 可以为输入通道 I0.0、I0.1、I0.2 和 I0.3(以及带有可选数字量输入信号板的标准 CPU 的输入通道 I7.0 和 I7.1)生成输入上升和/或下降沿中断。可对这些输入点中的每一个捕捉上升沿和下降沿事件。这些上升沿/下降沿事件可用于指示在事件发生时必须立即处理的状况。

高速计数器中断可以对下列情况做出响应:当前值达到预设值,与轴旋转方向反向相对应的计数方向发生改变或计数器外部复位。这些高速计数器事件均可触发实时执行的操作,以响应在可编程逻辑控制器扫描速度下无法控制的高速事件。 脉冲串输出中断在指定的脉冲数完成输出时立即进行响应。脉冲串输出的典型应用为步进电机控制。

通信中断:CPU 的串行通信端口可通过程序进行控制。通信端口的这种操作模式称为自由端口模式。在自由端口模式下,程序定义波特率、每个字符的位数、奇偶校验和协议。接收和发送中断可简化程序控制的通信

时基中断:基于时间的中断包括定时中断和定时器 T32/T96 中断。可使用定时中断指定循环执行的操作。循环时间位于 1 ms 到 255 ms 之间,按增量为 1 ms 进行设置。必须在定时中断 0 的 SMB34 和定时中断 1 的 SMB35 中写入循环时间。 每次定时器到时时,定时中断事件都会将控制权传递给相应的中断程序。通常,可以使用定时中断来控制模拟量输入的采样或定期执行 PID 回路。

将中断程序连接到定时中断事件时,启用定时中断并且开始定时。连接期间,系统捕捉周期时间值,因此 SMB34 和 SMB35 的后续变化不会影响周期时间。要更改周期时间,必须修改周期时间值,然后将中断例程序重新连接到定时中断事件。重新连接时,定时中断功能会清除先前连接的所有累计时间,并开始用新值计时。

定时中断启用后,将连续运行,每个连续时间间隔后,会执行连接的中断程序。如果退出 RUN 模式或分离定时中断,定时中断将禁用。如果执行了全局 DISI(中断禁止)指令,定时中断会继续出现,但是尚未处理所连接的中断程序。每次定时中断出现均排队等候,直至中断启用或队列已满。 使用定时器 T32/T96 中断可及时响应指定时间间隔的结束。仅 1 ms 分辨率的接通延时 (TON) 和断开延时 (TOF) 定时器 T32 和 T96 支持此类中断。否则 T32 和 T96 正常工作。启用中断后,如果在 CPU 中执行正常的 1 ms 定时器更新期间,激活定时器的当前值等于预设时间值,将执行连接的中断程序。可通过将中断程序连接到 T32(事件 21)和 T96(事件 22)中断事件来启用这些中断。

当多个中断同时发生请求时,CPU对中断响应有优先顺序,从高到低的中断顺序分别是通信中断、I/O中断及最低的时基中断。 需要注意的是,当比如在执行I/O中断时,通信中断又产生了,此时不会马上去执行通信中断,而是执行完正在执行的I/O中断后再执行通信中断。而如果同时产生的话就是按优先顺序执行了

下表为不同的中断事件号对应的中断事件:事件说明CR20s

CR30s

CR40s

CR60sSR20/ST20

SR30/ST30

SR40/ST40

SR60/ST60

0I0.0 上升沿Y Y

1I0.0 下降沿Y Y

2I0.1 上升沿Y Y

3I0.1 下降沿Y Y

4I0.2 上升沿Y Y

5I0.2 下降沿Y Y

6I0.3 上升沿YY

7I0.3 下降沿YY

8端口 0 接收字符YY

9端口 0 发送完成YY

10定时中断 0(SMB34 控制时间间隔)YY

11定时中断 1(SMB35 控制时间间隔)YY

12HSC0 CV=PV(当前值 = 预设值)YY

13HSC1 CV=PV(当前值 = 预设值)YY

14-15保留NN

16HSC2 CV=PV(当前值 = 预设值)YY

17HSC2 方向改变YY

18HSC2 外部复位YY

19PTO0 脉冲计数完成NY

20PTO1 脉冲计数完成NY

21定时器 T32 CT=PT(当前时间 = 预设时间)YY

22定时器 T96 CT=PT(当前时间 = 预设时间)YY

23端口 0 接收消息完成YY

24端口 1 接收消息完成NY

25端口 1 接收字符NY

26端口 1 发送完成NY

27HSC0 方向改变YY

28HSC0 外部复位YY

29HSC4 CV=PVNY

30HSC4 方向改变NY

31HSC4 外部复位NY

32HSC3 CV=PV(当前值 = 预设值)YY

33HSC5 CV=PVNY

34PTO2 脉冲计数完成NY

35I7.0 上升沿(信号板)NY

36I7.0 下降沿(信号板)NY

37I7.1 上升沿(信号板)NY

38I7.1 下降沿(信号板)NY

43HSC5 方向改变NY

44HSC5 外部复位NY

N表示无 Y表示有 红色部分表示常用中断事件号中断指令ATCH:中断连接,连接某中断事件所要调用的程序段。ENI:全局允许中断,开放中断处理功能。DISI:全局禁止中断,禁止处理中断服务程序,但中断事件仍然会排队等候。DTCH:中断分离,将中断事件号与中断服务程序之间的关联切断,并禁止该中断事件。RETI:条件中断返回,根据逻辑操作的条件,从中断服务程序中返回。CLR_EVNT:清空中断队列。

017108e2-a6ff-11eb-aece-12bb97331649.png

ATCH表示中断连接指令,用于中断事件号和中断程序进行连接INT管脚表示连接具体的中断程序EVNT表示中断事件号ENI为允许中断指令。CPU在RUN模式下时是禁止中断功能的,在使用中断程序前必须使用允许开中断指令

中断分离指令DTCH

01977982-a6ff-11eb-aece-12bb97331649.png

中断分离指令解除中断事件 EVNT 与所有中断例程的关联,并禁用中断事件,需要再次激活中断程序时,则需再次激活允许中断连接

中断返回 RETI01e4beea-a6ff-11eb-aece-12bb97331649.png

中断有条件返回指令可用于根据前面的程序逻辑的条件从中断返回,不再执行后面的程序段,在中断程序中使用

中断禁止指令 DISI

020623aa-a6ff-11eb-aece-12bb97331649.png

当指令执行后禁止所有中断,即便发生中断事件也不会执行中断程序;需重新开启允许中断后才可再次使用中断功能。中断禁止和中断分离有一定的区别,中断分离是断开某个中断事件而中断禁止是断开整个中断程序

清除中断事件指令 CLR_EVNT 从中断队列中移除所有类型为 EVNT 的中断事件。使用该指令可将不需要的中断事件从中断队列中清除。如果该指令用于清除假中断事件,则应在从队列中清除事件之前分离事件。否则,在执行清除事件指令后,将向队列中添加新事件。

中断程序使用的过程中应需要注意以下几点:1、中断程序应短小而简单,执行时对其他处理越短越好2、200SMART 最多使用128个中断程序,中断程序不能嵌套3、中断程序执行后会自动返回,也可在中途由逻辑控制使用中断返回指令返回4、中断程序只需要和中断事件连接一次(使用沿脉冲或SM0.1 );多个中断事件可以连接一个中断服务程序;一个中断事件只能连接一个中断程序5、中断程序不能通过条件调用,只有由用户程序把中断程序名称和中断事件联系起来,并且需要允许中断后才能进入等待中断并随时执行的状态
编辑:lyn

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • plc
    plc
    +关注

    关注

    4975

    文章

    12262

    浏览量

    454973
  • 中断
    +关注

    关注

    5

    文章

    884

    浏览量

    41030

原文标题:什么是程序中的“中断”?

文章出处:【微信号:AMTBBS,微信公众号:世界先进制造技术论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    PLC左移指令和右移指令

    PLC(可编程逻辑控制器)中,左移(Shift Left)指令和右移(Shift Right)指令通常用于位级操作,对位寄存器中的位进行移位操作。这些指令可以用于实现数据的移位和位操
    发表于 03-15 14:12 749次阅读
    ​<b class='flag-5'>PLC</b>左移<b class='flag-5'>指令</b>和右移<b class='flag-5'>指令</b>

    如何在PLC中使用左移指令和右移指令

     PLC(可编程逻辑控制器)中的左移指令和右移指令是数据处理中常用的指令,用于将数据中的位向左或向右移动指定的位数。
    的头像 发表于 03-07 17:11 829次阅读
    如何在<b class='flag-5'>PLC</b>中使用左移<b class='flag-5'>指令</b>和右移<b class='flag-5'>指令</b>呢

    plc指令表和梯形图的转换关系

    PLC(可编程逻辑控制器)是一种用于自动化控制系统的设备,它使用可编程的指令来控制和监控生产线上的各种工艺。PLC指令表和梯形图是两种不同的表示方法,用来描述
    的头像 发表于 12-18 16:04 1384次阅读

    中断与硬中断介绍

    • 硬中断是由外部事件引起的因此具有随机性和突发性;硬中断是否可以嵌套的,是否有优先级(由硬件设计体系决定)。 • 软中断是执行中断指令产生的,无面外部施加
    的头像 发表于 11-07 17:02 400次阅读

    如何在特权模式下用arm汇编指令使能和禁止irq中断

    如何在特权模式下用arm汇编指令使能和禁止irq中断? 在 ARM 系统中,中断是非常常见的一种事件。在特权模式下,可以使用 ARM 汇编指令来使能或禁止 IRQ
    的头像 发表于 10-19 16:42 800次阅读

    PLC中断功能详解

    plc这样理解中断功能,在理解中断时,首先要清楚plc的运算周期或者说是扫描周期,有必要说下plc顺控循环执行的流程,这是理解
    发表于 09-28 11:12 544次阅读
    <b class='flag-5'>PLC</b><b class='flag-5'>中断</b>功能详解

    PLC指令大全详解 PLC26个基本指令

    PLC指令是可编程逻辑控制器(PLC)使用的机器指令
    的头像 发表于 07-14 11:08 1w次阅读
    <b class='flag-5'>PLC</b><b class='flag-5'>指令</b>大全详解 <b class='flag-5'>PLC</b>26个基本<b class='flag-5'>指令</b>

    PRIMASK寄存器开、关总中断指令代码

    。我们可以对特殊功能寄存器PRIMASK写1来关闭/屏蔽优先级不高于0【数字大于0】的所有可配置中断中断响应。对其写0,放弃关闭/屏蔽功能,即所谓的开总中断关于使用PRIMASK
    的头像 发表于 06-21 16:32 3634次阅读
    PRIMASK寄存器开、关总<b class='flag-5'>中断</b>的<b class='flag-5'>指令</b>代码

    中断是什么?PLC的三大类中断事件

    在200SMART系列PLC中共有三大类中断事件,分别是:I/O中断:I/O 中断包括上升/下降沿中断、高速计数器
    发表于 06-20 14:11 4466次阅读
    <b class='flag-5'>中断</b>是什么?<b class='flag-5'>PLC</b>的三大类<b class='flag-5'>中断</b>事件

    博途SCL指令SCATTER:将位序列解析为单个位

    指令“将位序列解析为单个位”用于将数据类型为 BYTE、WORD、DWORD 或 LWORD 的变量解析为单个位,并保存在 ARRAY of BOOL、匿名 STRUCT 或仅包含有布尔型元素的
    的头像 发表于 06-07 10:47 1792次阅读
    博途SCL<b class='flag-5'>指令</b>SCATTER:将位序列<b class='flag-5'>解析</b>为单个位

    PLC中断指令及例程

    我们在日常工作中,按照正常的流程来工作,如中途发生紧急情况或相隔一定时间去兼顾另一项工作,就要先停下手头工作去处理紧急事件或另一项工作,这个停下工作就叫中断,所处理的紧急事件或另一项工作,就叫做中断程序,处理完问题再回过来继续原来的工作。
    发表于 06-07 09:58 769次阅读
    <b class='flag-5'>PLC</b><b class='flag-5'>中断指令</b>及例程

    中断指令及程序的讲解

    首先要理解中断,必须知道PLC程序的三大构体,主程序、子程序、中断程序,其中中断就属于程序控制中的一种,中断主要执行突发程序在返回主程序执行
    的头像 发表于 05-22 14:35 3248次阅读
    <b class='flag-5'>中断指令</b>及程序的讲解

    PLC中断功能怎么用?

    plc这样理解中断功能,在理解中断时,首先要清楚plc的运算周期或者说是扫描周期,有必要说下plc顺控循环执行的流程,这是理解
    发表于 05-15 11:53 288次阅读
    <b class='flag-5'>PLC</b><b class='flag-5'>中断</b>功能怎么用?

    PLC中断是什么?

    plc这样理解中断功能,在理解中断时,首先要清楚plc的运算周期或者说是扫描周期,有必要说下plc顺控循环执行的流程,这是理解
    的头像 发表于 05-12 09:47 461次阅读
    <b class='flag-5'>PLC</b><b class='flag-5'>中断</b>是什么?

    PLC中断指令及例程

    我们在日常工作中,按照正常的流程来工作,如中途发生紧急情况或相隔一定时间去兼顾另一项工作,就要先停下手头工作去处理紧急事件或另一项工作,这个停下工作就叫中断,所处理的紧急事件或另一项工作,就叫做中断程序,处理完问题再回过来继续原来的工作。
    发表于 05-09 11:10 1371次阅读
    <b class='flag-5'>PLC</b><b class='flag-5'>中断指令</b>及例程