<< Click to Display Table of Contents >> Navigation: Приложения > Библиотека OSCAT > OSCAT.Функциональные блоки > OSCAT.ФБ.Обработка сигналов > FADE (OSCAT) |
ФБ FADE используется для безударного переключения между входами (используется линейное сглаживание).
Вид ФБ в редакторе программ языка FBD:
Входы и выходы ФБ:
Название |
Тип |
Описание |
Входы |
||
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 шагов.