Получите uint8
вектор как сообщение UDP
Источники
dspsrcs4
Блок UDP Receive получает пакеты UDP от порта сети IP и сохраняет их в его буфер. С каждой выборкой блок выводит содержимое одного пакета UDP как вектор данных. Локальный номер порта IP, на котором блок получает пакеты UDP, является настраиваемым в сгенерированном коде C/C++.
Сгенерированный код для этого блока использует предварительно созданный .dll
файлы. Можно запустить этот код вне среды MATLAB® или повторно развернуть его, но необходимо объяснить их дополнительный .dll
файлы при выполнении так. packNGo
функция создает один zip-файл, содержащий все части, требуемые запустить или восстановить этот код. Для получения дополнительной информации смотрите, Как Запустить Сгенерированный Исполняемый файл Вне MATLAB.
Задайте номер порта IP, на котором можно получить пакеты UDP. Этот параметр является настраиваемым в сгенерированном коде C/C++, но не настраиваемым в процессе моделирования. Значением по умолчанию является 25000
. Значение может быть в области значений [1, 65535].
На Linux®, чтобы установить номер порта IP ниже 1024, запускают MATLAB с полномочиями пользователя root. Например, в командной строке Linux, введите:
sudo matlab
'
0.0.0.0'
принять все)Задайте IP-адрес, от которого можно принять пакеты. Ввод определенного IP-адреса блокирует пакеты UDP от других адресов. Чтобы принять пакеты от любого IP-адреса, введите '0.0.0.0'
. Это значение значения по умолчанию к '0.0.0.0'
.
Сделайте получить буфер достаточно большим, чтобы избежать потери данных, вызванной переполнением буфера. Это значение значения по умолчанию к 8192
.
Задайте максимальную длину, в векторных элементах, вектора вывода данных. Установите этот параметр на значение, равное или больше, чем размер данных пакета UDP. Система обрезает данные, которые превышают эту длину. Это значение значения по умолчанию к 255
.
Если вы отключаете Output variable-size signal, выходные параметры блока, фиксированная длина вывела ту же длину как Maximum length for Message.
Установите тип данных векторных элементов в сообщении выход. Совпадайте с типом данных вводу данных, используемому, чтобы создать пакеты UDP. Эта опция значения по умолчанию к uint8
.
Выберите этот параметр, чтобы получить сообщение как комплексные данные. Очистите этот параметр, если полученное сообщение действительно. По умолчанию этот параметр не выбран.
Если ваша модель поддерживает сигналы различной длины, включите параметр Output variable-size signal. Этот флажок значения по умолчанию к выбранному (включил). В этом случае:
Выходной вектор варьируется по длине, в зависимости от объема данных в пакете UDP.
Блок испускает вектор данных от одного непомеченного выхода.
Если ваша модель не поддерживает сигналы различной длины, отключите параметр Output variable-size signal. В этом случае:
Блок испускает фиксированную длину, выводит ту же длину как Maximum length for Message.
Если пакет UDP содержит меньше данных, чем фиксированная длина выход, различие содержит недопустимые данные.
Блок испускает вектор данных от Message выход.
Блок испускает длину допустимых данных из Length выход.
Диалоговое окно блока отображает параметр Data type for Length.
В обоих случаях блок обрезает данные, которые превышают Maximum length for Message.
Для каждой выборки ожидайте этот отрезок времени пакета UDP перед возвращающимся управлением к планировщику. Это значение значения по умолчанию к inf
, который указывает, чтобы ожидать неопределенно.
Этот параметр появляется только в блоке Embedded Coder® UDP Receive.
Задайте, как часто планировщик запускает этот блок. Введите значение, больше, чем нуль. В режиме реального времени операция, устанавливая эту опцию на меньшее значение уменьшает вероятность пропущенных сообщений UDP. Это значение значения по умолчанию к шагу расчета 0,01 с.