Страница 13 из 15 ПерваяПервая ... 31112131415 ПоследняяПоследняя
Показано с 121 по 130 из 157

Тема: Конфигуратор vs modbus.lib

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Цитата Сообщение от rwg Посмотреть сообщение
    Ключевое слово в HELPe "Конфигурация задач".
    шутка не засчитана. какой получится=в завимости от объема основной программы

  2. #2

    По умолчанию

    Для контроллера Modicon M238:
    Задача MAST (главная задача) может конфигурироваться как периодическая или циклическая.
    По умолчанию задача MAST автоматически создаётся как циклическая, со средним уровнем
    приоритета (15) и с интервалом 20 мс
    Эт как бы дефолт, а не рекомендация. Честно говоря, не понимаю о каком именно производителе Вы говорите?

    И тут как бы несколько иная ситуация, так что сравнивать вообще неуместно:http://i.imgur.com/QxzPEqL.png
    Последний раз редактировалось spectrum48k; 21.09.2015 в 14:46.

  3. #3
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

    По умолчанию

    Про CASE в опросе... Таки да, есть смысл его оптимизировать. По крайней мере с одним тензопреобразователем, у которого свой, но похожий на модбас протокол, наблюдается существенная разница. Задача как раз стоит опрашивать его как можно чаще. Сильно вдаваться в подробности не хочу; простой переделкой кейса как в посте 114 удалось повысить частоту опроса со 180 до 220 сэмплов в секунду.

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

    По умолчанию

    Появилось желание посмотреть внутренности библиотеки modbus.lib. Но тот экземпляр, что есть у меня не позволяет просмотреть код ФБ.
    Я часто встречал рекомендацию посмотреть код библиотеки, значит раньше он был открыт. Кто-нибудь может поделиться открытым экземпляром?

  5. #5
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,579

    По умолчанию

    Цитата Сообщение от SKV Посмотреть сообщение
    Появилось желание посмотреть внутренности библиотеки modbus.lib. Но тот экземпляр, что есть у меня не позволяет просмотреть код ФБ.
    Я часто встречал рекомендацию посмотреть код библиотеки, значит раньше он был открыт. Кто-нибудь может поделиться открытым экземпляром?
    правой кнопкой по любому ФБ и в свойствах сменить права
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

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

    По умолчанию

    Спасибо, помогло.

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

    По умолчанию

    Добрый вечер, уважаемые форумчане.
    Разобрал библиотеку Modbus.lib.
    Хочу поделиться важными замечаниями.

    1. Для проведения опроса требуется минимум 3 цикла обращения к соответствующему блоку.
    На 1-м цикле: блок формирует посылку, отсылает ее в порт;
    На 2-м цикле: блок занимается чтением из порта (циклов чтения может быть много);
    На 3-м цикле: завершается опрос.
    Данные выводы следуют из анализа ФБ MB_UNI_IO (см. рисунок MB_UNI_IO).

    Почему я обращаю на это внимание?
    Потому что, если ваша PLC_PRG выполняется, например, 15 мс (у меня есть реальный проект, где такое время выполнения на ПЛК110 старой модификации), то на опрос даже 1 регистра на любой скорости сети!!! вы будете тратить 30 мс.

    Для решения данной проблемы необходимо вынести вызов ФБ Modbusа в отдельную задачу, которую вызывать чаще чем основную PLC_PRG (см. этот пост).

    2. При использовании блока MB_WR_REGS (запись регистров хранения), в том случае, если блок вернул ошибку, то перед повторным вызовом данного блока необходимо заново формировать буфер посылки. В противном случае вы пошлете не то, что ожидаете, так как MB_WR_REG использует переданный ему буфер для формирования полной посылки Modbus.
    Изображения Изображения
    Последний раз редактировалось Спорягин Кирилл; 31.08.2016 в 17:14.

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

    По умолчанию

    Цитата Сообщение от Спорягин Кирилл Посмотреть сообщение
    Хочу поделиться важными замечаниями.
    1. Для проведения опроса требуется минимум 3 цикла обращения к соответствующему блоку..
    Ессно. Или предлагаете не выходя из цикла ждать у моря погоды ?
    Тогда не удивительно что
    ваша PLC_PRG выполняется, например, 15 мс (у меня есть реальный проект, где такое время выполнения на ПЛК110 старой модификации
    По мне, так сижу как на иголках коли цикл на МО1 уходит за 2-3мс.

    Про RTU. (Ascii не юзаю, но в том же ключе)
    1.Отправили запрос. Ну и кого ждем ? Вышли
    2.Умудрились получить все данные. А это не данные, а просто мусор. Даже если очень похож на правильный ответ. В пакет этот мусор превращается после соотв.паузы. А откуда паузу отчитывать если не знаем когда пришел последний байт ? Для нас последний байт пришел именно сейчас. Выходим. Не ждать же паузу в цикле.
    3.В порту - тихо, время вышло. Тот кусок мусора оказываецца - пакет. Надоть его разобрать. Разобрали ? Вот тут можно прям в этом цикле перейти к п.1

    Для решения данной проблемы необходимо вынести вызов ФБ Modbusа в отдельную задачу, которую вызывать чаще чем основную PLC_PRG
    За каким PLC_PRG вызывать реже модбас-блока ? Какое отношение цикл опроса имеет к циклу ПЛК ?
    ПЛК встал, поел-попил, глянул почту, и убежал по своим делам. Какое ему дело до графика движения почтальона ?


    в том случае, если блок вернул ошибку, то перед повторным вызовом данного блока необходимо заново формировать буфер посылки
    А причем тут MB_WR_REGS ? Перед любым вызовом любого блока формируется необходимый на данный момент буфер. Буфер это тарелка в столовой. Каждый ее наполняет чем хочет перед использованием.
    Последний раз редактировалось Валенок; 31.08.2016 в 18:30.

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

    По умолчанию

    Важно, что в 2 цикла он не уложится, т.е. на 1-м цикле отослал, а на 2-м получил - так не получается. Всегда есть 3-й цикл, в котором авторы библиотеки Modbus.lib проверяют, что
    больше ничего не приходит. Поэтому всегда на опрос устройства тратится время >= 2*MinCycleLength.

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

    По умолчанию

    Цитата Сообщение от Спорягин Кирилл Посмотреть сообщение
    Важно, что в 2 цикла он не уложится, т.е. на 1-м цикле отослал, а на 2-м получил - так не получается..
    1.Кому важно ?
    2.Циклы попутали - см.выше
    3.А получается - см. выше и ниже. Правда за счет непонятного замедления PLC_PRG. И накой это ?


    Цитата Сообщение от Спорягин Кирилл Посмотреть сообщение
    авторы библиотеки Modbus.lib проверяют, что больше ничего не приходит..
    Поправлю :
    "авторы Modbus.lib проверяют..."
    Иначе это не модбас.
    А совместить 1й и 3й можно. И это останется модбасом.

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

Похожие темы

  1. Библиотеки MODBUS.LIB и OWENNET.LIB
    от desperadoes в разделе ПЛК1хх
    Ответов: 7
    Последнее сообщение: 30.01.2014, 19:15
  2. Modbus.lib и МДВВ
    от ПРОЕКТ-П в разделе ПЛК1хх
    Ответов: 11
    Последнее сообщение: 17.05.2013, 14:04
  3. Ответов: 4
    Последнее сообщение: 18.09.2012, 21:16
  4. ПЛК100 и Modbus.lib
    от Slev в разделе ПЛК1хх
    Ответов: 14
    Последнее сообщение: 19.03.2012, 07:22
  5. RTE + Modbus.lib
    от K.I.V. в разделе ПЛК3xx (архив)
    Ответов: 10
    Последнее сообщение: 09.07.2008, 09:30

Ваши права

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