• Регистрация
Павел
Павел 0.00
н/д

Получение пакетов UDP из simulink с помощью блоков UDP Receive разных библиотек.

13.04.2021

Всем привет! Данный вопрос возник в результате тестирования возможностей simulink получать и отображать полученные по протоколу UDP данные. И даже после дня боли и страдания возни и  попыток  получить один заветный пакетик данных в окне модели simulink остались вопросы на которые я не смог найти ответы в свободном доступе, ибо любой найденный материал по теме UDP в simulik выглядит как-то так: Сюда пишем то-то и то-то и вуаля, смотри, все работает.... А У МЕНЯ НЕ РАБОТАЕТ!! Надеюсь нашему самому продвинутому в вопросах моделирования сообществу удасться разгадать проблему. 

Если кратко, то основной вопрос формулируется так:
0. Почему блок UDP Receive библиотеки Instrument Control Toolbox не работает при любых танцах с бубном настройках?

Далее подробно о проблеме.

Виртуальный стенд представляет из себя ПК с simulink, подключенный к локальной сети и имеет ip 192.168.7.164, это наш "приемник".

 На этот же пк уставлена виртуальная машина с ubuntu на борту, подключенная к той же сети и имеющая  ip 192.168.7.133. Тут уже установленна программа packetsender, которая позволяет отправлять пакеты информации на любой ип, это наш "передатчик".  

Так выглядит "передатчик"

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

Так выглядит "приемник"

Она состоит из двух блоков с одинаковым названием UDP Receive , но из разных библиотек, а именно: Instrument Control Toolbox и DSP System Toolbox. А так же блоков отображения и сохранения полученных данных.

Так вот основная загвоздка в том, что блок DSP System Toolbox принимает информацию!! а блок Instrument Control Toolbox молчит. 

Блоки UDP Receive имеют одинаковые параметры настройки:

Приведенные выше значения настроек были вычисленны опытным путем и с помощью данной публикации https://github.com/alireza787b/X-Plane-11-Simulink-Real-Time-Communication

Local IP port: 55555  (любой свободный порт)

Remote IP address: '127.0.0.1'   (так называемый localhost. Использование адреса "приемника" 192.168.7.164 не дает результатов, что странно)

Remote address: 192.168.7.133 (адресс "передатчика", пробовал вводить локалхост но не пашет)

Remote IP address: '127.0.0.1' (адресс "передатчика")

Remote port: 5353  (порт "передатчика". Порт виртуальной машины, перебирались все открытые порты но это не дало результата)

Отсюда дополнительные вопросы:

00. какого черта?

1. Почему нужно вводить адрес локальной машины а не удаленной в поле Remote IP address блока из DSP System Toolbox ?

2. Какой все-таки адресс нужно вводить в блоке Remote address из Instrument Control Toolbox ?

3. Какой порт вводить в поле Remote port ? Любой из открытых или как-то создовать отдельный? 

 

 

 

Теги

    13.04.2021

    Ответы