Показано с 1 по 10 из 151

Тема: CODESYS V3.5. Онлайн-FAQ

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    12,289

    По умолчанию OTHER#07. Особенности выполнения команды "Создать загрузочное приложение"

    Приведенная информация актуальна для контроллеров СПК1хх [М01] и ПЛК2xx.

    В прошивке 1.0.1229.1031 для СПК1хх [М01] загрузочное приложение создавалось неявно при загрузке проекта - такой подход используется в современных версиях CODESYS по умолчанию.
    Этот подход имеет существенный недостаток - пользователь не может избежать загрузочного приложения даже в тех случаях, когда оно не требуется.
    Например, в процессе отладки некорректно написанная программа может привести к перезагрузке контроллера.
    Неявно созданное загрузочное приложение в данном случае приведет к циклической перезагрузке контроллера - поэтому потребуется перейти в конфигуратор и удалить проект.

    В прошивке 1.1.0611.1056 для СПК1хх [М01] и всех прошивках для ПЛК2хх (точнее - в таргет-файлах для этих прошивок) неявное создание загрузочного приложения отключено.
    Загрузочное приложение создается только при выполнении команды Создать загрузочное приложение из меню Онлайн.
    Этот подход не имеет описанного выше недостатка, но при определенных обстоятельствах может привести к неочевидному для пользователя поведению контроллера.
    Предположим, в контроллере создано загрузочное приложение. Происходит загрузка нового проекта (или онлайн-изменение).
    В этот момент выполняется инициализация области RETAIN-переменных - даже если они отсутствуют в проекте (потому что, например, узел таргет-файла Watchdog использует Retain-память).
    Предположим, пользователь не создает загрузочного проекта и перезагружает контроллер по питанию.
    При старте система исполнения определяет, что загрузочное приложение и образ retain-памяти не соответствуют друг другу.
    В результате генерируется исключение RETAIN_IDENTITY_MISMATCH (его можно увидеть на дисплее, если в конфигураторе включен режим обработки ошибок TraceInfo или TraceInfoAndReboot).
    Пользовательский проект, соответственно, не запускается.
    Если опять перезагрузить контроллер - то retain-память будет заново проинициализирована и проект будет запущен.

    Таким образом, перед перезагрузкой контроллера рекомендуется создать загрузочное приложение, чтобы избежать описанной выше ситуации.

    При желании пользователь может включить неявное создание загрузочного приложения при загрузке и онлайн-изменении.
    Это выполняется в настройка приложения (Application - Свойства - Установки загрузочного приложения).

    27-08-2019 14-57-04.png

Похожие темы

  1. Ответов: 1
    Последнее сообщение: 29.06.2017, 11:21

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •