<< Click to Display Table of Contents >> Navigation: Приложения > Библиотека OSCAT > OSCAT.Функциональные блоки > OSCAT.ФБ.Модули измерения > BAR_GRAPH (OSCAT) |
BAR_GRAPH – это многоуровневый компаратор.
Вид ФБ в редакторе программ языка FBD:
Входы и выходы ФБ:
Название |
Тип |
Описание |
Входы |
||
X |
REAL |
Аналоговый сигнал. |
rst |
BOOL |
Сброс. Вне зависимости от X, LOW, HIGH и ALARM сохраняют значение TRUE до сброса (RST=TRUE). |
trigger_Low |
REAL |
Нижняя граница. |
trigger_High |
REAL |
Верхняя граница. trigger_High должно быть больше trigger_Low. |
Alarm_low |
BOOL |
Разрешение установки ALARM при X<trigger_Low. |
Alarm_high |
BOOL |
Разрешение установки ALARM при X>=trigger_High. |
log_scale |
BOOL |
Вид разбиения диапазона [trigger_Low, trigger_High] на поддиапазоны. |
Выходы |
||
LOW |
BOOL |
Индикатор выхода X за нижнюю границу (LOW=TRUE, если X<trigger_Low). Пороговые значения для выхода LOW задается входом trigger_Low. |
Q1 .. Q7 |
BOOL |
Индикаторы нахождения X в поддиапазонах. |
HIGH |
BOOL |
Индикатор выхода X за верхнюю границу (HIGH=TRUE, если X>=trigger_High). Пороговые значения для выхода HIGH задается входом trigger_High. |
Alarm |
BOOL |
Индикатор аварии. Alarm =TRUE, если Alarm_low=TRUE и/или Alarm_high=TRUE, если соответственно X<trigger_Low или X>=trigger_High. |
Status |
Byte |
Выход индицирует ESR-совместимый статус: 110 - trigger_Low < X < trigger_High 111 - X < trigger_Low (LOW=TRUE) 112 - X > trigger_High (HIGH = TRUE) 1 - X < trigger_Low (LOW=TRUE) и trigger_Low=TRUE 2 - X >= trigger_High (HIGH = TRUE) и Alarm_high=TRUE |
Диапазон [trigger_Low, trigger_High] разбит на 7 поддиапазонов по линейному (log_scale=FALSE) или логарифмическому (log_scale=TRUE) закону. Нахождение X в поддиапазоне индицирует соответствующий выход Q1 .. Q7 (одновременно только один из выходов Q1 .. Q7 может иметь значение TRUE). Выходы Q1..Q7 игнорируют команду сброса (rst=TRUE).
Приведенные ниже временные диаграммы ФБ BAR_GRAPH получены с помощью следующей программы (для генерации пилообразного сигнала используется ФБ GEN_RMP (OSCAT)):
Временная диаграмма при линейном разбиении диапазона [trigger_Low, trigger_High] (log_scale=FALSE):
Временная диаграмма при логарифмическом разбиении диапазона [trigger_Low, trigger_High] (log_scale=TRUE) для PT=4m, AM = 850: