<< Click to Display Table of Contents >> Navigation: Приложения > Библиотека OSCAT > OSCAT.Функциональные блоки > OSCAT.ФБ.Модули регулирования > FT_INT (OSCAT) |
FT_INT интегрирует входной сигнал с помощью ФБ INTEGRATE (OSCAT).
Вид ФБ в редакторе программ языка FBD:
Входы и выходы ФБ:
Название |
Тип |
Описание |
Входы |
||
IN |
REAL |
Входной сигнал. |
K |
REAL |
Коэффициент (передается в используемый ФБ INTEGRATE (OSCAT)). |
RUN |
BOOL |
Разрешение/приостановка интегрирования. |
RST |
BOOL |
Реинициализация алгоритма (сброс значения интеграла). |
OUT_MIN |
REAL |
Нижняя граница значения интеграла (выхода OUT). |
OUT_MAX |
REAL |
Верхняя граница значения интеграла (выхода OUT). |
Выходы |
||
OUT |
REAL |
Значение интеграла. |
LIM |
BOOL |
TRUE, если значение интеграла достигает границы. |
Определенный интеграл от входного сигнала IN(t) вычисляется с момента времени, когда RUN впервые принимает значение TRUE после старта или реинициализации (если RUN:=FALSE после RUN:=TRUE, интегрирование приостанавливается, а OUT сохраняет свое значение, и при последующем возобновлении интегрирования по команде RUN:=TRUE начальное значение интеграла будет равно сохраненному OUT).
Для реинициализации алгоритма нужно последовательно выполнить команды RST:=TRUE и RST:=FALSE – после этого начальное значение интеграла равно 0, а интегрирование начнется при RUN:=TRUE.
Фундаментальная проблема интегратора – его разрешение (точность). Выход типа REAL имеет точность 7-8 разрядов. Пусть на каждом шаге интегрирования прибавляемое значение (шаг) равно 1, а значение интеграла достигло величины более ста миллионов (1E8). В этом случае шаг не может быть прибавлен к значению интеграла, поскольку находится ниже предела точности в 8 разрядов для типа данных REAL. Важно помнить про это ограничение, особенно если FT_INT используется как счетчик коммунальных услуг или в других подобных задачах.
Следующая временная диаграмма ФБ FT_INT демонстрирует управление интегрированием с помощью RUN и RST: