TB_ShiftReg

Darstellung in FBD

Allgemeine Informationen

Mit dem TB_ShiftReg steht ein Schieberegister zur Verfügung, mit dem z.B. eine Produktverfolgung implementiert werden kann. Es können vier DINT-Variable geschoben werden. Das Schieberegister kann bis zu 256 Fächer enthalten.

Mit x_Enable=TRUE wird der Baustein aktiviert. Dabei werden alle Daten gelöscht (auf 0 gesetzt). Die erfolgte Aktivierung wird mit TRUE am Ausgang x_Active gemeldet. Ab diesem Zeitpunkt können Datensätze gespeichert und gelesen werden. Ein Datensatz besteht aus ein bis vier Datenworten.

Daten speichern:
Gespeichert wird der an di_InVal0..3 angelegte Datensatz mit der positiven Flanke am Eingang x_Put an der Position us_Position. Wurde der Datensatz übernommen, wird dies mit TRUE am Ausgang x_PutDone für einen Zyklus gemeldet.

Daten lesen:
Mit einer positiven Flanke am Eingang x_Get wird der Datensatz an der Position us_Position an di_OutVal0..3 ausgegeben. Die erfolgreiche Ausgabe wird mit TRUE am Ausgang x_GetDone für einen Zyklus angezeigt.

Daten schieben:
Mit einer positiven Flanke am Eingang x_Clock werden alle Datensätze an die nächste Position geschoben.

Schieberegister löschen:
Mit Wegnahme der Freigabe (x_Enable=FALSE) wird das Schieberegister gelöscht und alle gespeicherten Datensätze werden gelöscht.

Empfohlene Task: Event / Cyclic
Verwendete Bibliotheken: -

Ein-/Ausgänge

nicht vorhanden

Eingänge

Bezeichnung: Datentyp: Beschreibung:
x_Enable BOOL TRUE: Freigabe des Bausteins und löschen des Schieberegisters. Die erfolgreiche Freigabe wird an x_Active angezeigt.
x_Get BOOL Mit der positiven Flanke wird der Datensatz an der Position us_Position an di_OutVal0..3 ausgegeben. Die erfolgreiche Ausgabe wird an x_PutDone angezeigt.
x_Put BOOL Mit der positiven Flanke wird der Datensatz an di_InVal0..3 an der Position us_Position übernommen. Die erfolgreiche Übernahme wird an x_PutDone angezeigt.
di_InVal0 DINT Erstes Datenwort des Datensatzes, der in den FIFO eingetragen wird.
di_InVal1 DINT Zweites Datenwort des Datensatzes, der in den FIFO eingetragen wird.
di_InVal2 DINT Drittes Datenwort des Datensatzes, der in den FIFO eingetragen wird.
di_InVal3 DINT Viertes Datenwort des Datensatzes, der in den FIFO eingetragen wird.
us_Position USINT Position an der geschrieben/gelesen wird.
x_Clock BOOL Mit einer positiven Flanke werden alle Fächer eine Position weiter geschoben.

Ausgänge

Bezeichnung: Datentyp: Beschreibung:
x_Active BOOL TRUE: Baustein aktiv. Es können Datensätze geschrieben und gelesen werden.
x_GetDone BOOL TRUE: Zeigt für einen Zyklus an, dass die an di_OutVal0..3 ausgegebenen Daten gültig sind.
x_PutDone DINT TRUE: Zeigt für einen Zyklus an, dass die an di_InVal0..3 angelegten Daten übernommen sind.
di_OutVal0 DINT Erstes Datenwort des Datensatzes, das aus dem Schieberegister ausgelesen wurde.
di_OutVal1 DINT Zweites Datenwort des Datensatzes, das aus dem Schieberegister ausgelesen wurde.
di_OutVal2 DINT Drittes Datenwort des Datensatzes, das aus dem Schieberegister ausgelesen wurde.
di_OutVal3 DINT Viertes Datenwort des Datensatzes, das aus dem Schieberegister ausgelesen wurde.