При работе с файлами с помощью библиотек CAA File и SysFile часто требуется указывать путь к конкретной директории - например, директории сервера web-визуализации, USB-накопителю и т.д.
Эти пути могут отличаться для разных моделей ПЛК и разных прошивок - поэтому запомнить все их вариации довольно сложно.
Вместо этого проще использовать плейсхолдеры (заместители).
В этом случае CODESYS сам заменит плейсхолдер на путь к нужной директории.
Следует учитывать, что плейсхолдеры обрабатываются только упомянутыми библиотеками (например, их нельзя использовать при работе с библиотекой CmpSysExec).
Плейсхолдеры CODESYS:
- $$PlcLogic$$ - директория проекта CODESYS;
- $$visu$$ - директория файлов визуализации (одновременно с этим - директория сервера web-визуализации);
- $$trend$$ - директория файлов трендов;
- $$alarms$$ - директория файлов тревог.
Специфичные плейсхолдеры для контроллеров ОВЕН:
- $$USB$$ - корневая директория USB-накопителя;
- $$SD$$ - корневая директория SD-накопителя;
- $$FTP$$ - директория FTP-сервера.
Пример использования плейсхолдеров:
Код:
hFile := SysFile.SysFileOpen('$$visu$$/test.txt', SysFile.ACCESS_MODE.AM_APPEND_PLUS, ADR(dwRes) );
SysFile.SysFileWrite(hFile, ADR(sData), TO_UINT(LEN(sData)), ADR(dwRes) );
SysFile.SysFileClose(hFile);