То В этом примере показано, как создать простую модель с помощью Instrument Control Toolbox™, блокируется в библиотеке блоков в сочетании с другими блоками в библиотеке Simulink®. Этот пример также иллюстрирует, как отправить данные в сервер эха с помощью TCP/IP и считать что данные назад в модель.
В этом примере вы создаете сервер эха на своей машине, которая симулирует отправку сигнала с блоком TCP/IP Send, и повторите результат назад с блоком Send, чтобы отправить данные. Вы затем используете блок TCP/IP Receive, чтобы считать те же самые данные назад в вашу модель.
Примечание
Имена блока не показывают по умолчанию в модели. Чтобы отобразить скрытые имена блока при работе в модели, выберите Display и снимите флажок Hide Automatic Names.
Откройте порт на своем компьютере, чтобы работать сервером эха, который можно использовать, чтобы отправить и получить сигналы с помощью TCP/IP. Чтобы создать сервер эха, запустите следующую команду в MATLAB®.
echotcpip('on',50000)
Порт 50000 открывается на вашей машине, чтобы работать сервером эха и включить ее.
Чтобы запустить Simulink и создать новую модель, введите следующее в командной строке MATLAB.
simulink
На начальной странице Simulink нажмите Blank Model и затем Create Model. Пустое окно Editor открывается.
В панели инструментов нажмите Save, чтобы присвоить имя к вашей новой модели.
В панели инструментов нажмите Library Browser во вкладке Simulation.
Браузер Библиотеки Simulink открывается. Левая панель содержит дерево доступных библиотек блоков в алфавитном порядке. Нажмите Instrument Control Toolbox.
Чтобы использовать блок, добавьте его в существующую модель или создайте новую модель.
Чтобы использовать блок в модели, перетащите блок в Редактор Simulink. Для этой модели вам нужен один экземпляр TCP/IP Send и блоков TCP/IP Receive в вашей модели.
Этот пример требует еще двух блоков. Один блок отображает данные, полученные от блока 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.
Установите связь между блоком Sine Wave и блоком TCP/IP Send. Быстрый способ установить связь состоит в том, чтобы выбрать блок Sine Wave, нажать и удержать клавишу Ctrl, и затем кликнуть по блоку TCP/IP Send. Таким же образом установите связь между выходным портом блока TCP/IP Receive и входным портом блока Scope.
Установите параметры для блоков в вашей модели путем двойного клика по блоку.
Дважды кликните блок 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, чтобы открыть его диалоговое окно параметров. Установите поле Sample time на 0.01
.
Нажмите OK.
Чтобы запустить симуляцию правильно, задайте порядок, в котором 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.
Чтобы запустить симуляцию, нажмите зеленую кнопку Run на Редакторе Simulink панель инструментов. Можно использовать опции панели инструментов, чтобы задать, сколько времени запустить симуляцию и остановить рабочую симуляцию.
В то время как симуляция запускается, строка состояния в нижней части Редактора Simulink обновляет прогресс симуляции.
Дважды кликните блок Scope, чтобы просмотреть сигнал на графике, когда это получено блоком TCP/IP Receive.
Для получения дополнительной информации о блоках Instrument Control Toolbox, см. справочную документацию блоков.
TCP/IP Получает | TCP/IP Отправляет