Объявление

Свернуть
Пока нет объявлений.

Обращение к флэш-карте.

Свернуть
X
 
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения

  • #31
    Сообщение от Пушкарев Андрей Посмотреть сообщение

    Дело в файловой системе SD карты: http://forum.kb-agava.ru/forum/contr...кции-sync
    У меня сейчас в ПЛК установлена другая, моя микро-СД карта с файловой системой ext4.

    Я же имел в виду флешку, которую я подключаю к ПЛК по USB OTG кабелю.

    Её-то, надеюсь не надо форматировать в ext4?
    Поясните.

    Комментарий


    • #32
      Добрый день! Решаю похожую задачу: сканирую каталог /run/media/, чтобы определить, подключена ли sd-карта. Несмотря на то, что она извлечена, всё равно при сканировании вижу каталог /mmcblk1p1, который можно открыть и найти там каталоги /alarms и /trends. Почему так происходит?

      Сразу отмечу, что при наличии sd-карты, которая шла в составе ПЛК-40*, и сканирование содержимого, и запись файлов проводится корректно. Вопрос именно про проверку наличия/монтирования (кстати, отличаются ли эти состояния с точки зрения ПЛК?).

      * Да, я уже понял, что эта sd-карта для других целей. Больше не записываю на неё ничего, просто проверяю алгоритмы определения наличия и сканирования.

      Комментарий


      • #33
        /run/media/mmcblk1p1 - это точка монтирования sd-карты. Проще говоря, это просто папка, в которой отображается содержимое sd-карты, если она вставлена в контроллер. Если запустить Codesys без sd-карты, то в этой папке будут созданы trends, alarms и все такое, что вы и видите.

        Комментарий


        • #34
          Сообщение от Таушканов Константин Посмотреть сообщение
          /run/media/mmcblk1p1 - это точка монтирования sd-карты. Проще говоря, это просто папка, в которой отображается содержимое sd-карты, если она вставлена в контроллер. Если запустить Codesys без sd-карты, то в этой папке будут созданы trends, alarms и все такое, что вы и видите.
          Хорошо, тогда как определить, подключена ли sd-карта? В голову пришёл только один вариант: заранее записать на карту какой-нибудь файл или каталог, по наличию которого и делать вывод. Ещё вопрос: если я подключу чистую sd-карту, в каталоге /run/media/mmcblk1p1 всё равно будут созданы каталоги /alarms и /trends? Просто сейчас нет под рукой чистой карты, а родные карты форматировать не хочется.

          Комментарий


          • #35
            Сообщение от DYS Посмотреть сообщение

            Хорошо, тогда как определить, подключена ли sd-карта? В голову пришёл только один вариант: заранее записать на карту какой-нибудь файл или каталог, по наличию которого и делать вывод. Ещё вопрос: если я подключу чистую sd-карту, в каталоге /run/media/mmcblk1p1 всё равно будут созданы каталоги /alarms и /trends? Просто сейчас нет под рукой чистой карты, а родные карты форматировать не хочется.
            Для определения подключения SD карты или USB накопителя, можно воспользоваться библиотекой CAA File, а именно потребуются следующие ФБ данной биб-ки:
            DirOpen, DirClose, DirList. похожий вопрос был в этой веткеПроверка наличия USB-накопителя в ПЛК-50 - Форум КБ АГАВА (kb-agava.ru)

            Комментарий


            • #36
              Самым лучшим способом определения факта подключения USB-флешки или SD-карты будет подключение к событиям, генерируемым udev. Как это сделать в Codesys - не знаю к сожалению, мб гугл подскажет.

              Есть еще несложный способ - читать вывод команды "ls /dev/mmcblk1p*". При подключенной карте команда, к примеру, выведет "/dev/mmcblk1p1 /dev/mmcblk1p2" при наличии двух разделов на sd-карте. Или "ls: /dev/mmcblk1p*: No such file or directory", если карта не вставлена.
              Последний раз редактировалось Таушканов Константин; 28-10-2021, 11:37 AM.

              Комментарий


              • #37
                Сообщение от Пушкарев Андрей Посмотреть сообщение

                Для определения подключения SD карты или USB накопителя, можно воспользоваться библиотекой CAA File, а именно потребуются следующие ФБ данной биб-ки:
                DirOpen, DirClose, DirList. похожий вопрос был в этой веткеПроверка наличия USB-накопителя в ПЛК-50 - Форум КБ АГАВА (kb-agava.ru)
                Я так и делаю. Беда в том, что каталог /run/media/mmcblk1p1 существует всегда, примонтирована sd-карта или нет.

                Сообщение от Таушканов Константин Посмотреть сообщение
                Самым лучшим способом определения факта подключения USB-флешки или SD-карты будет подключение к событиям, генерируемым udev. Как это сделать в Codesys - не знаю к сожалению, мб гугл подскажет.

                Есть еще несложный способ - читать вывод команды "ls /dev/mmcblk1p*". При подключенной карте команда, к примеру, выведет "/dev/mmcblk1p1 /dev/mmcblk1p2" при наличии двух разделов на sd-карте. Или "ls: /dev/mmcblk1p*: No such file or directory", если карта не вставлена.
                А каким образом можно отправить команду ls? У Овена для доступа к терминалу Linux есть библиотека CmpSysExec. Стандартными средствами такое возможно?
                Последний раз редактировалось DYS; 29-10-2021, 05:13 AM.

                Комментарий

                Обработка...
                X