# Определение срабатывания уставок | Типовые задачи Предыдущий Следующий

## Общие сведения Наименование: ASK_LIM. Тип выхода: логический. Количество входов: 2 или 3. ## Примечания по входам •порядок входов: «Отслеживаемые уставки», «Канал», «Форсированное определение»; •признак инверсии второго входа («Канал») игнорируется; •«Отслеживаемые уставки» — определяет перечень отслеживаемых уставок; данный вход задается как сумма следующих чисел: •1 — LT; •2 — HT; •4 — L; •8 — H; •16 — LL; •32 — HH. •«Канал» — ссылка на вход или аналоговый выход; •«Форсированное определение» — блокирует исключение уставок канала из логики работы (если равно логической единице); можно не указывать — по умолчанию равно логическому нулю. ## Функционирование •значение выхода равно логической единице, если у канала, указанного во втором входе («Канал»), сработала одна из уставок, закодированная значением первого входа («Отслеживаемые уставки»), и: •уставки по данному каналу не исключены из логики в работающей стадии циклограммы; •состояние третьего входа («Форсированное определение») равно логической единице; •значение выхода равно логическому нулю, если: •у канала, указанного во втором входе («Канал»), уставки, закодированные значением первого входа («Отслеживаемые уставки»), являются несработавшими; •у канала, указанного во втором входе («Канал»), уставки исключены из логики в работающей стадии циклограммы, а состояние третьего входа («Форсированное определение») равно логическому нулю; •значение первого входа («Отслеживаемые уставки») меньше или равно 0 или больше или равно 64; •выход имеет неинициализированное состояние, если хотя бы один из входов имеет неинициализированное состояние; •значение выхода недостоверно, если хотя бы один из входов имеет недостоверное значение (даже если другой вход имеет неинициализированное состояние). ## Примеры использования BLOCK1 = ASK_LIM(20; AI1.1) // BLOCK1 = 1, если у входа AI1.1 сработала уставка L или LL. // ======================================= B10 = ASK_LIM(2; DI1.1) // Использование алгоблока с DI каналом: // B10 = 1, если у DI1.1 сработала уставка HT. // ======================================= BLOCK2 = ASK_LIM(BLOCK5; AI1.2) // Использование в первом аргументе значения алгоблока. // ======================================= B1 = ASK_LIM(12; AI1.1) B2 = RESULT(DO1.1; B1) // Если сработала одна из предупредительных уставок // у канала AI1.1, то логическое состояние канала DO1.1 // будет равно 1. // ======================================= // Реализация внешней звуковой сигнализации B1 = ASK_LIM(60; AI1.1) // Определение сработанных уставок канала AI1.1 B2 = ASK_LIM(60; AI1.2) // Определение сработанных уставок канала AI1.2 B3 = OR(B1; B2) // Формула срабатывания B4 = DELAY(B3; 30; 1) // Задержка включения 3 с B5 = DELAY(B4; 20; 0) // Задержка отключения 2 с B6 = FORCE_OFF(B5; 6000) // Принудительное отключение через 10 мин B7 = RESULT(DO1.1; B6) // Установка логического значения в DO1.1 B8 = FRN(B7; 1) // Старт прерываний в момент срабатывания B9 = FRQ(50; 30; 1; B8) // Задание прерывания 5 с включен, 3 с отключен B10 = CLR_ACK(B1; B2) // Возобновление сигнализации B11 = ACK(1; B9; B3; DI1.4; B10) // Задание сигнализации (звуковой) B12 = PHY_DSC(DO1.1; B11) // Установка физического значения DO1.1. Файл для импорта: ack.help // ======================================= // Реализация блокировки, если сработали три параметра из пяти 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.help