加入收藏 在线留言 联系我们
关注微信
手机扫一扫 立刻联系商家
全国服务热线15267534595
公司新闻
西门子博途:ATTACH: 将 OB 附加到中断事件
发布时间: 2023-09-19 15:24 更新时间: 2024-11-22 09:10

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

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

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

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

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

硬件中断事件

如果事件的未决时间不够长,则可使用硬件中断。在运行过程中,硬件中断将对这些事件进行响应。每个硬件中断可以分配给多个硬件中断 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 或常量

组织块(Zui多支持 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) 并组态一个上升沿硬件中断事件。

图片

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

图片

数据存储

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

图片

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

图片

互连

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

图片

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

程序段 2:

图片

程序段 3:

图片

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

程序段 4:

图片

在 OB40 中创建以下互连:

图片

执行过程

当常开触点(“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”的值。

图片


联系方式

  • 电  话:18126392341
  • 联系人:梁涛
  • 手  机:15267534595
  • 微  信:15267534595