Всем привет!

Разобрался вроде со всем, но вот есть непонятный момент.
Код:
			IF rt.Q THEN
				IF Error3=0 THEN
					Q_f3:=WORD_TO_REAL(DD3.Out)/100;
					IF DD3.znak6 THEN
						Q_f3:=Q_f3*-1;
					END_IF
				END_IF
	
				DD3(
				start:= FALSE);
				Stat:=109;
			END_IF
Что конкретно не понятно:
Код:
					Q_f3:=WORD_TO_REAL(DD3.Out)/100;
					IF DD3.znak6 THEN
						Q_f3:=Q_f3*-1;
					END_IF
Выходу FB уже присвоили значение, а потом проверяем знак и меняем его в переменной, которую уже вывели? И так по всему примеру с подобными данными...