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: | - |
nicht vorhanden |
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. |
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. |