Накопление значения

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

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

Наименование: 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 недостоверно,

// то оно заменяется нулем.