Можно создавать объекты данных для задания значений, диапазонов значений, типов данных, настраиваемости и других характеристик сигналов, состояний и параметров блоков. Имена объектов в диалоговых окнах Simulink ® используются для указания характеристик сигнала, состояния и параметров. Объекты существуют в рабочей области, такой как базовая рабочая область, рабочая область модели или словарь данных Simulink. Объекты данных позволяют вносить изменения в характеристики сигналов, состояний и параметров в масштабах всей модели путем изменения только значений объектов рабочей области.
Объекты данных создаются как экземпляры классов данных. Структуры памяти, называемые пакетами классов данных, содержат определения классов данных. Встроенный пакет Simulink определяет два класса данных, Simulink.Signal и Simulink.Parameter, которые можно использовать для создания объектов данных. Для хранения данных таблицы подстановки для совместного использования блоков таблицы подстановки (например, n-D Lookup Table) можно использовать Simulink.LookupTable и Simulink.Breakpoint классы.
Чтобы решить, использовать ли объекты данных для настройки сигналов, включая блоки Inport и Outport, см. раздел Сохранение атрибутов конструкции сигналов и состояний.
Свойства и методы объектов данных можно настроить путем определения подклассов встроенных классов данных. Дополнительные сведения о создании пакета классов данных см. в разделе Определение классов данных.
Simulink использует точечную нотацию для именования классов данных:
package.class
пакет - это имя пакета, содержащего определение класса.
class - имя класса.
Эта нотация позволяет создавать и ссылаться на идентично именованные классы, принадлежащие различным пакетам. В этом представлении имя пакета определяет имя класса.
Имена классов и пакетов чувствительны к регистру. Например, нельзя использовать MYPACKAGE.MYCLASS и mypackage.myclass взаимозаменяемо для обозначения одного и того же класса.
Чтобы задать параметры моделирования и создания кода для сигналов, параметров блоков и состояний путем изменения переменных в рабочей области или словаре данных, используйте объекты данных. Связывание объектов с сигналами, параметрами и состояниями на схеме модели.
Для задания значений параметров блока можно использовать объекты параметров вместо числовых переменных MATLAB ®. Например, для создания и использования Simulink.Parameter объект с именем myParam для задания параметра усиления блока усиления:
В модели на вкладке «Моделирование» в разделе «Проект» выберите «Инспектор свойств».
В модели щелкните целевой блок усиления. Инспектор свойств показывает свойства и параметры блока.
Задайте для параметра Gain значение myParam.
Рядом со значением параметра нажмите кнопку действия
и выберите Создать.
В диалоговом окне «Создание новых данных» задайте для параметра «Значение» значение Simulink.Parameter(15.23) и нажмите кнопку «Создать».
Simulink.Parameter объект, myParam, появляется в базовой рабочей области. Диалоговое окно свойств показывает, что объект сохраняет значение параметра 15.23 в свойстве Value.
Диалоговое окно свойств используется для задания других характеристик параметра блока путем корректировки свойств объекта. Например, чтобы задать минимальное и максимальное значения параметра, используйте свойства Минимум (Minimum) и Максимум (Maximum).
Во время моделирования параметр «Коэффициент усиления» теперь использует значение 15.23.
Совместное использование данных таблицы подстановки с помощью Simulink.LookupTable и Simulink.Breakpoint см. раздел Общие точки останова пакета и данные таблицы для таблиц подстановки.
С сигнальным объектом можно связать сигнальную линию или состояние блока, например состояние блока единичной задержки.
Для сигналов. Чтобы использовать сигнальный объект для управления характеристиками сигнала в модели, создайте объект в рабочей области, используя то же имя, что и сигнал.
В модели на вкладке Моделирование (Modeling) щелкните Редактор данных модели (Model Data Editor).
В Редакторе данных модели (Model Data Editor) выберите вкладку Сигналы (Signals).
В модели выберите целевой сигнал. Редактор данных модели выделяет строку, соответствующую сигналу.
В редакторе данных модели в столбце «Имя» присвойте сигналу такое имя, как mySig.
Нажмите кнопку
рядом с именем сигнала. Выберите Создать и разрешить.
В диалоговом окне «Создание новых данных» задайте для параметра «Значение» значение Simulink.Signal. Используйте выпадающий список Расположение (Location), чтобы выбрать рабочую область для хранения объекта (значение по умолчанию: Base Workspace). Щелкните Создать (Create).
Simulink.Signal объект mySig отображается в целевой рабочей области. Simulink выбирает свойство signal Имя сигнала должно разрешаться в объект сигнала Simulink, что вынуждает сигнал в модели использовать свойства, которые хранятся в объекте сигнала. Сведения о том, как управлять разрешением имен сигналов в объектах сигналов, см. в разделе Разрешение символов.
Откроется диалоговое окно свойств нового объекта.
Используйте диалоговое окно свойств для указания характеристик сигнала. Нажмите кнопку ОК.
Программная настройка сигнала:
% Create the signal object. mySig = Simulink.Signal; mySig.DataType = 'boolean'; % Get a handle to the block port that creates the % target signal. portHandles = get_param('myModel/myBlock','portHandles'); outportHandle = portHandles.Outport; % Specify the programmatic port parameter 'Name'. set_param(outportHandle,'Name','mySig') % Set the port parameter 'MustResolveToSignalObject'. set_param(outportHandle,'MustResolveToSignalObject','on')
Для программной настройки блока Outport на корневом уровне необходимо использовать несколько другой метод:
% Create the signal object. mySig = Simulink.Signal; mySig.DataType = 'boolean'; % Specify the programmatic block parameter 'SignalName'. set_param('myModel/myOutport','SignalName','mySig') % Set the block parameter 'MustResolveToSignalObject'. set_param('myModel/myOutport','MustResolveToSignalObject','on')
Для государств. Объект сигнала можно использовать для управления характеристиками состояния блока, например, для блока дискретного интегратора времени.
В модели на вкладке Моделирование (Modeling) щелкните Редактор данных модели (Model Data Editor).
В Редакторе данных модели (Model Data Editor) выберите вкладку Состояния (States).
В модели выберите блок, который содержит целевое состояние. Редактор данных модели выделяет строку, соответствующую состоянию.
В редакторе данных модели в столбце «Имя» присвойте состоянию такое имя, как myState.
Нажмите кнопку
рядом с именем состояния. Выберите Создать и разрешить.
В диалоговом окне «Создание новых данных» задайте для параметра «Значение» значение Simulink.Signal. Используйте выпадающий список Расположение (Location), чтобы выбрать рабочую область для хранения объекта (значение по умолчанию: Base Workspace). Щелкните Создать (Create).
Simulink.Signal объект myState отображается в целевой рабочей области. Simulink выбирает параметр блока Имя состояния должно разрешаться в сигнальный объект Simulink, который заставляет состояние в модели использовать свойства, хранящиеся в сигнальном объекте. Сведения об управлении разрешением имен состояний для сигнальных объектов см. в разделе Разрешение символов.
Откроется диалоговое окно свойств нового объекта.
Используйте диалоговое окно свойств для указания характеристик состояния. Нажмите кнопку ОК.
Чтобы сконфигурировать состояние программно, выполните следующие действия.
% Create the signal object. myState = Simulink.Signal; myState.DataType = 'int16'; % Set the state name in the block. set_param('myModel/myBlock','StateName','myState') % Set the port parameter 'StateMustResolveToSignalObject'. set_param('myModel/myBlock','StateMustResolveToSignalObject','on')
Для управления характеристиками параметров и сигналов с помощью объектов данных задаются значения свойств объектов данных. Например, объекты данных параметров и сигналов имеют DataType свойство, определяющее тип данных параметра или сигнала целевого блока. Определения классов данных определяют имена, типы значений, значения по умолчанию и допустимые диапазоны значений свойств объектов данных.
Для изменения свойств объекта данных можно использовать команды Обозреватель моделей (Model Explorer) или MATLAB.
Список свойств сигнального объекта см. в разделе Simulink.Signal. Список свойств объекта параметров см. в разделе Simulink.Parameter.
Чтобы использовать обозреватель моделей для изменения свойств объекта, выберите рабочую область, содержащую объект, на панели «Иерархия моделей». Затем выберите объект на панели Содержимое проводника моделей (Model Explorer's Contents).
Обозреватель моделей отображает диалоговое окно свойств объекта на диалоговой панели (если панель видна).

Обозреватель моделей можно настроить на отображение некоторых или всех свойств объекта на панели Содержимое (Contents) (см. Обозреватель моделей). Чтобы изменить свойство, щелкните его значение на панели «Содержимое» или «Диалоговое окно». Значение заменяется элементом управления, который позволяет изменить значение.
Для получения и установки свойств объекта данных можно также использовать команды MATLAB. Для получения и установки свойств объекта данных в командах и программах MATLAB используется следующая точечная нотация:
value = obj.property; obj.property = value;
где - переменная, которая ссылается на объект, если он является экземпляром класса значений, или на дескриптор объекта, если объект является экземпляром класса дескрипторов (см. раздел Класс дескрипторов и классов значений), objPROPERTY является именем свойства, и VALUE - значение свойства. Например, следующий код MATLAB создает объект псевдонима типа данных (т.е. экземпляр Simulink.AliasType) и устанавливает его базовый тип в uint8:
gain = Simulink.AliasType;
gain.BaseType = 'uint8';Можно рекурсивно использовать точечную нотацию для получения и установки свойств объектов, которые являются значениями свойств других объектов, например,
gain.CoderInfo.StorageClass = 'ExportedGlobal';SimulinkВстроенный пакет Simulink определяет два класса объектов данных Simulink.Parameter и Simulink.Signal. Эти объекты данных можно создать с помощью пользовательского интерфейса или программным способом.
На панели «Иерархия моделей» обозревателя моделей выберите рабочую область, содержащую объекты данных. Например, щелкните Base Workspace.
На панели инструментов щелкните стрелку рядом с пунктом «Добавить параметр
». или Добавить сигнал
.
В раскрывающемся списке выберите Параметр симулятора (Simulink Parameter) или Сигнал симулятора (Simulink Signal).
Параметр или сигнальный объект появляется в базовой рабочей области. Имя по умолчанию для новых объектов параметров: Param. Имя по умолчанию для новых сигнальных объектов: Sig.
Чтобы создать дополнительные объекты, щелкните Добавить параметр (Add Parameter) или Добавить сигнал (Add Signal).
Создать Simulink.LookupTable и Simulink.Breakpoint на панели инструментов Обозревателя моделей используйте
кнопку.
% Create a Simulink.Parameter object named myParam whose value is 15.23. myParam = Simulink.Parameter(15.23); % Create a Simulink.Signal object named mySig. mySig = Simulink.Signal;
Числовую переменную можно преобразовать в Simulink.Parameter объект следующим образом.
/* Define numeric variable in base workspace myVar = 5; /* Create data object and assign variable value myObject = Simulink.Parameter(myVar);
Можно создать собственный пакет для определения пользовательских классов объектов данных, которые являются подклассами Simulink.Parameter и Simulink.Signal. Этот метод можно использовать для добавления собственных свойств и методов к объектам данных. При наличии лицензии Embedded Coder ® можно определить классы хранения и разделы памяти в пакете. Дополнительные сведения о создании пакета классов данных см. в разделе Определение классов данных.
Предположим, что определен пакет классов данных с именем myPackage. Перед созданием объектов данных из пакета необходимо включить папку, содержащую папку пакета, в путь MATLAB.
На панели «Иерархия моделей» обозревателя моделей выберите рабочую область, содержащую объекты данных. Например, щелкните Base Workspace.
Щелкните стрелку рядом с пунктом Добавить параметр (Add Parameter
). или Добавить сигнал
и
выберите Настроить списки классов.
В диалоговом окне установите флажок рядом с нужным классом. Например, установите флажки рядом с myPackage.Parameter и myPackage.Signal. Нажмите кнопку ОК.
Щелкните стрелку рядом с пунктом Добавить параметр (Add Parameter) или Добавить сигнал (Add Signal). Выберите класс для создаваемого объекта данных. Например, выберите myPackage Parameter или myPackage Signal.
Параметр или сигнальный объект появляется в базовой рабочей области. Имя по умолчанию для новых объектов параметров: Param. Имя по умолчанию для новых сигнальных объектов: Sig.
Создание дополнительных объектов данных из пакета myPackageщелкните Добавить параметр (Add Parameter) или Добавить сигнал (Add Signal) еще раз.
Предположим, что определен пакет классов данных с именем myPackage. Перед созданием объектов данных из пакета необходимо включить папку, содержащую папку пакета, в путь MATLAB.
% Create a myPackage.Parameter object named % myParam whose value is 15.23. myParam = myPackage.Parameter(15.23); % Create a myPackage.Signal object named mySig. mySig = myPackage.Signal;
При открытии диалогового окна «Свойства сигнала», диалогового окна блока или инспектора свойств (на вкладке «Моделирование» в разделе «Проект» выберите «Инспектор свойств») можно эффективно создать объект данных сигнала или параметра в рабочей области или словаре данных.
В числовом параметре блока в диалоговом окне укажите имя объекта данных. Например, укажите имя myParam.
Нажмите кнопку
рядом со значением параметра блока. Выберите Создать.
В диалоговом окне «Создание новых данных» задайте значение как Simulink.Parameter.
Кроме того, можно указать имя созданного класса данных, например: myPackage.Parameter. Можно также использовать раскрывающийся список для выбора из списка доступных классов объектов данных.
Укажите расположение как Base Workspace и нажмите кнопку «Создать».
Можно использовать параметр Расположение (Location) для выбора рабочей области, содержащей новый объект данных. Если модель связана со словарем данных, можно создать объект данных в словаре.
В открывшемся диалоговом окне настройте свойства объекта данных. Укажите числовое значение параметра в поле Значение (Value). Нажмите кнопку ОК.
Объект параметра myParam отображается в базовой рабочей области.
В диалоговом окне параметров блока нажмите «ОК».
В поле Имя сигнала (Signal name) укажите имя сигнала, например mySig. Нажмите кнопку «Применить».
Нажмите кнопку
рядом со значением Signal name. Выберите Создать и разрешить.
В диалоговом окне «Создание новых данных» задайте значение как Simulink.Signal.
Кроме того, можно указать имя созданного класса данных, например: myPackage.Signal. Кроме того, в раскрывающемся списке можно выбрать класс объектов данных, существующий в пути MATLAB.
Укажите расположение как Base Workspace и нажмите кнопку «Создать».
Можно использовать параметр Расположение (Location) для выбора рабочей области, содержащей новый объект данных. Если модель связана со словарем данных, можно создать объект данных в словаре.
В открывшемся диалоговом окне настройте свойства объекта данных и нажмите кнопку ОК.
Сигнальный объект mySig отображается в базовой рабочей области. В диалоговом окне Свойства сигнала (Signal Properties) выбрано Имя сигнала (Signal name), которое должно соответствовать свойству Объект сигнала симулирования (Simulink signal object).
Для создания объектов данных, представляющих сигналы, параметры и состояния в модели, можно использовать мастер объектов данных. Мастер находит в модели данные, не имеющие соответствующих объектов данных.
На основе спецификаций модели мастер создает объекты и присваивает следующие признаки:
Имя сигнала, параметра или состояния.
Числовое значение для объектов параметров.
Тип данных. Для сигнальных объектов включает типы псевдонимов, такие как Sumlink.AliasType и Simulink.NumericType.
В редакторе Simulink на вкладке «Моделирование» в разделе «Проект» выберите «Мастер объектов данных».

В поле Имя модели (Model name) введите имя модели, которую требуется найти.
По умолчанию поле содержит имя модели, из которой был открыт мастер.
В разделе Параметры поиска (Find options) установите флажки рядом с типами объектов данных, которые требуется создать. В таблице описаны параметры.
| Выбор | Описание | |||
|---|---|---|---|---|
| Корневые входы | Именованные сигналы от блоков ввода корневого уровня. | |||
| Корневые выходы | Именованные сигналы от блоков Outport корневого уровня. | |||
| Государства | Состояния, связанные с этими дискретными блоками: | |||
| Хранилища данных | Хранилища данных. Дополнительные сведения о хранилищах данных см. в разделе Локальные и глобальные хранилища данных. | |||
| Блочные выходы | Именованные сигналы, источниками которых являются блоки некорневого уровня. | |||
| Параметры |
| |||
| Типы псевдонимов | Имена замены типа данных, указанные в разделе Параметры конфигурации > Создание кода > Замена типа данных. При наличии лицензии Embedded Coder мастер создания объектов данных создает Simulink.AliasType для этих имен замены типов данных. Дополнительные сведения о замене типа данных см. в разделе Параметры конфигурации модели: замена типа данных генерации кода (встроенный кодер) |
Нажмите кнопку Найти.
В таблице объектов данных отображаются предлагаемые объекты.

(Необязательно) Чтобы создать объекты из класса данных, отличного от классов по умолчанию, установите флажок рядом с объектами, класс которых требуется изменить. Чтобы выбрать все объекты, щелкните Выбрать все (Select All). Щелкните Изменить класс (Change Class). В открывшемся диалоговом окне выберите классы с помощью раскрывающихся списков рядом с параметрами и сигналом.
Если нужные классы не отображаются в раскрывающемся списке, выберите Customize class lists. В открывшемся диалоговом окне установите флажок рядом с нужными классами и нажмите кнопку «ОК».
Чтобы изменить классы параметров и сигналов по умолчанию, используемые мастером для предложения объектов, выполните следующие действия.
На панели Иерархия модели (Model Hierarchy) Проводника моделей (Model Explorer) выберите рабочее пространство. Например, выберите «Базовая рабочая область».
На панели инструментов щелкните стрелку рядом с пунктом «Добавить параметр
». или Добавить сигнал.![]()
В раскрывающемся списке выберите класс, который будет использоваться мастером. Например, выберите myPackage Parameter или myPackage Signal.
Параметр или сигнальный объект появляется в выбранной рабочей области. Имя по умолчанию для новых объектов параметров: Param. Имя по умолчанию для новых сигнальных объектов: Sig.
При следующем использовании мастера объектов данных (Data Object Wizard) мастер предлагает объекты с использованием выбранного в обозревателе моделей параметра или класса сигналов.
Установите флажок рядом с предлагаемыми объектами, которые требуется создать. Чтобы выбрать все предлагаемые объекты, щелкните Выбрать все (Select All).
Щелкните Создать (Create).
Объекты данных отображаются в базовой рабочей области. Если целевая модель связана со словарем данных, объекты появляются в словаре.
Мастер изменяет настройки модели в зависимости от параметра конфигурации Параметры конфигурации > Диагностика > Валидность данных > Разрешение сигнала.
Если для параметра задано значение Explicit only, мастер заставляет соответствующие сигналы и состояния в модели разрешаться в новые сигнальные объекты. Мастер выбирает опцию Signal name must resolve to Simulink signal object в каждом диалоговом окне Signal Properties и State name to Simulink signal object in each block dialog.
Если для параметра задано значение Explicit and implicit или Explicit and warn implicit, мастер не изменяет значение параметра «Имя сигнала» на «Объект сигнала Simulink» или «Имя состояния» на «Объект сигнала Simulink» для любых сигналов или состояний.
Рассмотрите возможность отключения неявного разрешения сигнальных объектов для модели с помощью функции disableimplicitsignalresolution. Дополнительные сведения см. в разделе Явное и неявное разрешение символов.
Мастер объектов данных компилирует модели для генерации кода, чтобы предложить создание сигнальных объектов. По этой причине мастер не может использоваться для моделей, недопустимых для создания кода.
Мастер объектов данных не предлагает создание объектов данных для этих объектов в модели:
Несколько отдельных сигналов с одинаковыми именами.
Сигнал с тем же именем, что и переменная, используемая в параметре блока.
Сигнал, в котором отсутствует один смежный блок источника.
Сигнал, исходный блок которого комментируется или комментируется через.
Элементы данных, которые отображаются как неактивные блоками Источник исполнения (Variant Source) и Получатель исполнения (Variant Sink). Мастер предлагает объекты только для элементов данных, связанных с активными блоками.
Сигналы и состояния, если для параметра конфигурации модели Разрешение сигнала (Signal resolution) задано значение None.
В этом примере показано, как создавать объекты данных на основе внешнего источника данных (например, файла Microsoft ® Excel ®) с помощью сценария.
Создайте новый файл сценария MATLAB.
Поместите данные во внешний файл, который требуется преобразовать в объекты данных. Например, следующая информация создает два Simulink объекты данных с указанными свойствами. Первый - для параметра, а второй - для сигнала:
% Parameters ParCon = Simulink.Parameter; ParCon.CoderInfo.StorageClass = 'Custom' ParCon.CoderInfo.CustomStorageClass ='Const'; ParCon.Value = 3; % Signals SigGlb = Simulink.Signal; SigGlb.DataType = 'int8';
Запустите файл сценария. Объекты данных отображаются в рабочей области MATLAB.
Если требуется импортировать целевые данные из внешнего источника, можно записать функции и сценарии MATLAB, считывающие информацию, преобразовать информацию в объекты данных и загрузить объекты в базовую рабочую область.
Для взаимодействия с файлами, внешними по отношению к MATLAB, можно использовать следующие функции:
xmlread
xmlwrite
xlsread
xlswrite
csvread
csvwrite
dlmread
dlmwrite
Классы данных определяют функции, называемые методами, для создания определяемых ими объектов и управления ими. Класс может определять любой из следующих видов методов.
Динамический метод - это метод, идентичность которого зависит от его имени и класса объекта, неявно или явно указанного в качестве первого аргумента. Можно использовать функцию или точечную нотацию для указания этого объекта, который должен быть экземпляром класса, определяющего метод, или экземпляром подкласса класса, определяющего метод. Например, предположим, что класс A определяет метод, вызываемый setName который назначает имя экземпляру A. Кроме того, предположим, что рабочая область MATLAB содержит экземпляр A, назначенный переменной obj. Затем можно использовать любой из следующих операторов для присвоения имени 'foo' кому obj:
obj.setName('foo'); setName(obj, 'foo');
Класс может определять набор методов, имеющих то же имя, что и метод, определенный одним из его суперклассов. В этом случае метод, определенный подклассом, переопределяет поведение метода, определенного родительским классом. Simulink определяет метод для вызова во время выполнения из класса объекта, указанного в качестве первого или неявного аргумента. Следовательно, термин динамический метод.
Примечание
Большинство методов объектов данных Simulink являются динамическими. Если в документации для метода не указано иное, можно предположить, что метод является динамическим методом.
Статический метод - это метод, идентификатор которого зависит только от его имени и, следовательно, не может быть изменен во время выполнения. Чтобы вызвать статический метод, используйте его полное имя, включающее имя определяющего его класса, за которым следует имя самого метода. Например, Simulink.ModelAdvisor класс определяет статический метод с именем getModelAdvisor. Полное имя этого статического метода: Simulink.ModelAdvisor.getModelAdvisor. Следующий пример иллюстрирует вызов статического метода.
ma = Simulink.ModelAdvisor.getModelAdvisor('vdp');Каждый класс данных определяет метод создания экземпляров этого класса. Имя метода совпадает с именем класса. Например, имя Simulink.Parameter конструктором класса является Simulink.Parameter. Конструкторы, определенные классами данных Simulink, не принимают аргументов.
Значение, возвращаемое конструктором, зависит от того, является ли его класс классом дескриптора или классом значения. Конструктор класса дескриптора возвращает дескриптор экземпляру, который он создает, если класс экземпляра является классом дескриптора; в противном случае он возвращает сам экземпляр (см. раздел Обработка классов значений).
Классы Simulink, включая классы объектов данных, делятся на две категории: классы значений и классы дескрипторов.
Конструктор для класса значений (см. Конструкторы) возвращает экземпляр класса, и экземпляр постоянно связан с переменной MATLAB, которой он первоначально назначен. Переназначение или передача переменной функции приводит к тому, что MATLAB создает, назначает или передает копию исходного объекта.
Например, Simulink.NumericType является классом значений. Выполнение следующих операторов
x = Simulink.NumericType; y = x;
создает два экземпляра класса Simulink.NumericType в рабочей области, назначенной переменной x а другой - y.
Конструктор класса дескрипторов возвращает объект дескриптора. Дескриптор может быть назначен нескольким переменным или передан функциям без создания копии исходного объекта. Например, Simulink.Parameter класс является классом дескриптора. Выполнение
x = Simulink.Parameter; y = x;
создает только один экземпляр Simulink.Parameter в рабочей области MATLAB. Переменные x и y ссылаются на экземпляр через его дескриптор.
Программа может изменить экземпляр класса дескриптора, изменив любую переменную, которая ссылается на него, например, продолжая предыдущий пример,
x.Description = 'input gain';
y.Description
ans = input gain
Большинство классов объектов данных Simulink являются классами значений. Исключения включают Simulink.Signal и Simulink.Parameter класс.
Чтобы определить, является ли значение переменной объектом (класс значений) или дескриптором объекта, см. раздел Определение, является ли объект дескриптором.
Используйте метод копирования объекта-дескриптора для создания копий экземпляров этого объекта. Например, ConfigSet - объект дескриптора, представляющий наборы конфигурации модели. Следующий код создает копию активного набора конфигурации текущей модели и присоединяет ее к модели в качестве альтернативной конфигурации, предназначенной для разработки модели.
activeConfig = getActiveConfigSet(gcs);
develConfig = copy(activeConfig);
develConfig.Name = 'develConfig';
attachConfigSet(gcs, develConfig);Объекты данных Simulink предоставляют метод с именем isequalопределяет, равны ли значения свойств объекта. Этот метод сравнивает значения свойств одного объекта с значениями, принадлежащими другому объекту, и возвращает значение true (1), если все значения совпадают или имеют значение false (0) в противном случае. Например, следующий код создает экземпляр двух сигнальных объектов (A и B) и задает значения для определенных свойств.
A = Simulink.Signal; B = Simulink.Signal; A.DataType = 'int8'; B.DataType = 'int8'; A.InitialValue = '1.5'; B.InitialValue = '1.5';
После этого используйте isequal для проверки того, что свойства объекта A и B равны.
result = isequal(A,B)
result =
1Если сигнал определен в диалоговом окне Свойства сигнала (Signal Properties), а объект сигнала с тем же именем определен с помощью командной строки или в Обозревателе моделей (Model Explorer), существует вероятность неоднозначности при попытке модуля Simulink разрешить символ, представляющий имя сигнала. Один из способов разрешить неоднозначность - указать, что сигнал разрешается в Simulink.Signal объект данных. В диалоговом окне Свойства сигнала (Signal Properties) выберите параметр Имя сигнала (Signal name must resolve to Simulink signal object).
Чтобы настроить данные сигнала, используйте редактор сопоставления кода или API сопоставления кода, чтобы добавить сигнал в сопоставления кода модели и задать свойства класса хранения и класса хранения. Сведения о Simulink Coder™ см. в разделе Настройка данных сигнала для генерации кода C (Simulink Coder). Для получения информации о встроенном кодере см. раздел Настройка данных сигнала для генерации кода C (встроенный кодер).
Чтобы сохранить объекты данных так, чтобы они сохранялись при закрытии MATLAB, можно:
Храните объекты в словаре данных или рабочем пространстве модели. Сведения о том, где постоянно хранить данные модели, см. в разделе Определение места хранения переменных и объектов для моделей Simulink.
Используйте save для сохранения объектов данных в MAT-файле и load чтобы восстановить их в базовой рабочей области MATLAB в той же или более поздней сессии. Настройте модель для загрузки объектов из MAT-файла или файла сценария при загрузке модели.
Чтобы загрузить объекты данных из файла при загрузке модели, создайте сценарий, который создает объекты и настраивает их свойства. Можно также сохранить объекты в MAT-файле. Затем используйте сценарий или команду load в качестве PreLoadFcn подпрограмма обратного вызова для модели, использующей объекты. Предположим, что объекты данных сохранены в файле с именем data_objects.matи модель, к которой они применяются, является открытой и активной. В командной строке введите:
set_param(gcs, 'PreLoadFcn', 'load data_objects');
наборы load data_objects в качестве функции предварительной загрузки модели. При каждом открытии модели объекты данных отображаются в базовой рабочей области.
Определения классов сохраненных объектов должны существовать в пути MATLAB для их восстановления. Если класс сохраненного объекта приобретает новые свойства после сохранения объекта, Simulink добавляет новые свойства в восстановленную версию объекта. Если класс теряет свойства после сохранения объекта, восстанавливаются только оставшиеся свойства.
disableimplicitsignalresolution | Simulink.Breakpoint | Simulink.LookupTable | Simulink.Parameter | Simulink.Signal