Main 类型始终由 HSCMain 功能块进行管理。
注意: 如果使用 HSCMain 功能块管理其他 HSC 类型,则在编译时将检测到错误。
步骤 |
描述 |
---|---|
1 |
将库 > 控制器 > HMISCU > HMISCU_HSC > HSCMain 功能块拖到应用程序树 > HMISCUxx5 > POU,然后将其放到窗口下方的Start Here框。 |
2 |
实例名称位于设备树 > HMISCU••5 > 内嵌功能 > HSC > HSC0• 的变量字段中,而 HSC0• > 类型设置为 Main。 使用输入助手,可以在以下路径选择 HSC 实例:内嵌功能 > HSC |
注意: 此方法适用于 ST、LD 或 FBD 语言。 |
下表介绍了功能块的不同引脚在自由大型模式中的使用方法。
下表描述了输入变量:
输入 |
类型 |
描述 |
---|---|---|
EN_Enable |
BOOL |
未使用 |
EN_Sync |
BOOL |
在配置 SYNC 输入后:如果为 TRUE,则准许通过 Sync 输入同步和启动计数器。 |
EN_Cap |
BOOL |
在配置 CAP 输入后:如果为 TRUE,则启用 Capture 输入。 |
EN_Compare |
BOOL |
TRUE = 启用比较器操作(使用阈值 0、1): o基本比较(TH0、TH1 输出位) o反射(Reflex0、Reflex1 输出位) o事件(在超出阈值时触发外部任务) |
EN_Out0 |
BOOL |
TRUE = 启用物理输出 Output0 回显 Reflex0 值(如果已配置)。 |
EN_Out1 |
BOOL |
TRUE = 启用物理输出 Output1 回显 Reflex1 值(如果已配置)。 |
F_Enable |
BOOL |
强制实施启用条件。 |
F_Sync |
BOOL |
强制实施同步条件 |
F_Out0 |
BOOL |
TRUE = 强制 Output0 为 TRUE(如果已配置 Reflex0)。 |
F_Out1 |
BOOL |
TRUE = 强制 Output1 为 TRUE(如果已配置 Reflex1)。 |
ACK_Modulo |
BOOL |
在上升沿上,复位 Modulo_Flag。 |
ACK_Sync |
BOOL |
在上升沿上,复位 Sync_Flag。 |
ACK_Cap |
BOOL |
在上升沿上,复位 Cap_Flag。 |
SuspendCompare |
BOOL |
TRUE = 比较结果已挂起: o功能块的 TH0、TH1、Reflex0、Reflex1、Out0、Out1 输出位保持其上一个值。 o物理输出 FQ0 和 FQ1 保持各自的上一个值 o事件被隐藏 注意: 在设置 SupendCompare的同时,EN_Compare、EN_Out0、EN_Out1、F_Out0、F_Out1 保持运行。 |
下表描述了输出变量:
输出 |
类型 |
注释 |
---|---|---|
HSC_REF |
HSC 的参考。 与功能块的 HSC_REF_IN 输入引脚配合使用。 |
|
Validity |
BOOL |
TRUE = 表示功能块上的输出值有效。 |
Error |
BOOL |
TRUE = 表示检测到一个错误。 使用 HSCGetDiag 功能块获得有关此检测到的错误的详细信息。 |
CurrentValue |
DINT |
计数器的当前计数值。 |
Run |
BOOL |
TRUE = 计数器正在运行。 |
TH0 |
BOOL |
[加计数] 当 CurrentValue ≥ 阈值 0 时为 TRUE。 [减计数] 当 CurrentValue ≤ 阈值 0 时为 FALSE。 |
TH1 |
BOOL |
[加计数] 当 CurrentValue ≥ 阈值 1 时为 TRUE。 [减计数] 当 CurrentValue ≤ 阈值 1 时为 FALSE。 |
Modulo_Flag |
BOOL |
计数器回转到其限制时设置为 TRUE |
Sync_Flag |
BOOL |
计数器同步时设置为 TRUE |
Cap_Flag |
BOOL |
有新的捕捉值存储到捕捉寄存器时设置为 TRUE。 在进行新的捕捉之前,必须先复位此标志。 |
Reflex0 |
BOOL |
|
Reflex1 |
BOOL |
|
Out0 |
BOOL |
物理输出 Output0 的状态(如果已配置 Reflex0)。 |
Out1 |
BOOL |
物理输出 Output1 的状态(如果已配置 Reflex1)。 |