Пишем функциональный блок, производящий поиск файлов на внутренних дисках ПЛК и ПК производства BECKHOFF, работающих под управлением Windows NT, W2K, XP, XPe, CE. Для нормальной работы блока в проект необходимо включить библиотеку
(*Описание входов и выходов функционального блока*)
TcUtilities.lib, поставляемую вместе с TwinCAT. Наш функциональный блок будет выдавать массив файлов (вместе с расширениями), массив имён файлов (без расширений) и флаг завершения поиска.(*Описание входов и выходов функционального блока*)
FUNCTION_BLOCK FB_SEARCH_FILES
VAR_INPUT
bSearch, bAbort, bReset: BOOL; (*Управление блоком*)
sDirectory: STRING; (*Директория для поиска*)
END_VAR
VAR_OUTPUT
sFile: ARRAY [1..99] OF STRING; (*Массив файлов*)
sName: ARRAY [1..99] OF STRING; (*Массив имён файлов*)
bDone: BOOL; (*Поиск завершён*)
END_VAR
VAR
bySearch: BYTE;
fbFileSearch: FB_EnumFindFileEntry := (sNetID := '', tTimeout := t#10s);
iNumber: BYTE := 1;
END_VAR