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

Владимир Галанин

Пользователи
  • Posts

    11
  • Joined

  • Last visited

Владимир Галанин's Achievements

Участник

Участник (2/5)

0

Reputation

  1. День добрый! Проблема решена. С новым драйвером всё работает отлично. Спасибо!
  2. Спасибо за подробный отзыв! Я был удивлён, когда нигде не нашёл информации по моей проблеме. Дело точно в драйвере, не знаю почему в 6xxx серии такого нет - проверить нет возможности. Но драйвер под Windows работает без всяких проблем с NPort 5xxx серии. У меня также отдельный поток на каждый порт. Но зависает он не насовсем, а на 10 секунд периодически. Т.е. драйвер не может обеспечить нормального быстродействия. Не думаю, что описанный вами костыль даст необходимое мне быстродействие - несколько запросов/ответов в секунду. Как я писал выше, у меня на 10 секунд подвисает в том числе операция закрытия порта.
  3. Вот пример моей консольной утилиты для тестирования COM-порта. Взято отсюда: http://dekud.blogspot.com/2013/12/com-linux-com-com-linux.html main.cpp
  4. Хорошо, попробую новую прошивку. У меня проблема воспроизводится с любой программой/библиотекой. Например, в Ubuntu есть графическая утилита CuteCOM. Если в ней нажимать октрыть/закрыть порт /dev/ttyr00, то также иногда возникают подвисания на 10 с. Но для этого нужно терпение )
  5. У меня получились такие результаты при тестировании. 1. Циклическое открытие/закрытие порта (rep - номер цикла, на котором возникла проблема. один цикл занимает меньше 100 мсек) rep: 488 time : 10186 msec rep: 1731 time : 10094 msec rep: 2058 time : 10294 msec rep: 2383 time : 10262 msec rep: 2866 time : 10194 msec rep: 3230 time : 10246 msec rep: 4552 time : 10255 msec rep: 4904 time : 10218 msec rep: 5156 time : 10158 msec rep: 5970 time : 10310 msec rep: 7605 time : 10147 msec rep: 7756 time : 10199 msec rep: 9288 time : 10225 msec rep: 10050 time : 10242 msec rep: 10799 time : 10265 msec rep: 10889 time : 10253 msec rep: 11883 time : 10070 msec rep: 13185 time : 10258 msec rep: 15219 time : 30099 msec rep: 19574 time : 10086 msec rep: 19732 time : 10306 msec rep: 20462 time : 10142 msec rep: 20472 time : 10209 msec rep: 20757 time : 10258 msec rep: 20787 time : 10280 msec rep: 21024 time : 10102 msec rep: 21300 time : 10062 msec rep: 21517 time : 10270 msec rep: 28557 time : 30698 msec rep: 30055 time : 31806 msec 2. Циклическая установка/снятие DTR, не закрывая порт. rep: 18768 time : 10020 msec rep: 21452 time : 10068 msec rep: 48065 time : 10051 msec rep: 59705 time : 10031 msec rep: 64762 time : 10028 msec rep: 111593 time : 10229 msec rep: 120156 time : 10190 msec rep: 142371 time : 10024 msec rep: 142795 time : 10118 msec rep: 176107 time : 10236 msec rep: 244274 time : 10179 msec rep: 257130 time : 10081 msec rep: 299515 time : 10055 msec rep: 304461 time : 10043 msec 3. Циклическая установка/снятие RTS, не закрывая порт. begin rep: 6201 time : 10065 msec rep: 13387 time : 10008 msec rep: 24559 time : 10146 msec rep: 41982 time : 10076 msec rep: 64287 time : 10060 msec rep: 71755 time : 10155 msec
  6. Здравствуйте! Использую Moxa NPort 5650-8, прошивка 3.6 Build 15041515. Драйвер NPort Real TTY для Linux (Linux 4.x.x) (версия 4.0 от 24.10.2019) https://moxa.ru/files/drivers_utilities_3/real-tty-drivers-for-linux-4_x_x-driver-v4_0_2.tgz Система Ubuntu 18.04.4 LTS x64, kernel 4.15.0-96. Также использовал Ubuntu 16.04 и драйвер https://www.moxa.ru/files/drivers_utilities_2/npreal2_mainline_v1_19_build_17110917.tgz Столкнулся с такой проблемой: во время обмена с устройством через Moxa стабильно происходит подвисание на 10 секунд с разной периодичностью. В ходе тестирования убедился, что проблема именно в драйвере. Я использую программу на Qt и библиотеку QSerialPort для работы с COM-портом. То же самое повторяется с библиотекой QExtSerialPort. Также без использования Qt, с системными библиотеками Linux. В Windows подобных проблем не возникает. Если подключить порт Moxa из Windows к виртуальной машине на Linux - также всё работает без проблем. Воспроизводится проблема в Linux следующем образом, даже без отправки и приёма данных по порту: 1. Программа в цикле открывает/закрывает порт Moxa /dev/ttyr00. Периодически закрытие порта будет подвисать на 10 секунд. 2. Программа открывает порт, затем в цикле устанавливает/снимает DTR. Периодически установка DTR будет подвисать на 10 секунд. 3. Программа открывает порт, затем в цикле устанавливает/снимает RTS. Периодически установка RTS будет подвисать на 10 секунд. Иногда всё стабильно работает несколько сотен и даже тысяч циклов, но рано или поздно возникает подвисание. У меня в программе, где нужно отправлять и получать несколько запросов в секунду - подвисания возникают гораздо чаще и в итоге всё сильно тормозит.
×
×
  • Create New...