Показаны сообщения с ярлыком fb_search_files. Показать все сообщения
Показаны сообщения с ярлыком fb_search_files. Показать все сообщения

29 января 2010 г.

TwinCAT: Функциональный блок поиска файлов

Пишем функциональный блок, производящий поиск файлов на внутренних дисках ПЛК и ПК производства 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