В видеоуроке показана работа с файлами в среде разработки: создание папки, запись текстовой строки в файл и последующее чтение содержимого в другую переменную. Демонстрируется загрузка проекта на контроллер и проверка появления папки и файла. Также рассматривается библиотека функций для работы с файлами и отмечается синхронный режим их выполнения.
- 00:18 Введение в работу с файлами
- 00:26 Обзор программы и переменных для записи и чтения
- 01:16 Создание папки с заданным именем
- 02:08 Запись строки в файл
- 03:07 Чтение содержимого файла
- 03:42 Добавление программы в задачу и загрузка на контроллер
- 04:23 Проверка созданной папки и файла на контроллере
- 05:08 Обзор библиотеки функций для работы с файлами
- 06:35 Синхронный режим работы с файлами и рекомендации
- Astra.IDE
Кому полезно: Инженерам АСУ ТП, изучающим работу с файлами в среде разработки
Описание составлено автоматически по расшифровке речи в ролике.
Расшифровка видео
0:18 Здравствуйте, в этом видеоуроке мы с вами поговорим о работе с файлами, начнем. У меня есть папочка, екст, в ней есть уже программа файл к замку. Давайте посмотрим. Что здесь имеется? В этой программе я хочу сначала осуществлять запись какой то текстовой строки файл и после этого вычитывать из файла содержимое уже в другую текстовую. Переменную для записи я буду использовать вот эту переменную райбув. Тут присутствует строка Хэллоуолд и, соответственно, вычитывать я буду вот в этот рейк Буфер.
1:16 В начале мы пытаемся создать папку с определенным именем. Имя у нас будет папки тест. Для создания папки мы имеем отдельный метод Сэдфулдер, давайте провалимся в него. Здесь мы в начале пытаемся открыть папку с заданным именем. Если у нас это не получается, то мы создаем эту папку и открываем ее вновь. Вот если же и в этом случае у нас не удается открыть папку, то мы возвращаем.
2:00 Значение, 0 если у нас успешно получилось создать папку, возвращаем единицу. И так если 0 то соответственно по ретурну мы полностью закончим выполнение данной программы. В в случае, если папка создана, мы сначала выполняем блок записи. Для этого мы открываем файл при помощи функции СИС файл Опен, указываем полный путь к файлу. То есть у нас будет находиться внутри папки, тест имя задали произвольное и задаем? Права для этого файла, а Пинк + означает это дописывание, и в случае, если такого файла не существует, он будет автоматически создан, а дописывание происходит именно в конец файла.
2:55 Далее мы записываем в. В наш файл содержимое буфером и закрываем. И закрываем файл. При этом выставляем флаг, что запись окончена. Ну, ну и соответственно в блоке для чтения мы проверяем, что запись у нас уже была закончена, а чтение еще не осуществлялось и, соответственно, открываем тот же самый файл уже с правами на чтение. Вычитываем при помощи данной функции содержимое файла в ряду. Ну и после этого также закрываем файл. Давайте добавим эту программу в задачу.
3:45 Таскался ПрГ. Теперь можем зайти на контроллер через файлы. И мы можем убедиться, что в данный момент папка тест у нас отсутствует. Теперь Загружаем проект на контроллер. В 1 же цикле у нас выполняются блоки на записи чтения, и соответственно здесь мы сейчас можем проверить, что папка у нас уже должна была создаться. Вот действительно после обновления я вижу папку. Тест заходим в нее и видим файл файл Лог, в котором записана наша строка. Можно его, конечно, скопировать, открыть, но в принципе мы и так можем понять, что именно мы из него прочитали, но за счет.
4:58 Содержимого переменный Ред Буф, вот мы здесь наблюдаем, что содержимое редуф оно полностью совпадает тем с тем, что было в Аврайт Бух. Подобным образом мы можем писать файлы как произвольные строки, так и любые бинарные данные. По сути, мы работаем с файловой системой точно так же, как мы это могли бы делать на обычном компьютере, вот при этом мы должны самостоятельно. Отслеживать свободное место на жестком диске мы можем файлы переименовывать, удалять, копировать. Давайте посмотрим, какие вообще есть возможности у библиотеки. Сис файл для работы с файлами, я сейчас за перейду в библиотеку.
5:45 Сисфайл. Вот я ее ранее уже добавил, как и библиотеку. Сиздир, для того чтобы мы могли поработать с данным примером и в библиотеке СИС файл, мы видим следующий набор функций, в частности функция открытия. Файла переименования чтения, перемещение позиции, курсора и так далее. То есть в принципе все эти функции, они точно такие же, как, например, в языке Си, то есть мы имеем полнофункциональный.
6:30 Набор для работы с файлами. Следует отметить, что Работа с файлами осуществляется в синхронном режиме. Это значит, что пока работает какая либо наша функция. Допустим, в Райбуф у нас на этой функции. Останавливается задача, и пока функция не вернется, соответственно исполнение задачи дальше не продвинется. И если мы будем пытаться работать с файлами? Особенно при записи больших объемов там по несколько мегабайт. Именно в рабочем цикле основной задачи, то это может приводить к достаточно. Продолжительным временным задержкам, поэтому рекомендуется все таки работу с файлами выносить, в какие то отдельные задачи с не очень высоким приоритетом.
7:23 На практике вы можете, например, записывать файлы, какие то текущие значения переменных с метками времени для того, чтобы можно было их в последующем вычитать при необходимости. Но на практике, в общем, то удобнее для таких целей использовать. Эскуэль, который мы рассмотрим последующих видео уроках. Таким образом, вы можете самостоятельно решить, для чего именно данный функционал можно применить в ваших проектах. На сегодня это все спасибо за внимание, увидимся на следующих видео уроках.
Расшифровка сделана автоматически (Yandex SpeechKit) и может содержать ошибки в терминах.
Стандартный проект среды разработки Astra.IDE, который упоминается в видео вы можете скачать по ссылке: https://disk.yandex.ru/d/xkwfDWGyqeePJA
Ещё по Контроллеры REGUL
все материалы
16:26▶ Урок 16. Работа с HART устройствами
Контроллеры REGUL · 16:26Стандартный проект среды разработки Astra.IDE, который упоминается в видео вы можете скачать по ссылке: https://disk.yandex.ru/d/xkwfDWGyqeePJA
26:51▶ Урок 17. Встроенная БД SQL
Контроллеры REGUL · 26:51Стандартный проект среды разработки Astra.IDE, который упоминается в видео вы можете скачать по ссылке: https://disk.yandex.ru/d/xkwfDWGyqeePJA
16:55▶ Урок 12. Работа с датой и временем
Контроллеры REGUL · 16:55Стандартный проект среды разработки Astra.IDE, который упоминается в видео вы можете скачать по ссылке: https://disk.yandex.ru/d/xkwfDWGyqeePJA
1:03:59▶ Урок 14. Настройка резервирования
Контроллеры REGUL · 1:03:59Стандартный проект среды разработки Astra.IDE, который упоминается в видео вы можете скачать по ссылке: https://disk.yandex.ru/d/xkwfDWGyqeePJA
40:27▶ Урок 15. Информационная безопасность
Контроллеры REGUL · 40:27Стандартный проект среды разработки Astra.IDE, который упоминается в видео вы можете скачать по ссылке: https://disk.yandex.ru/d/xkwfDWGyqeePJA
18:12▶ Урок 07. Протокол OPC DA
Контроллеры REGUL · 18:12Стандартный проект среды разработки Astra.IDE, который упоминается в видео вы можете скачать по ссылке: https://disk.yandex.ru/d/xkwfDWGyqeePJA