Получите вектор 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 с.