数据
当设备变量的数据值满足定义的条件时,将执行 Data(数据)事件触发器。
可用的条件包括等于、大于或小于某个值。条件还包括死区和容差的概念。
触发器组件会处理定期读取设备变量值以及应用定义的条件。如果满足条件,将安排执行数据事件触发器。这令触发器应用逻辑无需读取变量值并将其与条件进行比较,随后可决定要在触发器动作中执行的应用逻辑。
定义数据事件触发器
要定义数据事件触发器,请按照以下步骤操作:
- 从工作台左侧窗格中,展开要在其中定义数据事件触发器的节点。
- 选择 Project(项目)图标以显示 Projects(项目)窗口,右键单击特定项目选项卡以显示其弹出菜单,然后选择 New(新建)。
如果已选择特定项目选项卡,还可选择 Projects(项目)窗口底部的 New(新建)按钮。 - 随即显示新 Trigger(触发器)窗口。
为触发器命名。触发器名称最多可包含 64 个字符,包括字母、数字和下划线字符。允许有空格。 - 从 Event(事件)选项卡中,选择 Trigger Event Type(触发器事件类型)向下箭头,然后选择 Data(数据)。
Event(事件)选项卡将激活,包含容纳数据事件的参数。 - 选择要监控的设备变量,以确定何时应执行触发器。
在 Event(事件)选项卡上,使用 Variable Name(变量名称)旁边的向下箭头。
随即显示此节点上当前已启动设备的列表。 - 展开列表,然后选择要使用的变量。
在此示例中,选择本地 CPU 1.D[1]。
设备变量的名称显示在 Variable Name(变量名称)参数中。 - 使用 Variable Type(变量类型)向下箭头可显示设备数据类型列表。
在此示例中,接受默认的 INT2。 -
现在您已添加设备变量并指定变量数据类型,下一步是选择要计算的条件。
使用 Condition(条件)向下箭头显示条件列表。
在此示例中,选择 Value changed(值已更改)。因此,只要本地 CPU 1.D[1] 设备变量的值发生变化,便会执行触发器。
可按以下方式指定条件:条件 描述 值已更改 设备变量的值与其先前值相比已发生更改。 启动时或值已更改 设备变量的值与其先前值相比已发生更改。此外,触发器在加载后立即执行一次。 大于 设备变量大于定义的值。 大于或等于 设备变量大于或等于定义的值。 等于 设备变量等于定义的值。 小于或等于 设备变量小于或等于定义的值。 小于 设备变量小于定义的值。 - 将 Value changed(值已更改)或 On Start or Value Changed(启动时或值已更改)指定为条件时,不使用 Value(值)、Tolerance Range(容差范围)和 Deadband Range(死区范围)参数。
- 将 Equal to(等于)指定为条件时,不使用 Tolerance Range(容差范围)和 Deadband Range(死区范围)参数。
- 使用 Priority(优先级)参数选择以毫秒为单位的值。Priority(优先级)参数用于指定读取设备变量值的频率。这些值以毫秒为单位。
在此示例中,每 500 毫秒读取一次设备变量,并针对该条件进行计算。
此示例中的条件是与上次读取的值相比,值已更改。 -
对于其他条件,请为其余条件参数选择相应的值:
参数 描述 On Edge(边缘) 限制触发器执行次数。与大于和小于条件及容差范围结合使用。 Tolerance Range(容差范围) 限制触发器执行的次数。值的解释基于选定的事件条件(大于、小于、大于或等于,以及小于或等于)。
您指定的值将指示在系统对设备变量执行操作前您希望允许的设备变量值波动幅度。该值可以是常量值,也可以是设备变量。Deadband Range(死区范围) 希望过滤不重要的更改时,请指定死区范围值。如果读取值与上次存储值之差不低于死区范围值,将不执行触发器。该值可以是常量值,也可以是设备变量。该值与值已更改、启动时或值已更改、大于、小于、大于或等于,以及小于或等于条件结合使用。 Value(值) 与 Greater than(大于)、Less than(小于)、Equal to(等于)、Greater than or equal to(大于或等于)以及 Less than or equal to(小于或等于)条件结合使用的数值。该值可以是常量值,也可以是设备变量。
数据事件类型触发器事件变量
数据事件触发器可用的输入事件变量包括:
事件变量 |
数据类型 |
描述 |
---|---|---|
DATA | 设备变量的数据类型 | 设备变量中的数据值。 |
PREVIOUS_DATA | 设备变量的数据类型 | 上次读取的设备变量中的数据值。 |
PREVIOUS_TIME | TIMESTAMP | 上次读取的日期和时间。 |
完成触发器定义
完成触发器的定义,包括以下触发器组件:
- 触发器的动作
- 触发器的局部变量、静态变量、宏和事件变量
- 触发器的设置。
使用 Validate(验证)按钮检查参数,然后使用 Save(保存)按钮保存触发器定义。
触发器将在项目选项卡上处于 Stopped(已停止)状态的触发器列表中列出。
数据事件触发器优先级参数注意事项
Priority(优先级)参数用于指定读取设备变量值的频率(以毫秒为单位)。由于上述设备变量读取会占用系统资源,因此需要了解应用程序要求和系统功能。注意事项包括:
- 每个数据事件触发器都会定义由系统按照定义的优先级(频率)读取的设备变量。
- 每个数据映射都会定义由系统按照定义的优先级(频率)读取的设备变量。
- 每个设备变量都有预期的更改速率,可能为恒定速率,也可能为可变速率。例如:
- 在制造流程结束时每 5 分钟读取一次属于相对恒定的速率。
- 每当传感器温度值变化 0.1 度时读取一次,则很大程度上属于可变速率。
- 需要满足适用于数据事件条件的应用逻辑的延迟要求。例如:
- 制造流程结束后 5 分钟需要在 10 秒内识别。
- 温度值的变化需要在 1 秒内识别。
- 读取设备变量的频率越高(优先级值越低),满足数据事件触发器条件和执行数据触发器逻辑的延迟时间就越短。
- 读取设备变量的频率越高(优先级值越低),系统资源的负载就越高。
在应用程序开发及其投入生产期间,需要监控整个应用程序的要求和系统的功能。