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

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

3天内不再提示

ATTACH:将OB附加到中断事件

机器人及PLC自动化应用 来源:机器人及PLC自动化应用 2023-07-20 10:42 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

说明

可以使用指令“ATTACH”为硬件中断事件指定一个组织块 (OB)。

在 OB_NR 参数中输入组织块的符号或数字名称。随后将其分配给 EVENT 参数中指定的事件。

在 EVENT 参数处选择硬件中断事件。已经生成的硬件中断事件列在“系统常量”(System constants) 下的 PLC 变量中。

如果在成功执行“ATTACH”指令后发生了 EVENT 参数中的事件,则将调用 OB_NR 参数中的组织块并执行其程序。

使用 ADD 参数指定应取消还是保留该组织块到其它事件的先前指定。如果 ADD 参数的值为“0”,则现有指定将替换为最新指定。

硬件中断事件

如果事件的未决时间不够长,则可使用硬件中断。在运行过程中,硬件中断将对这些事件进行响应。每个硬件中断可以分配给多个硬件中断 OB。这些 OB 包含对特定事件的响应。

可以为不同的事件创建硬件中断。例如:

检测数字量输入的上升沿或下降沿。

超出模拟量输入的既定下限和上限。

高速计数器的外部重置、上溢/下溢、方向反转等。

工作原理

每个硬件中断可以分配给一个硬件中断 OB,当发生硬件中断事件时,将该 OB 放入队列进行处理。OB 和事件的分配可以在组态时或运行时进行:

要在组态时将事件分配给 OB,请在“硬件中断”(Hardware interrupts) 下的硬件配置中为事件选择硬件中断 OB。

使用 ATTACH 指令在运行时进行分配。事件和硬件中断 OB 的分配通过 EVENT 和 OB_NR 参数进行。

参数

下表列出了“ATTACH”指令的参数:

参数 声明 数据类型 存储区 说明
OB_NR Input OB_ATT I、Q、M、D、L 或常量 组织块(最多支持 32767 个。)
EVENT Input EVENT_ATT I、Q、M、D、L 或常量 要分配给 OB 的硬件中断事件。
必须首先在硬件设备配置中为输入或高速计数器启用硬件中断事件。
ADD Input BOOL I、Q、M、D、L 或常量 对先前分配的影响:
ADD=0(默认值):该事件将取代先前为此 OB 分配的所有事件。
ADD=1:该事件将添加到此 OB 之前的事件分配中。
RET_VAL Return INT I、Q、M、D、L 指令的状态

参数 RET_VAL

错误代码*
(W#16#....)
说明
0 无错误
8090 OB 不存在
8091 OB 类型错误
8093 事件不存在
* 在程序编辑器中,错误代码将显示为整数或十六进制值。

示例

在以下示例中,将为创建的硬件中断事件指定一个硬件中断 OB (OB40)。

要求:

在“属性 > 输入 0-15 > ... > 通道 0”(Properties > Inputs 0-15 > ... > Channel 0) 中,创建一个输入模块 (DI) 并组态一个上升沿硬件中断事件。

677a4c38-2624-11ee-962d-dac502259ad0.png

所组态硬件中断事件的以下硬件 ID 将存储在输出参数 EVENT(“event”)中。

679275a6-2624-11ee-962d-dac502259ad0.png

数据存储

在全局数据块中,创建 9 个变量进行数据存储。通过指令“ATTACH”的输入参数 OB_NR(“obNbr”),可存储待分配 OB (OB40) 的编号。

67b60e80-2624-11ee-962d-dac502259ad0.png

要调用硬件中断事件,可创建带有 PLC 变量的变量表(地址“I0.0”)。

67d6e542-2624-11ee-962d-dac502259ad0.png

互连

互连该指令的参数,如下所示:

67f4cd0a-2624-11ee-962d-dac502259ad0.png

互连以下 PLC 变量,调用硬件中断事件。

程序段 2:

6815a3c2-2624-11ee-962d-dac502259ad0.png

程序段 3:

6839f57e-2624-11ee-962d-dac502259ad0.png

要进行复位,可互连“testValue2”和“SLI_ATTACH_force”,如下所示。

程序段 4:

684bfd82-2624-11ee-962d-dac502259ad0.png

在 OB40 中创建以下互连:

68723704-2624-11ee-962d-dac502259ad0.png

执行过程

当常开触点(“start”)的信号状态为“TRUE”时,执行“ATTACH”指令并将事件分配给该 OB。输入参数 ADD(“add”)的值“FALSE”时,该事件将取代先前为 OB40 分配的所有事件。输出参数 RET_VAL(“returnValue”)用于指示处理无错误。

当程序段 2 中常开触点(“signal”)的信号状态为“TRUE”时,PLC 变量“SLI_ATTACH_force”的信号状态将置为“TRUE”,并执行 OB40。调用 OB40 时,“testValue1”的值传送到“testValue2”中。

当常开触点(“start”和“signal”)的信号状态为“FALSE”时,在程序段 4 中将复位“testValue2”和“SLI_ATTACH_force”的值。

6885a92e-2624-11ee-962d-dac502259ad0.png






审核编辑:刘清

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

    关注

    5045

    文章

    14441

    浏览量

    483561
  • 西门子
    +关注

    关注

    98

    文章

    3272

    浏览量

    119742
  • 计数器
    +关注

    关注

    32

    文章

    2306

    浏览量

    97571
  • 硬件中断
    +关注

    关注

    0

    文章

    12

    浏览量

    7109

原文标题:西门子博途:ATTACH: 将 OB 附加到中断事件

文章出处:【微信号:gh_a8b121171b08,微信公众号:机器人及PLC自动化应用】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    电能质量在线监测装置的电压中断事件记录功能可以保存多久?

    电能质量在线监测装置的电压中断事件记录保存时间从数小时到数年不等,主要取决于设备等级、存储容量、应用场景和配置策略。 一、国标与行业标准基本要求 核心标准明确了最低保存时限: GB/T
    的头像 发表于 11-27 16:33 887次阅读
    电能质量在线监测装置的电压<b class='flag-5'>中断事</b>件记录功能可以保存多久?

    电能质量在线监测装置是如何实现对电压中断事件的识别的?

    电能质量在线监测装置对电压中断事件的识别,是基于 **“国标定义 + 高保真采样 + 实时计算 + 多维度验证”** 的闭环技术体系,核心目标是 “无漏判、无误判”,精准捕捉符合 GB/T
    的头像 发表于 11-27 16:32 882次阅读
    电能质量在线监测装置是如何实现对电压<b class='flag-5'>中断事</b>件的识别的?

    电能质量在线监测装置是如何进行电压中断事件的分类的?

    电能质量在线监测装置严格按照 国家标准 (GB/T 30137-2013/2024) 和国际标准 (IEC 61000-4-30)对电压中断事件进行分类,主要基于幅值阈值 和 持续时间 两个核心维度
    的头像 发表于 11-27 16:30 725次阅读
    电能质量在线监测装置是如何进行电压<b class='flag-5'>中断事</b>件的分类的?

    电能质量在线监测装置能识别电压中断事件吗?

    现代电能质量在线监测装置(无论 A 类还是 S 类精度)均能精准识别电压中断事件,且完全符合 GB/T 30137-2013《电能质量 电压暂降、短时中断和电压暂升》、IEC 61000-4-30
    的头像 发表于 11-27 16:27 718次阅读
    电能质量在线监测装置能识别电压<b class='flag-5'>中断事</b>件吗?

    使用J-Link Attach NXP S32K3导致对应RAM区域被初始化成0xDEADBEEF

    在IAR Embedded Workbench for Arm中使用J-Link Attach NXP S32K3的时候,会提示对应RAM区域被初始化成0xDEADBEEF,导致对应RAM区域的数据被“篡改”。
    的头像 发表于 11-03 15:26 4824次阅读
    使用J-Link <b class='flag-5'>Attach</b> NXP S32K3导致对应RAM区域被初始化成0xDEADBEEF

    如果在FMC执行“程序”或“擦除”时发生中断事件,是否会处理中断事件?

    如果在FMC执行“程序”或“擦除”时发生中断事件,是否会处理中断事件?
    发表于 08-27 08:01

    如果在FMC执行“程序”或“擦除”时发生中断事件,是否会处理中断事件呢?

    如果在FMC执行“程序”或“擦除”时发生中断事件,是否会处理中断事件?
    发表于 08-22 06:58

    DAF胶膜(Die Attach Film)详解

    DAF胶膜,全称芯片粘接薄膜(Die Attach Film),又称固晶膜或晶片黏结薄膜,是半导体封装中的关键材料,用于实现芯片(Die)与基板(Substrate)或框架(Lead Frame)之间的高性能、高可靠性连接。这种连接直接决定了器件的机械强度、导热性能和长期可靠性。
    的头像 发表于 08-20 11:31 1173次阅读

    贴片(Die Attach)介绍

    一、什么是贴片(DieAttach)?贴片,又叫DieAttach,是半导体封装流程中的一个关键步骤。它的作用是:切割下来的芯片(裸晶粒)牢固地粘贴在封装基底上,例如引线框架(leadframe
    的头像 发表于 06-06 10:02 3983次阅读
    贴片(Die <b class='flag-5'>Attach</b>)介绍

    嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-Linux系统中断之Linux中断介绍

    );参数说明:irq:中断请求号(IRQ),对应于硬件设备的中断信号;handler:中断处理程序的函数指针,用于处理中断事件;flags:中断
    发表于 03-28 10:44

    飞凌嵌入式ElfBoard ELF 1板卡-Linux系统中断之Linux中断介绍

    );参数说明:irq:中断请求号(IRQ),对应于硬件设备的中断信号;handler:中断处理程序的函数指针,用于处理中断事件;flags:中断
    发表于 03-27 10:28

    HarmonyOS NEXT 原生应用/元服务-ArkTS代码调试attach启动调试

    开发者也可以通过调试程序attach到已运行的应用进行调试。 Attach Debugger和Debug的区别在于,Attach Debugger to Process可以先运行应用
    发表于 02-28 14:59

    串口中断是内部中断还是外部中断,串口中断是怎么触发的

    串口中断通常被视为外部中断。虽然串口控制器(如USART、UART等)可能集成在微控制器或处理器的内部,但从中断的角度来看,串口中断是由处理器外部的通信事件触发的。这些事件包括数据的接
    的头像 发表于 01-29 15:03 2623次阅读

    程序中断的100种写法

    中,通过注册回调函数来处理中断事件。 异步编程模型:使用异步编程模型(如Promise/Future、async/await)来处理中断。 5. 中断触发条件 电平触发:中断由输入信号
    发表于 01-28 08:25

    CR6853B代替OB2263芯片

    电子发烧友网站提供《CR6853B代替OB2263芯片.pdf》资料免费下载
    发表于 01-15 09:44 0次下载