Сообщение от
Юрий+
На вход подается значение REAL, а на этом выходе на один цикл появляется значение на которое изменился вход. Через некоторое время значение входа меняется, на выхода данные на сколько изменились данные на один цикл. А мне нужно эти данные привязать к счетчику импульсов.
Ну так REAL на входе может меняться непрерывно, значит и на выходе D в каждом цикле будет новое значение?
Вот код блока TREND:
Код:
FUNCTION_BLOCK TREND_DW
VAR_INPUT
X : DWORD;
END_VAR
VAR_OUTPUT
Q : BOOL;
TU : BOOL;
TD : BOOL;
D : DWORD;
END_VAR
VAR
last_X: DWORD;
END_VAR
IF X > last_X THEN
TU := TRUE;
TD := FALSE;
D := X - last_X;
Q := TRUE;
ELSIF X < last_X THEN
TD := TRUE;
TU := FALSE;
D := last_X - X;
Q := FALSE;
ELSE
TU := FALSE;
TD := FALSE;
D := 0;
END_IF;
last_X := X;
У вас каждый цикл значение на выходе D меняется, если вы "выхватываете" и задерживаете одно значение, то теряете несколько следующих
Лучше опишите в чём задача, возможно нужен другой подход