Моделируйте глобальные данные путем создания хранилищ данных

Хранилище данных является репозиторием, в который можно записать данные, и из которого можно считать данные, не подключая вход или выходной сигнал непосредственно к хранилищу данных. Хранилища данных доступны на уровнях модели, поэтому подсистемы и модели-ссылки могут использовать хранилища данных для обмена данными без использования портов ввода-вывода. Чтобы решить, использовать ли хранилища данных, смотрите Основные принципы хранилища данных.

Примеры хранилища данных

Обзор

Следующие примеры иллюстрируют методы определения и доступа к хранилищам данных. Смотрите Order Data Store Access для методов, которые управляют доступом к хранилищу данных с течением времени, таких как обеспечение того, чтобы заданное хранилище данных всегда записывалось перед чтением. Смотрите Диагностику Хранилища данных для методов, которые можно использовать, чтобы помочь обнаружить и исправить потенциальные ошибки хранилища данных, не требуя выполнения каких-либо симуляций.

Примечание

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

Пример локального хранилища данных

Следующая модель иллюстрирует создание и доступ к локальному хранилищу данных, которое видим только в модели или конкретной подсистеме.

Эта модель использует хранилище данных, чтобы позволить подсистеме A сигнализировать, что ее выход недопустим.

Если вывод подсистемы A недопустим, модель использует выход подсистемы B.

Глобальные данные пример хранилища

Следующая модель заменяет подсистемы предыдущего примера функционально идентичными ссылочными моделями, чтобы проиллюстрировать использование хранилища глобальных данных для совместного использования данных в иерархии моделей-ссылок.

В этом примере верхняя часть использует объект сигнала в MATLAB® рабочая область для определения хранилища данных об ошибках. Это необходимо, потому что хранилища данных видны через контуры модели, только если они заданы сигнальными объектами в рабочем пространстве MATLAB или словаре данных. Модель задает код для PreLoadFcn моделирует параметр коллбэка, который создает объект сигнала. Этот код выполняется перед загрузкой модели.

Создание и применение хранилищ данных

Примечание

Чтобы использовать шины и массивы шин с хранилищами данных, выполните как следующую процедуру, так и Настройку модели для использования хранилищ данных с шинами и массивами шин.

Ниже приведен общий рабочий процесс настройки хранилищ данных. Можно выполнять задачи в другом порядке, или отдельно от остальных, в зависимости от того, как вы используете хранилища данных.

  1. Когда это применимо, планируйте использование хранилищ данных, чтобы минимизировать их эффект на верификацию ПО. Дополнительные сведения см. в разделах Хранилища данных и Верификация программного обеспечения.

  2. Создайте хранилища данных с помощью методов, описанных в Хранилищах Данных с Блоками Памяти Хранилища Данных или Хранилищах Данных с Объектами Сигнала. Для большей надежности рассмотрите назначение, а не наследование атрибутов хранилища данных, как описано в «Указание атрибутов блока памяти хранилища данных».

  3. Добавьте в данные модели Store Write и Data Store Read блоки для записи и чтения из хранилищ данных, как описано в Доступ к данным Stores with Блоков Simulink.

  4. Сконфигурируйте модель и блоки, которые получают доступ к каждому хранилищу данных, чтобы избежать отказов параллелизма при чтении и записи хранилища данных, как описано в Order Data Store Access.

  5. Примените методы, описанные в Data Store Diagnostics, по мере необходимости, чтобы предотвратить ошибки в хранилище данных или диагностировать их, если они происходят во время симуляции.

  6. Если вы намерены сгенерировать код для модели, см. «Хранилища данных в Сгенерированном коде» (Simulink Coder).

Чтобы создать хранилище данных, вы создаете Data Store Memory блок или Simulink.Signal объект. Объект блока или сигнала представляет хранилище данных и задает его свойства. Каждое хранилище данных должно иметь уникальное имя.

Хранилища данных, реализованные с блоками памяти хранилища данных:

  • Поддержка инициализации хранилища данных

  • Обеспечение управления возможностями и опциями хранилища данных на определенных уровнях в иерархии модели

  • Требуется блок, чтобы представлять хранилище данных

  • Не удается получить доступ к ссылочным моделям

  • Не может быть в подсистеме, которую представляет блок For Each Subsystem.

Хранилища данных, реализованные с Simulink.Signal объекты:

  • Обеспечьте общемодельное управление возможностями и опциями хранилища данных

  • Не требуйте блок для представления хранилища данных

  • Можно получить доступ в ссылочных моделях, если хранилище данных глобальное

Будьте осторожны, чтобы не приравнять локальные хранилища данных к блокам Памятей Data Store и глобальных данных хранилищам с Simulink.Signal объекты. Любой из методов может задать локальное хранилище данных, а объект сигнала может задать или локальное, или глобальные данные хранилище.

Хранилища данных с блоками памяти хранилища данных

Создание хранилища данных

Чтобы использовать блок Data Store Memory для определения хранилища данных, перетащите образец блока в модель на самом верхнем уровне, с которого должно быть видно хранилище данных. Результатом является локальное хранилище данных, которое недоступно в ссылочных моделях.

  • Чтобы задать хранилище данных, которое видно на каждом уровне в заданной модели, кроме блоков Model, перетащите блок Data Store Memory в корневой уровень модели.

  • Чтобы задать хранилище данных, которое видно только в конкретной подсистеме и подсистемах, которые она содержит, но не в блоках Model, перетащите блок Data Store Memory в подсистему.

После добавления блока Data Store Memory используйте его параметры, чтобы определить свойства хранилища данных. Свойство Data store name задает имя хранилища данных, к которому блоки доступ Data Store Write и Data Store Read. Для получения дополнительной информации см. Data Store Memory документацию.

Можно задать свойства хранилища данных сверх тех, которые определяются параметрами блоков Data Store Memory, выбрав имя хранилища данных должно разрешиться к опции объекта сигнала Simulink и используя объект сигнала в качестве имени хранилища данных. Для получения дополнительной информации см. раздел «Определение атрибутов, использующих объект сигнала».

Определение атрибутов блока памяти хранилища данных

Блок Data Store Memory может наследовать три атрибута данных из соответствующих блоков Data Store Read и Data Store Write. Наследуемые атрибуты:

  • Тип данных

  • Сложность

  • Шаг расчета

Однако разрешение наследования этих атрибутов может привести к неожиданным результатам, которые может быть трудно отладить. Чтобы предотвратить такие ошибки, используйте диалоговое окно Data Store Memory или Simulink.Signal объект для явного задания атрибутов.

Определение атрибутов с использованием параметров блоков

Можно использовать Память Хранилища данных диалоговых окон блока или вкладку Model Data Editor Data Stores (на вкладке Modeling, нажмите Model Data Editor), чтобы задать тип данных и сложность хранилища данных. На следующем рисунке диалоговое окно блока устанавливает Data type равным uint16 и Signal type для real.

Определение атрибутов, использующих объект сигнала

Можно использовать Simulink.Signal объект для задания атрибутов хранилища данных для блока Data Store Memory.

Совет

Чтобы установить неявное хранилище данных, как описано в Data Stores with Signal Objects, используйте тот же общий подход, что и когда вы явным образом ассоциируете объект сигнала с блоком Data Store Memory.

Следующий рисунок показывает блок памяти хранилища данных, который задает разрешение для Simulink.Signal объект, именованный A. Чтобы использовать объект сигнала для хранилища данных, установите Data store name на имя объекта сигнала. Для проверки во время компиляции откройте вкладку Signal Attributes и выберите параметр Data store name must resolve to Simulink signal object.

Кроме того, на вкладке Data Stores Model Data Editor (на вкладке Modeling, нажмите Model Data Editor), во время редактирования имени хранилища данных нажмите кнопку ближайшего действия и выберите Create and Resolve. В диалоговом окне «Создание новых данных» установите Value равным Simulink.Signal.

Объект сигнала задает значения для всех трех атрибутов данных, которые хранилище данных в противном случае унаследовало бы. В этом примере, который определяет локальное хранилище данных, Simulink.Signal A объекта имеет следующие унаследованные свойства: DataType, Complexity, и SampleTime.

A =
 
Simulink.Signal (handle)
         CoderInfo: [1x1 Simulink.CoderInfo]
       Description: ''
          DataType: 'auto'
               Min: []
               Max: []
              Unit: ''
        Dimensions: 1
    DimensionsMode: 'auto'
        Complexity: 'auto'
        SampleTime: -1
      InitialValue: 0

Для получения дополнительной информации об указании атрибутов объекта сигнала для локальных и глобальных хранилищ данных, смотрите Атрибуты объекта сигнала для Хранилищ данных.

Используйте Model Data Editor, чтобы сконфигурировать блоки Data Store Memory в списке.  Используйте вкладку Data Stores в Model Data Editor, чтобы сконфигурировать параметры блока Data Store Memory. Используйте этот метод, чтобы сконфигурировать хранилище данных, не обнаруживая его в модели, и сконфигурировать хранилище данных вместе с другими элементами интерфейса, такими как Inport и блоки Outport. В Model Data Editor также показана информация о Data Store Read и Data Store Write блоках в том же списке.

Чтобы открыть Model Data Editor, на вкладке Modeling, нажмите Model Data Editor. Дополнительные сведения об использовании Model Data Editor см. в разделе Настройка свойств данных при помощи Model Data Editor.

Хранилища данных с сигнальными объектами

Создание хранилища данных

Как использовать Simulink.Signal чтобы задать хранилище данных без использования блока Data Store Memory, создайте объект сигнала в рабочей области, которая видна каждому компоненту, которому требуется доступ к хранилищу данных. Имя связанного хранилища данных является именем объекта сигнала. Вы можете использовать это имя в блоках Data Store Read и Data Store Write, так же как если бы это было имя хранилища данных блока Data Store Memory. Simulink® создает связанное хранилище данных при использовании объекта сигнала для хранения данных.

Локальные и Глобальные данные магазины

Можно использовать Simulink.Signal Объект для определения локального или глобальные данные магазина.

  • Если вы задаете объект в базовом рабочем пространстве MATLAB или словаре данных, результатом является хранилище глобальных данных, которое доступно в каждой модели в Simulink, включая все модели-ссылки.

  • Если вы создаете объект в рабочем пространстве модели, результатом является локальное хранилище данных, которое доступно на каждом уровне модели, кроме любых ссылочных моделей.

Атрибуты объекта сигнала для хранилищ данных

Атрибуты хранилища данных, которые не задает объект сигнала, имеют те же значения по умолчанию, что и в блоке памяти хранилища данных. Значения свойств объекта сигнала, используемого в качестве хранилища данных, имеют различные требования, в зависимости от того, является ли хранилище данных локальным или глобальным.

После создания объекта установите свойства объекта сигнала равными значениям, которые должны иметь соответствующие свойства хранилища данных. Например, следующие команды определяют хранилище данных с именем Error в базовом рабочем пространстве MATLAB:

Error = Simulink.Signal;
Error.Description = 'Use to signal that subsystem output is invalid';
Error.DataType = 'boolean';
Error.Complexity = 'real';
Error.Dimensions = 1;
Error.SampleTime = 0.1;

Атрибуты для локальных хранилищ данных.  Для локального хранилища данных для каждого параметра, перечисленного ниже, можно либо задать значение явным образом, либо можно наследовать значение из блоков Data Store Write и Data Store Read.

  • DataType

  • Complexity

  • SampleTime

Чтобы определить локальное хранилище данных с помощью блока Data Store Memory, можно использовать объект сигнала для параметра Data store name. Для проверки во время компиляции на вкладке Signal Attributes выберите параметр Data store must resolve to Simulink signal object. Параметр Data store must resolve to Simulink signal object заставляет Simulink отображать ошибку и останавливать компиляцию, если Simulink не может найти объект сигнала или если свойства объекта сигнала несовместимы со свойствами объекта сигнала.

Атрибуты для глобальных хранилищ данных.  В следующей таблице описываются требования к параметрам для глобальных хранилищ данных.

ПараметрГлобальные данные
DataTypeДолжен быть установлен явным образом
ComplexityДолжен быть установлен явным образом
DimensionsМожет быть задано или унаследовано
SampleTimeМожет быть задано или унаследовано

Изменение атрибутов хранилища данных, заданного объектом сигнала.  Можно использовать Model Data Editor (на вкладке Modeling, нажмите Model Data Editor), чтобы изменить и просмотреть атрибуты хранилищ данных, Data Store Read и блоков Data Store Write. На вкладке Data Stores, чтобы показать атрибуты хранилищ данных, которые вы задаете с помощью объектов сигнала (таких как Simulink.Signal), нажмите кнопку Show/refresh additional information. Затем, если Data Store Read или Data Store Write блок, показанный в таблице данных, ссылается на хранилище данных, заданное объектом сигнала, таблица включает в себя строку, которая соответствует объекту.

Дополнительные сведения о Model Data Editor см. в разделе Настройка свойств данных при помощи Model Data Editor.

Доступ к данным с блоками Simulink

Запись в хранилище данных

Чтобы задать значение хранилища данных на каждом временном шаге:

  1. Создайте образец блока Data Store Write на уровне вашей модели, который вычисляет значение.

  2. Установите параметр Data Store Write block Data store name в имя хранилища данных, в которое вы хотите записать данные.

  3. Соедините выход блока, который вычисляет значение, с входом блока Data Store Write.

Чтение из хранилища данных

Чтобы получить значение хранилища данных на каждом временном шаге:

  1. Создайте образец блока Data Store Read на уровне вашей модели, который нуждается в значении.

  2. Установите параметр Data Store Read store name на имя хранилища данных, из которого он должен считываться.

  3. Подключите выход блока Data Store Read к входу блока, которому нужно значение хранилища данных.

Доступ к хранилищу Глобальных данных

При соединении с хранилищем глобальных данных (то, что определяется объектом сигнала в рабочем пространстве MATLAB), блок Data Store Read или Data Store Write отображает слово global над именем хранилища данных.

Порядок доступа к хранилищу данных

О порядке доступа к хранилищу данных

Чтобы получить правильные результаты из хранилищ данных, необходимо контролировать порядок выполнения чтений и записей хранилища данных. Если чтение хранилища данных происходит перед его записью, задержка вводится в алгоритм: чтение получает значение, которое было вычислено и сохранено на предыдущем временном шаге, а не значение, вычисленное и сохраненное на текущем временном шаге.

Такая задержка может привести к тому, что система будет вести себя иначе, чем спроектировано, и в некоторых случаях может дестабилизировать систему. Даже если эти проблемы не возникнут, неконтролируемый порядок доступа может измениться с одного релиза Simulink на следующую.

В этом разделе описывается несколько стратегий явного управления порядком выполнения операций чтения и записи хранилища данных. Смотрите Диагностику Хранилища данных для методов, которые можно использовать, чтобы обнаружить и исправить потенциальные ошибки хранилища данных без выполнения симуляций.

Упорядоченное расположение доступа с использованием подсистем вызова функции

Можно использовать подсистемы вызова функции для управления порядком выполнения компонентов модели, которые получают доступ к хранилищам данных. Следующий рисунок показывает этот метод:

Подсистема Before содержит запись хранилища данных и Stateflow® график вызывает эту подсистему перед вызовом подсистемы After, который содержит «Чтение хранилища данных».

Упорядоченное расположение доступа с использованием приоритетов блоков

Можно встраивать чтения и записи хранилища данных внутри атомарных подсистем или блоков Model, приоритеты которых определяют их относительный порядок выполнения.

Блок Model beforeDSM имеет более низкий приоритет, чем afterDSM, поэтому он гарантированно будет выполнен первым. Начиная с beforeDSM является атомарным, все его операции, включая запись в хранилище данных, будут выполняться до afterDSM и все его операции, включая Data Store Read.

Хранилища данных с шинами и массивами шин

Преимущества использования хранилищ данных с шинами и массивами шин включают:

  • Упрощение макета модели путем связи нескольких сигналов с одним хранилищем данных

  • Создание сгенерированного кода, который представляет данные в данных хранилища как структуры, которые отражают иерархию шины

  • Запись и чтение из хранилищ данных без создания копий данных, что приводит к более эффективному доступу к данным

Вы не можете использовать шину или массив шин, который содержит:

  • Сигналы переменного размера

  • Основанные на кадрах сигналы

Настройка модели для использования хранилищ данных с шинами и массивами шин

Эта процедура применяется к локальным и глобальные данные хранилищам, а также к хранилищам данных, заданным блоком Памяти хранилища данных или Simulink.Signal объект. Перед выполнением процедуры необходимо понять, как использовать хранилища данных в модели, как описано в разделе «Создание и применение хранилищ данных».

Для использования шин и массивов шин с хранилищами данных:

  1. Используйте Редактор шин, чтобы задать объект шины, свойства которого совпадают с данными шины, в которую вы хотите записать и считать из хранилища данных. Для получения дополнительной информации смотрите Создание и определение Simulink объектов .Bus.

  2. Добавьте хранилище данных (с помощью блока Data Store Memory или Simulink.Signal объект) для хранения данных шины.

  3. Укажите объект шины как тип данных хранилища данных. Для получения дополнительной информации смотрите Задать тип данных объекта шины.

  4. Если Вы используете структуру MATLAB для начального значения хранилища данных, то установленный Configuration Parameters> Diagnostics> Data Validity> Advanced parameters> Underspecified initialization detection к Simplified. Для получения дополнительной информации смотрите «Задание начальных условий для элементов шины и недоопределенное обнаружение инициализации».

  5. (Необязательно) Выберите отдельные элементы шины для записи или чтения из хранилища данных. Для получения дополнительной информации смотрите Доступ к определенной шине и Элементам матрицы.

Доступ к конкретным элементам шины и матрицы

Выбор конкретных элементов шины или матрицы

По умолчанию модель записывает и читает все элементы шины и матрицы в хранилище данных и из него.

Чтобы выбрать определенные элементы шины или матрицы для записи или чтения из хранилища данных, используйте панель Element Assignment блока Data Store Write и панель Element Selection блока Data Store Read. Выбор определенных элементов шины или матрицы предлагает следующие преимущества:

  • Уменьшение количества блоков в модели. Например, можно исключить пару блоков Data Store Read и Bus Selector или пару блоков Data Store Write и Bus Assignment для каждого конкретного элемента шины, к которому вы хотите получить доступ).

  • Более быстрая симуляция моделей с большими шинами и массивами шин.

Запись конкретных элементов в хранилище данных

Примечание

Следующая процедура описывает, как использовать интерфейс блока записи хранилища данных для записи определенных элементов в хранилище данных. Вы также можете выполнить эту задачу в командной строке, используя DataStoreElements параметр для задания элементов. Для получения дополнительной информации смотрите Спецификацию используя командную строку.

Чтобы назначить определенные элементы шины или матрицы для записи в хранилище данных:

  1. Выберите блок Data Store Write и в диалоговом окне параметров выберите панель Element Assignment. Например, предположим, что вы используете шину с хранилищем данных с именем DSM:

    The Element Assignment tab of Data Store Write block parameters dialog. The "Signals in the bus" pane shows an unexpanded bus DSM.

  2. Разверните все элементы списка Signals in the bus.

    The Element Assignment tab of Data Store Write block parameters dialog. The "Signals in the bus" pane shows an expanded view of all elements of the bus DSM.

  3. Укажите элементы, которые необходимо записать в хранилище данных. Для примера:

    • В списке Signals in the bus нажмите B. Затем нажмите Select>>, чтобы выбрать элемент B.

    • Написание всех элементов A2A вложенная шина), выберите A2[5,1]. Затем нажмите Select>>.

    • Чтобы записать второй элемент A2 в C2 вложенная шина, выберите A2[5,1] элемент. В Specify element(s) to assign текстовом поле отредактируйте текст следующим образом DSM.C.C2.A2(2,1).

    The Element Assignment tab of Data Store Write block parameters dialog. The "Signals in the bus" pane shows an expanded view of all elements of the bus DSM. The "Assigned element(s)" pane shows 3 specified elements of the bus DSM.

    Дополнительные примеры см. в разделе Определение элементов для назначения или выбора.

  4. (Необязательно) Переупорядочить назначенные элементы, что изменяет порядок портов блока Data Store Write.

    • Чтобы переупорядочить назначенный элемент, в списке Assigned element(s) выберите элемент, который вы хотите переместить, и нажмите Up или Down.

    • Чтобы удалить назначенный элемент, нажмите Remove.

  5. Чтобы применить назначенные элементы, нажмите кнопку OK.

    Блок Data Store Write имеет порт для каждого назначенного элемента. Имена выбранных элементов, которые соответствуют каждому порту, появляются в значке блока. Если вы присвоите несколько сигналов, эти сложения могут уменьшить читаемость модели. Чтобы улучшить читаемость, можно расширить размер блока или создать несколько блоков Data Store Write.

Чтение конкретных элементов из хранилища данных

Чтение конкретных элементов из хранилища данных включает в себя очень похожие шаги, как описано в Writing Specific Elements to a Data Store. Блок Data Store Read немного отличается от блока Data Store Write. Блок Data Store Read имеет:

  • Панель Element Selection вместо панели Element Assignment

  • Список Selected element(s) вместо списка Assigned element(s)

Определение элементов для назначения или выбора

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

Примечание

Чтобы выбрать элементы матрицы с динамическим индексированием с блоками Data Store Read и Data Store Write, выберите Enable indexing на панели Element Selection/ Element Assignment диалогового окна параметров блоков. Для динамического индексирования можно выбрать только один элемент за раз. См. Data Store Read и Data Store Write.

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

The Element Assignment tab of Data Store Write block parameters dialog. The "Signals in the bus" pane shows an expanded view of all elements of the bus DSM.

Допустимый синтаксисОписание
DSM.A.A2(:,:)

Выбор всех элементов в каждой размерности

DSM.A.A2([1,3,5],1)

Выбор первого, третьего и пятого элементов

DSM.A.A2(2:5,1)

Выбор элемента со второго по пятый

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

Недопустимый синтаксисПричина недействительности синтаксиса
DSM.A.A2(:)

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

DSM.A.A2(2:end,1)

Вы не можете использовать end оператор.

DSM.A.A2(idx,1)

Вы не можете использовать переменные для задания индексов. Рассмотрите использование динамической индексации, выбрав Enable indexing на панели Element Selection/ Element Assignment диалогового окна параметров блоков. См. Data Store Read и Data Store Write.

DSM.A.A2(-1,1)

Размерность –1 не входит в допустимые размерности границы.

Спецификация с использованием командной строки.  Чтобы задать элементы для записи или чтения, используйте DataStoreElements параметр. Используйте знак фунта (#) для делимитации нескольких элементов. Например, выберите Data Store Write или Data Store Read блок, для которого вы хотите задать элементы, и введите команду, такую как:

set_param(gcb, 'DataStoreElements', 'DSM.A#DSM.B#DSM.C(3,4)')

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

Переименование хранилищ данных

Переименуйте хранилище данных, заданное блоком

Переименуйте хранилище данных везде, где оно используется блоками Data Store Read и Data Store Write в модели.

  1. В диалоговом окне Data Store Memory введите новое имя в Data store name поле и нажмите Rename All.

  2. В диалоговом окне Rename All подтвердите новое имя хранилища данных в поле New name и нажмите OK

Примечание

Вы не можете использовать Rename All для переименования хранилища данных, если вы создаете Simulink.Signal объект в рабочей области для управления кодом, сгенерированным для хранилища данных. Вместо этого необходимо переименовать соответствующее Simulink.Signal объект с помощью Model Explorer. Для получения примера смотрите Переименовать Хранилище Данных, Заданный Объектом Сигнала.

Переименуйте хранилище данных, заданное объектом сигнала

В этом примере показано, как переименовать хранилище данных, заданное как Simulink.Signal объект. Можно использовать Model Explorer, чтобы переименовать объект везде, где он используется блоками Data Store Read и Data Store Write в модели или в иерархии модели-ссылки.

  1. Откройте модель sldemo_mdlref_dsm. Модель создает Simulink.Signal ErrorCond объекта в базовом рабочем пространстве MATLAB и использует объект как хранилище глобальных данных в иерархии модели-ссылки.

  2. Откройте Model Explorer.

  3. На панели Model Hierarchy выберите базовое рабочее пространство.

  4. На панели Contents щелкните правой кнопкой мыши хранилище данных ErrorCond и выберите Rename All.

  5. В диалоговом окне Select a system щелкните имя модели sldemo_mdlref_dsm чтобы выбрать его в качестве контекста для переименования хранилища данных ErrorCond.

  6. Выбор Search in referenced models с ErrorCond - хранилище глобальных данных, которое используется в ссылочной модели. Нажмите OK.

    Флажок Update diagram to include recent changes по умолчанию снимается, чтобы сэкономить время, избегая ненужных обновлений диаграмм модели. Установите флажок, чтобы включить последние изменения, внесенные вами в модель, путем принудительного обновления схемы.

  7. Нажмите OK в ответ на сообщение, чтобы обновить диаграмму модели.

    Поскольку вы только что открыли модель, необходимо обновить диаграмму модели хотя бы один раз, прежде чем переименовывать переменную, такую как ErrorCond. Можно было выбрать Update diagram to include recent changes в диалоговом окне Select a system, чтобы принудительно обновить начальную схему, хотя обычно вы используете эту опцию, когда вносите изменения в модель при выполнении нескольких операций переименования переменных.

  8. В диалоговом окне Rename All введите новое имя хранилища данных в поле New name и нажмите OK.

Настраиваемые функции доступа к хранилищу данных в сгенерированном коде

Embedded Coder® предоставляет класс памяти, который можно использовать, чтобы задать пользовательские функции доступа к хранилищу данных в сгенерированном коде. Смотрите Организуйте данные параметра в структуру с помощью класса Памяти (Embedded Coder) и Доступ к данным через функции с GetSet класса памяти (Embedded Coder).

См. также

| | |

Похожие темы