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

То В этом примере показано, как использовать В Элементе Шины, блокируется, чтобы загрузить входные данные для шины. Используя В блоках Элемента Шины позволяет гибкость в разработке и реализации внешних интерфейсов для шин. Можно использовать блок 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, который сопоставляет с портом согласно Номеру порта, заданному в В диалоговом окне блока Элемента Шины.

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

Порты, которые загружают данные о шине, принимают структуры, состоявшие из отдельного timeseriesрасписание, и 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, в то время как структура все еще содержит данные для того элемента.

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