FileViewer

FileViewer (FB)

FUNCTION_BLOCK FileViewer

FileViewer

Der FileViewer FUNCTION-Block ermöglicht das Durchsuchen, Filtern und Sortieren von Dateien innerhalb eines spezifizierten Verzeichnisses und stellt die Ergebnisse füR Visualisierungszwecke bereit. Der Block ist so gestaltet, dass er in automatisierten Visualisierungssystemen eingesetzt werden kann, insbesondere um Nutzerinteraktionen wie die Dateiauswahl und das Auslösen von Downloads zu unterstützen.

Eingänge

  • sDirectoryName: STRING(254) Der Pfad des Verzeichnisses, das durchsucht werden soll. Standardmäßig ist dies ‘./recording/’.

  • eSortBy: SORT_BY Das Kriterium, nach dem die Dateien sortiert werden sollen. Standardmäßig ist dies nach dem Dateinamen.

  • sFilterByContains: STRING Ein Filter, der angibt, welche Zeichenfolge die Dateinamen enthalten müssen. Standardmäßig ist dies ‘.csv’.

  • xFetchFileList: BOOL Muss auf TRUE gesetzt werden, um die Dateiliste abzurufen.

  • iSelectedFile: INT Der Array-Index der ausgewählten Datei.

  • xValidTableSelection: BOOL Die Validierung, ob der Index im Bereich des Arrays liegt.

  • xDownloadActive: BOOL Gibt an, ob ein Download aktiv ist.

Ausgänge

  • aListEntriesVisu: ARRAY Ein Array, das die Dateinamen für die Visualisierung speichert.

  • xFetchFileListActive: BOOL Zeigt an, ob das Abholen der Dateiliste aktiv ist.

  • xSortActive: BOOL Zeigt an, ob das Sortieren der Liste aktiv ist.

  • xValidSelection: BOOL Gibt an, ob eine gültige Auswahl getroffen wurde.

  • sSelectedFile: STRING Der ausgewählte Dateiname.

  • udiFilesInDirectory: UDINT Die Gesamtzahl der Dateien im Verzeichnis.

  • udiDirectoriesInDirectory: UDINT Die Anzahl der Verzeichnisse im Verzeichnis.

  • udiFilteredFilesInDirectory: UDINT Die Anzahl der durch den Filter gefundenen Dateien.

Verarbeitungslogik

  1. Initialisierung: Bei Aktivierung des xFetchFileList beginnt der Block mit dem Durchsuchen des Verzeichnisses.

  2. Dateilisting und Filterung: Dateien werden basierend auf den Kriterien sFilterByContains und eSortBy gelistet und gefiltert.

  3. Ausgabeaktualisierung: Nach dem Laden und optionalen Sortieren der Liste werden die Ergebnisse in aListEntriesVisu für die Visualisierung übertragen.

InOut:

Scope
Name
Type
Initial

Input Const

eSortBy

SORT_BY

SORT_BY.SORT_BY_FILENAME

Input Const

sDirectoryName

STRING(254)

‘./visu/’

Input Const

sFilterByContains

STRING

‘.csv’

Input

xFetchFileList

BOOL

Input

iSelectedFile

INT

Input

xValidTableSelection

BOOL

Input

xDownloadActive

BOOL

Output

aListEntriesVisu

ARRAY [0..(gc_Parameters.gc_udiMaxFileEntriesInList - 1)] OF STRING(gc_Parameters.gc_iMaxFileNameLength)

Output

xFetchFileListActive

BOOL

Output

xSortActive

BOOL

Output

xValidSelection

BOOL

Output

sSelectedFile

STRING(gc_Parameters.gc_iMaxFileNameLength)

Output

udiFilesInDirectory

UDINT

Output

udiDirectoriesInDirectory

UDINT

Output

udiFilteredFilesInDirectory

UDINT

Zuletzt aktualisiert