Страница 9 из 13 ПерваяПервая ... 7891011 ... ПоследняяПоследняя
Показано с 81 по 90 из 130

Тема: Универсальный диспетчер для Modbus.lib

  1. #81

    По умолчанию

    У меня тоже странный глюк. В примере везде переменная Step объявлена как int. Я привык экономить по возможности - поменял int на byte. Таким описанием воспользовался более чем на десятке модулей. Вдруг, во время тестирования наблюдаю. что один из модулей. который ранее работал перестал отвечать на запросы. Проверил его modpull - всё работает, а в проекте не отвечает... Вдруг обращаю внимание, что переменная step равна нулю!!! Хотя в описании, как в примере задано начальное значение - единица! Из-за этого нуля не выполняются шаги описываемые функцией модуля. Что только не делал... Перезаливал проект, перегружал контроллер - всё равно - ноль. Тут у меня уже начался взрыв мозга... Поменял описание на int... Всё нормально заработало...Что это было? Остальные модули работают без проблем - в описании byte.

    P.S. Во всех модулях шагов максимум 6.

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

    По умолчанию

    Цитата Сообщение от Sergeba Посмотреть сообщение
    У меня тоже странный глюк. В примере везде переменная Step объявлена как int. Я привык экономить по возможности - поменял int на byte. Таким описанием воспользовался более чем на десятке модулей. Вдруг, во время тестирования наблюдаю. что один из модулей. который ранее работал перестал отвечать на запросы. Проверил его modpull - всё работает, а в проекте не отвечает... Вдруг обращаю внимание, что переменная step равна нулю!!! Хотя в описании, как в примере задано начальное значение - единица! Из-за этого нуля не выполняются шаги описываемые функцией модуля. Что только не делал... Перезаливал проект, перегружал контроллер - всё равно - ноль. Тут у меня уже начался взрыв мозга... Поменял описание на int... Всё нормально заработало...Что это было? Остальные модули работают без проблем - в описании byte.

    P.S. Во всех модулях шагов максимум 6.
    Если вы дозагружали ПЛК, т.е. заливали не полный проект, а внесенные изменения, то необходимо повторять процедуру инициализации указателей (она происходит на первом скане, а первого скана после дозагрузки не происходит).
    Я обычно это делаю перезагрузкой питания. Скорее всего в этом дело.

  3. #83

    По умолчанию

    Цитата Сообщение от Спорягин Кирилл Посмотреть сообщение
    Если вы дозагружали ПЛК, т.е. заливали не полный проект, а внесенные изменения,
    Когда меняю описание переменных или добавляю новые, всегда делаю полную заливку. Ну да ладно, больше таких глюков не было.
    Последний раз редактировалось Sergeba; 22.12.2019 в 21:47.

  4. #84

    По умолчанию

    Использую ПЛК110. Опрос организовал на RS485-1 (15 устройств) и RS485-2 (29 устройств). Смотрю результаты опроса в Base, есть параметр NoPollingErrCnt, так на линии 2 этот счётчик на всех модулях увеличивается с разной скоростью - минимум раз в 5 сек. На линии 1 счётчик на нуле и не меняется. Не пойму в чём проблема со второй линией? Могу всё переподключить на первую линию, но тогда на ней будет 44 устройства, что, боюсь, негативно может сказаться на быстродействии всей сети.

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

    По умолчанию

    Цитата Сообщение от Sergeba Посмотреть сообщение
    Использую ПЛК110. Опрос организовал на RS485-1 (15 устройств) и RS485-2 (29 устройств). Смотрю результаты опроса в Base, есть параметр NoPollingErrCnt, так на линии 2 этот счётчик на всех модулях увеличивается с разной скоростью - минимум раз в 5 сек. На линии 1 счётчик на нуле и не меняется. Не пойму в чём проблема со второй линией? Могу всё переподключить на первую линию, но тогда на ней будет 44 устройства, что, боюсь, негативно может сказаться на быстродействии всей сети.
    Счетчик NoPollingErrCnt увеличивается на 1 каждый раз когда за контрольное время (NoPollingTime) модуль не получил доступа к сети. Такое может быть, если в очереди много модулей и все хотят опроса. Кажется по умолчанию NoPollingTime = 1с. Увеличьте это время и счетчик NoPollingErrCnt перестанет увеличиваться.

  6. #86

    По умолчанию

    Цитата Сообщение от Спорягин Кирилл Посмотреть сообщение
    Увеличьте это время и счетчик NoPollingErrCnt перестанет увеличиваться.
    Убрал из циклического опроса 8 модулей - сделал опрос по условию - всё нормализовалось, сейчас счётчик не увеличивается.

    NoPollingTime тоже влияет - у меня стоит 3сек. Пробовал уменьшить до 2 сек - опять начал увеличиваться NoPollingErrCnt - оставил 3 сек.

    Ещё не понятно. Посмотрел модуль статистики контроллера - у меня постоянно показывает перегрузку процессора. В настройках минимальное время цикла - 1мс, по факту в модуле статистики наблюдаю 2-3мс. Решил поменять в настройках на 5мс... Перегрузки процессора нет, но по всем модулям начал счётчик
    NoPollingErrCnt опять увеличиваться и наблюдается затороможенность всей системы. Реакция на различные действия увеличилась на порядок. Откатил обратно на 1мс.

    Ещё проблемка. Решил увеличить скорость опроса в сетке. Максимальная, которую поддерживает самый медленный модуль - 38400. Сейчас установлено 9600. Поднял. Несколько модулей одного типа отвалились - ошибка Modbus превышение времени ответа... Подключаю сетку к ПК через USB-свисток - программой Modbus Pull - работают модули, опрос идёт... Откатил скорость на промежуточную - 19200 - опрос пошёл. Так и не смог запустить на скорости 38400, оставил 19200.

    Нет ли у Вас версии диспетчера для Codesys V3? Задолбал мой старичок (ПЛК110)... Есть ПЛК304, но модули через конфигурацию работают отвратительно - постоянные отвалы, пропуски опроса (на тех же линиях, где сейчас пробовал Ваш диспетчер на ПЛК110).
    Последний раз редактировалось Sergeba; 03.01.2020 в 12:53.

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

    По умолчанию

    Цитата Сообщение от Sergeba Посмотреть сообщение
    Убрал из циклического опроса 8 модулей - сделал опрос по условию - всё нормализовалось, сейчас счётчик не увеличивается.
    Интересно, сколько же у вас модулей на сети?
    Смотрели ли вы статистику опроса модулей.
    Может у вас быстрее и не получиться?


    Цитата Сообщение от Sergeba Посмотреть сообщение
    Ещё не понятно. Посмотрел модуль статистики контроллера - у меня постоянно показывает перегрузку процессора. В настройках минимальное время цикла - 1мс, по факту в модуле статистики наблюдаю 2-3мс. Решил поменять в настройках на 5мс... Перегрузки процессора нет, но по всем модулям начал счётчик
    NoPollingErrCnt опять увеличиваться и наблюдается затороможенность всей системы. Реакция на различные действия увеличилась на порядок. Откатил обратно на 1мс.

    Если вы увеличиваете время цикла ПЛК, то вы неизбежно увеличиваете общее время опроса всех модулей, так как для опроса любого модуля на любой скорости нужно как минимум 3 цикла. Об этом я писал вот тут.



    Цитата Сообщение от Sergeba Посмотреть сообщение
    Ещё проблемка. Решил увеличить скорость опроса в сетке. Максимальная, которую поддерживает самый медленный модуль - 38400. Сейчас установлено 9600. Поднял. Несколько модулей одного типа отвалились - ошибка Modbus превышение времени ответа... Подключаю сетку к ПК через USB-свисток - программой Modbus Pull - работают модули, опрос идёт... Откатил скорость на промежуточную - 19200 - опрос пошёл. Так и не смог запустить на скорости 38400, оставил 19200.
    Тут проблема скорее в различных характеристиках модулей.
    Происходит, видимо, следующее. Послан запрос на модуль 1. Он быстрый. Он очень быстро ответил. Контроллер разобрал ответ и послал запрос на модуль 2. Он медленный. И когда ПЛК уже послал запрос на модуль 2 (т.е. ему) он еще разбирает посылку для модуля 1. Поэтому посылку себе он пропускает. Возникают таймауты. Общая скорость опроса в сети падает.
    В этом случае можно увеличить настройку FramingTime в диспетчере. Это как раз пауза между посылками. Для устранения подобных проблем. Или же увеличьте общее время цикла ПЛК. Пауза возникнет сама собой.



    Цитата Сообщение от Sergeba Посмотреть сообщение
    Нет ли у Вас версии диспетчера для Codesys V3? Задолбал мой старичок (ПЛК110)... Есть ПЛК304, но модули через конфигурацию работают отвратительно - постоянные отвалы, пропуски опроса (на тех же линиях, где сейчас пробовал Ваш диспетчер на ПЛК110).
    Нет под 3-ю версию не писал. Но я думаю, что если просто перенести код 2-го КДС в 3-й, то должно заработать.

  8. #88

    По умолчанию

    Цитата Сообщение от Спорягин Кирилл Посмотреть сообщение
    Интересно, сколько же у вас модулей на сети?

    Нет под 3-ю версию не писал. Но я думаю, что если просто перенести код 2-го КДС в 3-й, то должно заработать.
    Модулей на одном порту 29, на втором 15.

    Сейчас в 3-м КДС "накидал" опрос по документации ОВЕНа . Позже попробую перенести Ваш проект т.к. мой старичок ПЛК110 сдох в конце концов... На связь перестл выходить и судя по светодиодам вошёл в цикл перезагрузки...

  9. #89
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,250

    По умолчанию

    циклическая перезагрузка и выход из строя как то связаны ?

  10. #90

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    циклическая перезагрузка и выход из строя как то связаны ?
    Предложите вариант выхода из цикла? Пробовал перешивать с помощью кабеля и перемычки - не помогло.

Страница 9 из 13 ПерваяПервая ... 7891011 ... ПоследняяПоследняя

Похожие темы

  1. Универсальный блок питания ПР114
    от sea в разделе Программируемые реле
    Ответов: 12
    Последнее сообщение: 13.10.2013, 22:56
  2. PCLogger - универсальный логгер для CDS v3
    от Mikhail Shvetsov в разделе ПЛК3хх
    Ответов: 0
    Последнее сообщение: 23.11.2012, 14:39
  3. Универсальный Modbus Сервер Инсат и 200 контроллеров ПЛК-100
    от lomtik в разделе Сетевые технологии
    Ответов: 17
    Последнее сообщение: 08.11.2012, 23:42
  4. Универсальный конфигурируемый регулятор
    от ОООСА в разделе Разработки
    Ответов: 32
    Последнее сообщение: 09.12.2009, 22:12
  5. Ответов: 7
    Последнее сообщение: 04.05.2009, 10:42

Ваши права

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