HSCMain_TM3:控制 TM3 的 Main 类型计数器

功能块描述

此功能块通过下列功能控制 Main 类型计数器:

  • 加/减计数

  • 频率计

  • 阈值

  • 事件

  • 周期计

  • 双相

使用 Main 计数器时,必须使用 HSC Main 功能块。

功能块实例名称必须与配置定义的名称相匹配。此功能块管理的硬件相关信息与 MAST 任务循环同步。

 警告
意外的输出值
  • 只能在 MAST 任务中使用该功能块实例。
  • 请勿在不同的任务中使用同一个功能块实例。
未按说明操作可能导致人身伤亡或设备损坏等严重后果。
注: EcoStruxure Machine Expert允许对 FB 的逻辑输出值进行强制,但是如果此功能处于活动状态(正在执行),则不会影响硬件的相关输出。

图形表示形式

IL 和 ST 表示形式

要查看 IL 或 ST 语言的一般表示形式,请参阅功能和功能块表示形式

I/O 变量描述

下表介绍输入变量:

输入

类型

描述

HSC_REF_TM3

HSC_REF_TM3

HSC 实例引用。

EN_Enable

BOOL

TRUE = 准许使用 Enable 输入来启用计数器。

EN_Preset

BOOL

TRUE = 准许使用同步输入进行计数器同步和启动。

EN_Cap

BOOL

TRUE = 启用捕捉输入(如果已在一次性模数回路自由大型模式中进行了配置)。

EN_Compare

BOOL

TRUE = 启用比较器操作(使用阈值 0、1、2、3):

  • 基本比较(TH0TH1TH2TH3 输出位)

  • 反射(Reflex0Reflex1Reflex2Reflex3 输出位)

  • 事件(在超出阈值时触发外部任务)

    注: 此选项仅适用于支持外部事件的 TM3XF• 扩展模块。

EN_Out

BYTE

将位设置为 1,使相应的物理输出能够作为比较功能的结果来回显配置的功能值(反射或停止)。

只有在 HSC 编辑器中配置了输出的情况下,才激活:

  • 位 0:已启用输出 0。

  • 位 1:已启用输出 1。

  • 位 2:已启用输出 2。

  • 位 3:已启用输出 3。

  • 位 4...7未使用。

HSC 输出 Outx 与物理输出 Qy 的关联通过配置来完成(一次性模数回路自由大型周期计沿对沿周期计沿对反向沿模式)。

F_Enable

BOOL

TRUE = 激活计数器并考虑计数器输入上的脉冲。

F_Preset

BOOL

在上升沿上,准许进行下列计数模式中的计数功能同步和启动:

一次性计数器:

预设和启动计数器

模数回路计数器:

复位和启动计数器

自由大型计数器:

预设和启动计数器

事件计数器:

在开始时重启内部时基

频率计:

重新启动与时基对应的内部定时器。计数器值未预设。

F_Out

BYTE

如果通过配置与 HSC 进行了关联,那么将位设置为 1 时,可将相应的物理输出强制为 1。优先于 EN_Out

只有在 HSC 编辑器中配置了输出的情况下,才激活:

  • 位 0:已强制输出 0。

  • 位 1:已强制输出 1。

  • 位 2:已强制输出 2。

  • 位 3:已强制输出 3。

  • 位 4...7未使用。

HSC 输出 Outx 与物理输出 Qy 的关联通过配置来完成(一次性模数回路自由大型周期计沿对沿周期计沿对反向沿模式)。

ACK_Modulo

BOOL

在上升沿上,复位 Modulo_Flag模数回路自由大型模式)。

一次性模式中没有作用。

ACK_Preset

BOOL

在上升沿上,复位 Preset_Flag

不适用于周期计模式。

ACK_Cap

BOOL

在上升沿上,复位 Cap_Flag一次性模数回路自由大型模式)。

SuspendCompare

BOOL

TRUE = 比较结果已挂起:

  • 事件被掩蔽。

注: 在设置 SuspendCompare 时,EN_CompareEN_Reflex, F_Out 保持运行。

不适用于事件计数频率计模式。

下表介绍输出变量:

输出

类型

注释

Run

BOOL

TRUE = 计数器已激活。

一次性模式:在计数器值达到 0 时,Run 位设为 0。需要预设才能重新启动计数器。

周期计沿对沿模式:在检测到上升沿时,Run 位设置为 1,在检测到下降沿时,此位复位为 0。

周期计沿对反向沿模式:在检测到第一个上升沿时,Run 位设置为 1。只有在禁用了计数器或者检测到错误时,它才复位为 0。

Valid

BOOL

当 CurrentValue 有效时,设置为 TRUE

Error

BOOL

TRUE = 表示检测到错误。

ErrorId

HSC_ERROR_TM3

指示检测到的错误的值。请参见 HSC_ERROR_TM3 枚举。

Thresholds

BYTE

对于相应的阈值,当 CurrentValue ≥ 阈值时,位设置为 1

  • 位 0:CurrentValue ≥ 阈值 0

  • 位 1:CurrentValue ≥ 阈值 1

  • 位 2:CurrentValue ≥ 阈值 2

  • 位 3:CurrentValue ≥ 阈值 3

  • 位 4...7未使用

不适用于事件计数频率计模式。

Modulo_Flag

BOOL

当计数器在以下模式下超限时,设置为 TRUE

  • 模数回路计数器:当计数器回转到模数或 0

  • 自由大型计数器:当计数器转过其限制时

仅适用于 HSC Main 单相HSC Main 双相模式。

Preset_Flag

BOOL

通过以下同步设置为 TRUE

  • 一次性计数器:预设和启动计数器时

  • 模数回路计数器:当计数器复位时

  • 自由大型计数器:当预设计数器时

  • 事件计数器:重新启动相对于时基的内部定时器时。

  • 频率计:重新启动与时基对应的内部定时器时

Cap_Flag

BOOL

TRUE = 表示已在捕捉寄存器中锁存了一个值。

在进行新的捕捉之前,必须先复位此标志。

不适用于事件计数周期计频率计模式。

Reflex

BYTE

反射功能的状态:

  • 位 0:反射 0

  • 位 1:反射 1

  • 位 2:反射 2

  • 位 3:反射 3

  • 位 4...7未使用

不适用于事件计数频率计模式。

Out

BYTE

物理输出的状态:

  • 位 0:输出 0

  • 位 1:Output1

  • 位 2:输出 2

  • 位 3:输出 3

  • 位 4...7未使用

只有在计数器配置选项卡中配置了这些输出时,它们才激活。

HSC 输出 Outx 与物理输出 Qy 的关联通过配置来完成。

不适用于事件计数频率计模式。

CapturedValue

DINT

CurrentValue 有效时,设置为 TRUE。

不用于周期计模式。

CurrentValue

DINT

计数器的值。