Показано с 1 по 2 из 2

Тема: СПК210. Проблема с RETAIN и её решение

  1. #1
    Супер Модератор Аватар для Евгений Кислов
    Регистрация
    27.01.2015
    Адрес
    Москва
    Сообщений
    13,230

    Exclamation СПК210. Проблема с RETAIN и её решение

    Добрый день, коллеги.

    В последнее время мы столкнулись с рядом сообщений от клиентов, у которых в СПК210 наблюдаются проблемы с энергонезависимыми (RETAIN и PERSISTENT) переменными.

    Проявление проблемы: после перезагрузки СПК210 энергонезависимые переменные не восстанавливают свои значения, а инициализируются начальными.
    Причем при повторной перезагрузке сохраненные до первой перезагрузки значения корректно восстанавливаются.

    Частота проявления проблемы: может быть разной. От одного раза на десятки-сотни перезагрузок до условно-стабильного воспроизведения (один раз из 5...10 перезагрузок).

    Сопутствующие эффекты при проявлении проблемы:
    • не работает интерфейс RS-485-3 (не удается открыть COM-порт);
    • загрузка контроллера занимает примерно на 20 секунд дольше, чем обычно.


    Причина проблемы: в процессе загрузки контроллера не определяется плата расширения, через которую подключены микросхема MRAM и интерфейс RS-485-3.
    Этим объясняется задержка на этапе загрузки (происходит несколько попыток определения платы расширения с таймаутами).

    Гарантированное детектирование проблемы:
    • если в терминале Linux ввести команду lsusb - то в выводе будет 3 устройства (при определении платы расширения - их будет 4):

      image_2025-02-13_13-01-45.png
    • в логе загрузки контроллера (можно посмотреть его командой dmesg или в web-конфигураторе: Cостояние - Журналы - Журнал ядра) будут сообщения следующего характера:

      image.png


    В данный момент наши разработчики занимаются исследованием проблемы для ее последующего устранения.
    Наиболее вероятный сценарий - релиз новой прошивки, в которой проблема будет устранена.
    При появлении новой информации - тема будет обновлена.

    Прямо сейчас есть обходное решение для смягчения последствий проблемы:

    Читать далее:


    1. Установить в CODESYS пакет компонентов OwenAppTools_v3.5.17.3.package (через CODESYS Installer).

    2. Добавить в проект компонент OwenSpk210RetainBoard: ПКМ на узел Device - Добавить устройство - Разн. - OwenAppTools - OwenSpk210RetainBoard и нажать внизу кнопку Добавить устройство.

    2025-02-17_12-11-52.png

    3. Объявить в программе две переменные типа BOOL - одна из них будет соответствовать ошибке определения платы расширения, вторая - команде перезагрузки СПК.
    Написать следующий код:

    Код:
    VAR
       xIsRetainBoardNotFound: BOOL;
       xReboot:                BOOL;
    END_VAR
    
    // Область кода
    IF xIsRetainBoardNotFound THEN
        
        xReboot := TRUE;
    
    END_IF
    Желательно разместить этот код в первой из вызываемых программ проекта.

    Пример для языка CFC:

    2025-02-17_12-21-21.png

    4. Привязать переменную xIsRetainBoardNotFound к каналу Плата RETAIN не обнаружена компонента OwenSpk210RetainBoard.
    Привязать переменную xReboot к каналу Reboot компонента Watchdog.

    2025-02-17_12-14-05.png

    5. Результат: если при загрузке контроллера плата расширения не будет обнаружена, то произойдет перезагрузка контроллера.
    С подавляющей вероятностью после нее плата расширения будет обнаружена.




    Upd. - проблема устранена в прошивке 3.7.0228.1046.

  2. #2

Похожие темы

  1. СПК210 & Retain
    от lazy в разделе СПК210, СПК1xx [М01]
    Ответов: 1
    Последнее сообщение: 13.02.2025, 17:27
  2. СПК210 не сохраняются переменные PERSISTENT RETAIN
    от Игорь П в разделе СПК2xx (архив)
    Ответов: 1
    Последнее сообщение: 05.11.2021, 17:05
  3. СПК 207 [M05] проблема с RETAIN.
    от Алексей Логвиненко в разделе СПК2xx (архив)
    Ответов: 6
    Последнее сообщение: 10.05.2018, 09:49
  4. Ответов: 1
    Последнее сообщение: 15.06.2011, 13:27
  5. проблема Retain
    от Alex66 в разделе ПЛК1хх
    Ответов: 5
    Последнее сообщение: 22.06.2007, 10:00

Ваши права

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