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

Задержка в UDP режиме устройства NPort 5630


Recommended Posts

Для работы с устройством NPort 5630 используется ПК с ОС Ubuntu 8.10 Server и библиотека boost 1.38(для передачи по сети Ethernet). Все порты у Moxa настроены как rs485 скорость 57600, 8 бит данных 1 стоповый бит и без бита четности. Operation mode - UDP Mode. При force transmit = 0 ответ от устройства приходит где-то через 5мсек и сообщение(размер ответа не больше 7 байт) разбивается на несколько частей. При force transmit = от 1 до 10 ответ от устройства приходит где-то через 50мсек (стабильно) и сообщение приходит полностью. В чем могут проблемы либо в библиотеке boost либо в Moxa?

Link to comment
Для работы с устройством NPort 5630 используется ПК с ОС Ubuntu 8.10 Server и библиотека boost 1.38(для передачи по сети Ethernet). Все порты у Moxa настроены как rs485 скорость 57600, 8 бит данных 1 стоповый бит и без бита четности. Operation mode - UDP Mode. При force transmit = 0 ответ от устройства приходит где-то через 5мсек и сообщение(размер ответа не больше 7 байт) разбивается на несколько частей. При force transmit = от 1 до 10 ответ от устройства приходит где-то через 50мсек (стабильно) и сообщение приходит полностью. В чем могут проблемы либо в библиотеке boost либо в Moxa?

Добрый день,

ситуация вот какая:

При Force Transmit = 0:

- NPort считывает данные из COM-порта по нескольку символов (сколько именно - решает он сам)

- упаковывает их в TCP (процесс упаковки занимает порядка 5~10 мсек) и передает в Ethernet

в итоге данные отсылаются оперативно, короткими порциями. 5 мсек, которые Вы видите, - это задержка, вызванная упаковкой данных в TCP-пакет.

 

Вот что происходит при установке Force Transmit > 0:

- пока на COM-порт приходят данные, NPort их сохраняет в своем буфере

- если во входном потоке данных возникла пауза, указанная в параметре Force Transmit, то NPort считает пакет завершенным и упаковывает его в TCP

- далее упаковка пакета в TCP занимает опять же порядка 5~10 мсек.

Если Вы, например, указали ForceTX = 8 мсек, то общая задержка будет складываться из:

- дождаться приема сообщения целиком

- подождать указанный Вами период времени (8 мсек) и убедиться, что пакет действительно закончен

- упаковать данные в TCP (5 ~ 10 мсек)

 

Т.е. резюме:

1. Видимо, Ваши входящие пакеты достаточно длинные, и их получение занимает много времени

2. Для уменьшения общей задержки параметр Force Transmit не следует указывать очень большим. Как правило, значение 2~3 мсек является достаточным.

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...