此功能块通过下列功能控制 Main 类型计数器:
o加/减计数
o频率计
o阈值
o事件
o周期计
o双相
使用 Main 计数器时,必须使用 HSC Main 功能块。
功能块实例名称必须与配置定义的名称相匹配。此功能块管理的硬件相关信息与 MAST 任务循环同步。
|
意外的输出值 |
o只能在 MAST 任务中使用该功能块实例。 o请勿在不同的任务中使用同一个功能块实例。 |
不遵循上述说明可能导致人员伤亡或设备损坏。 |
注意: EcoStruxure Machine Expert允许对 FB 的逻辑输出值进行强制,但是如果此功能处于活动状态(正在执行),则不会影响硬件的相关输出。
要查看 IL 或 ST 语言的一般表示形式,请参阅功能和功能块表示形式。
下表介绍输入变量:
输入 |
类型 |
描述 |
---|---|---|
EN_Enable |
BOOL |
TRUE = 准许使用Enable输入。 |
EN_Preset |
BOOL |
TRUE = 准许使用同步输入进行计数器同步并启动。 |
EN_Cap |
BOOL |
TRUE = 启用捕捉输入(如果已在一次性、模数回路、自由大型模式中进行了配置)。 |
EN_Compare |
BOOL |
TRUE = 启用比较器操作(使用阈值 0、1、2、3): o基本比较(TH0、TH1、TH2、TH3 输出位) o反射(Reflex0、Reflex1 输出位) 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 = 比较结果已挂起: oTH0、TH1、TH2、TH3、Reflex0、Reflex1、Out0、Out1 块输出位保持各自上一个值。 o物理输出 Output0 和 Output1 保持各自上一个值。 o比较事件被掩蔽。 注意: 在设置 SuspendCompare 时,EN_Compare、EN_Out0、EN_Out1、F_Out0、F_Out1 保持运行。 |
下表介绍输出变量:
输出 |
类型 |
注释 |
---|---|---|
HSC_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 |
计数器的值。 |