Получение данных по сети UDP с указанного удаленного компьютера
Панель инструментов управления приборами

Блок приема UDP конфигурирует и открывает интерфейс к указанному удаленному адресу с помощью протокола UDP. Конфигурирование и инициализация выполняются один раз в начале выполнения модели. Во время работы модели блок получает данные либо в блокирующем, либо в неблокирующем режиме.
Примечание
Для использования этого блока необходима лицензия как на Toolbox™ управления приборами, так и на программное обеспечение Simulink ®.
Этот блок не имеет входных портов. Он имеет один или два выходных порта в зависимости от выбранного режима блокировки или отсутствия блокировки. При выборе режима блокировки блок будет иметь один выходной порт, соответствующий полученным данным.

Если режим блокировки не выбран, блок будет иметь два выходных порта - порт данных и порт состояния.
Буфер FIFO принимает данные. На каждом шаге времени порт данных выводит запрошенные значения из буфера. В неблочном режиме порт Status указывает, получил ли блок новые данные.
Этот блок поддерживает использование режима Simulink Accelerator™, но не Rapid Accelerator или создание кода.
Блок поддерживает использование ссылок на модели, так что модель может включать другие модели Simulink в качестве модульных компонентов.
Дополнительные сведения об этих функциях см. в документации Simulink.
Примечание
Переменные MATLAB можно вводить в поля редактирования текста в диалоговом окне Параметры блока приема UDP, за исключением следующих полей: Локальный адрес, Удаленный адрес, строка формата ASCII и Терминатор.
Укажите IP-адрес, имя или адрес веб-сервера локального узла. Это то же самое, что и интерфейс UDP localhost собственность. По умолчанию это поле пусто.
Укажите порт для привязки на локальном компьютере. Значение по умолчанию: -1, который автоматически привязывается к доступному порту.
Используется для включения совместного использования портов. Порты UDP могут совместно использоваться другими приложениями, что позволяет нескольким приложениям прослушивать дейтаграммы UDP на этом порту. Можно привязать UDP-объект к определенному LocalPort и в другом приложении привязать сокет UDP к тому же номеру локального порта, чтобы оба могли принимать широковещательные данные UDP. Включение этого параметра позволяет другим UDP-сокетам привязываться к UDP-объектам LocalPort. По умолчанию он отключен.
Укажите IP-адрес, имя или адрес веб-сервера компьютера, с которого необходимо получать данные. Для этого поля установлено значение localhost по умолчанию.
Укажите удаленный порт на хосте, к которому необходимо подключиться. Значение порта по умолчанию: 9090. Допустимые значения порта: 1 кому 65535.
Нажмите эту кнопку, чтобы:
Проверьте правильность указанного удаленного адреса.
Установите соединение с указанным удаленным адресом и портом.
Разрешить прием последних данных из блока приема UDP. Данные обычно принимаются способом FIFO. Если этот параметр включен, вместо использования метода FIFO принимаются последние доступные пакеты. Обратите внимание, что этот параметр отключен, если типом данных является ASCII. По умолчанию этот параметр отключен.
Укажите размер выходных данных или количество значений, которые должны считываться на каждом этапе моделирования. Размер по умолчанию: [1 1].
Укажите тип входных данных для получения из блока. Можно выбрать одно из следующих значений:
single
double
int8
uint8 (по умолчанию)
int16
uint16
int32
uint32
ASCII
Эта опция доступна только при выборе ASCII в качестве типа данных. Он определяет строку формата для данных. Список форматов см. в разделе fscanf функция.
Эта опция доступна только при выборе ASCII в качестве типа данных. Он может использоваться для установки терминатора для считывания данных. Дополнительные сведения о настройке свойства см. в разделе Terminator.
При использовании двоичного формата или формата binblock с более чем 8 битами можно указать порядок байтов инструмента для данных. Ваши варианты: BigEndian или LittleEndian.
Укажите, требуется ли блокировать моделирование при получении данных. Эта опция выбрана по умолчанию. Снимите этот флажок, если операция чтения не должна блокировать моделирование.
Если включен режим блокировки, модель будет блокировать моделирование, пока она ожидает, когда будут доступны запрошенные данные. Если режим блокировки не включен, моделирование выполняется непрерывно. Блок имеет два выходных порта: Status и Data. Порт данных содержит запрашиваемый набор данных на каждом шаге времени. Порт Status содержит 0 или 1 в зависимости от того, были ли получены новые данные на данном шаге времени. На следующих диаграммах показана разница между получением данных в режиме блокировки и в режиме неблокировки.
В этом примере моделирование запускается в момент времени (t = 0) и указывается объем данных, который должен быть получен как 4 (в поле Размер данных диалогового окна Параметры блока приема UDP). После начала моделирования данные собираются асинхронно в буфере FIFO.
Режим блокировки

Моделирование режима блокировки происходит следующим образом:
Во время шага 1: программное обеспечение Simulink запрашивает данные, и буфер имеет четыре доступных значения, блок выполняет запрос без прерывания моделирования. Блок сбрасывает значение буфера на 0.
Во время шага 2: программное обеспечение Simulink снова запрашивает данные, и буфер имеет только три значения, поэтому он блокирует моделирование, пока не получит четвертое значение. Когда блок получает четвертое значение, он выполняет запрос и возобновляет моделирование. Блок сбрасывает значение буфера на 0.
На шаге 3: Когда программное обеспечение Simulink запрашивает данные, блок имеет пять значений и возвращает первые четыре, которые он получил, и сбрасывает буфер в 1.
Если запрошенные данные не получены в течение периода времени, указанного в поле Timeout (диалогового окна UDP Receive Block Parameters), происходит ошибка программного обеспечения Simulink и моделирование останавливается.
Примечание
В режиме блокировки, если на компьютере имеется несколько UDP-моделей, убедитесь, что блок получения получает данные. Если это не так, то модель может выйти из строя. Этого можно избежать, изменив блок на режим «Без блокировки» или сбросив приоритет блока.
Неблочный режим

Здесь моделирование не блокируется и выполняется непрерывно.
Во время шага 1: программное обеспечение Simulink запрашивает данные, и буфер имеет четыре доступных значения, блок выполняет запрос и изменяет Status значение порта в 1, указывая, что новые данные доступны. Data порт в этой точке содержит вновь полученные значения. Блок сбрасывает значение буфера на 0.
Во время шага 2: программное обеспечение Simulink снова запрашивает данные, и буфер имеет только три значения, и блок не может вернуть их, так как размер данных указан как 4. Поэтому блок устанавливает Status значение порта в 0, указывая на отсутствие новых данных. Data порт содержит ранее полученное значение, а буфер имеет значение три (количество значений, полученных с момента выполнения последнего запроса).
На шаге 3: Когда программное обеспечение Simulink запрашивает здесь данные, буфер теперь имеет пять значений и возвращает первые четыре в том порядке, в котором он получил, и изменяет Status значение порта в 1.
Укажите время, в течение которого модель будет ждать данных в течение каждого шага времени моделирования. Значение по умолчанию: inf (секунды). Это поле недоступно, если режим блокировки не включен.
Укажите время выборки блока во время моделирования. Значение по умолчанию: 0.01 (секунды).
Запрос КИП, Настройка последовательного канала, Последовательный прием, Последовательная отправка, TCP/IP получение, TCP/IP Отправка, На прибор, UDP Отправка