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

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

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

    По умолчанию Универсальный диспетчер для Modbus.lib

    Добрый день, уважаемые коллеги!

    Для тех кого по каким-либо причинам не устраивает штатный конфигуратор компания ОВЕН предлагает библиотеку Modbus.lib для организации опроса по одноименному протоколу. Помимо самой библиотеки в разделе "Примеры программ и полезности" доступно много примеров работы с данной библиотекой, как с оборудованием ОВЕН, так и с оборудованием сторонних производителей. Вместе с тем (на мой взгляд!) все предложенные примеры обладают одним общим недостатком - они показывают как опросить одно (или несколько) устройство. Поэтому их организация (примеров) "в лоб" выглядит естественной. Под организацией "в лоб" я понимаю, то что процесс открытия порта, опрос и запись регистров выполнены в одном программном блоке (как правило в PLC_PRG). Попытка использовать данные примеры "как есть" для большого числа опрашиваемых модулей, приведет к разрастанию листинга. Что неудобно.

    Предлагаю вашему вниманию надстройку над библиотекой Modbus.lib - свою собственную библиотеку GCModbus.lib. В данной библиотеке каждый модуль сети имеет отдельную сущность, а диспетчеризацией доступа к сети (порту) занимается универсальный диспетчер одномастерной сети.

    В варианте библиотеки, который я выкладываю на форуме, реализованы следующие модули ОВЕН:
    1. МВ110-32ДН;
    2. МВ110-8А;
    3. МВ110-8АС;
    4. МУ110-32Р;
    5. Индикатор СМИ2.

    Внимание! Данные модули можно использовать как готовые ФБ, они полностью работоспособны и используются в реальных проектах. Вместе с тем, я хочу подчеркнуть, что основная цель размещения библиотеки - это попытка поделиться опытом. И не желательно использовать библиотеку не разобравшись в деталях реализации (код библиотеки открыт).

    Библиотека обладает рядом достоинств:
    1. Программирование модуля для нового устройства сети максимально унифицировано;
    2. Диспетчер уметь работать с любым модулем сети RS-485;
    3. Модули имеют настраиваемый период опроса;
    4. Неисправные модули автоматически исключаются из опроса;
    5. Отремонтированный модуль автоматически включается в опрос;
    6. Предусмотрена возможность повторных попыток опроса, в случае неудачного первичного опроса;
    7. Предусмотрена диагностика отсутствия опроса модуля (модуль не получает доступа к сети в течении заданного времени);
    8. Предусмотрена возможность работы до 247 модулей одновременно (максимальное количество узлов сети Modbus);
    9. В модули встроена статистика времени опроса и времени между опросами.

    Библиотека выкладывается в виде проекта (расширение *.pro).
    Ранее библиотека была размещена в разделе "Примеры программ и полезности" (спасибо Николаеву Андрею), но там, мне кажется, "ее никто не брал и не берет".

    Подробное описание библиотеки дано в документе "Библиотека GCModbus.lib для контроллеров ОВЕН.pdf".

    Постараюсь ответить на вопросы, если они появятся, также буду благодарен за критику (не путать с критиканством!).
    Вложения Вложения
    Последний раз редактировалось Спорягин Кирилл; 21.10.2016 в 11:23. Причина: В библиотеке исправлена опечатка для скорости порта (11520 изменено на 115200). До редактирования было 45 загрузок библиотеки

  2. #2

    По умолчанию

    Спасибо, добрый человек.
    Последний раз редактировалось Newcomer; 05.09.2016 в 15:43.

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

    По умолчанию

    Pooling/polling? =)

    Когда я городил свой огород вокруг modbus.lib в одном проекте, то делал это прежде всего чтобы вообще уйти от бесполезного (зачастую) понятия "период опроса", к которому принуждает конфигуратор. Как по мне, гораздо проще опрашивать модули сразу один за другим. И если одни модули надо опрашивать чаще других, то достаточно ставить другие через раз [через два, через три...]. В итоге получается абсолютно равномерный опрос, пускай и медленнее в среднем. Если ваша библиотека эту схему не реализует (неясно из слишком подробного описания), то рекомендую. То есть вместо периода модулям назначается приоритет, и по этому приоритету формируется последовательность опроса; опрос выполняется без пауз.

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

    По умолчанию

    Цитата Сообщение от Yegor Посмотреть сообщение
    Pooling/polling? =)
    Верно подметили.

    Цитата Сообщение от Yegor Посмотреть сообщение
    Когда я городил свой огород вокруг modbus.lib в одном проекте, то делал это прежде всего чтобы вообще уйти от бесполезного (зачастую) понятия "период опроса", к которому принуждает конфигуратор. Как по мне, гораздо проще опрашивать модули сразу один за другим. И если одни модули надо опрашивать чаще других, то достаточно ставить другие через раз [через два, через три...]. В итоге получается абсолютно равномерный опрос, пускай и медленнее в среднем. Если ваша библиотека эту схему не реализует (неясно из слишком подробного описания), то рекомендую. То есть вместо периода модулям назначается приоритет, и по этому приоритету формируется последовательность опроса; опрос выполняется без пауз.
    Основная причина ухода от конфигуратора для меня была в двух причинах:
    1. Организовать групповые запросы для увеличения скорости опроса;
    2. Сделать проект кроссплатформенным.
    Понятие период опроса мне кажется естественным и понятным.

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

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    )) Yegor, видимо период опроса тут имеет смысловое наполнение "по возможности, но не ранее чем ...."
    Я вот типа того придерживаюсь ))
    Верно. Фактически опрос совершается именно так "по возможности, но не ранее чем".

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

    По умолчанию

    Понятие период опроса мне кажется естественным и понятным.
    Естественное и понятное оно только в случае с одним устройством. Дальше оно перестаёт быть, собственно, "периодом".

  7. #7

    По умолчанию

    Ну почему? Если например модуль МВ8А опрашивать чаще чем раз 3-5 секунд нет смысла,то период опроса в данном случае актуален. Или нет?

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

    По умолчанию

    Цитата Сообщение от energvk Посмотреть сообщение
    Ну почему? Если например модуль МВ8А опрашивать чаще чем раз 3-5 секунд нет смысла,то период опроса в данном случае актуален. Или нет?
    http://www.owen.ru/forum/showthread....l=1#post219544

  9. #9

    По умолчанию

    Кирилл, спасибо за то что поделились трудами - это как бальзам на душу!
    А модули аналогового вывода вы не используете в своих задачах?

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

    По умолчанию

    Цитата Сообщение от mastrik Посмотреть сообщение
    Кирилл, спасибо за то что поделились трудами - это как бальзам на душу!
    А модули аналогового вывода вы не используете в своих задачах?
    Спасибо за теплые слова.
    Пока не было проектов с модулями АО. Но трудностей встроить их в библиотеку быть не должно.

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

Похожие темы

  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

Ваши права

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