Выбор с приоритетом

Типовые задачи  Предыдущий  Следующий

Общие сведения

Наименование: PRIO_SEL.

Тип выхода: вещественный.

Количество входов: от 2 до 32.

Примечания по входам

Порядок входов: «Вещественное число 1», «Вещественное число 2», ... .

Функционирование

значение выхода равно значению входа с наименьшим порядковым номером, который  имеет досто­верное значение;

выход имеет неинициализированное состояние, если все входы имеют неинициализированное состояние;

значение выхода недостоверно, если:

все входы имеют недостовер­ные значения;

хотя бы один вход имеет недостоверное значение, а остальные входы имеют неинициализированное состояние.

Примеры использования

BLOCK1 = PRIO_SEL(AI1.1; 0)

// Если AI1.1 имеет недостоверное значение, то BLOCK1 = 0.

BLOCK2 = PRIO_SEL(AI1.1; AI2.1)

// Пример резервирования каналов (если AI1 и AI2 это разные модули) 

// с приоритетом по порядку указания каналов.

BLOCK2 = PRIO_SEL(AI1.1; BLOCK4; 0)

// Использование в аргументах каналов, алгоблоков и констант.

// =======================================

B1 = PRIO_SEL(AI1.1; AI2.1; AI3.1)

// Значение В1:

// - равно значению канала AI1.1, 

//   если значение канала AI1.1 достоверно

// - равно значению канала AI2.1, 

//   если значение канала AI1.1 недостоверно, а AI2.1 достоверно

// - равно значению канала AI3.1, 

//   если значение канала AI1.1 и AI1.2 недостоверно, а AI3.1 достоверно

// - недостоверно или неинициализировано, 

//   если каналы AI1.1, AI2.1 и AI3.1 одновременно имеют

//   недостоверное или неинициализированное значение

//   (см. раздел Функционирование)

B2 = RESULT(AO1.1; B1)

B3 = UP_HYSTER(AO1.1; 70)

B4 = SET_LIM(130; AO1.1; B3)

// Реализация верхней аварийной уставки по выбранному значению.