|
Связь с внешним миром Modbus, RS232, RS485, Lon и другое. |
|
Опции темы | Поиск в этой теме |
01.06.2016, 11:58 | #1 |
Member
Регистрация: Feb 2016
Сообщения: 74
Благодарил(а): 3 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Связь Pixel-Beckhoff по RS485.
Добрый день. Есть проект, где на Pixel2511 (мастер) висят слейвами 6 панелей Weintek и контроллер управления приточно-вытяжными системами - какая-то модель Beckhoff в модульном исполнении. Всё это хозяйство прицеплено к порту RS485.
С панелями пиксель дружит без проблем, с Beckhoff проблема. Запросы на чтение проходят, запросы на запись - то идут, то нет. И через полчаса сетевой модуль Beckhoff виснет наглухо, до перезагрузки. Соисполнители, в чьей зоне ответственности ПО Beckhoff утверждают, что забивается буфер чтения-записи. Я пробовал вместо проблемного Beckhoff подключаться Лектусом, сконфигурированным в слейв и со списком переменных из Beckhoff - Лектус периодически выдаёт в логе ошибку CRC, но пишет и читает всё, что не даётся Beckhoff. Если же освободить порт RS485 от панелей, оставив на нём лишь Лектус, ошибка CRC исчезает, а затем повесив вместо Лектуса Beckhoff - обмен идёт без проблем, все переменные читаются и пишутся. Вопросов два. Первый - корректно ли тестировать связь Лектусом (м.б. он занимает собой единственный сокет порта и остальным слейвам достаются объедки). Второй - не ведёт ли себя Beckhoff как Лектус и не держит ли порт, генерируя эту же ошибку? Если это так, придётся освободить под Beckhoff 485-й порт, перевесив остальные слейвы на Ethernet? |
01.06.2016, 12:33 | #2 | |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Связь Pixel-Beckhoff по RS485.
Цитата:
Нормальная реализация по стандарту - это определение начала пакета, определение "на лету", что не свой адрес и последующий пропуск этого пакета мимо буфера. Беков же загружает пакет полностью в буфер и только потом обрабатывает адрес. В итоге тратит на это очень много времени и по этому забивается его буфер. И именно поэтому удаление панелей помогает - "лишние, не бековские" запросы исчезают и проблема не проявляется. Вылечить можно двумя путями: 1) Заставить их нанять более компетентных программеров, что нереально 2) Замедлить работу сети. Т.е. передавать данные панелям пореже. Возможно, поможет просто переход на более низкие битрейты - у проца бекова будет побольше времени переваривать писанину своих программистов Есть вариант и с разбиванием пакетов на более мелкие - снимите галочку "групповые запросы". Беков их будет побыстрее обрабатывать, но вы легко можете выкатиться за предельные 112 запросов Пикселя. PS. С лектусом проще, там не сам лектус виноват, а драйвер преобразователя - не успевает он работать в режиме слейва. Это тоже известная тема, слишком мало времени Modbus отводит слейву на обработку и сброс буфера. __________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |
|
01.06.2016, 12:51 | #3 | ||
Member
Регистрация: Feb 2016
Сообщения: 74
Благодарил(а): 3 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Связь Pixel-Beckhoff по RS485.
Цитата:
Цитата:
Поэтому, как и написал ранее - оставлю 485-й бехову в безраздельное пользование, а панели переведу на Ethernet. В любом случае спасибо за локализацию проблемы. |
||
01.06.2016, 13:42 | #4 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 785
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Связь Pixel-Beckhoff по RS485.
|
01.06.2016, 13:47 | #5 |
Member
Регистрация: Feb 2016
Сообщения: 74
Благодарил(а): 3 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Связь Pixel-Beckhoff по RS485.
Физически панели никто никуда не удалял. Висят на своей витухе и помех в сети не создают. Просто из дерева устройств проекта пикселя-мастера удаляются панели-слейвы. В этом случае нет запросов мастера панелям - нет проблем с Beckhoff.
|
01.06.2016, 14:07 | #6 |
Senior Member
Регистрация: Aug 2013
Сообщения: 3 785
Благодарил(а): 12 раз(а)
Поблагодарили:
194 раз(а) в 190 сообщениях
|
Ответ: Связь Pixel-Beckhoff по RS485.
Видимо где-то недосмотрел. Показалось что панели просто отключали от 485-го.
Но ошибки CRC при подключенных панелях ... |
01.06.2016, 16:47 | #7 |
Member
Регистрация: Feb 2016
Сообщения: 74
Благодарил(а): 3 раз(а)
Поблагодарили:
0 раз(а) в 0 сообщениях
|
Ответ: Связь Pixel-Beckhoff по RS485.
|
01.06.2016, 17:31 | #8 |
Сотрудник Segnetics
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 117
Благодарил(а): 15 раз(а)
Поблагодарили:
660 раз(а) в 604 сообщениях
|
Ответ: Связь Pixel-Beckhoff по RS485.
Суммарный. Читать в справке лоджика.
__________________ Программа делает то что написал программист, а не то что он хотел. Добро всегда побеждает зло. Кто победил - тот и добрый. |