Цитата Сообщение от lazy Посмотреть сообщение
ок, попробую, спасибо )
Возможно придется немного модифицировать код
Код:
VAR
	SumPlus: UDINT;
	SumMinus: UDINT;
	Curr: DINT;
	Sum: UDINT;
	Sign: BOOL;
END_VAR

IF Curr >=0 THEN
SumPlus:=SumPlus + Curr;
ELSE
SumMinus:=SumMinus - Curr;
END_IF

Sum:=ABS(SumPlus - SumMinus);
Sign:= SumMinus > SumPlus;
Здесь для итоговой суммы (Sum) используется UDINT (от 0 до 4294967295) и ввел переменную Sign для знака Sum.
Т.е. фактически диапазон вычислений Sum от - 4294967295 до 4294967295.
В конце вычислений (после деления), умножить результат на "-1", если Sign был BOOL.