Segnetics

Вернуться   Segnetics > Форум Segnetics > Связь с внешним миром

Связь с внешним миром Modbus, RS232, RS485, Lon и другое.

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 06.03.2019, 13:15   #1
Shuric
Новичок
 
Регистрация: Nov 2018
Сообщения: 18
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Тормозит передача по modbus на индикатор (решено)

Вывожу циферку одновременно на экран контроллера и по модбас на индикатор ОВЕН SMI2. На индикаторе цифра обновляется секунд на 10-15 позже, чем на экране. Залез посмотреть в SMLogix - и действительно, на входе кубика с переменной число уже несколько раз поменялось, а на выходе появляется секунд 15 спустя.

Всего на модбасе 8 устройств. Из двух читается по 40 слов групповым запросом, в 6 пишется по одному слову. Скорость 19200.
Период для всех переменных 500 мс.
Что за фигня? Искать проблемы в проводах или..?
Изображения
 
Shuric вне форума   Ответить с цитированием
Старый 06.03.2019, 14:02   #2
СВМ
Senior Member
 
Регистрация: Jan 2012
Адрес: Саратов
Сообщения: 179
Благодарил(а): 1 раз(а)
Поблагодарили: 3 раз(а) в 3 сообщениях
По умолчанию Ответ: Тормозит передача по modbus на индикатор

Цитата
Сообщение от Shuric Посмотреть сообщение
Вывожу циферку одновременно на экран контроллера и по модбас на индикатор ОВЕН SMI2. На индикаторе цифра обновляется секунд на 10-15 позже, чем на экране. Залез посмотреть в SMLogix - и действительно, на входе кубика с переменной число уже несколько раз поменялось, а на выходе появляется секунд 15 спустя.

Всего на модбасе 8 устройств. Из двух читается по 40 слов групповым запросом, в 6 пишется по одному слову. Скорость 19200.
Период для всех переменных 500 мс.
Что за фигня? Искать проблемы в проводах или..?
1 Увеличьте скорость до 115200 бод
2 Увеличьте период до 3 секунд
СВМ вне форума   Ответить с цитированием
Старый 06.03.2019, 14:23   #3
Shuric
Новичок
 
Регистрация: Nov 2018
Сообщения: 18
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Тормозит передача по modbus на индикатор

Цитата
Сообщение от СВМ Посмотреть сообщение
2 Увеличьте период до 3 секунд
а период почему увеличивать ?
Shuric вне форума   Ответить с цитированием
Старый 06.03.2019, 16:03   #4
ailcat
Senior Member
 
Аватара для ailcat
 
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили: 2 раз(а) в 2 сообщениях
По умолчанию Ответ: Тормозит передача по modbus на индикатор

Цитата
Сообщение от Shuric Посмотреть сообщение
а период почему увеличивать ?
Из-за низкой скорости обмена ваши устройства не успевают вычитываться с задаваемой периодичностью. В итоге из запросов накапливается очередь на их вычитку - потому что следующий запрос будет выполнен только после того, как ответит предыдущий слейв (или не ответит и истечет таймаут, что еще медленнее). И даже может быть, что очередь быстро переполняется и запросы на запись в СМИ2 вообще теряются.
Увеличение скорости и, главное, увеличение периода опросов - позволяют иметь короткую очередь (в идеале - только из выполняющегося в данный момент запроса к слейву), и тем самым обеспечить почти мгновенную реакцию индикатора.

UPD:
Если задержка индикации СМИ2 критичнее частоты опроса датчиков - настройте слейвы на обращение "по запросу", и дергайте их поочередно: Slave1-индикатор-Slave2-индикатор-Slave3-индикатор-... и т.д. При этом частота запросов станет пофигу (хоть 1 мс) - индикатор будет обновлять очень часто, и задержку вы практически не увидите...
ailcat вне форума   Ответить с цитированием
Старый 06.03.2019, 17:27   #5
Shuric
Новичок
 
Регистрация: Nov 2018
Сообщения: 18
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: Тормозит передача по modbus на индикатор

Как-то у меня в голове не склеивается.
Пусть 1 и 2 - устройства, с которых читаем (причём, как я написал, читаем немного), 3-8 - пишем (вообще по одной переменной). Период везде одинаковый и, по логике, контроллер ставит запросы в очередь как-то в том же порядке 1-2-3-4-5-6-7-8-1-2-3-4....Пусть период опроса слишком короткий - начинает копиться очередь.... а потом запросы начинают отбрасываться... ну и пускай отбрасываются. я просто получаю ответы на более старые запросы, но в том же порядке - 1-2-3-...
Зато опрос идёт без перерыва..

Да и вроде передача 40 слов одним групповым запросом даже на скорости 19200 должно занимать совсем небольшое время. Другое дело - если тормозит контроллер, С которого считываем данные - но тогда изменение периода опроса не поможет.

Тогда, наверное, имеет смысл поставить разный период опроса - для устройств 1 и 2 (контроллеры) - побольше, а 3-8 (индикаторы) - на порядок меньше?

Видимо, придётся какой-нибудь сниффер в руки и смотреть, что на шине делается...
Могу отписаться, если удастся это сделать.
Shuric вне форума   Ответить с цитированием
Старый 06.03.2019, 22:47   #6
ailcat
Senior Member
 
Аватара для ailcat
 
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили: 2 раз(а) в 2 сообщениях
По умолчанию Ответ: Тормозит передача по modbus на индикатор

Отпишитесь, конечно.

Я с этим столкнулся, когда распределенную сеть мучал - в итоге перешел к системе К-1-К-2-К-3-...-К-n (где К - критичный слейв, 1...n - менее критичные).
Увеличение периода опросов, сокращение тайм-аутов, увеличение сокрости и т.п. работают только до тех пор, пока все слейвы отвечают сразу и быстро. Стоит одному "замешкаться" (перестать отвечать, сдохнуть, ловить помеху во время передачи) - и всё, запросы начинают копиться как снежный ком; при этом критичный сможет "втиснуться" лишь если попадет в очень узкое окно, когда в очереди уже появится свободное место, но ни у кого из некритичных еще не истечет интервал. А схема с опросом "через один" гарантирует запрос даже если дергать очередной слейв каждый тик...
ailcat вне форума   Ответить с цитированием
Старый 07.03.2019, 08:05   #7
СВМ
Senior Member
 
Регистрация: Jan 2012
Адрес: Саратов
Сообщения: 179
Благодарил(а): 1 раз(а)
Поблагодарили: 3 раз(а) в 3 сообщениях
По умолчанию Ответ: Тормозит передача по modbus на индикатор

Цитата
Сообщение от Shuric Посмотреть сообщение

Могу отписаться, если удастся это сделать.
Отпишитесь, пожалуйста.
СВМ вне форума   Ответить с цитированием
Старый 07.03.2019, 10:52   #8
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Тормозит передача по modbus на индикатор

Цитата
Сообщение от Shuric Посмотреть сообщение
Пусть период опроса слишком короткий - начинает копиться очередь.... а потом запросы начинают отбрасываться...
Не отбрасываются. У вас обычная ситуация несбалансированного трафика. Причины расписаны Иликэтом с СВМ-ом верно, способы решения тоже верные.

Тайм-аут подберите правильный, базовый 100 мсек для передачи пары значений непомерно велик.


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TRIM Modbus Slave на две сети (решено) Jury.K Связь с внешним миром 15 27.03.2019 01:06
Помогите SMH4 и Modbus (решено) Divikom Связь с внешним миром 6 21.06.2018 15:17
Pixel→Moxa_NPort_5150→ПЧ_ABB_ACS_310 по Modbus (решено) Aiven Связь с внешним миром 24 24.03.2017 08:16
Чтение-запись адреса MODBUS из ПК (решено) vlanaz Связь с внешним миром 3 16.02.2017 13:30
COM1 порт забит запросами по modbus! (решено) chaos1727 Вопросы о SMH-2G 2 28.05.2015 18:07


Часовой пояс GMT +4, время: 20:59.


Версия vBulletin: 3.8.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2023