使用 Main 类型的比较块用于管理以下模式中的阈值、反射输出和事件:
激活至少一个阈值后,在配置屏幕中对比较进行配置。
比较可以用来触发:
o反射输出
Main 类型最多可管理 2 个阈值。
相对于当前的计数值而言,阈值是一个配置值。阈值用来定义最多 3 个区域,或对越过的值作出反应。
阈值通过配置来定义,也可通过使用 HSCSetParam 功能块在应用程序中进行调整。
如果已配置阈值 x(x= 0、1),并且已启用比较 (EN_Compare = TRUE),则功能块的输出引脚 THx 发生以下情况:
o选项 1:
加计数 – 当值 < TH0 时反射输出 x 为 TRUE(当值 = TH0 时复位)。
减计数 – 当值 ≤ TH0 时反射输出 x 为 TRUE(当值 = TH0 时设置)。
o选项 2:
加计数 – 当 TH0 ≤ 值 < TH1 时反射输出 x 为 TRUE(当值 = TH0 时设置,当值 = TH1 时复位)。
减计数 – 当 TH0 < 值 ≤ TH1 时反射输出 x 为 TRUE(当值 = TH1 时设置,当值 = TH0 时复位)。
o选项 3:
加计数 – 当值 ≥ TH1 时反射输出 x 为 TRUE(当值 = TH1 时设置)。
减计数 – 当值 > TH1 时反射输出 x 为 TRUE(当值 = TH1 时复位)。
注意: 如果功能块上的 EN_Compare 设置为 FALSE,则禁用比较功能,包括由阈值事件和反射输出触发的外部任务。
下图显示了各个选项的反射输出(快速数字量输出)的状态:
TH0 和 TH1 由任务进行管理,并且以任务循环时间的速率进行更新。
配置越过阈值时的事件可触发外部任务。可以选择在向下、向上或向下/向上越过配置的阈值时触发事件。
当 HSC:
o加计数时,将在计数值 = 阈值 + 1 时触发配置的外部事件任务
o减计数时,将在计数值 = 阈值 - 1 时触发配置的外部事件任务
如果溢出或下溢,则不会触发任何外部事件任务。
配置反射输出可触发物理反射输出。
这些输出在任务环境中不受控制,因此可以将反应时间降至最短。这为需要快速执行的操作提供了便利。
高速计数器使用的输出只能通过功能块访问。不能在应用程序中直接对其进行读写。
注意: 反射输出的状态取决于配置。
只要 SuspendCompare= TRUE,TH0、TH1、Reflex0、Reflex1、Out0 和 Out1 及物理输出即会相对于阈值进行操作,甚至是在动态更改阈值时。
因此,在进行阈值比较时,请务必谨慎操作,以避免物理反射输出和 HSCMain 功能块输出导致意外结果。如果禁用比较功能,则可以修改阈值而不用担心意外输出。但是,如果启用了比较功能,在修改阈值时必须至少暂停阈值比较功能。
|
意外的设备操作 |
o如果 EN_Compare = 1,则在更改阈值时,必须使用 SuspendCompare 输入。 o在重新激活阈值比较功能之前,请确保 TH0 小于 TH1。 |
不遵循上述说明可能导致人员伤亡或设备损坏。 |
步骤 |
操作 |
---|---|
1 |
将 SuspendCompare 设置为 TRUE。 在当前值下,比较被冻结: o块的 TH0、TH1、Reflex0、Reflex1、Out0、Out1 输出位保持其上一个值。 o物理输出 0、1 保持各自上一个值 注意: 在设置 SupendCompare 的同时,EN_Compare、EN_Out0、EN_Out1、F_Out0、F_Out1 保持运行。 |
2 |
根据需要,使用 HSCSetParam 功能块修改阈值。 注意: 按照以下规则配置阈值: o对于一次性模式: 0 < 阈值 0 值 < 阈值 1 值 <(预设 - 1) o对于模数回路模式: 0 < 阈值 0 值 < 阈值 1 值 <(模数 - 1) o对于自由大型模式: 0 < 阈值 0 值 < 阈值 1 值 对于自由大型模式,阈值不受预设值的限制。 |
3 |
将 SuspendCompare 设置为 FALSE。 应用新的阈值,并恢复比较。 |