Загрузите входные данные для шины Используя в блоках элемента шины

Этот пример показывает, как использовать В блоках Элемента Шины, чтобы загрузить входные данные для шины. Используя В блоках Элемента Шины позволяет гибкость в разработке и реализации внешних интерфейсов для шин. Можно использовать блок In Bus Element, чтобы загрузить данные для элемента шины и загрузить данные для целой шины. Можно также использовать несколько В блоках Элемента Шины, чтобы выбрать тот же элемент шины.

Откройте и осмотрите модель

Откройте модель ex_load_inbuselement.

open_system('ex_load_inbuselement.slx')

Один или несколько В блоках Элемента Шины может задать порт в модели. Модель ex_load_inbuselement имеет один порт, InBus, заданный три В блоках Элемента Шины. Метка для каждого блока In Bus Element указывает на элемент шины, который выбирает блок. Порт InBus соответствует шине, содержащей вложенную шину, a, с сигналами x и y, и отдельный сигнал, b.

Используйте Входной параметр на панели Импорта/Экспорта Данных, чтобы задать данные о рабочей области, чтобы загрузить как вход симуляции для порта в модели. Входной параметр для модели ex_load_inbuselement загружает переменную struct1, которая сопоставляет с портом согласно Номеру порта, заданному в диалоговом окне блока In Bus Element.

Создайте входные данные

Порты, которые загружают данные о шине, принимают структуры, состоявшие из отдельного timeseries, timetable и объектов matlab.io.datastore.SimulationDatastore. Иерархия структуры должна совпадать с иерархией шины. Порты, которые используют В блоках Элемента Шины, чтобы выбрать элементы шины, позволяют частичную спецификацию и сверхспецификацию данных.

Этот пример создает структуру с помощью трех сигналов timeseries, которые соответствуют синусоиде, строке и константе.

time = linspace(0,10,11);
sineData = sin(time);
constData = 3*ones(11,1);
lineData = linspace(0,10,11);

tsSine = timeseries(sineData,time);
tsConst = timeseries(constData,time);
tsLine = timeseries(lineData,time);

Создайте структуру, struct1, чтобы обеспечить входные данные для порта в модели. Имена полей структуры должны совпадать с именами элементов шины.

struct1.a.x = tsConst;
struct1.a.y = tsLine;
struct1.b = tsSine;

Полностью задайте входные данные

Данные, созданные в предыдущем разделе полностью, задают данные для сигналов, выбранных В блоках Элемента Шины в модели. Моделируйте модель и наблюдайте сигналы относительно блоков Осциллографа Инструментальной панели.

Частично задайте входные данные

Когда вы используете В блоках Элемента Шины, чтобы выбрать элементы шины, можно частично задать данные с помощью структуры, которая не включает один или несколько выбранных элементов. Элементы без данных, заданных в структуре, используют наземные значения сигналов для симуляции.

Например, отредактируйте метку для блока In Bus Element, который выбирает элемент InBus.a.y так, чтобы блок In Bus Element выбрал InBus.a.z. Структура, которая сопоставляет с портом InBus, не содержит поле для z во вложенной структуре, a. Когда вы моделируете модель, не изменяя структуру, Осциллограф Инструментальной панели показывает основание для InBus.a.z.

Изменитесь В блокировке порта Элемента Шины, которая выбирает InBus.a.z назад, чтобы выбрать InBus.a.y.

Чрезмерно определите входные данные

Когда вы используете В блоках Элемента Шины, чтобы выбрать элементы шины, можно чрезмерно определить данные для порта. Чрезмерно определенные входные данные содержат сигналы, которые не выбраны ни одним из В блоках Элемента Шины в модели.

Например, измените метку для блока In Bus Element, который выбирает InBus.a.y, чтобы выбрать InBus.b. Теперь, ни один из В блоках Элемента Шины не выбирает InBus.a.y, в то время как структура все еще содержит данные для того элемента.

Моделируйте модель и наблюдайте сигналы относительно блоков Осциллографа Инструментальной панели.