exponenta event banner

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

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

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

Примечание

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

Шаг 1: Создание эхо-сервера

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

echotcpip('on',50000)

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

Шаг 2: Создание новой модели

Для запуска Simulink и создания новой модели введите в командной строке MATLAB следующее.

simulink

На начальной странице Simulink щелкните Пустая модель (Blank Model), а затем Создать модель (Create Model). Откроется пустое окно редактора.

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

Шаг 3: Открытие библиотеки блоков

На панели инструментов выберите «Обозреватель библиотек» на вкладке «Моделирование».

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

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

Шаг 4: Перетащите блоки панели инструментов управления приборами в модель

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

Шаг 5. Перетащите блоки синусоидальной волны и области действия для завершения модели

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

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

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

Шаг 6. Подключение блоков

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

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

Задайте параметры блоков в модели, дважды щелкнув блок.

Настройка блока отправки

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

Нажмите кнопку Применить и нажмите кнопку ОК.

Настройка блока приема

Дважды щелкните блок получения, чтобы открыть его диалоговое окно параметров. Установите в поле Удаленный адрес значение localhost и поле Port to 50000. Измените тип данных на double. В поле Block sample time установлено значение 0.01 по умолчанию. Время выборки блока здесь должно соответствовать времени в блоке синусоидальной волны, поэтому подтвердите, что они оба установлены на 0.01.

Нажмите кнопку ОК.

Конфигурирование синусоидального блока

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

Нажмите кнопку ОК.

Шаг 8: Определение приоритетов блоков

Для корректного выполнения моделирования укажите порядок обработки блоков в Simulink. Щелкните правой кнопкой мыши блок и выберите «Свойства». Введите номер приоритета в поле Приоритет. В этом примере установите приоритет TCP/IP Send to 1 и получение TCP/IP в 2.

Внимание

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

Также необходимо задать два параметра в модели. На панели инструментов Simulink щелкните Параметры модели (Model Settings) в разделе Подготовка (Prepare) на вкладке Моделирование (Simulation). В диалоговом окне Параметры конфигурации установите в поле Тип значение Fixed-step и установите в поле Решатель значение discrete (no continuous states).

Нажмите кнопку ОК.

Шаг 9: Запуск моделирования

Для запуска моделирования нажмите зеленую кнопку «Выполнить» на панели инструментов редактора Simulink. Параметры панели инструментов можно использовать для указания продолжительности выполнения моделирования и остановки выполнения моделирования.

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

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

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

Дополнительные сведения о блоках панели инструментов управления приборами см. в справочной документации по блокам.

См. также

|

Связанные темы