Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 14

Тема: Самопроизвольная перезагрузка контроллера ПЛК110-24.30.Р.М(М02)

  1. #1

    По умолчанию Самопроизвольная перезагрузка контроллера ПЛК110-24.30.Р.М(М02)

    Здравствуйте Уважаемые форумчане. Существует контроллер ПЛК110-24.30.Р.М(М02), к нему подключены 4 модуля МВ110-8А. По второму RS485 подключена панель СП310. В контроллере крутятся 3 программы, которые работают циклически по 5 секунд, 20 мсек и 72 мсек. Контроллер периодически сам перезагружается, причем было замечено, что если переключатель на контроллере переведен в положение "Работа", то перезагружается примерно через 12 часов, а если в положении "Стоп", то где-то через сутки после начала работы (только потом разумеется не восстанавливается). В debug.txt пишет, что ПЛК был сброшен по watchdog. Пробовал поиграть MinCycleLength и MaxCycleLength, не помогло. Куда дальше копать уже не знаю.

  2. #2

    По умолчанию

    К тумблеру как I/O что-нибудь в программе подключено?
    Ну и без проекта мы будем гадать до бесконечности
    Тролль-наседка, добрый, нежный и ласковый

  3. #3

    По умолчанию

    На codesys это у меня первая работа, так что прошу сильно не пинать
    Это пока набросок, поэтому с комментариями туговато. Но в принципе ничего сложного там нет.
    В архиве есть краткое описание к проекту.
    Вложения Вложения
    • Тип файла: rar gru12.rar (76.4 Кб, Просмотров: 44)

  4. #4
    Пользователь
    Регистрация
    31.05.2016
    Адрес
    Челябинск
    Сообщений
    19

    По умолчанию

    Может прошивку обновить нужно?
    Правда не встретил на сайте ОВЕНа, изменений вносимых новыми прошивками, т.е. чем одна отличается от другой

  5. #5

    По умолчанию

    Цитата Сообщение от Серджиус Посмотреть сообщение
    На codesys это у меня первая работа, так что прошу сильно не пинать
    Это пока набросок, поэтому с комментариями туговато. Но в принципе ничего сложного там нет.
    В архиве есть краткое описание к проекту.
    Здравствуйте!
    В ф.б. "GetValues" Вы присвоили указателю адрес первой 4-х байтовой переменной из конфигурации ModBus Slave. Далее в ф.б. у Вас 47 раз идет смещение указателя на 4 байта, в то время как в конфигурации ModBus Slave не выделено такого кол-ва памяти (т.е. недостаточно переменных добавлено в ModBus Slave).
    Последний раз редактировалось Гарчев Евгений; 26.07.2016 в 14:54.

  6. #6

    По умолчанию

    Цитата Сообщение от Гарчев Евгений Посмотреть сообщение
    Здравствуйте!
    В ф.б. "GateValues" Вы присвоили указателю адрес первой 4-х байтовой переменной из конфигурации ModBus Slave. Далее в ф.б. у Вас 47 раз идет смещение указателя на 4 байта, в то время как в конфигурации ModBus Slave не выделено такого кол-ва памяти (т.е. недостаточно переменных добавлено в ModBus Slave).
    Спасибо огромное. Это видимо я отвлекся, а потом перестарался. Там их не 47, а чуть меньше конечно (первая цифра там это номер модуля, начиная с нуля, а вторая - номер канала с нуля). Короче не заметил, что случайно еще один добил Спасибо за подсказку.

  7. #7

    По умолчанию

    ф.б. "GetValues" я выкинул (не пойму для чего я ее вообще сделал), а в функции "CreateMessage" сделал так: "Addr:= ADR(out1p);". Уменьшил скорость обмена с панелью до 38400, чтобы уменьшилось число ошибок в пакетах. Остальное осталось также. Проработал сутки, а потом опять перезагрузка по watchdog.
    Может ли контроллер зависать из-за записи на флэшку? И есть ли вообще какие-нибудь методы дианостики программы и контроллера (типа просмотр стеков или что-нибудь в этом духе)?

  8. #8

    По умолчанию

    уберите вообще работу с указателями, тут не так много данных, чтобы так заморачиваться.
    Или хотя бы проверки добавьте перед использованием указателей.
    Где-то у Вас невыровненный адрес или чужая память используется.
    Тролль-наседка, добрый, нежный и ласковый

  9. #9

    По умолчанию

    Цитата Сообщение от Филоненко Владислав Посмотреть сообщение
    уберите вообще работу с указателями, тут не так много данных, чтобы так заморачиваться.
    Или хотя бы проверки добавьте перед использованием указателей.
    Где-то у Вас невыровненный адрес или чужая память используется.
    А что такое невыровненный адрес? Что Вы имели в виду? Указатели я использовал, чтобы не объявлять входа, как глобальные переменные. Ну да то ладно, переделать не долго, но в функциях работы с USB указатели постоянно используются и от них не избавиться.
    В пятницу утром я вообще выкинул POU "ArchiveToUSB", вместо которой подсунул чистое PRG и контроллер замечательно проработал 3 суток.
    Вы написали "Или хотя бы проверки добавьте перед использованием указателей", а что за проверки и как их сделать что-то я не пойму?

  10. #10

    По умолчанию

    не выровненный указатель - указатель, у которого адрес не кратен размеру типа.
    Проверки: На NULL, на невыровненность, на выход за пределы ОЗУ программы.
    ArchiveToUSB - а что она делает? Используете ли Вы асинхронную библиотеку записи файлов?
    Тролль-наседка, добрый, нежный и ласковый

Страница 1 из 2 12 ПоследняяПоследняя

Похожие темы

  1. Ответов: 5
    Последнее сообщение: 11.03.2015, 00:42
  2. самопроизвольная перезагрузка плк-150
    от жекон в разделе ПЛК1хх
    Ответов: 8
    Последнее сообщение: 06.05.2010, 21:06
  3. Самопроизвольная перезагрузка
    от Дмитрий77 в разделе ПЛК1хх
    Ответов: 8
    Последнее сообщение: 16.12.2008, 16:36
  4. Самопроизвольная перезагрузка ПЛК
    от Антон в разделе ПЛК1хх
    Ответов: 24
    Последнее сообщение: 26.05.2008, 09:33

Ваши права

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