Segnetics

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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.03.2022, 12:04   #1
Max2114
Senior Member
 
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 052
Благодарил(а): 20 раз(а)
Поблагодарили: 21 раз(а) в 21 сообщениях
По умолчанию Оптимизация работы 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 к примеру или ниже? Боюсь что уменьшение скорости опроса скажется на отклике на изменение уставки...
Есть смысл соединять экраны кабеля и садить в одном месте где-то на хорошую землю?
Может еще кто-нибудь посоветует что сделать в такой ситуации?
Max2114 вне форума   Ответить с цитированием
Старый 21.03.2022, 12:37   #2
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 740
Благодарил(а): 12 раз(а)
Поблагодарили: 192 раз(а) в 188 сообщениях
По умолчанию Ответ: Оптимизация работы RS485

Цитата
Сообщение от Max2114 Посмотреть сообщение
Есть смысл понижать скорость опроса? И если есть то пробовать 57600, 38400...
Смысл точно есть - 115200 на километр это уже много.
Цитата Есть смысл соединять экраны кабеля и садить в одном месте где-то на хорошую землю?
А вот это не можно, а нужно. И садить только на общий мастера. На землю ни в коем случае.


__________________
Не являюсь сотрудником Segnetics !!!
ATS вне форума   Ответить с цитированием
Старый 21.03.2022, 12:38   #3
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Оптимизация работы RS485

Цитата
Сообщение от Max2114 Посмотреть сообщение
Может еще кто-нибудь посоветует что сделать в такой ситуации?
Поставьте ещё повторитель 485<>485 в середине ветки. Это позволит улучшить ситуацию не теряя в скорости.


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 21.03.2022, 12:44   #4
Max2114
Senior Member
 
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 052
Благодарил(а): 20 раз(а)
Поблагодарили: 21 раз(а) в 21 сообщениях
По умолчанию Ответ: Оптимизация работы RS485

Цитата
Сообщение от ATS Посмотреть сообщение
Смысл точно есть - 115200 на километр это уже много.
На сколько снизить? пробовать 57600 или сразу 38400/19200?
Max2114 вне форума   Ответить с цитированием
Старый 21.03.2022, 12:46   #5
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Оптимизация работы RS485

Цитата
Сообщение от Max2114 Посмотреть сообщение
На сколько снизить? пробовать 57600 или сразу 38400/19200?
Это ведает только всевышний.


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 21.03.2022, 12:48   #6
Max2114
Senior Member
 
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 052
Благодарил(а): 20 раз(а)
Поблагодарили: 21 раз(а) в 21 сообщениях
По умолчанию Ответ: Оптимизация работы RS485

Цитата:
Сообщение от Arsie Посмотреть сообщение
Это ведает только всевышний.
Понятно. Ну мало ли может у кого есть подобный опыт. Просто оббежать все слейвы чтобы поменять скорость то еще занятие
Max2114 вне форума   Ответить с цитированием
Старый 21.03.2022, 13:05   #7
LordN
Senior Member
 
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 125
Благодарил(а): 239 раз(а)
Поблагодарили: 161 раз(а) в 153 сообщениях
По умолчанию Ответ: Оптимизация работы RS485

какой смысл делать период опроса 100мс? да еще на километре..
запись может не проходить из-за малого времени ожидания ответа, например.
повангую - плохо пишет в пиксели, а в матриксы лучше?


Добавлено через 1 минуту


Цитата
Сообщение от Max2114 Посмотреть сообщение
Понятно. Ну мало ли может у кого есть подобный опыт. Просто оббежать все слейвы чтобы поменять скорость то еще занятие
нужно делать минимальный битрейт при минимально возможном кол-ве запросов.
ибо все время жрут именно они, а не битрейт


__________________
C уважением, LordN
LordN вне форума   Ответить с цитированием
Старый 21.03.2022, 13:42   #8
Max2114
Senior Member
 
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 052
Благодарил(а): 20 раз(а)
Поблагодарили: 21 раз(а) в 21 сообщениях
По умолчанию Ответ: Оптимизация работы RS485

Цитата
Сообщение от LordN Посмотреть сообщение
какой смысл делать период опроса 100мс? да еще на километре..
По умолчанию в смлоджике создается такой период. Вот его и оставляю в качестве минимального
Цитата
Сообщение от LordN Посмотреть сообщение
запись может не проходить из-за малого времени ожидания ответа, например.
запись я делаю вообще период опроса - 0. И посылаю команду на запись на вход ^ блока переменной
Цитата
Сообщение от LordN Посмотреть сообщение
повангую - плохо пишет в пиксели, а в матриксы лучше?
Так пока не эксперимнетировал. Вообще экспериментировал вчера писать переменные в самый дальний контроллер. Им является матрикс.
Цитата
Сообщение от LordN Посмотреть сообщение
Добавлено через 1 минуту




нужно делать минимальный битрейт при минимально возможном кол-ве запросов.
ибо все время жрут именно они, а не битрейт
Так и делаю. Ну битрейт я еще не уменьшал. Возможно придется корректировать конструкторские программы - группировать переменные так чтобы запросов было как можно меньше.

Но ошибки приолетают - это факт. Видмимо да, в первую очередь понижу битрейт.
Max2114 вне форума   Ответить с цитированием
Старый 21.03.2022, 13:55   #9
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Оптимизация работы RS485

Цитата
Сообщение от Max2114 Посмотреть сообщение
запись я делаю вообще период опроса - 0. И посылаю команду на запись на вход ^ блока переменной
Нужно делать повтор, если запрос не дошёл. Это решит ваши проблемы


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Старый 21.03.2022, 14:06   #10
Max2114
Senior Member
 
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 052
Благодарил(а): 20 раз(а)
Поблагодарили: 21 раз(а) в 21 сообщениях
По умолчанию Ответ: Оптимизация работы RS485

Цитата:
Сообщение от Arsie Посмотреть сообщение
Нужно делать повтор, если запрос не дошёл. Это решит ваши проблемы
Да, я уже об этом думал. И счетчик повторов чтобы ограничить 3-5 попытками. Сейчас видимо буду "химичить"
Max2114 вне форума   Ответить с цитированием
Старый 21.03.2022, 15:44   #11
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Ответ: Оптимизация работы RS485

Цитата
Сообщение от Max2114 Посмотреть сообщение
Да, я уже об этом думал. И счетчик повторов чтобы ограничить 3-5 попытками. Сейчас видимо буду "химичить"
Нажмите на картинку для увеличения

Название:  Безымянный.png
Просмотров: 75
Размер:  4.4 Кбайт


При этом ОС необязательна, можно просто задать число за пределами рабочего диапазона уставки.
Вложения
Тип файла: msl transmit.msl (30.7 Кбайт, 20 просмотров)


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

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Благодарность от:
Старый 21.03.2022, 15:53   #12
Max2114
Senior Member
 
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 052
Благодарил(а): 20 раз(а)
Поблагодарили: 21 раз(а) в 21 сообщениях
По умолчанию Ответ: Оптимизация работы RS485

Цитата:
Сообщение от Arsie Посмотреть сообщение
Вложение 10457


При этом ОС необязательна, можно просто задать число за пределами рабочего диапазона уставки.
спасибо, попробую
Max2114 вне форума   Ответить с цитированием
Старый 21.03.2022, 20:35   #13
LordN
Senior Member
 
Регистрация: Dec 2007
Адрес: Томск
Сообщения: 4 125
Благодарил(а): 239 раз(а)
Поблагодарили: 161 раз(а) в 153 сообщениях
По умолчанию Ответ: Оптимизация работы RS485

Цитата:
Сообщение от Arsie Посмотреть сообщение
Вложение 10457


При этом ОС необязательна, можно просто задать число за пределами рабочего диапазона уставки.
запись в регистр лоджиком - это всегда две команды. собственно запись и последующее чтение. так?
вопрос, если запись выполнена, а последующее чтение прошло с ошибкой, что произойдёт на стороне слейва - ничего, слейв "отменит" запись, или что-то ещё?


__________________
C уважением, LordN
LordN вне форума   Ответить с цитированием
Старый 21.03.2022, 20:44   #14
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 740
Благодарил(а): 12 раз(а)
Поблагодарили: 192 раз(а) в 188 сообщениях
По умолчанию Ответ: Оптимизация работы RS485

Цитата
Сообщение от LordN Посмотреть сообщение
вопрос, если запись выполнена, а последующее чтение прошло с ошибкой, что произойдёт на стороне слейва - ничего, слейв "отменит" запись, или что-то ещё?
Естественно ничего. Слейв честно выполнил обе команды и доволен.
Проблема у мастера. Должен перечитать.


__________________
Не являюсь сотрудником Segnetics !!!
ATS вне форума   Ответить с цитированием
Старый 21.03.2022, 20:59   #15
monstr696
Senior Member
 
Регистрация: Apr 2013
Адрес: Россия, Москва
Сообщения: 766
Благодарил(а): 8 раз(а)
Поблагодарили: 63 раз(а) в 59 сообщениях
По умолчанию Ответ: Оптимизация работы RS485

Цитата
Сообщение от Max2114 Посмотреть сообщение
На сколько снизить? пробовать 57600 или сразу 38400/19200?
Я в своё время делал похожее и оптимальная скорость получилась 57600.
А чтобы менять не обязательно бегать к каждому контроллеру сделайте это через лоджик.


__________________
Саня
monstr696 вне форума   Ответить с цитированием
Старый 22.03.2022, 09:33   #16
Max2114
Senior Member
 
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 052
Благодарил(а): 20 раз(а)
Поблагодарили: 21 раз(а) в 21 сообщениях
По умолчанию Ответ: Оптимизация работы RS485

Цитата
Сообщение от LordN Посмотреть сообщение
запись в регистр лоджиком - это всегда две команды. собственно запись и последующее чтение. так?
вопрос, если запись выполнена, а последующее чтение прошло с ошибкой, что произойдёт на стороне слейва - ничего, слейв "отменит" запись, или что-то ещё?
Команда RDY по сути является подтверждением получения переменной от слейва
Max2114 вне форума   Ответить с цитированием
Старый 22.03.2022, 10:48   #17
ATS
Senior Member
 
Регистрация: Aug 2013
Сообщения: 3 740
Благодарил(а): 12 раз(а)
Поблагодарили: 192 раз(а) в 188 сообщениях
По умолчанию Ответ: Оптимизация работы RS485

Цитата
Сообщение от Max2114 Посмотреть сообщение
Команда RDY по сути является подтверждением получения переменной от слейва
Но не уровень а фронт.


__________________
Не являюсь сотрудником Segnetics !!!
ATS вне форума   Ответить с цитированием
Старый 22.03.2022, 10:49   #18
Max2114
Senior Member
 
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 052
Благодарил(а): 20 раз(а)
Поблагодарили: 21 раз(а) в 21 сообщениях
По умолчанию Ответ: Оптимизация работы RS485

Цитата
Сообщение от ATS Посмотреть сообщение
Но не уровень а фронт.
да
Max2114 вне форума   Ответить с цитированием
Старый 08.06.2022, 08:28   #19
Max2114
Senior Member
 
Регистрация: Jun 2007
Адрес: Tyumen
Сообщения: 2 052
Благодарил(а): 20 раз(а)
Поблагодарили: 21 раз(а) в 21 сообщениях
По умолчанию Ответ: Оптимизация работы RS485

Цитата
Сообщение от Max2114 Посмотреть сообщение
Налаживаю небольшую диспетчерскую, в которой в качестве сетевого шлюза 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 к примеру или ниже? Боюсь что уменьшение скорости опроса скажется на отклике на изменение уставки...
Есть смысл соединять экраны кабеля и садить в одном месте где-то на хорошую землю?
Может еще кто-нибудь посоветует что сделать в такой ситуации?
небольшой отчет.
Система у меня заработала.
Выставил скорость 57600.
Оптимизировал карты переменных так чтобы выходило как можно меньше запросов.
Подключил экран к GND на первом контролелере в сети (на мастере).
Пришлось все-же писать программу для того чтобы мастер при неудачной записи переменной повторял попытки записи. Ограничил 3-мя попытками. Отрабтывает четко и всегда.
Проработало уже 2 месяца,полет нормальный.
Max2114 вне форума   Ответить с цитированием
Ответ

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

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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Идеология работы с переменными Roman_M SMLogix 5 26.03.2018 15:23
Расходомер РСЦ - RS485 andre Связь с внешним миром 4 19.01.2017 17:54
Связь Pixel-Beckhoff по RS485. Dmitry_S Связь с внешним миром 7 01.06.2016 17:31
Прямая работа с RS485 (нет решения) asen Вопросы о Pixel 1 16.05.2014 15:44
Скорость работы сети RS485 dima Связь с внешним миром 9 19.03.2012 13:25


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


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