Объявление

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

Зависание ПЛК-50. Исключение в AlarmManager

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

  • Зависание ПЛК-50. Исключение в AlarmManager

    Добрый день !
    После добавления в проект AlarmManager и настройки архивирования событий начались периодические зависания ПЛК-50. Может зависнуть через 5 минут, может проработать пару дней. Похоже, что зависает в момент записи событий в архив.

    Панель:

  • #2
    Журнал событий и место исключения. (Что получилось снять при подключении к панели после зависания до перезагрузки).
    Callstack получить не получилось. Пункты меню в отладке не активны (видимо для этого нужны символы от AlarmManager-а).

    Если что - сохранен core dump.

    Комментарий


    • #3
      Настройки AlarmManager-а

      Комментарий


      • #4

        Комментарий


        • #5


          Добрый день, в настройках, удалите в разделе subdirectory путь к каталогу Msg, это настраивать не требуется и не было задано по дефолту, все пути хранения уже прописаны статически, тренды и алармы пишутся на SD карту, SD карта должна иметь 1 раздел и файловую систему ext4, отформатировать SD карту в нужную файловую систему можно с помощью системной утилиты ПЛК, через раздел накопители. Сейчас, в следствии того, что обьявлена субдиректория Msg, записи пишутся в ОЗУ, т.к пути не соответствуют дефолтному обьявлению, в следствии чего, рантайм встает в исключение. Попробуйте удалить субдиректорию, далее выполнить --Компиляция--Очисть все-- Генерировать код--, после снова загрузить проект.
          Последний раз редактировалось Пушкарев Андрей; 08-11-2024, 04:21 AM.

          Комментарий


          • #6
            Добрый день. Удаление пути к каталогу ничего не дало. По прежнему периодически зависает. (Проект загружал так: Сбос ПЛК в origin из CodeSys. Перезагрузка ПЛК в системную утилиту, форматирование карты в Ext4. В CodeSys - компиляция - очистить - очистить все. - генерировать код - загрузить в ПЛК - создать загрузочный проект.).

            Обратил внимание, что после зависания и перезапуска панели в журналах были видны старые события. (С момента форматирования карты и заливки проекта). На старом проекте (до удаления Msg) тоже. Т.е. на карту события все же писались и сейчас пишутся.



            Можно ли в 3.5.10 при описании аларма в поле выражение ссылаться на:

            1) входы/выходы функциональных блоков ?

            В виде: TskMain.uPmpK71.ErrRun
            TskMain - это имя программы
            uPmpK71 - это имя экземпляра ФБ (описан в секции VAR программы TskMain)
            ErrRun - это выход ФБ типа BOOL (описан в секции VAR OUTPUT функционального блока, экземпляром которого является uPmpK7)

            2) переменные из списка RETAIN PERSISTENT ?

            (В CodeSys 3.5.16 и 3.5.17 на других контроллерах с этим не было проблем, уже успешно работает больше года)

            Комментарий

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