Jump to content
Форум по продукции MOXA

Nport N5150A и RS-485 2-wire не проходит обмен


Recommended Posts

Добрый день!

 

У нас есть два устройства работающих по RS-485 2-wire. По кабелю работают просто замечательно. Скорости 9600 и 57600, приемопередатчики MAX485

 

Есть два MOXA Nport N5150A, включенные в pair connection. Устройства пингуются, скорости выставлены правильно. Байты в серийном интерфейсе по обе стороны какие-то передаются, но устройства не работают. Включали их А-А В-В, и А-В, А-В и всяко разно, но обмена нет.

 

Куда копать, и самое главное, чем посмотреть и убедиться что то, что у нас выходит с одного порта правильно приходит во второй.

Link to comment

Коллеги, выручайте, проект под угрозой срыва. MOXA заявлен как прозрачный удлинитель интерфейса. Получается, не такой он и прозрачный! Какие будут идеи?

Link to comment

Здравствуйте!

При соединении устройств по RS-485 лучше ориентироваться не по буквенным обозначениям A и B, а по "+" и "-", так как некоторые производители отклоняются от общепринятого обозначения.

Чтобы проверить, правильную передачу данных, воспользуйтесь, пожалуйста, данным руководством по поиску неисправностей.

Link to comment

Включали и так и эдак. Какие-то байты ходят, но нормального обмена нет - устройства через moxa nport n5150a друг друга не видят. Стоит соединить кабелем - всё работает.

Как можно посмотреть обмен на 485 портах? какие байты приходят и какие уходят?

post-4271-0-49627900-1378717553_thumb.png

Link to comment

Судя по счетчикам принятых/отправленных байт на прикрепленном Вами изображении, обмен данными происходит успешно.

Чтобы посмотреть обмен данными на 485 портах, необходимо настроить NPort'ы в режим UDP Mode. При этом нужно указать в списке адресатов IP-адрес и номер порта (например, 4001) парного NPort и IP-адрес с номером порта компьютера (например, 1-й NPort будет отправлять данные на 4002 порт ПК, а 2-й на 4003). Также нужно указать локальный порт прослушки (можно тот же, что и для отправки - 4001). Затем с помощью утилиты PComm Terminal Emulator нужно открыть 2 UDP-сокета с номерами портов 4002 и 4003. В каждый из них будут дублироваться данные, посылаемыe NPort'ами, при этом NPort продолжат работу в режиме парного соединения.

 

a55a4ba973ab.png

 

43d4df3431f2.png

Link to comment

Фаервол на компьютере отключен.

 

настройки сделаны по Вашим предложениям.

 

в итоге получается, что явно есть разница в приемо-передаче. Где её ловить, если настройки на Nport идентичны?

 

Кроме того, можно ли в порт-мониторе как-то идентифицировать информацию принимаемую и передаваемую?

 

 

 

 

 

post-4271-0-48869500-1378891976_thumb.pngpost-4271-0-25142500-1378891985_thumb.pngpost-4271-0-29310400-1378891997_thumb.png

Edited by las68
Link to comment

Еще такой вопрос, какова латентность вносимая Nport 5150A?.

 

Мне удалось связаться с разработчиками оборудования, работающего по RS-485, у него при обмене оказывается есть два времени ожидания - 2 мс и 6 мс, если вторая сторона не укладывается в эти интервалы, то связь не устанавливается. Если Nport нельзя заставить работать с соблюдением временных интервалов, то ничего не выйдет.

 

Подтвердите или развейте мои подозрения.

Link to comment

Коллеги, вы можете мне дать хоть какую-то информацию? У меня завален проект, фактически. Я понимаю, что здесь никто никому ничего не должен, но получается, что ваше оборудование не соответствует заявленным характеристикам - в роли "прозрачного" удлинителя RS-485 интерфейса оно не работает.

Link to comment

Добрый день,

Извините за поздний ответ.

Задержка, вносимая устройством NPort, составляет 2-3 мс. Т.е. в Вашем случае данная задержка будет умножаться на 4 (данные проходят через два устройства NPort в одну сторону и через два устройства в обратную сторону) и составит 10-15 мс.

Нет ли никакой возможности поговорить с производителем подключаемого оборудования об уменьшении времени таймаута?

 

И ещё пара вопросов:

1. Что за оборудование Вы подключаете к NPort? Может быть, у нас есть опыт работы с ним.

2. Есть ли у Вас вариант воспользоваться устроствами NPort в режиме виртуального COM-порта, а не парного соединения? В таком случае время задержки сократится вдвое.

3. По Вашим последним логами (которые Вы делали в протоколе UDP) - данные логи "набежали" за какой период времени? Это пара секунд или минуты?

Link to comment

Пока могу сказать, что moxa добавляет лишний 4-й байт к трёхбайтовой посылке (он каждый раз разный F0, FB иногда F1) и почему-то перевираются некоторые биты в третьем байте ответа.

должно приходить A1 19 01 45, приходит A1 15 01 86.

 

Мониторинг простого соединения кабелем эти биты не показывает. Скорость 9600 8,N,1. С изготовителем оборудования я связался, он пообещал подумать над ситуацией.

Link to comment

Добрый день еще раз.

Вот что мне написал разработчик оборудования, Хотелось бы услышать ваши комментарии по организации работы nport 5150A через RS-485 при наличии нескольких приемников RS-485 на линии (множественное соединение).

 

При работе чисто в локалке особых проблем не будет, но если удлинятся через интернет, то возникнут следующие проблемы:

1. Так как линия RS485 общая, то Nport будет транслировать через ethernet все что на ней творится - опросы и ответы остальных приемников на линии. Трафик будет большой, т.к. опрос идет десятки раз в секунду

2. Задержка при работе через интернет будет уже исчислятся до единиц секунд, зависит конечно от канала. Но дело в том, что при большой задержке задающему устройству (пульт) все равно придется ждать ответа, и в это время полностью будет вставать RS485 линия, потому что производить опрос других приемников будет нельзя.

 

Для начала нужно бы выяснить у производителя Nport есть ли у него какая-нибудь логика при отправке принятых по ethernet пакетов в линию RS485. т.е. мониторит ли он активность линии, дожидается ли пока она освободится, или тупо сразу вываливает все что пришло?

 

Если логика какая-то есть, можно будет попробовать реализовать такой алгоритм опроса приемников по ethernet при котором ответ от приемника будет ожидаться без остановки опроса других приемников на линии. т.е. отправили запрос по ethernet и начинаем опрашивать следующие приемники в обычном режиме, при этом ответ Nport сможет вставить в паузах между нашими опросами, и мы это зафиксируем.

Link to comment

Здравствуйте,

moxa добавляет лишний 4-й байт к трёхбайтовой посылке (он каждый раз разный F0, FB иногда F1) и почему-то перевираются некоторые биты в третьем байте ответа.

должно приходить A1 19 01 45, приходит A1 15 01 86.

Попробуйе "подрегулировать" напряжение на линии RS-485. Для этого снимите крышку корпуса устройства NPort и закоротите перемычки JP3 и JP4, находящиеся рядом с разъемом последовательного порта. Это изменит номиналы резисторов подтяжки RS-485 к напряжению 5 В. Отразится ли это на обмене данными?

 

По поводу ответа разработчика оборудования - с пунктом (2) полностью согласен, задержки при передаче через Интернет увеличиваются, и это зависит от конкретного канала.

А вот пункт (1) некорректен. Данные с устройства NPort передаются по отдельному TCP-сокету, и вмешательство каких-то посторонних данных исключено. Я в таких случаях всегда привожу пример Web-браузера: Вы же зачастую открываете в браузере несколько страниц параллельно в разных вкладках, а также другие пользователи Интернет смотрят другие сайты. Но данные ведь никогда не перемешиваются, Вы же не получаете чужие данные. Так и при работе с NPort, ничего постороннего он получать не будет.

 

Попробуйте реализовать мой первый совет. Есть ощущение, что должно заработать.

И ещё при настройке режимов TCP Server / TCP Client (или UDP) поставьте в параметрах Force Transmit - 2 мс. Это должно предотвратить возможную фрагментацию пакетов при передаче из 485 в Ethernet

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...