|
Связь с внешним миром Modbus, RS232, RS485, Lon и другое. |
|
Опции темы | Поиск в этой теме |
21.03.2022, 12:04 | #1 |
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 056
Благодарил(а): 20 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Оптимизация работы RS485
Налаживаю небольшую диспетчерскую, в которой в качестве сетевого шлюза RS485 -ethernet выступает Matrix1020-70 с сетевым модулем.
Всего в системе 2 ветки RS485. Очень хотелось сделать 3, но монтажники не смогли так смонтировать кабель. Кабель применили вот такой: Кабель симметричный для промышленного интерфейса RS-485 СегментКИ-485-ЭВнг(А)-LS 1x2x0.6 Первая ветка около 500 метров, на ней висит 5 контроллеров SMH2010 (На неоптоизолированном порту) и 3 контроллера MATRIX. В начале и в конце стоят матриксы и на них дипом я включил терминаторы. Она работает на 115200, все работает хорошо. Есть проблемы со второй веткой. На ней висит 21 контроллер. 6 шт - SMH2010 (подключил на оптоизолированный порт коннектором при помощи ваших официальных шнурков, которые раньше шли с ними в комплекте. Это очень сильно увеличило качество связи) 10 шт - Matrix, 5 шт - Pixel 2511. Везде зашита программа ля вентиляции в матриксах немного модифицированная. Дллина трассы вышла 1000 м. В начале и в конце шлейфа стоят контроллеры Матрикс, на них я терминаторы включил. В общем сейчас я запустил эту ветку на 115200. Все контроллеры в сети. В принципе читаются данные хорошо. БОльшую часть переменных в карте регистров в матриксе я сделал с периодом опроса 1000, а основные - состояние установки и все уставки - 100. Для записи переменные я все выставил с периодом опроса 0 и пишу их только тогда, когда приходит соответсвующая команда из "верхней" системы по Ethernet. В общем проблема сейчас такая - не всегда проходит команда записи переменной. На маленькой ветке в 8 слейвов - все работает прекрасно. На большой ветке в 21 слейв - команда приходит в 30-50% случаев. На выходах Error блоково slave(Link) я вижу проскальзывающие периодически цифры фиксирующие ошибки - 1-2-3. Сейчас длинный шлейф запущен на 115200. Еще я нигде не соеденил экраны у кабеля. Есть смысл понижать скорость опроса? И если есть то пробовать 57600, 38400... или сразу снизить радикально? На 19200 к примеру или ниже? Боюсь что уменьшение скорости опроса скажется на отклике на изменение уставки... Есть смысл соединять экраны кабеля и садить в одном месте где-то на хорошую землю? Может еще кто-нибудь посоветует что сделать в такой ситуации? |
21.03.2022, 12:37 | #2 | ||
Senior Member
Регистрация: Aug 2013
Сообщения: 3 791
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Оптимизация работы RS485
Цитата:
Цитата:
__________________ Не являюсь сотрудником Segnetics !!! |
||
21.03.2022, 12:38 | #3 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Оптимизация работы RS485
Поставьте ещё повторитель 485<>485 в середине ветки. Это позволит улучшить ситуацию не теряя в скорости.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
21.03.2022, 12:44 | #4 |
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 056
Благодарил(а): 20 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: Оптимизация работы RS485
|
21.03.2022, 12:46 | #5 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Оптимизация работы RS485
Это ведает только всевышний.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
21.03.2022, 12:48 | #6 |
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 056
Благодарил(а): 20 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: Оптимизация работы RS485
|
21.03.2022, 13:05 | #7 | |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 173
Благодарил(а): 242 раз(а)
Поблагодарили:
166 раз(а) в 158 сообщениях
|
Ответ: Оптимизация работы RS485
какой смысл делать период опроса 100мс? да еще на километре..
запись может не проходить из-за малого времени ожидания ответа, например. повангую - плохо пишет в пиксели, а в матриксы лучше? Добавлено через 1 минуту Цитата:
ибо все время жрут именно они, а не битрейт |
|
21.03.2022, 13:42 | #8 | ||
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 056
Благодарил(а): 20 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: Оптимизация работы RS485
По умолчанию в смлоджике создается такой период. Вот его и оставляю в качестве минимального
Цитата:
Так пока не эксперимнетировал. Вообще экспериментировал вчера писать переменные в самый дальний контроллер. Им является матрикс. Цитата:
Но ошибки приолетают - это факт. Видмимо да, в первую очередь понижу битрейт. |
||
21.03.2022, 13:55 | #9 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Оптимизация работы RS485
Нужно делать повтор, если запрос не дошёл. Это решит ваши проблемы
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
21.03.2022, 14:06 | #10 |
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 056
Благодарил(а): 20 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: Оптимизация работы RS485
|
21.03.2022, 15:44 | #11 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 170
Благодарил(а): 15 раз(а)
Поблагодарили:
665 раз(а) в 607 сообщениях
|
Ответ: Оптимизация работы RS485
Цитата:
При этом ОС необязательна, можно просто задать число за пределами рабочего диапазона уставки. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
Благодарность от: |
21.03.2022, 15:53 | #12 | |
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 056
Благодарил(а): 20 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: Оптимизация работы RS485
Цитата:
|
|
21.03.2022, 20:35 | #13 | |
Senior Member
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 173
Благодарил(а): 242 раз(а)
Поблагодарили:
166 раз(а) в 158 сообщениях
|
Ответ: Оптимизация работы RS485
Цитата:
вопрос, если запись выполнена, а последующее чтение прошло с ошибкой, что произойдёт на стороне слейва - ничего, слейв "отменит" запись, или что-то ещё? |
|
21.03.2022, 20:44 | #14 | |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 791
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Оптимизация работы RS485
Цитата:
Проблема у мастера. Должен перечитать. __________________ Не являюсь сотрудником Segnetics !!! |
|
21.03.2022, 20:59 | #15 |
Senior Member
Регистрация: Apr 2013
Адрес: Россия, Москва
Сообщения: 780
Благодарил(а): 8 раз(а)
Поблагодарили:
65 раз(а) в 60 сообщениях
|
Ответ: Оптимизация работы RS485
Я в своё время делал похожее и оптимальная скорость получилась 57600.
А чтобы менять не обязательно бегать к каждому контроллеру сделайте это через лоджик. __________________ Саня |
22.03.2022, 09:33 | #16 |
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 056
Благодарил(а): 20 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: Оптимизация работы RS485
Команда RDY по сути является подтверждением получения переменной от слейва
|
22.03.2022, 10:48 | #17 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 791
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Оптимизация работы RS485
Но не уровень а фронт.
__________________ Не являюсь сотрудником Segnetics !!! |
22.03.2022, 10:49 | #18 |
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 056
Благодарил(а): 20 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: Оптимизация работы RS485
|
08.06.2022, 08:28 | #19 | |
Senior Member
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 056
Благодарил(а): 20 раз(а)
Поблагодарили:
22 раз(а) в 22 сообщениях
|
Ответ: Оптимизация работы RS485
Цитата:
Система у меня заработала. Выставил скорость 57600. Оптимизировал карты переменных так чтобы выходило как можно меньше запросов. Подключил экран к GND на первом контролелере в сети (на мастере). Пришлось все-же писать программу для того чтобы мастер при неудачной записи переменной повторял попытки записи. Ограничил 3-мя попытками. Отрабтывает четко и всегда. Проработало уже 2 месяца,полет нормальный. |
|