N значений из M

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

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

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

Тип выхода: логический.

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

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

порядок входов: «Логическое число 1», «Логическое число 2», ..., «Количество единиц»;

последний вход: «Количество единиц» — целое число.

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

значение выхода равно логической единице, если значение последнего входа достоверно и равно некоторому числу N и:

N и более логи­чес­ких входов (кроме последнего) имеют значение, равное логи­ческой единице;

N ≤ 0 и хотя бы один из логических входов (кроме последнего) имеет достоверное значение;

значение выхода равно логическому нулю, если:

менее N логи­чес­ких входов (кроме последнего) имеют значение равное логической единице;

значение всех логических входов (кроме последнего) недостоверно;

значение выхода недостоверно, если последний вход имеет недостовер­ное значение или его состояние не инициализированно.

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

BLOCK1 = NOFM(DI1.1; DI1.2; DI1.3; 2)

// Если два из трех входов равны единице, то выход равен единице.

BLOCK2 = NOFM(DO1.1; ~DO1.2; DO1.3; AI1.1)

// ~DO1.2 — инверсия значения.

BLOCK3 = NOFM(BLOCK1; BLOCK2; DI1.1; 2)

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

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

// Реализация блокировки, если сработали три параметра из пяти

B10 = ASK_LIM(8; AI1.1)

B20 = ASK_LIM(8; AI1.2)

B30 = ASK_LIM(8; AI1.3)

B40 = ASK_LIM(8; AI1.4)

B50 = ASK_LIM(8; AI1.5)

// Определение срабатывания уставки Н у каналов AI1.1-AI1.5

B60 = NOFM(B10; B20; B30; B40; B50; 3)

B70 = RESULT(DO1.1; B60)

B80 = PHY_DSC(DO1.1)

// Вывод сигнала блокировки на дискретный выходной канал DO1.1.

block3of5_fbd

Файл для импорта: block3of5.help