Hallo
bei DEG_TO_DIR kann ich es mir noch gar nicht erklären
aber die bausteine
FIFO_16
FIFO_32
FILTER_MAV_DW
FILTER_MAV_W
FILTER_WAV
MESSAGE_4R
haben eines gemeinsam das sie intern die neue function "_INC1" benutzen
hier könnte sich dein system daran stören das in der function kein functionergenis-wert zugewiesen wird , bzw. das die function aufgerufen wird ohne das ein rückgabewert weiterverarbeitet wird,oder was eher unwahrscheinlich ist das du in einer function kein IN_OUT verarbeiten kannst
folgendes könntest du testweise beim _INC1 ändern
FUNCTION _INC1 : INT
VAR_INPUT
N : UINT;
X : INT;
END_VAR
VAR
END_VAR
_INC1 := (x + 1) MOD N;
in weiterer folge gehört in den bausteinen
FIFO_16
FIFO_32
FILTER_MAV_DW
FILTER_MAV_W
FILTER_WAV
MESSAGE_4R
der aufruf von _inc1 abgeändert
bespiel für stack_16
IF rst THEN
(* asynchronous reset for the fifo *)
NW := NR := 0;
Dout := 0;
empty := TRUE;
full := FALSE;
ELSIF WR AND E AND NOT full THEN
(* write action *)
fifo[NW] := Din;
NW := _INC1(16, NW);
full := NW = NR;
empty := FALSE;
ELSIF NOT WR AND E AND NOT empty THEN
(* read from stack *)
Dout := fifo[NR];
NR := _INC1(16, NR);
empty := NR = NW;
full := FALSE;
END_IF;