Main 类型编程

概述

Main 类型始终由 HSCMain 功能块进行管理。

注意: 如果使用 HSCMain 功能块管理其他 HSC 类型,则在编译时将检测到错误。

添加 HSCMain 功能块

步骤

描述

1

库 > 控制器 > HMISCU > HMISCU_HSC > HSCMain 功能块拖到应用程序树 > HMISCUxx5 > POU,然后将其放到窗口下方的Start Here框。

2

实例名称位于设备树 > HMISCU••5 > 内嵌功能 > HSC > HSC0•变量字段中,而 HSC0• > 类型设置为 Main

使用输入助手,可以在以下路径选择 HSC 实例:内嵌功能 > HSC

注意: 此方法适用于 ST、LD 或 FBD 语言。

G-SE-0022650.1.gif-high.gif

 

 

I/O 变量用法

下表介绍了功能块的不同引脚在自由大型模式中的使用方法。

下表描述了输入变量:

输入

类型

描述

EN_Enable

BOOL

未使用

EN_Sync

BOOL

在配置 SYNC 输入后:如果为 TRUE,则准许通过 Sync 输入同步和启动计数器。

EN_Cap

BOOL

在配置 CAP 输入后:如果为 TRUE,则启用 Capture 输入

EN_Compare

BOOL

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

o基本比较(TH0TH1 输出位)

o反射(Reflex0Reflex1 输出位)

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功能块的 TH0TH1Reflex0Reflex1Out0Out1 输出位保持其上一个值。

o物理输出 FQ0 和 FQ1 保持各自的上一个值

o事件被隐藏

注意: 在设置 SupendCompare的同时,EN_CompareEN_Out0EN_Out1F_Out0F_Out1 保持运行。

下表描述了输出变量:

输出

类型

注释

HSC_REF

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

Reflex0 的状态。

Reflex1

BOOL

Reflex1 的状态。

Out0

BOOL

物理输出 Output0 的状态(如果已配置 Reflex0)。

Out1

BOOL

物理输出 Output1 的状态(如果已配置 Reflex1)。