Проблема
У нас возникают проблемы с потерей пакетов, отсутствующими данными и ошибками связи при тестировании сенсорной платы (так называемых RIOM). Это приводит к потере времени и повторным ошибкам при тестах. Тестовая система иногда работает, но нестабильно. Думаю, проблема может быть в настройках роутера. Поскольку RIOM используют в основном UDP, возможно, есть конфликт или переполнение буферов? Чем больше тестов в день, тем больше предупреждений об ошибках и пропавших данных при запуске очередной серии.
Я перехватываю этот проект у человека, который уже давно ушёл из компании, и поддержки немного. Полностью исключил проблемы с физическим соединением и кабелями. Из-за особенностей нашей работы и договоров с заказчиками продукт и графический интерфейс для тестирования менять нельзя. IP-адреса тоже менять нельзя.
Тестовый стенд — 10 RIOM, каждый за отдельным роутером.
Роутеры: RB750UPr2 hex poe lite (mipsbe) v6.47.9 (конфигурационный скрипт ниже).
Схема стенда (ниже).
Процесс
Автоматизирован с помощью интерактивного GUI на Windows 10. Сетевой интерфейс компьютера настроен на 192.168.129.250/24 и 10.10.10.250/24. Это позволяет GUI отправлять команды ACU для перемещений и принимать/отправлять данные с RIOM.
GUI сначала загружает программу на каждый RIOM для базовой работы. После перезагрузки GUI переводит RIOM в режим калибровки и командует ACU перемещаться в различные позиции, отправляя “известные” координаты каждому RIOM. В каждой позиции RIOM настраивают внутренние смещения/калибровку. После калибровки GUI команды ACU перемещают стенд в известные тестовые положения. В каждой точке GUI получает необработанные данные от всех сенсоров/RIOM. В конце процедуры GUI оценивает результаты по заданным допускам — прошло/не прошло.
Все тестируемые RIOM имеют фиксированный аппаратный IP: 192.168.0.63.
Публичный IP каждого RIOM, видимый GUI: 10.10.10.x
(10.10.10.14 — RIOM#1, 10.10.10.24 — RIOM#2, 10.10.10.34 — RIOM#3, 10.10.10.104 — RIOM#10)
Информация от инженерного отдела по протоколам:
“RIOM используют собственный UDP-протокол на порту 21001 для обычной связи. GUI также устанавливает TCP-соединение на порту 9760 для запуска payload. Мы добавляем собственную псевдо-TCP контрольную сумму и структуру в UDP-пакеты. Если хотите ставить правила в роутер, надо разрешить порты 21001 и 9760. GUI видит IP, который сообщает роутер. Если на WAN-порту роутера стоит 10.10.10.14, GUI будет с ним работать. С GUI точки зрения, все IP в таблице — это RIOM, с которыми возможна связь, а роутер занимается трансляцией. Роутеры просто переводят WAN (сеть GUI) в LAN (сети отдельных RIOM). Каждый роутер имеет уникальный IP и конвертирует запросы и ответы.”
Прикрепил простую схему стенда (учтите, у меня 10 роутеров, но здесь изображено только 5).
Спасибо большое за любые советы. Мне очень сложно разобраться, так как я не сетевой специалист, а у RouterBOARD столько настроек, что голова кругом.
mybackup.cfg.rsc (5.1 KB)

У нас возникают проблемы с потерей пакетов, отсутствующими данными и ошибками связи при тестировании сенсорной платы (так называемых RIOM). Это приводит к потере времени и повторным ошибкам при тестах. Тестовая система иногда работает, но нестабильно. Думаю, проблема может быть в настройках роутера. Поскольку RIOM используют в основном UDP, возможно, есть конфликт или переполнение буферов? Чем больше тестов в день, тем больше предупреждений об ошибках и пропавших данных при запуске очередной серии.
Я перехватываю этот проект у человека, который уже давно ушёл из компании, и поддержки немного. Полностью исключил проблемы с физическим соединением и кабелями. Из-за особенностей нашей работы и договоров с заказчиками продукт и графический интерфейс для тестирования менять нельзя. IP-адреса тоже менять нельзя.
Тестовый стенд — 10 RIOM, каждый за отдельным роутером.
Роутеры: RB750UPr2 hex poe lite (mipsbe) v6.47.9 (конфигурационный скрипт ниже).
Схема стенда (ниже).
Процесс
Автоматизирован с помощью интерактивного GUI на Windows 10. Сетевой интерфейс компьютера настроен на 192.168.129.250/24 и 10.10.10.250/24. Это позволяет GUI отправлять команды ACU для перемещений и принимать/отправлять данные с RIOM.
GUI сначала загружает программу на каждый RIOM для базовой работы. После перезагрузки GUI переводит RIOM в режим калибровки и командует ACU перемещаться в различные позиции, отправляя “известные” координаты каждому RIOM. В каждой позиции RIOM настраивают внутренние смещения/калибровку. После калибровки GUI команды ACU перемещают стенд в известные тестовые положения. В каждой точке GUI получает необработанные данные от всех сенсоров/RIOM. В конце процедуры GUI оценивает результаты по заданным допускам — прошло/не прошло.
Все тестируемые RIOM имеют фиксированный аппаратный IP: 192.168.0.63.
Публичный IP каждого RIOM, видимый GUI: 10.10.10.x
(10.10.10.14 — RIOM#1, 10.10.10.24 — RIOM#2, 10.10.10.34 — RIOM#3, 10.10.10.104 — RIOM#10)
Информация от инженерного отдела по протоколам:
“RIOM используют собственный UDP-протокол на порту 21001 для обычной связи. GUI также устанавливает TCP-соединение на порту 9760 для запуска payload. Мы добавляем собственную псевдо-TCP контрольную сумму и структуру в UDP-пакеты. Если хотите ставить правила в роутер, надо разрешить порты 21001 и 9760. GUI видит IP, который сообщает роутер. Если на WAN-порту роутера стоит 10.10.10.14, GUI будет с ним работать. С GUI точки зрения, все IP в таблице — это RIOM, с которыми возможна связь, а роутер занимается трансляцией. Роутеры просто переводят WAN (сеть GUI) в LAN (сети отдельных RIOM). Каждый роутер имеет уникальный IP и конвертирует запросы и ответы.”
Прикрепил простую схему стенда (учтите, у меня 10 роутеров, но здесь изображено только 5).
Спасибо большое за любые советы. Мне очень сложно разобраться, так как я не сетевой специалист, а у RouterBOARD столько настроек, что голова кругом.
mybackup.cfg.rsc (5.1 KB)


