# Сигнализация | Типовые задачи Предыдущий Следующий

## Общие сведения Наименование: ACK. Тип выхода: логический. Количество входов: 4 или 5. ## Примечания по входам •порядок входов: «Тип сигнализации», «Прерывистый сигнал», «Сигнал срабатывания», «Сигнал квитирования», «Сигнал сброса квитирования»; •«Тип сигнализации»: логический нуль — световой, логическая единица — звуковой; •если не указан «Сигнал сброса квитирования», то равен логическому нулю. ## Функционирование Значение выхода равно логическому нулю, если третий вход («Сигнал срабатывания») равен логическому нулю. На выход подается прерывистый сигнал, задаваемый вторым входом («Прерывистый сигнал»), если третий вход («Сигнал срабатывания») равен логической единице. При этом: 1.Выходной сигнал можно квитировать в зависимости от значения первого входа («Тип сигнализации»): •если первый вход равен логической единице, то после первого положительного фронта четвертого входа («Сигнал квитирования») выход принимает значение логического нуля; •если первый вход равен логическому нулю, то после второго положительного фронта четвертого входа («Сигнал квитирования») выход принимает значение логической единицы. 2.Квитирование выходного сигнала можно сбросить, подав логическую единицу на пятый вход («Сигнал сброса квитирования»). После сброса на выход начинает снова подаваться прерывистый выходной сигнал, задаваемый вторым входом («Прерывистый сигнал»). Выход имеет неинициализированное состояние, если один из входов имеет неинициализированное состояние. Значение выхода недостоверно, если один из входов имеет недостоверное значение (даже если другой вход имеет неинициализированное состояние). Упрощенная таблица истинности работы алгоблока Сигнализация (ACK) приведена в следующей таблице. Таблица. Упрощенная таблица истинности алгоблока Сигнализация (ACK)
Вход 3 (Сигнал срабатывания) | Вход 4 (Сигнал квитирования) | Вход 5 (Сигнал сброса квитирования) | Выход
--- | --- | --- | ---
Вход 1 (Тип сигнализации) = 1
0 | Любой | Любой | 0
1 | До первого положительного фронта | 0 | Прерывистый сигнал (вход 2)
1 | После первого положительного фронта | 0 | 0
1 | Любой | 1 | Прерывистый сигнал (вход 2)
Вход 1 (Тип сигнализации) = 0
1 | До второго положительного фронта | 0 | Прерывистый сигнал (вход 2)
1 | После второго положительного фронта | 0 | 1
1 | Любой | 1 | Прерывистый сигнал (вход 2)
Примечание: отсчет положительных (передних) фронтов четвертого входа («Сигнал квитирования») сбрасывается после того, как пятый вход («Сигнал сброса квитирования») принимает значение логической единицы.
Не допускается использование данного алгоблока в вызываемых подпрограммах!
## Примеры использования BLOCK1 = FRQ(10; 10) BLOCK2 = ACK(1; BLOCK1; DI1.1; DI1.2; 0) // Если DI1.1 = 1, то на выход подается импульс 1 с, // заданный алгоблоком BLOCK1, до квитирования каналом DI1.2. // ======================================= // Реализация внешней звуковой сигнализации 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