Раздел ‘Функции выбора’

  Выбор из двух (SEL)

  Выбор из пяти (nSEL)

  Выбор максимального (MAX)

  Выбор минимального (MIN)

  Ограничение (LIMIT)

  Выбор из трех (MUX)

  Выбор из семи (MUX7)

  Интервал (NLIM)

  Запаздывание (LTN)

  Предсказание (FRWD)

  Анализ и управление состоянием (AVT)

  Управление выработкой (SEL0)

  Выбор по приоритету (PRIOR)

  Управление по интервалу (<>F)

  Измерение по трем точкам (VTR)

  Конечный автомат (SSTP)

  Выбор аналогового сигнала (SF3)

  Выбор цифрового сигнала (SD3)

Выбор из двух (SEL)

SEL = INk , (k = 0,1), если IG = k.

Выбор из пяти (nSEL)

Выход NUM этого блока равен номеру одного из входов I0I4, значение которого передается на выход VAL. Коммутацией управляют входы REG и BLK. Если REG = 0, на выход VAL передается наименьшее из входных значений, если REG = 1 – наибольшее.

Первые 5 битов числа, поданного на вход BLK, определяют участие входов в выборе. Если бит равен 0, соответствующий ему по номеру вход рассматривается, 1 – игнорируется.

Если входом BLK заблокированы все 5 сигнальных входов, NUM = -2.

Выбор максимального (MAX)

Этот блок возвращает большее из входных значений.

Выбор минимального (MIN)

Этот блок возвращает меньшее из входных значений.

Ограничение (LIMIT)

Этот блок клиппирует входной сигнал (вход INP), если его значение выходит за границы заданного диапазона: 

Q = MAX, если INP > MAX

Q = MIN, если INP < MIN

Q = INP, если MIN <= INP <= MAX

Выбор из трех (MUX)

Q = INk , (k = 0,1,2), если NUM = k.

Если NUM принимает другое значение, то на текущем такте пересчета значение выхода Q не изменяется.

Выбор из семи (MUX7)

Q = INk , (k = 0,1…6), если NUM = k.

Если NUM принимает другое значение, то на текущем такте пересчета значение выхода Q не изменяется.

Интервал (NLIM)

NL = 1, если INP > MAX (на вход INP подается анализируемое значение)

NL = 0, если MIN <= INP <= MAX

NL = 2, если INP < MIN

Запаздывание (LTN)

Данный блок реализует звено чистого запаздывания:

где i – номер текущего такта пересчета блока.

Предсказание (FRWD)

Этот блок реализует функцию экстраполяции входного значения по первой и второй производным. Выходу Q присваивается предполагаемое значение входа INP на следующем такте пересчета. Вычисление значения выхода осуществляется по следующей формуле:

где i – номер текущего такта пересчета.

Анализ и управление состоянием (AVT)

По результатам анализа значения, поданного на вход INP, блок последовательно изменяет состояние управляемого объекта.

При подаче 1 на вход CLR выходы блока обнуляются, и он прекращает свою работу.

При подаче 0 на вход CLR блок переходит в рабочий режим, при этом на один такт пересчета бит 0 выхода QS принимает значение 1.

На первом этапе работы блок сравнивает значения входов INP и PS1. Если INP<>PS1 в течение PT тактов пересчета, биты 0 и 8 выхода QE принимают значение 1 (QE=16#101). Установившиеся значения выходов остаются неизменными до тех пор, пока значения INP и PS1 не станут равными. Когда INP=PS1, бит 1 QS принимает значение 1 на один такт пересчета, а байт 1 QS принимает постоянное значение 1 (т.е. на один такт пересчета QS принимает значение 16#102, а затем – постоянное значение 16#100). Выход QE вначале обнуляется, а по окончании текущего интервала из PT тактов пересчета его биты 0 и 9 принимают постоянное значение 1 (QE=16#201). На этом первый этап работы блока завершается, а значения выходов (QS=16#100 и QE=16#201) остаются неизменными до тех пор, пока не выполнится условие INP=PS2.

Следующие этапы аналогичны первому, т.е. когда INP становится равным PS<k+1>, где k = 1,2,3 – номер последнего завершенного этапа, QS изменяет свое значение: бит с номером (k+1) принимает значение 1 на один такт пересчета, а байт 1 принимает постоянное значение k+1. Выход QE вначале обнуляется, а по окончании текущего интервала из PT тактов пересчета его биты 0 и k+9 (бит (k+1) байта 1) принимают постоянное значение 1 (по завершении последнего (четвертого) этапа и последующем истечении PT тактов пересчета  QE=2).

Таким образом:

   в байте 1 QS формируется код нового состояния объекта (1,2,3,4);

   импульс в i-ом (i=1,2,3,4) бите QS указывает на завершение i-ого этапа;

   ненулевое значение QE индицирует превышение времени исполнения этапа, заданное PT. При этом:

   номер установленного в 1 бита байта 1 QE равен номеру последнего завершенного этапа (после завершения четвертого этапа байт 1 QE принимает значение 0);

   байт 0 QE равен 2 после завершения этапа 4 и 1 – после завершения любого другого этапа.

Управление выработкой (SEL0)

Этот блок управляет несколькими (до 8) однотипными агрегатами для получения заданной выработки.

На вход PV данного блока подается задание на выработку. Вход ST используется для ввода данных о состоянии агрегатов. Каждый его бит описывает состояние соответствующего агрегата (0 - выключен, 1 - включен). Вход ALR используется для указания работоспособности агрегатов. Каждый бит этого входа описывает соответствующий агрегат (0 - работоспособен, 1 - неисправен). На последний вход (IV) подается производительность одного агрегата.

На выходе QV формируется значение предполагаемой выработки. Оно вычисляется как сумма производительностей агрегатов, для которых сформированы команды на включение. Эти команды формируются на выходе RUN. Каждый бит данного выхода управляет соответствующим агрегатом (0 - выключить, 1 - включить). Формирование этих команд осуществляется с учетом текущего состояния и работоспособности агрегатов для обеспечения следующего условия: предполагаемая выработка должна быть не меньше заданной.

Выбор по приоритету (PRIOR)

Данный блок имеет шесть входов для команд управления (IN1IN6) и один вход блокирования команд (BLK).

Из входов IN1IN6 выбирается наименьший по номеру вход, который не блокирован и имеет ненулевое значение. Значение такого входа передается на выход CMD, а его номер – на выход SEL.

Блокировать можно только входы IN3IN6. Управляет блокировкой вход BLK. Его биты 0-3 блокируют команду 1, поданную на соответствующий вход, биты 4-7 – команду 2, биты 8-11 – команду 3. Младшему биту в каждой четверке соответствует вход IN3, а старшему – IN6. Блокирование осуществляется по равенству бита единице. Например, чтобы блокировать команду 3, поданную на вход IN4, нужно подать на вход BLK значение 29 (512).

Назначение других битов BLK:

   Бит 12 (0x1000) – если 1: обнулить CMD;

   Бит 13 (0x2000) – если 1: обнулить SEL;

   Бит 14 (0x4000) –

   Бит 15 (0x8000) – блокировать все команды по IN1 и IN2;

   Бит 16 (0x10000) – если 1: блокировать битами 8-11 команду -1 (вместо команды 3);

   Бит 17 (0x20000) – если 1: копировать 0 на выход при подаче 4 на соответствующий вход;

   Бит 18 (0x40000) – если 1: умножить CMD на 0x400 (для ZDV и KLP);

   Бит 19 (0x80000) – если 1: обнулить выходы и отключить блок.

Управление по интервалу (<>F)

Данный блок позволяет формировать произвольные значения в зависимости от интервала, в который попадает анализируемое значение, поданное на вход INP.

Если INP < MIN, то Q = I<<

Если MIN <= INP <= MAX, то Q = <I<

Если INP > MAX, то Q = <<I

Измерение по трем точкам (VTR)

Значение выхода этого блока вычисляется по следующей формуле:

Qi = (IN1 + IN2 + IN3 + Qi-1 - MIN MAX) / 2

где

i – номер текущего такта пересчета;

IN<k> – значения входов (квазипостоянные величины);

MIN – минимальное из IN1, IN2, IN3 и Qi-1;

MAX – максимальное из IN1, IN2, IN3 и Qi-1.

Таким образом, выходное значение формируется плавно, без скачка.

Конечный автомат (SSTP)

Данный блок переводит управляемый объект в состояние, которое выбирает в соответствии со значениями своих входов.

Входы блока:

LOG – управляющий вход. Допустимые значения – 0 и 1;

PT – уставка таймера (задается в тактах пересчета);

PV – уставка счетчика событий. Под событием здесь понимается изменение значения входа LOG с 0 на 1;

STP – код следующего состояния. При равенстве этого параметра 0 код следующего состояния равен коду текущего состояния, увеличенному на единицу.

Выходы блока:

CPT – текущее значение таймера (в тактах пересчета). Выход CPT обнуляется при переходе в новое состояние;

CPV – текущее значение счетчика событий. Выход CPV обнуляется при переходе в новое состояние;

STP – код текущего состояния;

STS – код условия, по которому выбрано текущее состояние.

Переход в новое состояние, заданное входом STP, производится при выполнении любого из двух следующих условий:

   CPV=PV, т.е. если значение входа LOG изменилось с 0 на 1 PV раз;

   CPT=PT, т.е. если истекло заданное время.

Выход STS принимает следующие значения:

0 – если LOG=0 и еще не произошло ни одного перехода;

1 – если LOG=0, а текущее состояние выбрано по условию CPV=PV;

2 – если LOG=0, а текущее состояние выбрано по условию CPT=PT;

16 – если LOG=1 и еще не произошло ни одного перехода;

17 – если LOG=1, а текущее состояние выбрано по условию CPV=PV;

18 – если LOG=1, а текущее состояние выбрано по условию CPT=PT.

Подача отрицательного значения на вход PV, PT или STP останавливает работу блока и формирует на выходе CPV, CPT и STP соответственно значение |PV|, |PT| и |вход STP|. После снятия отрицательных значений со входов блок отрабатывает свои функции в соответствии с установленными значениями на выходах.

Выбор аналогового сигнала (SF3)

Биты 0-2 входа STS – достоверность соответственно значений A0-A2 (0 – достоверно, 1 – недостоверно).

Если A0-A2 недостоверны, Out_A не меняется и устанавливается бит 0 выхода STS.

Если из A0-A2 достоверно только одно значение, оно записывается в Out_A.

Если из A0-A2 достоверны два значения, в Out_A записывается их среднее арифметическое.

Если A0-A2 достоверны:

   если бит 8 входа STS не установлен, Out_A=M, где M – медиана (вычисляется по A0-A2). Кроме того, вычисляются величины di = (Ai-M)/M. При di > % устанавливаются соответственно биты 8, 9 и 10 выхода STS;

   если бит 8 входа STS установлен, блок работает по аналогичному алгоритму, но дополнительно вычисляется сумма значений A0-A2, из которой затем вычитаются значения, для которых di > %. Скорректированная таким образом сумма делится на N (число значений, для которых di < %), и полученный результат записывается в Out_A.

Если установлен бит 9 входа STS, значение битов 12-15 выхода STS индицирует N.

Выбор цифрового сигнала (SD3)

Биты 0-2 входа STS – достоверность соответственно значений D0-D2 (0 – достоверно, 1 – недостоверно).

Если D0-D2 недостоверны, Out_D не меняется и устанавливается бит 0 выхода STS.

Если из D0-D2 достоверно только одно значение, оно записывается в Out_D.

Если из D0-D2 достоверны два значения (Dk и Dm):

   если бит 0 входа 1/0 равен 0, то Out_D = Dk OR Dm

   если бит 0 входа 1/0 равен 1, то Out_D = Dk AND Dm

Если D0-D2 достоверны, то Out_D = S = (D0 & D1) | (D0 & D2) | (D1 & D2) (S равно 0 или 1 в зависимости от того, каких значений больше в D0-D2). Далее S сравнивается с D0-D2, при неравенстве устанавливаются соответственно биты 8-10 выхода STS. Если установлен бит 9 входа 1/0, значение битов 12-15 выхода STS индицирует число значений, равных S.