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

## Общие сведения Наименование: FORCE_OFF. Тип выхода: логический. Количество входов: 2. ## Примечания по входам •порядок входов: «Сигнал», «Время»; •«Время»: задается в тактах Контроллера (один такт = 100 мс). ## Функционирование •значение выхода равно логическому нулю, если значение первого входа («Сигнал») равно логическому нулю; •значение выхода равно логической единице, если значение первого входа («Сигнал») равно логической единице, но не дольше значения времени, которое задано вторым входом («Время»); •выход имеет неинициализированное состояние, если хотя бы один из входов имеет неинициализированное состояние; •значение выхода недостоверно, если один из входов имеет недостоверное значение (даже если другой вход имеет неинициализированное состояние).
Не допускается использование данного алгоблока в вызываемых подпрограммах!
## Примеры использования BLOCK1 = FORCE_OFF(1; 50) // Значение алгоблока BLOCK1 на 5 с будет равно 1. BLOCK1 = GT(AO1.1; 50) BLOCK2 = FORCE_OFF(BLOCK1; 100) BLOCK3 = RESULT(DO1.1; BLOCK2) // Использование в аргументах констант, каналов и алгоблоков. // ======================================= // Реализация внешней звуковой сигнализации 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