Присоедините сигналы шины к блокам 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 подключения к блоку Bus Selector BusSelector1; структура outbus1 подключения к другому блоку Bus Selector 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

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

Больше о