HSCMain:HSC Main 功能块

功能块描述

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

o加/减计数

o频率计

o阈值

o事件

o周期计

o双相

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

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

Warning_Color.gif警告

意外的输出值

o只能在 MAST 任务中使用该功能块实例。

o请勿在不同的任务中使用同一个功能块实例。

不遵循上述说明可能导致人员伤亡或设备损坏。

注意: EcoStruxure Machine Expert允许对 FB 的逻辑输出值进行强制,但是如果此功能处于活动状态(正在执行),则不会影响硬件的相关输出。

图形表示形式

G-SE-0003850.1.gif-high.gif

 

 

IL 和 ST 表示形式

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

I/O 变量描述

下表介绍输入变量:

输入

类型

描述

EN_Enable

BOOL

TRUE = 准许使用Enable输入。

EN_Preset

BOOL

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

EN_Cap

BOOL

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

EN_Compare

BOOL

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

o基本比较(TH0TH1TH2TH3 输出位)

o反射(Reflex0Reflex1 输出位)

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

EN_Out0

BOOL

TRUE = 启用 Output0 回显 Reflex0 值(如果已在一次性模数回路自由大型模式中进行了配置)。

EN_Out1

BOOL

TRUE = 启用 Output1 回显 Reflex1 值(如果已在一次性模数回路自由大型模式中进行了配置)。

F_Enable

BOOL

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

F_Preset

BOOL

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

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

模数回路计数器: 复位和启动计数器

自由大型计数器: 预设和启动计数器

事件计数器: 在开始时重启内部时基

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

F_Out0

BOOL

TRUE = 强制 Output0 为 1(如果已在一次性模数回路自由大型模式下进行配置)。

F_Out1

BOOL

TRUE = 强制 Output1 为 TRUE(如果已在一次性模数回路自由大型模式下进行配置)。

ACK_Modulo

BOOL

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

ACK_Preset

BOOL

在上升沿,复位 Preset_Flag

ACK_Cap

BOOL

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

SuspendCompare

BOOL

TRUE = 比较结果已挂起:

oTH0TH1TH2TH3Reflex0Reflex1Out0Out1 块输出位保持各自上一个值。

o物理输出 Output0 和 Output1 保持各自上一个值。

o比较事件被掩蔽。

注意: 在设置 SuspendCompare 时,EN_CompareEN_Out0、EN_Out1、F_Out0、F_Out1 保持运行。

下表介绍输出变量:

输出

类型

注释

HSC_REF

EXPERT_REF

HSC 的参考。

Error

BOOL

TRUE = 表示检测到错误。

使用 EXPERTGetDiag 功能块获得有关此检测到的错误的详细信息。

Validity

BOOL

TRUE = 表示功能块上的输出值有效。

周期计类型下,如果超过了超时值,则 Validity = FALSE。

Run

BOOL

TRUE = 计数器正在运行。

在一次性模式下,CurrentValue 达到 0 时 Run 位切换为 0。

TH0

BOOL

TRUE = 当前计数器值 > 阈值 0(如果已在一次性模数回路自由大型模式中进行了配置)。

只有在设置了 EN_Compare 后才处于活动状态。

TH1

BOOL

TRUE = 当前计数器值 > 阈值 1(如果已在一次性模数回路自由大型模式中进行了配置)。

只有在设置了 EN_Compare 后才处于活动状态。

TH2

BOOL

TRUE = 当前计数器值 > 阈值 2(如果已在一次性模数回路自由大型模式下进行配置)。

只有在设置了 EN_Compare 后才处于活动状态。

TH3

BOOL

TRUE = 当前计数器值 > 阈值 3(如果已在一次性模数回路自由大型模式下进行配置)。

只有在设置了 EN_Compare 后才处于活动状态。

Modulo_Flag

BOOL

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

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

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

Preset_Flag

BOOL

通过以下同步设置为 TRUE

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

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

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

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

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

Cap_Flag

BOOL

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

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

Reflex0

BOOL

Reflex0 的状态(如果已在一次性模数回路自由大型模式中进行了配置)。

只有在设置了 EN_Compare 后才处于活动状态。

Reflex1

BOOL

Reflex1 的状态(如果已在一次性模数回路自由大型模式中进行了配置)。

只有在设置了 EN_Compare 后才处于活动状态。

Out0

BOOL

指示 Output0 的状态。

Out1

BOOL

指示 Output1 的状态。

CurrentValue

DINT

计数器的值。