Отправьте и получите данные по сети TCP/IP

То В этом примере показано, как создать простую модель с помощью Instrument Control Toolbox™, блокируется в библиотеке блоков в сочетании с другими блоками в библиотеке Simulink®. Этот пример также иллюстрирует, как отправить данные в сервер эха с помощью TCP/IP и считать что данные назад в модель.

В этом примере вы создаете сервер эха на своей машине, которая симулирует отправку сигнала с блоком TCP/IP Send, и повторите результат назад с блоком Send, чтобы отправить данные. Вы затем используете блок TCP/IP Receive, чтобы считать те же самые данные назад в вашу модель.

Примечание

Имена блока не показывают по умолчанию в модели. Чтобы отобразить скрытые имена блока при работе в модели, выберите Display и снимите флажок Hide Automatic Names.

Шаг 1: создайте сервер эха

Откройте порт на своем компьютере, чтобы работать сервером эха, который можно использовать, чтобы отправить и получить сигналы с помощью TCP/IP. Чтобы создать сервер эха, запустите следующую команду в MATLAB®.

echotcpip('on',50000)

Порт 50000 открывается на вашей машине, чтобы работать сервером эха и включить ее.

Шаг 2: создайте новую модель

Чтобы запустить Simulink и создать новую модель, введите следующее в командной строке MATLAB.

simulink

На начальной странице Simulink нажмите Blank Model и затем Create Model. Пустое окно Editor открывается.

В панели инструментов нажмите Save, чтобы присвоить имя к вашей новой модели.

Шаг 3: откройте библиотеку блоков

В панели инструментов нажмите Library Browser во вкладке Simulation.

Браузер Библиотеки Simulink открывается. Левая панель содержит дерево доступных библиотек блоков в алфавитном порядке. Нажмите Instrument Control Toolbox.

Чтобы использовать блок, добавьте его в существующую модель или создайте новую модель.

Шаг 4: перетащите блоки Instrument Control Toolbox в модель

Чтобы использовать блок в модели, перетащите блок в Редактор Simulink. Для этой модели вам нужен один экземпляр TCP/IP Send и блоков TCP/IP Receive в вашей модели.

Шаг 5: перетащите блоки Sine Wave и Scope, чтобы завершить модель

Этот пример требует еще двух блоков. Один блок отображает данные, полученные от блока TCP/IP Receive, и другой блок является данными, которые будут отправлены в блок TCP/IP Send.

Блоку TCP/IP Send нужен источник данных для данных, которые будут отправлены. Добавьте блок Sine Wave (Simulink) в модель, чтобы отправить сигналы в блок TCP/IP Send. Чтобы получить доступ к блоку Sine Wave, расширьте узел Simulink в дереве браузера и кликните по записи библиотеки Sources. От блоков на правой панели перетащите блок Sine Wave в модель и поместите его слева от блока TCP/IP Send.

Чтобы отобразить данные, полученные блоком TCP/IP Receive, используйте блок Scope (Simulink). Чтобы получить доступ к этому блоку, кликните по записи библиотеки Sinks в расширенном узле Simulink в дереве браузера. От блоков на правой панели перетащите блок Display в модель и поместите его справа от блока TCP/IP Receive.

Шаг 6: соедините блоки

Установите связь между блоком Sine Wave и блоком TCP/IP Send. Быстрый способ установить связь состоит в том, чтобы выбрать блок Sine Wave, нажать и удержать клавишу Ctrl, и затем кликнуть по блоку TCP/IP Send. Таким же образом установите связь между выходным портом блока TCP/IP Receive и входным портом блока Scope.

Шаг 7: задайте значения параметров блоков

Установите параметры для блоков в вашей модели путем двойного клика по блоку.

Сконфигурируйте отправить блок

Дважды кликните блок TCP/IP Send, чтобы открыть его диалоговое окно параметров. Установите поле Remote address на localhost и поле Port к 50000, поскольку это - адрес, вы устанавливаете сервер эха на то, когда вы запустили его.

Нажмите Apply и затем OK.

Сконфигурируйте получить блок

Дважды кликните блок Receive, чтобы открыть его диалоговое окно параметров. Установите поле Remote address на localhost и поле Port к 50000. Измените Data type в double. Поле Block sample time установлено в 0.01 по умолчанию. Шаг расчета блока здесь должен совпадать с тем в блоке Sine Wave, поэтому подтвердите, что они оба установлены в 0.01.

Нажмите OK.

Сконфигурируйте блок Sine wave

Дважды кликните блок Sine Wave, чтобы открыть его диалоговое окно параметров. Установите поле Sample time на 0.01.

Нажмите OK.

Шаг 8: задайте приоритеты блока

Чтобы запустить симуляцию правильно, задайте порядок, в котором Simulink обрабатывает блоки. Щелкните правой кнопкой по блоку и выберите Properties. Введите приоритетный номер в поле Priority. В данном примере установите приоритет TCP/IP Send к 1 и TCP/IP Receive к 2.

Внимание

Необходимо установить правильный приоритет для блоков в модели. В противном случае вы можете видеть неожиданные результаты.

Также необходимо установить два параметра на модели. В панели инструментов Simulink нажмите Model Settings от раздела Prepare по вкладке Simulation. В диалоговом окне Configuration Parameters, набор поле Type к Fixed-step и набор поле Solver к discrete (no continuous states).

Нажмите OK.

Шаг 9: запустите симуляцию

Чтобы запустить симуляцию, нажмите зеленую кнопку Run на Редакторе Simulink панель инструментов. Можно использовать опции панели инструментов, чтобы задать, сколько времени запустить симуляцию и остановить рабочую симуляцию.

В то время как симуляция запускается, строка состояния в нижней части Редактора Simulink обновляет прогресс симуляции.

Шаг 10: просмотрите результат

Дважды кликните блок Scope, чтобы просмотреть сигнал на графике, когда это получено блоком TCP/IP Receive.

Для получения дополнительной информации о блоках Instrument Control Toolbox, см. справочную документацию блоков.

Смотрите также

|

Похожие темы