AstraRegul
Релиз 2024.08.31.00
×

5.3.3.1.15. RID | РЕАЛЬНОЕ ИНТЕГРО-ДИФФЕРЕНЦИРУЮЩЕЕ ЗВЕНО

 
 
 
Алгоритм позволяет выполнять реальное интегро-дифференцирование с передаточной функцией:
W(P) = K ∙(T1∙P + 1) /(T2∙P + 1)
 
Выходное значение звена вычисляется по формуле: 
OUT.VALUE = A ∙ IN.VALUE - B∙IN_1.VALUE + C ∙ OUT_1.VALUE,
где
A, B, C – коэффициенты звена
IN_1.VALUE – входное значение IN от предыдущего цикла
OUT_1.VALUE – выходное значение OUT от предыдущего цикла
 
 Коэффициенты звена вычисляется по формуле:
     D =1/(T2 + T0)
A= K ∙ (T1 + T0) ∙ D
B = K ∙ T1 ∙ D
C = T2 ∙ D,
где
T0 – время цикла задачи ПЛК
A,B,C,D – коэффициенты звена
T1 – постоянная времени числителя
T2 – постоянная времени знаменателя
 
Качество OUT определяется наихудшим качеством входного сигнала IN на двух последних циклах:
OUT.QUALITY = MIN (IN_1.QUALITY, IN.QUALITY)

Таблица состояний

Выходной сигнал OUT формируется в соответствии с таблицей состояний:
                       
BAL_IN.CMD
OUT_1.VALUE
BAL_OUT.CMD
OUT.VALUE
TRACKING
*
TRACKING
BAL_IN.VALUE
NO
*
NO
A ∙ IN.VALUE - B∙IN_1.VALUE + C ∙ OUT_1.VALUE
NO_CHANGE
*
NO_CHANGE
Y_1
NO_UP
OUT.VALUE > OUT_1.VALUE
NO_UP
Y_1
NO_DN
OUT.VALUE < OUT_1.VALUE
NO_DN
Y_1
 
 

Балансировка

 
Как видно из таблицы, вход BAL_IN может запрещать увеличение и/или уменьшение выходного значения OUT либо содержать значение с указанием отслеживать его на выходе OUT.
 
Команда балансировки BAL_OUT повторяет команду на входе BAL_IN.
 
Если команда балансировки BAL_IN.CMD в значении TRACKING, то значение балансировки BAL_OUT рассчитывается по формуле:
BAL_OUT.VALUE = OUT.VALUE/K