Помогите пожалуйста победить ModBus

Проблеми по ModBus

Использование протокола Modbus
tronik1
Рядовой
Сообщения: 62
Зарегистрирован: 05.10.2017{, 12:34}
Репутация: 2
Имя: Сергей

Помогите пожалуйста победить ModBus

#1

Сообщение tronik1 » 12.11.2020{, 15:45}

Здравствуйте уважаемые форумчане. Очень вас прошу помочь разобраться с ModBus. Есть готовый проект, который эксплуатируется уже больше года. Он будет выложен ниже. В этом проекте все слейвы расположены по всей длине линии равномерно. Так вот, когда раньше было четыре слейва и длина линии 85м, модбас работал стабильно, и только изредка проскакивала ошибка 254. Эксперементальным методом было вычислено что 254 – это если отключить модбас шилд у слейва. После доработки, которая заключалась в добавлении линии на 30 метров и размещения еще двух дополнительных слейвов очень начал тупить модбас, т.е. оочень медленно стали обновляться переменные, передаваемые со слейвов на мастер. В мониторе ком порта постоянно появлялась ошибка 255 по каждому из слейвов. На сайте флпрог написано что 255 это ошибка CRC. Осцилограф показал очень кравивые и ровные фронты. Есть подозрение на переполнение буфера. В библиотеках лазить пока не готов. Версия FLprog 5.3.0. Помогите пожалуйста разобраться. Есть подозрение что что больше двух слейвов ардуине уже тяжело, или я ошибаюсь и копаю не там. Проект для Меги большой и его форум отказался загружать, поетому даю ссылку на гугл диск
Вложения
IMG_20191012_175402.jpg
5.3_my_project_NANO_T6.flp
(35.98 КБ) 58 скачиваний
5.3_my_project_NANO_T5.flp
(35.42 КБ) 50 скачиваний
5.3_my_project_NANO_T4_v.2.flp
(288.1 КБ) 56 скачиваний
5.3_my_project_NANO_T3.flp
(177.99 КБ) 54 скачивания
5.3_my_project_NANO_T2.flp
(178.15 КБ) 49 скачиваний
5.3_my_project_NANO_T1.flp
(153.78 КБ) 63 скачивания

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Помогите пожалуйста победить ModBus

#2

Сообщение Rovki » 12.11.2020{, 15:59}

Поставьте на последнем слейве резистор 120 Ом и должно работать . Замедление из за срабатывания тайм аутом у мастера
Электронщик до мозга костей и не только

Аватара пользователя
nalnik
Подполковник
Сообщения: 1324
Зарегистрирован: 14.05.2016{, 17:12}
Репутация: 100
Откуда: Кисловодск
Имя: Александр

Помогите пожалуйста победить ModBus

#3

Сообщение nalnik » 12.11.2020{, 16:20}

Поставьте скорость 19200 вместо 9600 -
У меня от 3 до 16 слейвов(по 25 переменных в каждом)по звезде от 3 до 50 метров работают на этой скорости по обычному 4х жильному кабелю от 0.7 до 2.5 мм2 (не витая пара!)
+24, -24, A, B.
Последний раз редактировалось nalnik 12.11.2020{, 16:28}, всего редактировалось 2 раза.
Я хочу быть добрее, но люди сами нарываются.

tronik1
Рядовой
Сообщения: 62
Зарегистрирован: 05.10.2017{, 12:34}
Репутация: 2
Имя: Сергей

Помогите пожалуйста победить ModBus

#4

Сообщение tronik1 » 12.11.2020{, 16:22}

Забыл сказать, резисторы 120 ом стоят на первом и последнем контроллере. На тех что посредине резистры выпаяны.

Аватара пользователя
nalnik
Подполковник
Сообщения: 1324
Зарегистрирован: 14.05.2016{, 17:12}
Репутация: 100
Откуда: Кисловодск
Имя: Александр

Помогите пожалуйста победить ModBus

#5

Сообщение nalnik » 12.11.2020{, 16:24}

tronik1 писал(а):
12.11.2020{, 16:22}
стоят на первом и последнем контроллере
А у меня их ваще НЕТ. :smile198:
У меня от 3 до 16 слейвов(по 25 переменных в каждом)по звезде от 3 до 50 метров работают на этой скорости по обычному 4х жильному кабелю от 0.7 до 2.5 мм2 (не витая пара!)
+24, -24, A, B.
Один блок питания 24в 10-20а
На всех слейвах стоят клапана 24в 0.25а (от 3 до 6 клапанов)
Я хочу быть добрее, но люди сами нарываются.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Помогите пожалуйста победить ModBus

#6

Сообщение Sancho » 12.11.2020{, 16:47}

tronik1, Мастер модбаса RTU на несколько слэйвов в FLProg - это жесть. Это страх. Это ужас.
Заведите нормального мастера.
Для теста - поставьте OPC сервер вместо мастера и опрашивайте одним запросом регистры, которые вряд, т.е. несколько за один обмен. Взлетит запросто.
ФЛПРОГ опрашивает один запрос=один регистр!!! Дальше математика, считайте время...
Устройство как модбас слэйв - флпрог отлично справляется!
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Аватара пользователя
nalnik
Подполковник
Сообщения: 1324
Зарегистрирован: 14.05.2016{, 17:12}
Репутация: 100
Откуда: Кисловодск
Имя: Александр

Помогите пожалуйста победить ModBus

#7

Сообщение nalnik » 12.11.2020{, 16:52}

Sancho писал(а):
12.11.2020{, 16:47}
Устройство как модбас слэйв - флпрог отлично справляется!
Да, не понял я (тупанул), - там еще и Sim800 и дисплей i2c
Я хочу быть добрее, но люди сами нарываются.

tronik1
Рядовой
Сообщения: 62
Зарегистрирован: 05.10.2017{, 12:34}
Репутация: 2
Имя: Сергей

Помогите пожалуйста победить ModBus

#8

Сообщение tronik1 » 12.11.2020{, 17:09}

Sancho писал(а):
12.11.2020{, 16:47}
tronik1, Мастер модбаса RTU на несколько слэйвов в FLProg - это жесть. Это страх. Это ужас.
Заведите нормального мастера.
Для теста - поставьте OPC сервер вместо мастера и опрашивайте одним запросом регистры, которые вряд, т.е. несколько за один обмен. Взлетит запросто.
ФЛПРОГ опрашивает один запрос=один регистр!!! Дальше математика, считайте время...
Устройство как модбас слэйв - флпрог отлично справляется!
Подскажите пожалуйста где можно почитать про OPC сервер. Его можно поставить на ардуину, или отдельно комп?

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Помогите пожалуйста победить ModBus

#9

Сообщение Sancho » 12.11.2020{, 17:24}

tronik1 писал(а):
12.11.2020{, 17:09}
Подскажите пожалуйста где можно почитать про OPC сервер. Его можно поставить на ардуину, или отдельно комп?
Орс сервер для теста.
Он позволит Вам проверить связь с устройствами на разных скоростях, при разных форматах запроса и много чего.
По сути - это гибко настраиваемый мастер( в нашем случае).
В реальности, в деле - это прослойка между скада системами и периферией. Может иметь одновременно много разных протоколов.
Для теста - инсатовкий бесплатный. Либо полный, для данного случая, но с временем работы один час, потом нужно включать заново, либо на 32 тега, но без ограничения времени.
Пользуюсь, в последнее время, полным - тэгов влазит скок хошь! смотреть тут
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

tronik1
Рядовой
Сообщения: 62
Зарегистрирован: 05.10.2017{, 12:34}
Репутация: 2
Имя: Сергей

Помогите пожалуйста победить ModBus

#10

Сообщение tronik1 » 12.11.2020{, 17:31}

Sancho писал(а):
12.11.2020{, 17:24}
tronik1 писал(а):
12.11.2020{, 17:09}
Подскажите пожалуйста где можно почитать про OPC сервер. Его можно поставить на ардуину, или отдельно комп?
Орс сервер для теста.
Он позволит Вам проверить связь с устройствами на разных скоростях, при разных форматах запроса и много чего.
По сути - это гибко настраиваемый мастер( в нашем случае).
В реальности, в деле - это прослойка между скада системами и периферией. Может иметь одновременно много разных протоколов.
Для теста - инсатовкий бесплатный. Либо полный, для данного случая, но с временем работы один час, потом нужно включать заново, либо на 32 тега, но без ограничения времени.
Пользуюсь, в последнее время, полным - тэгов влазит скок хошь! смотреть тут
Т. е. без компьютера на объекте не обойтись?

Аватара пользователя
nalnik
Подполковник
Сообщения: 1324
Зарегистрирован: 14.05.2016{, 17:12}
Репутация: 100
Откуда: Кисловодск
Имя: Александр

Помогите пожалуйста победить ModBus

#11

Сообщение nalnik » 12.11.2020{, 17:35}

tronik1 писал(а):
12.11.2020{, 17:31}
Т. е. без компьютера на объекте не обойтись?
Посмотрите в сторону сенсорных панелей Delta или ECP-07, ECP-10
не реклама -- https://kipservis.ru/elhart/hmi_ecp.htm
Я хочу быть добрее, но люди сами нарываются.

tronik1
Рядовой
Сообщения: 62
Зарегистрирован: 05.10.2017{, 12:34}
Репутация: 2
Имя: Сергей

Помогите пожалуйста победить ModBus

#12

Сообщение tronik1 » 12.11.2020{, 17:36}

nalnik писал(а):
12.11.2020{, 16:52}
Sancho писал(а):
12.11.2020{, 16:47}
Устройство как модбас слэйв - флпрог отлично справляется!
Да, не понял я (тупанул), - там еще и Sim800 и дисплей i2c
Там есть ещё и два скоростных счётчика, которые постоянно на прерываниях считают проток воды. Осциллографом ставал на мастера и видел как слейв отвечает, потом большая (относительно) пауза и опрос следующего. Амплитуда ответа каждого следующего слейва в линии все ниже. Фронты ровные и четкие, помех нет.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Помогите пожалуйста победить ModBus

#13

Сообщение Sancho » 12.11.2020{, 17:38}

tronik1, Бегло взглянул на проекты слэйвов.
Если Вы не планируете испjльзовать float, то откажитесь, хотя-бы пока, от hold reg, используйте inp reg - Вы же только читаете.
Так-же в первых версиях/устройствах собирайте аварии в биты одного/двух/... сколько надо input reg.
Это позволит при нормальном опросе считывать все данные, на данной версии, за один запрос - прочитай из устройства Х, функцией Y, начиная c регистра Z, W регистров. Экономия во времени очень приличная, особенно на малых скоростях и большом кол-ве регистров.

Отправлено спустя 2 минуты 12 секунд:
Правда, придётся писать мастер самому. Но под финишный проект( версию) - это не сложно.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Аватара пользователя
nalnik
Подполковник
Сообщения: 1324
Зарегистрирован: 14.05.2016{, 17:12}
Репутация: 100
Откуда: Кисловодск
Имя: Александр

Помогите пожалуйста победить ModBus

#14

Сообщение nalnik » 12.11.2020{, 17:41}

tronik1 писал(а):
12.11.2020{, 17:36}
каждого следующего слейва в линии все ниже
Так и еще попробуйте убрать все резисторы
Я хочу быть добрее, но люди сами нарываются.

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Помогите пожалуйста победить ModBus

#15

Сообщение Sancho » 12.11.2020{, 17:43}

tronik1 писал(а):
12.11.2020{, 17:36}
Амплитуда ответа каждого следующего слейва в линии все ниже. Фронты ровные и четкие, помех нет.
Какие модули/блоки стоят на слэйвах по 485?
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Аватара пользователя
Rovki
Полковник
Сообщения: 4872
Зарегистрирован: 22.04.2016{, 17:25}
Репутация: 269
Откуда: Чехов
Имя: Анатолий
Контактная информация:

Помогите пожалуйста победить ModBus

#16

Сообщение Rovki » 12.11.2020{, 17:44}

Если нет рядом компа с ОПС ,используйте каскаду на смартфоне , через свисток и OTG кабель соедините с RS485 ...
Электронщик до мозга костей и не только

Аватара пользователя
Sancho
Полковник
Сообщения: 4066
Зарегистрирован: 25.12.2015{, 17:32}
Репутация: 590
Откуда: Ярославль.
Имя: Александр
Контактная информация:

Помогите пожалуйста победить ModBus

#17

Сообщение Sancho » 12.11.2020{, 17:51}

Rovki писал(а):
12.11.2020{, 17:44}
Если нет рядом компа с ОПС ,используйте каскаду на смартфоне , через свисток и OTG кабель соедините с RS485 ...

Да, но не забудьте настроить опрос через шлюз.
мой ник в нете и почте omelchuk890, если что. запомните на всякий. многие знают номер тлф.

Аватара пользователя
nalnik
Подполковник
Сообщения: 1324
Зарегистрирован: 14.05.2016{, 17:12}
Репутация: 100
Откуда: Кисловодск
Имя: Александр

Помогите пожалуйста победить ModBus

#18

Сообщение nalnik » 12.11.2020{, 17:59}

nalnik писал(а):
12.11.2020{, 17:41}
каждого следующего слейва в линии все ниже
Мне попались два модуля (как на вашем фото) - там резисторы были по 20к на 5 и 6 выходах микросхемы -- черте что творили -- заменил на 10к.
И еще ставят разные микрухи -- если стоит MAX485 ESA то проблем нет даже при питании 3.3в
Я хочу быть добрее, но люди сами нарываются.

tronik1
Рядовой
Сообщения: 62
Зарегистрирован: 05.10.2017{, 12:34}
Репутация: 2
Имя: Сергей

Помогите пожалуйста победить ModBus

#19

Сообщение tronik1 » 12.11.2020{, 18:02}

Sancho писал(а):
12.11.2020{, 17:43}
tronik1 писал(а):
12.11.2020{, 17:36}
Амплитуда ответа каждого следующего слейва в линии все ниже. Фронты ровные и четкие, помех нет.
Какие модули/блоки стоят на слэйвах по 485?
Вложения
IMG_20200917_164331.jpg
IMG_20200918_134348.jpg

Аватара пользователя
nalnik
Подполковник
Сообщения: 1324
Зарегистрирован: 14.05.2016{, 17:12}
Репутация: 100
Откуда: Кисловодск
Имя: Александр

Помогите пожалуйста победить ModBus

#20

Сообщение nalnik » 12.11.2020{, 18:07}

Вот у Вас таки как раз резисторы стоят по 20к - должны быть по 10к
- и эта микруха может глючить при питании 3.3в
Последний раз редактировалось nalnik 12.11.2020{, 18:13}, всего редактировалось 2 раза.
Я хочу быть добрее, но люди сами нарываются.

Ответить

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