В этом примере показано, как построить простую модель с использованием блоков Toolbox™ управления приборами в библиотеке блоков в сочетании с другими блоками в библиотеке Simulink ®. В этом примере также показано, как отправлять данные на эхо-сервер с помощью TCP/IP и считывать эти данные обратно в модель.
В этом примере на компьютере создается эхо-сервер, имитирующий отправку сигнала в блок TCP/IP Send и эхо результат обратно в блок Send для отправки данных. Затем используется блок получения TCP/IP для считывания этих же данных обратно в модель.
Примечание
Имена блоков по умолчанию в модели не отображаются. Чтобы отобразить имена скрытых блоков во время работы в модели, установите флажок Показать (Display) и снимите флажок Скрыть автоматические имена (Hide Automatic Names).
Шаг 4: Перетащите блоки панели инструментов управления приборами в модель
Шаг 5. Перетащите блоки синусоидальной волны и области действия для завершения модели
Откройте порт на компьютере для работы в качестве эхо-сервера, который можно использовать для отправки и приема сигналов с помощью TCP/IP. Чтобы создать эхо-сервер, выполните следующую команду в MATLAB ®.
echotcpip('on',50000)Порт 50000 открывается на вашем компьютере, чтобы работать как эхо-сервер и включать его.
Для запуска Simulink и создания новой модели введите в командной строке MATLAB следующее.
simulink
На начальной странице Simulink щелкните Пустая модель (Blank Model), а затем Создать модель (Create Model). Откроется пустое окно редактора.
На панели инструментов нажмите кнопку Сохранить (Save), чтобы назначить имя новой модели.
На панели инструментов выберите «Обозреватель библиотек» на вкладке «Моделирование».
Откроется обозреватель библиотеки Simulink. Левая панель содержит дерево доступных библиотек блоков в алфавитном порядке. Щелкните Инструмент управления приборами (Instrument Control Toolbox).
Чтобы использовать блок, добавьте его в существующую модель или создайте новую модель.

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

В этом примере требуется еще два блока. Один блок отображает данные, полученные от блока получения 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.

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

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

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

Нажмите кнопку ОК.
Дважды щелкните блок синусоидальной волны, чтобы открыть его диалоговое окно параметров. Установите в поле Sample time значение 0.01.
Нажмите кнопку ОК.
Для корректного выполнения моделирования укажите порядок обработки блоков в Simulink. Щелкните правой кнопкой мыши блок и выберите «Свойства». Введите номер приоритета в поле Приоритет. В этом примере установите приоритет TCP/IP Send to 1 и получение TCP/IP в 2.
Внимание
Необходимо установить правильный приоритет для блоков в модели. В противном случае могут появиться неожиданные результаты.
Также необходимо задать два параметра в модели. На панели инструментов Simulink щелкните Параметры модели (Model Settings) в разделе Подготовка (Prepare) на вкладке Моделирование (Simulation). В диалоговом окне Параметры конфигурации установите в поле Тип значение Fixed-step и установите в поле Решатель значение discrete (no continuous states).

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

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

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