Нужен - ли медленный модбас-мастер или продолжать поиски

Использование протокола Modbus

Чдо дальше делать?

Проложить поиски, пока работаем с тем что есть.
23
56%
Необходимо реализовать медленный но надёжный
18
44%
 
Всего голосов: 41

Аватара пользователя
support
Супермодератор
Сообщения: 1917
Зарегистрирован: 03 янв 2018, 11:45
Откуда: Астрахань
Имя: Сергей
Поблагодарили: 23 раза
Контактная информация:

Нужен - ли медленный модбас-мастер или продолжать поиски

Сообщение support »

Из всех библиотек поддерживающих модбас-мастер на Ардуино я нашол только одну стабильно работающую http://playground.arduino.cc/Code/ModbusMaster.
Она поддерживает весь функционал модбас, и работает без зависаний и ошибок. Но есть одна болшая проблемма. Время одного запроса 2007 милисикунд, то есть2 секунды. Причём это время почти не зависит от объёма передаваемых или читаемых данных. Поэтому я не знаю, стоит ли с ней заморачиваться и реализовывать в программе, или ещё поискать какое - то время. Давайте решим это вместе.
Автор программы FLProg.
XENOMAN
Рядовой
Сообщения: 56
Зарегистрирован: 05 окт 2015, 18:03

Нужен - ли медленный модбас-мастер или продолжать поиски

Сообщение XENOMAN »

ИМХО полнофункциональный и надежный slave будет куда более полезен. С появлением возможность использования C в своих блоках, необходимость в модбас как средстве общения между ардуинами - отпадает, а вот как средство прямого общения ардуины с компьютером - вещь незаменимая(в моём конкретном случае), но тут важен именно слейв и не мастер. Сорри за офтоп.
Аватара пользователя
support
Супермодератор
Сообщения: 1917
Зарегистрирован: 03 янв 2018, 11:45
Откуда: Астрахань
Имя: Сергей
Поблагодарили: 23 раза
Контактная информация:

Нужен - ли медленный модбас-мастер или продолжать поиски

Сообщение support »

Насчёт слейвов я не переживаю, они и сейчас отлично работают. И менять их я не планирую. А вот с мастером беда. Я так подозреваю что возможностей ардуинки не хватает, поэтому и никто пока не сделал оптимальной библиотеки мастера
Автор программы FLProg.
XENOMAN
Рядовой
Сообщения: 56
Зарегистрирован: 05 окт 2015, 18:03

Нужен - ли медленный модбас-мастер или продолжать поиски

Сообщение XENOMAN »

И снова прошу прощение за оффтоп. Но если Вы не планируете менять слейвы, выходит возможность использовать другие типы переменных(Discrete Inputs, Coils, Input Registers) так и не появится? Подозреваю что и за мастера и за слейва отвечает одна библиотека. Ну тогда я голосую за медленную библиотеку.
Аватара пользователя
support
Супермодератор
Сообщения: 1917
Зарегистрирован: 03 янв 2018, 11:45
Откуда: Астрахань
Имя: Сергей
Поблагодарили: 23 раза
Контактная информация:

Нужен - ли медленный модбас-мастер или продолжать поиски

Сообщение support »

Нет за мастера и слейва отвечают разные библиотеки (сейчас одна, но мастер в ней реализован ужасно).  А текущие слейвы поддерживают весь функционал модбаса. ПРосто организация памяти немного нестандартная. Объясню:
Например вы создали 3  переменых  модбас с адресами 0 - 2 типа Integer,
  • Если мастер запросит холдинг-регистр с адресом 0 то получит значение переменной с адресом 0, но это понятно.
  • если мастер запросит Input Register с адресом 0  полчит значение переменной с адресом 0
  • если мастер запросит Discrete Inputs с адресом 0  полчит значение нулевого бита переменной с адресом 0 (соответственно запросив Discrete Inputs с адресом 16 полчит значение нулевого бита переменной с адресом 1 )
  • если мастер запросит Coils с адресом 0  полчит значение нулевого бита переменной с адресом 0 (соответственно запросив Coils с адресом 16 полчит значение
    нулевого бита переменной с адресом 1 )
ТО же самое с записью. В программе FLProg  есть блоки доступа на чтение и запись отдельных битов в переменной, так что проблеммы с получение отдельных битов нет
Автор программы FLProg.
XENOMAN
Рядовой
Сообщения: 56
Зарегистрирован: 05 окт 2015, 18:03

Нужен - ли медленный модбас-мастер или продолжать поиски

Сообщение XENOMAN »

Спасибо за разъяснения.
Аватара пользователя
Max
Лейтенант
Сообщения: 691
Зарегистрирован: 06 сен 2015, 13:12
Откуда: Тюмень-Баку
Имя: Максим

Нужен - ли медленный модбас-мастер или продолжать поиски

Сообщение Max »

support писал(а):Из всех библиотек поддерживающих модбас-мастер на Ардуино я нашол только одну стабильно работающую http://playground.arduino.cc/Code/ModbusMaster.Она поддерживает весь функционал модбас, и работает без зависаний и ошибок. Но есть одна болшая проблемма. Время одного запроса 2007 милисикунд, то есть2 секунды. Причём это время почти не зависит от объёма передаваемых или читаемых данных. Поэтому я не знаю, стоит ли с ней заморачиваться и реализовывать в программе, или ещё поискать какое - то время. Давайте решим это вместе.
support писал(а):Из всех библиотек
Вот прикрепленный файл. Кое что по ModBus лежало в архивах. Посмотрите.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
support
Супермодератор
Сообщения: 1917
Зарегистрирован: 03 янв 2018, 11:45
Откуда: Астрахань
Имя: Сергей
Поблагодарили: 23 раза
Контактная информация:

Нужен - ли медленный модбас-мастер или продолжать поиски

Сообщение support »

Не подскажешь где скачал? Я смотрю там библиотека SPI подтягивается и не очень понятно как подключается преобразователь RS485 поскольку компорт используется для передачи на комп
Автор программы FLProg.
Аватара пользователя
support
Супермодератор
Сообщения: 1917
Зарегистрирован: 03 янв 2018, 11:45
Откуда: Астрахань
Имя: Сергей
Поблагодарили: 23 раза
Контактная информация:

Нужен - ли медленный модбас-мастер или продолжать поиски

Сообщение support »

Разобрался. Библиотека очень интересная, но .... для

Цитата
MAX3107 - компактный универсальный асинхронный приемопередатчик (UART) с буфером FIFO на 128 слов в цепях приемника и передатчика, управление
которым осуществляется через интерфейс SPI или I2C. Встроенный генератор устраняет необходимость применения внешнего
источника синхронизации. Режимы 2x и 4x позволяют достичь скорости
передачи данных 24Мб/с. Схема фазовой автоподстройки частоты, делитель
сигналов синхронизации, предварительный делитель частоты и тактовый
генератор позволяют добиться максимальной точности при задании скорости
обмена и минимизировать зависимость от опорной частоты генератора.


Причём я не нашол готовые платы с ним, а сам чип даже в китае самый дешовый почти полштуки. Нам нужно по UART
Автор программы FLProg.
RK6YK
Рядовой
Сообщения: 2
Зарегистрирован: 06 сен 2015, 09:43
Откуда: Maykop

Нужен - ли медленный модбас-мастер или продолжать поиски

Сообщение RK6YK »

Привет Сергей! Не стоит ломать копья! Для возможностей 
контроллера Ардуино это вполне достаточно.(Не будет же он управлять турбиной на КС) Да и на промышленных контроллерах хоть и заявляют время опроса 10-20 мс.
на несколько тысяч тегов все равно выливается в 4-5сек.
Это я доказывал при пуске наших объектов на Олимп.Игр
Так как я в основном работал на Газпром САУ газотурбинных агр. Там все аварийн защиты выделяеться все на отд.контр.(ССС Compressor Control Corp) Allen Bredl/ и т.д На Ямбурге мог встречать. Хоть и не по теме но пожалуйста сделай настройку размера шрифтов в интефейсе проги на нет.буке мелковато) И огомное спасибо за прогу!!!
Аватара пользователя
Max
Лейтенант
Сообщения: 691
Зарегистрирован: 06 сен 2015, 13:12
Откуда: Тюмень-Баку
Имя: Максим

Нужен - ли медленный модбас-мастер или продолжать поиски

Сообщение Max »

support писал(а):Не подскажешь где скачал? Я смотрю там библиотека SPI подтягивается и не очень понятно как подключается преобразователь RS485 поскольку компорт используется для передачи на комп
Один из пользователей форума мне пожертвовал.
Аватара пользователя
Skull
Лейтенант
Сообщения: 432
Зарегистрирован: 08 сен 2015, 16:18
Откуда: Мариуполь

Нужен - ли медленный модбас-мастер или продолжать поиски

Сообщение Skull »

Модбас слейв на самом деле какой-то странный. Например ошибки не выдает при попытке записи в регистры для чтения . И нет различия в 3001, 4001..... Для этого модбаса оба регистра будут 01, поэтому, если менять слейвы с работающим чужим мастером на свои- беда получается.

А по поводу мастера- надо работать на чем есть пока идут изыскания. Ну не сидеть же без ничего если есть что-то боль-мень рабочее.
Ну и медленный тоже можно, но все равно продолжать изыскания. На самом деле, задач, требующих миллисекунды на обработку в бытовых задачах не так много. Да и в производственных тоже.
Кстати, может есть кто-то, кто осилит переписать библиотеку на Асме ?
ЗЫ ЭТУ пробовали ?
Последний раз редактировалось Skull 30 янв 2016, 23:12, всего редактировалось 1 раз.
Аватара пользователя
dekorator
Лейтенант
Сообщения: 427
Зарегистрирован: 06 сен 2015, 09:39
Откуда: Баку

Нужен - ли медленный модбас-мастер или продолжать поиски

Сообщение dekorator »

http://flprog.ru/_fr/0/ModbusMasterV2.zip
Не годится?
Я её без Flprog тестил и нормально было.

Добавлено (31.01.2016, 10:54)
---------------------------------------------
Может для теста, с помощью этой библиотеки блок на си сделает кто?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось dekorator 31 янв 2016, 12:22, всего редактировалось 1 раз.
Аватара пользователя
Grafsaxar
Лейтенант
Сообщения: 377
Зарегистрирован: 06 сен 2015, 16:04
Откуда: Маркс-Энгелс
Имя: Alexander

Нужен - ли медленный модбас-мастер или продолжать поиски

Сообщение Grafsaxar »

Слейвы работают со скадой отлично. ( во всяком случае у меня )

Но заметил одну странную вещь:

Делаю 35 Тэгов в ардуине. В ОРС сервере выставляю 400001 для адреса 0 , 400001 дла адреса 1 и т.д.

ОРС сервер получает все данные без проблем, но как задаю адрес 400031 сервер умирает. 

Не получает никаких данных, 400032, 400033, такая же проблема.

Если оставляю до 400030 а следующий  ставлю 400040 данные от тэгов  до 400030 получает, 400040 нет т.к. его нет в ардуине.

Это глюк сервера или слейва ???

Может нужна возможность адреса в Ардуине вручную задавать?
Качество — это делать что-либо правильно, даже когда никто не смотрит
ingwar_85
Рядовой
Сообщения: 14
Зарегистрирован: 12 ноя 2015, 07:23
Откуда: Кемерово

Нужен - ли медленный модбас-мастер или продолжать поиски

Сообщение ingwar_85 »

День добрый. Больше 2 сек - круто конечно. Я уж не знаю там про турбины на КС и олимпийские объекты. Но лично в моем проекте  за 2 сек можно пропустить пару литров масла в водопровод. В принципе я уже прикрутил к кориолису трансмиттер и теперь снимаю данные  через 4-20мА. ModBUS мне не к спеху.  Я за то, что бы ещё поискать.  
Не найдется другого варианта, пусть будет тормозной, всё лучше чем ничего.
omich66
Рядовой
Сообщения: 33
Зарегистрирован: 17 дек 2015, 19:37

Нужен - ли медленный модбас-мастер или продолжать поиски

Сообщение omich66 »

Здравствуйте.

Есть еще такой вариант
Modbus RTU libraries for Arduino

Обсуждается здесь

forum.arduino.cc
Аватара пользователя
Max
Лейтенант
Сообщения: 691
Зарегистрирован: 06 сен 2015, 13:12
Откуда: Тюмень-Баку
Имя: Максим

Нужен - ли медленный модбас-мастер или продолжать поиски

Сообщение Max »

Вот тут интересная дискуссия по стабильности и об ошибках в RS485. Похоже, там решили проблему ошибок связанную со скоростями.
Аватара пользователя
Grafsaxar
Лейтенант
Сообщения: 377
Зарегистрирован: 06 сен 2015, 16:04
Откуда: Маркс-Энгелс
Имя: Alexander

Нужен - ли медленный модбас-мастер или продолжать поиски

Сообщение Grafsaxar »

Спасибо Max интересная статейка.

Я тоже у меня замечал чем меньше скорость тем больше ошибок. Сеичас остановился на 57600  и всё вроде нормально работает.
Насчёт сопротивления как то не подумал. у меня в каждом ардуино на 120 Ом стоит.

Возможно Pullup и pulldown попробовать надо.

Изображение
Последний раз редактировалось Grafsaxar 12 фев 2016, 20:27, всего редактировалось 1 раз.
Качество — это делать что-либо правильно, даже когда никто не смотрит
Аватара пользователя
Skull
Лейтенант
Сообщения: 432
Зарегистрирован: 08 сен 2015, 16:18
Откуда: Мариуполь

Нужен - ли медленный модбас-мастер или продолжать поиски

Сообщение Skull »

Grafsaxar писал(а):у меня в каждом ардуино на 120 Ом стоит.
Нужно только по краям
Слимпер
Майор
Сообщения: 1009
Зарегистрирован: 06 сен 2015, 16:56
Откуда: Новосибирск

Нужен - ли медленный модбас-мастер или продолжать поиски

Сообщение Слимпер »

Skull писал(а):Нужно только по краям
Полностью согласен
Grafsaxar, Вот почитайте 
Правильная разводка сетей RS-485
и еще
Подключение микроконтроллеров к шине RS-485
Ответить

Вернуться в «Modbus»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя