Преобразуйте массив ячеек, содержащий информацию о шине, в Simulink объектов .Bus
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
The Bus объекты идентичны не их именам.
busCell - Информация об объекте Simulink.BusBus информация об объекте, заданная как массив ячеек из массивов ячеек. Каждый подчиненный массив ячеек должен содержать это Bus информация об объекте:
Имя шины
Заголовочный файл
Описание
Возможности данных
Выравнивание
Сохраните размерности элемента
Элементы
Поле elements является массивом ячеек, который содержит эту информацию для каждого из Simulink.BusElement объекты, которые Bus ссылки на объекты:
Поле элементов должно содержать массивы или массивы ячеек с этой информацией для каждого из Simulink.BusElement объекты, которые Bus ссылки на объекты:
Имя элемента
Размерности
Тип данных
Шаг расчета (необязательно) - Если вы задаете шаг расчета, задайте унаследованный шаг расчета (-1). Непроизвольный шаг расчета вызывает ошибку во время компиляции модели. Для получения дополнительной информации см. Simulink. Объекты .BusElement больше не поддержка свойством SampleTime.
Сложность
Режим дискретизации
Массивы полей элементов или массивы ячеек также могут содержать следующую информацию:
Размерности
Минимум
Максимум
Модули
Описание
Пример: Simulink.Bus.cellToObject(busCell);
scope - Словарь данных, содержащий объекты Simulink.BusSimulink.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
The 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.