Присоедините сигналы шины к блокам MATLAB function

Для примера того, как использовать структуры в блоке MATLAB function, откройте модель emldemo_bus_struct.

В этой модели блок MATLAB function получает сигнал шины использование структуры inbus во входном порту 1 и выходные параметры два сигнала шины от структур outbus в выходном порту 1 и outbus1 в выходном порту 2. Входной сигнал прибывает из блока Bus Creator MainBusCreator, который связывается, сигнализирует о ele1, ele2 и ele3. ele3 сигнала является вывод другого блока Bus Creator SubBusCreator, который связывает сигналы a1 и a2. Структура outbus соединяется с блоком BusSelector1 Селектора Шины; структура outbus1 соединяется с другим блоком BusSelector3 Селектора Шины.

Чтобы исследовать функцию MATLAB® fcn, дважды кликните блок MATLAB function. Заметьте, что код неявно задает локальную переменную структуры mystruct с помощью функции struct и использует эту локальную переменную структуры, чтобы инициализировать значение первого вывода outbus. Это инициализирует второй вывод outbus1 к значению поля ele3 структуры inbus.

Определения структуры в примере

Вот определения структур в блоке MATLAB function в примере, когда они появляются в Портах и Менеджере данных:

Объекты шины задают вводы и выводы структуры

Каждый ввод и вывод структуры должен быть задан объектом Simulink.Bus в базовом рабочем пространстве (см., Создают Структуры в блоках MATLAB function). Это означает, что структура совместно использует те же свойства, как объект шины, включая номер, имя, вводит, и последовательность полей. В этом примере следующие объекты шины задают вводы и выводы структуры:

Объект Simulink.Bus MainBus задает структуру, ввел inbus и структуру вывод outbus. Объект Simulink.Bus SubBus задает структуру вывод outbus1. На основе этих определений inbus и outbus имеют те же свойства как MainBus и, поэтому, ссылаются на их поля теми же именами как поля в MainBus, с помощью записи через точку (см. Индексные Подструктуры и Поля). Точно так же outbus1 ссылается на свои поля теми же именами как поля в SubBus. Вот ссылки поля для каждой структуры в этом примере:

СтруктураПервое полеВторое полеТретье поле
inbusinbus.ele1inbus.ele2inbus.ele3
outbusoutbus.ele1outbus.ele2outbus.ele3
outbus1outbus1.a1outbus1.a2

Связанные примеры

Больше о

Была ли эта тема полезной?