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

Тема: Обновленная линейка контроллеров СПК1хх [M01] с интерфейсом Ethernet

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Пользователь
    Регистрация
    24.12.2014
    Адрес
    Санкт-Петербург
    Сообщений
    26

    По умолчанию

    Добрый день! Просьба помочь разобраться. СПК110[M01] на объекте периодически раз в день или чаще зависает. После перевода в конфигураторе режима обработки исключения в TraceInfo удалось понять, что причина зависания - деление на ноль. Анализ проекта показал, что все деления в коде защищены проверкой. Возможно ли, что выводимое сообщение вызвано каким-то другим событием, например, помехой по линии питания или иной? И как, с точки зрения практики, осуществить поиск проблемного места в коде, если закономерности в зависании нет и это событие происходит крайне редко. Но естественно не должно происходить вовсе.

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

    По умолчанию

    Цитата Сообщение от DENth Посмотреть сообщение
    Добрый день! Просьба помочь разобраться. СПК110[M01] на объекте периодически раз в день или чаще зависает. После перевода в конфигураторе режима обработки исключения в TraceInfo удалось понять, что причина зависания - деление на ноль. Анализ проекта показал, что все деления в коде защищены проверкой. Возможно ли, что выводимое сообщение вызвано каким-то другим событием, например, помехой по линии питания или иной? И как, с точки зрения практики, осуществить поиск проблемного места в коде, если закономерности в зависании нет и это событие происходит крайне редко. Но естественно не должно происходить вовсе.
    Добрый день.
    Вероятность того, что деление на ноль вызвано внешним событием - крайне мала.
    Основных вариантов два:

    1. Деление происходит в результате каких-то специфических ситуаций, не фиксируемых проверками.
    2. Деление происходит в библиотеках.

    С точки зрения отладки - можно подключиться в момент зависания из CODESYS и проверить значения переменных.
    По идее, проблемная строка должна быть подсвечена в коде желтым.

  3. #3
    Пользователь
    Регистрация
    24.12.2014
    Адрес
    Санкт-Петербург
    Сообщений
    26

    По умолчанию

    Евгений, спасибо за Ваш ответ!

    Если говорить о библиотеках, то мне кажется такая ситуация не должна быть возможна при условии использования проверенных библиотек, из среды Codesys или производства Овен. А у нас только они и используются в проекте.
    По первому пункту и специфических ситуациях, хотелось бы больше деталей.
    Подключиться в момент зависания пока затруднительно... Ехать в командировку и сидеть ждать зависания особого желания нет.

    Интересно то, что проект построен на основе предыдущих проектов под предыдущие контроллеры, например, СПК207, где прекрасно работает.
    Правда это привело к тому, что в проекте используются библиотеки для работы с модулями МХ110 предыдущей версии 3.5.4.0, а не последние 3.5.11.4, т.к. они отличаются по организации взаимодействия. Но всё компилируется и работает.

    Кто еще подскажет, где копать?

Похожие темы

  1. Ответов: 685
    Последнее сообщение: 22.11.2025, 17:59
  2. Ответов: 57
    Последнее сообщение: 30.11.2017, 16:56
  3. СПК1хх - Линейка панельных контроллеров для локальных систем.
    от Александр Приходько в разделе СПК1xx (архив)
    Ответов: 333
    Последнее сообщение: 30.03.2015, 08:42
  4. ETHERNET в СПК1хх
    от Александр Приходько в разделе СПК1xx (архив)
    Ответов: 31
    Последнее сообщение: 21.02.2015, 17:51

Ваши права

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