Frequency_Output:实现频率

 

Frequency_Output 功能块

引脚图

下图所示为 Frequency_Output 功能块的引脚图:

G-SG-0030303.3.gif-high.gif

 

 

功能描述

Frequency_Output 功能块用于实现频率。

i_xEn 中的正信号激活此功能块。输出信号开始时为 TRUE,并保持此信号持续 (TimeBase * i_rIput) 时间,然后变为 FALSE 并持续 TimeBase * (1-i_rIput) 时间。

如果输入信号进入跳变沿范围 0 至 i_rEdge,则输出信号不再轮替,一直保持为 FALSE。如果输入信号进入范围 1-i_rEdge 至 1,则输出信号一直保持为 TRUE。

如果消除 i_xEn 中的信号,则输出信号会保持其当前值,直到通过 i_xEn 中的正信号重新启动该功能块。

输入引脚描述

下表描述了 Frequency_Output 功能块的输入引脚:

输入

数据类型

说明

i_xEn

BOOL

TRUE:FB 启用

FALSE:禁用

i_rIput

REAL

输入值

范围: 0.0...1.0

i_rEdge

REAL

输入值

范围: 0.0...1.0

i_tBase

TIME

时间周期

范围:0...4294967295 毫秒

输出引脚描述

下表描述了 Frequency_Output 功能块的输出引脚:

输出

数据类型

说明

q_xActv

BOOL

功能块活动状态

q_xOput

BOOL

输出值

实例化和用法示例

该示例使用产生 2 个信号的以下自定义信号发生器:

o 将作为 Frequency_Output 功能块的输入的一个 5 秒周期信号。

o 将作为 Frequency_Output 功能块的跳变沿的一个 50 秒周期信号。

此 POU 在 MAST 中具有一个 10 毫秒的周期。

G-SE-0005886.1.gif-high.gif

 

 

此图所示为自定义信号发生器:

G-SE-0005887.1.gif-high.gif

 

 

此示例提供以下结果:

G-SE-0005888.1.gif-high.gif

 

蓝色   i_rEdge 信号,50 秒周期。

绿色   i_rIput 信号,5 秒周期。

红色   q_xOputFrequency_Output 功能块的输出。

下表所示为真值表:

跳变沿级别

输入级别

输出

i_rEdge < 0.5

i_rIput < i_rEdge

FALSE

i_rEdge < i_rIput < (1-i_rEdge)

PWM; duty = i_rIput

(1 - i_rEdge) < i_rIput

TRUE

i_rEdge >= 0.5

i_rIput < i_rEdge

FALSE

i_rEdge <= i_rIput

TRUE

i_rEdge < 0.5 的示例:

G-SE-0005890.1.gif-high.gif

 

 

i_rEdge >= 0.5 的示例:

G-SE-0005889.1.gif-high.gif

 

 

示例:如果引脚 i_xEn 处的输入处于高位,i_rIput 输入和初始 i_rEdge 输入设置为 0.5,而且 i_tBase 输入设置为 1 秒,则 q_xOput 会按 500 毫秒设置并按 500 毫秒的时间周期复位。经过一定时间后,输入 i_rEdge 会变为 0.7。

下图所示为上述示例的时序图:

G-SA-0045730.2.gif-high.gif