Среда разработки Unimod PRO 2 (версия 2.3.40)
 Руководство по программированию
×

DCHNG - запрет изменения


 
Назначение.
Функциональный блок DCHNG применяется для запрета увеличения и/или уменьшения сигнала.  Может использоваться для организации технологических защит и блокировок изменения аналогового сигнала.
 
Состав структурной переменной.
Переменная со структурным типом DCHNG будет добавлена в локальный словарь автоматически при добавлении блока в редактор.
Описание алгоритма.
Функциональный блок DCHNG может работать в одном из четырех режимов:
  • Режим работы без запретов (Zup=FALSE и Zdown=FALSE). Сигнал X без изменения передается на выход Y, а выходы Dup=FALSE и Ddown=FALSE.
  • Запрет на увеличение (Zup=TRUE). Значение выходного сигнала Y может равняться максимальному значению X в момент запрета Y=Xmax или уменьшаться. Зависимость параметров при запрете на увеличение приведена в таблице:
    Zup
    Zdown
    X
    Y
    Dup
    Ddown
    true
    false
    X >= Y
    Y = Xmax
    true
    false
    X < Y
    Y = X
    • Dup=false в течение одного цикла контроллера после уменьшения сигнала X<Y;
    • Dup=true - в остальное время.
    false
  • Запрет на уменьшение (Zdown=TRUE). Значение выходного сигнала Y может равняться минимальному значению X в момент запрета Y=Xmin или увеличиваться. Зависимость параметров при запрете уменьшения приведена в таблице:
    Zup
    Zdown
    X
    Y
    Dup
    Ddown
    false
    true
    X <= Y
    Y = Ymin
    false
    true
    X > Y
    Y = X
    false
    • Ddown=false в течение одного цикла контроллера после увеличения сигнала X>Y;
    • Ddown=true в остальное время
  • Запрет любого изменения (Zup=TRUE и Zdown=TRUE). На выходе Y сохраняется значение сигнала Xz, выводимое на момент запрета, а все последующие изменения сигнала X игнорируются. Зависимость параметров при одновременном запрете приведена в таблице:
Zup
Zdown
X
Y
Dup
Ddown
true
true
X = Y
Y = Xz
true
true
X > Y
Y = Xz
true
false
X < Y
Y = Xz
false
true
 
Графическое изображение работы блока при запрете увеличения сигнала. При запрете уменьшения сигнала работа блока осуществляется аналогичным образом, но в противоположном направлении.
Пример синтаксиса на языке ST.
//вызов функционального блока с командой запрета уменьшения сигнала
Block.DCHNG(10.0, false, true);
//чтение выходных параметров, значения Y могут только увеличиваться
Y := Block.Y;
Dup := Block.Dup;    
Ddown := Block.Ddown;