FADE (OSCAT)

<< Click to Display Table of Contents >>

Navigation:  Приложения > Библиотека OSCAT > OSCAT.Функциональные блоки > OSCAT.ФБ.Обработка сигналов >

FADE (OSCAT)

ФБ FADE используется для безударного переключения между входами (используется линейное сглаживание).

Вид ФБ в редакторе программ языка FBD:

FADE_OSCAT

Входы и выходы ФБ:

Название

Тип

Описание

Входы

IN1

REAL

Вход 1.

IN2

REAL

Вход 2.

F

BOOL

Выбор входа (TRUE соответствует IN2).

TF

TIME

Время перехода.

rst

BOOL

Сброс.

Выходы

Y

REAL

Значение выбранного входа.

По команде rst=TRUE Y=IN1 (если F=FALSE) или Y=IN2 (если F=TRUE), при этом выход принимает значение входа без задержки.

Операция переключения начинается при изменении значения F и продолжается в течение времени TF. В ходе переключения с INM на INN (M, N = 1, 2) выход Y вычисляется по следующей формуле (TU – это время, истекшее с начала переключения):

Y = (1 - TU/TF) * INM + TU/TF * INN

Т.е. в промежуток времени TF значения двух входов смешиваются: в начале на выход передается 0% нового значения и 100% старого, по истечении половины времени перехода (TF/2) – 50% каждого входа (Y := IN1 * 0.5 + IN2 * 0.5), по истечении TF – 100% нового значения. Если F принимает значение TRUE (FALSE), то, спустя время TF, Y=IN2 (IN1).

Т.к. выход вычисляется динамически, ФБ FADE может быть также использован для переключения динамических сигналов. В принципе, переход может быть разбит на 65535 шагов, однако длительность шага не может быть меньше, чем время цикла, поэтому, например, при времени цикла 10мс и TF=1с получится только 1с/10мс = 100 шагов.

Используемые функции: RMP_W (OSCAT).

Пример

В данном примере для переключения входов (для изменения значения F) используется ФБ GEN_SQR (OSCAT). Время цикла – 1с, поэтому переход выполняется за 15с/1с=15 шагов.

FADE_OSCAT_1

FADE_OSCAT_2