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

## Общие сведения Наименование: SUM. Тип выхода: целый положительный. Количество входов: от 1 до 3. ## Примечания по входам •порядок входов: «Прибавка», «Масштабный коэффициент», «Логический сигнал сброса»; •«Прибавка» — значение, которое будет добавляться (с учетом значения второго входа) к значению данного алгоблока, рассчитанному на предыдущем такте работы контроллера; •«Масштабный коэффициент» — значение, которое является делителем первого входа, перед добавлением к значению данного алгоблока; значение на вход можно не указывать (только если не указано значение третьего входа) — по умолчанию равно единице; •значение на третий вход («Логический сигнал сброса») можно не указывать — по умолчанию равно логическому нулю. ## Функционирование •значение выхода равно сумме двух значений: значения выхода данного алгоблока на предыдущем такте работы контроллера и значения, подаваемого на первый вход («Прибавка»), деленной на значение второго входа («Масштабный коэффициент»), если значение третьего входа («Логический сигнал сброса») равно логическому нулю; при превышении числа 99 999 значение выхода сбрасывается в нуль; •значение выхода равно значению первого входа («Прибавка»), деленному на значение второго входа («Масштабный коэффициент»), если значение третьего входа («Логический сигнал сброса») равно логической единице; •состояние выхода неинициализироавно, если первый вход («Прибавка») или второй вход («Масштабный коэффициент») имеет неинициализированное состояние; •значение выхода недостоверно, если первый вход («Прибавка») или второй вход («Масштабный коэффициент») имеет недостоверное значение (даже если другой вход имеет неинициализированное состояние); после возврата из недостоверного значения накопление продолжается с последнего достоверно накопленного значения; •значение выхода сбрасывается в нуль, после возврата в норму из неинициализированного состояния или недостоверного значения первого («Прибавка») или второго («Масштабный коэффициент») входа; •недостоверное значение или неинициализированное состояние третьего входа («Логический сигнал сброса») эквивалентно логическому нулю.
Не допускается использование данного алгоблока в вызываемых подпрограммах!
## Примеры использования BLOCK1 = SUM(10, 2, 1) // BLOCK1 всегда равен 5. BLOCK4 = SUM(BL1; AI2.2; BL2) // Использование в аргументах каналов и алгоблоков. //=============== B0 = FRQ(1; 599) BLOCK2 = SUM(1; 1; B0) BLOCK3 = RESULT(AO1.1; BLOCK2) // AO1.1 увеличивает значение от 1 до 600 в течение 1 минуты; // после этого значение сбрасывается в 1. BLOCK1 = FRQ(1; 599) BLOCK2 = MAX(AI1.1; 0) // маскирование значения нулем BLOCK3 = SUM(BLOCK2; 1; BLOCK1) // BLOCK3 накапливает значения входа AI1.1 в течение 1 минуты; // после этого значение сбрасывается. // Если значение канала AI1.1 недостоверно, // то оно заменяется нулем.