Преобразуйте массив ячеек, содержащий информацию о шине к Simulink.Bus object s
Simulink.Bus
Объект от массива ячеек информации о шинеВ этом примере показано, как создать и использовать массив ячеек, чтобы сгенерировать Simulink.Bus
объекты в базовом рабочем пространстве.
Задавать элементы что Bus
объект содержит, создайте массив Simulink.BusElement
объекты или массив ячеек значений свойств для BusElement
объекты.
Когда вы задаете элементы в массиве BusElement
объекты, необходимо задать значения, которые отличаются от значения по умолчанию.
elementsArray(1) = Simulink.BusElement; elementsArray(2) = Simulink.BusElement; elementsArray(2).Name = 'b'; elementsArray(2).Min = -3; elementsArray(2).Max = 3; elementsArray(2).Unit = 'm'; elementsArray(2).Description = 'b is distance from the origin.';
Когда вы задаете элементы в массиве ячеек значений свойств, необходимо задать имя элемента, размерности, тип данных, сложность и режим выборки. Можно также задать режим размерностей, минимум, максимум, модули и описание.
elementsCellArray = {{'a',1,'double',-1,'real','Sample'}; ... {'b',1,'double','real','Sample',... 'Fixed',-3,3,'m','b is distance from the origin'}};
В этом примере, elementsArray
и elementsCellArray
создайте тот же BusElement
объекты в Bus
объекты.
Создайте массив ячеек с двумя зависимыми массивами ячеек, которые задают Bus
объекты. Для каждого Bus
возразите, задайте имя шины, заголовочный файл, описание, осциллограф данных, выравнивание, сохраните размерности элемента и элементы. Для первого Bus
возразите, укажите элементы с помощью elementsArray
. Для второго Bus
возразите, укажите элементы с помощью elementsCellArray
.
busCells = { ... { ... 'myBusObjArray', ... 'MyHeader.h', ... 'My description', ... 'Exported', ... '-1', ... '0', ... elementsArray,... }, ... { ... 'myBusObjCellArray', ... 'MyHeader.h', ... 'My description', ... 'Exported', ... '-1', ... '0', ... elementsCellArray,... }, ... };
Сгенерируйте Bus
объекты в базовом рабочем пространстве от массива ячеек массивов ячеек.
Simulink.Bus.cellToObject(busCells)
Сравните сгенерированный Bus
объекты в Редакторе Шины.
buseditor
Bus
объекты идентичны кроме своих имен.
busCell
— информация о Simulink.Bus objectBus
информация об объекте в виде массива ячеек массивов ячеек. Каждый зависимый массив ячеек должен содержать этот Bus
информация об объекте:
Соедините шиной имя
Заголовочный файл
Описание
Осциллограф данных
Выравнивание
Сохраните размерности элемента
Элементы
Поле элементов является массивом ячеек, который содержит эту информацию для каждого Simulink.BusElement
объекты, что Bus
ссылки на объект:
Поле элементов должно содержать массивы или массивы ячеек с этой информацией для каждого Simulink.BusElement
объекты, что Bus
ссылки на объект:
Имя элемента
Размерности
Тип данных
(Дополнительный) шаг расчета — Если вы задаете шаг расчета, задайте наследованный шаг расчета (-1
). Ненаследованный шаг расчета вызывает ошибку во время компиляции модели. Для получения дополнительной информации смотрите, что Simulink.BusElement object s больше не поддерживает свойство SampleTime.
Сложность
Режим Sampling
Полевые массивы элементов или массивы ячеек могут также содержать эту информацию:
Режим Dimensions
Минимум
Максимум
Модули
Описание
Пример: Simulink.Bus.cellToObject(busCell);
scope
— Словарь данных, чтобы содержать Simulink.Bus object sSimulink.data.Dictionary
объектСловарь данных в виде Simulink.data.Dictionary
объект. Прежде чем вы будете использовать этот аргумент, будете представлять словарь Simulink.data.Dictionary
объект при помощи, например, Simulink.data.dictionary.create
или Simulink.data.dictionary.open
функция.
Если scope
пусто, функция использует базовое рабочее пространство MATLAB в качестве источника Bus
объекты.
Пример: Simulink.Bus.cellToObject(busCell,dataDictionaryObject);
Обратная функция Simulink.Bus.objectToCell
.
Simulink.BusElement
объекты больше не поддерживают SampleTime
свойствоОшибки, запускающиеся в R2020b
SampleTime
свойство Simulink.BusElement
объекты больше не поддерживаются.
BusElement
объекты, которые задают шаг расчета, вызывают ошибку во время компиляции. Удалить спецификацию шага расчета из BusElement
объект, набор его SampleTime
к -1
.
Simulink.Bus.cellToObject
продолжает принимать массивы ячеек, которые задают шаг расчета для элементов шины. Simulink.Bus.objectToCell
, Simulink.Bus.save
, и Simulink.Bus.createObject
продолжите возвращать массивы ячеек или массивы, которые включают шаг расчета, когда он не наследован. Когда шаг расчета наследован (-1
), они не используют его. Точно так же Bus Editor и Model Explorer не используют шаг расчета, когда это наследовано.
Чтобы задать шаг расчета для элемента шины, используйте SampleTime
параметры блоков соответствующих блоков. Например, можно использовать In Bus Element, Out Bus Element и блоки Signal Specification, чтобы задать шаг расчета.
Simulink.BusElement
объекты больше не будут поддерживать SamplingMode
свойствоНе рекомендуемый запуск в R2016b
В R2016b, SamplingMode
свойство Simulink.BusElement
объекты были удалены. Скрипты, которые используют SamplingMode
свойство Simulink.BusElement
объекты продолжают работать. Simulink.Bus.cellToObject
продолжает требовать SamplingMode
поле и Simulink.Bus.objectToCell
продолжает включать режим выборки в выходные массивы ячеек.
В будущем релизе поддержите для SamplingMode
свойство будет удалено.
Чтобы задать, основан ли сигнал на выборке или основан на системе координат, задайте режим выборки входных сигналов на блочном уровне вместо на уровне сигнала.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.