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

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

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

Обзор

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

Примечание

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

Локальный пример хранилища данных

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

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

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

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

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

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

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

Примечание

Чтобы использовать шины и массивы шин с хранилищами данных, выполните и следующую процедуру и Подготовку Модели, чтобы Использовать Хранилища данных с Шинами и Массивами Шин.

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

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

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

  3. Добавьте к блокам Чтения Записи и Хранилища данных Хранилища данных модели, чтобы записать в и читать из хранилищ данных, как описано в Хранилищах Доступа к данным с блоками Simulink.

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

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

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

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

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

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

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

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

  • Не может быть получен доступ в моделях, на которые ссылаются,

  • Не может быть в подсистеме, которая Для Каждого блока Subsystem представляет.

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

  • Обеспечьте управление всей модели осциллографа хранилища данных и опций

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

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

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

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

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

Чтобы использовать Блок памяти Хранилища данных, чтобы задать хранилище данных, перетащите экземпляр блока в модель на самом верхнем уровне, от которого вы хотите, чтобы хранилище данных отобразилось. Результатом является локальное хранилище данных, которое не доступно в моделях, на которые ссылаются.

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

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

Если вы добавили Блок памяти Хранилища данных, используйте его параметры, чтобы задать свойства хранилища данных. Свойство Имени хранилища данных задает имя хранилища данных, что Чтение Записи и Хранилища данных Хранилища данных блокирует доступ. См. документацию Data Store Memory для деталей.

Можно указать, что свойства хранилища данных вне определимых параметрами Блока памяти Хранилища данных путем выбора Имени хранилища данных должны решить к опции объекта Сигнала Simulink и использованию объекта сигнала как имя хранилища данных. Смотрите, что Атрибуты Определения используют Объект сигнала для деталей.

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

Блок памяти Хранилища данных может наследовать три атрибута данных от своих соответствующих блоков Записи Чтения и Хранилища данных Хранилища данных. Наследуемые атрибуты:

  • Тип данных

  • Сложность

  • Размер шага

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

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

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

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

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

Совет

Чтобы установить неявное хранилище данных, как описано в Хранилищах данных с Объектами Сигнала, используют тот же общий подход как тогда, когда вы явным образом сопоставляете объект сигнала с Блоком памяти Хранилища данных.

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

В качестве альтернативы на вкладке Model Data Editor Data Stores (на вкладке Modeling, нажмите Model Data Editor), редактируя имя хранилища данных, кликните по соседней кнопке действий и выберите Create and Resolve. В диалоговом окне Create New Data, набор 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. Используйте этот метод, чтобы сконфигурировать хранилище данных, не определяя местоположение его в модели и сконфигурировать хранилище данных вместе с другими интерфейсными элементами, такими как блоки Outport и Inport. Model Data Editor также показывает вам информацию для Data Store Read и блоков Data Store Write в том же списке.

Чтобы открыть Model Data Editor, во вкладке Modeling, нажимают Model Data Editor.

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

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

Использовать Simulink.Signal объект задать хранилище данных, не используя Блок памяти Хранилища данных, создайте объект сигнала в рабочей области, которая отображается к каждому компоненту, который должен получить доступ к хранилищу данных. Имя связанного хранилища данных является именем объекта сигнала. Можно использовать это имя в блоках Записи Чтения и Хранилища данных Хранилища данных, так же, как если бы это было Имя хранилища данных Блока памяти Хранилища данных. 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;

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

  • DataType

  • Complexity

  • SampleTime

Чтобы задать локальное хранилище данных с помощью Блока памяти Хранилища данных, можно использовать объект сигнала для параметра 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.

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

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

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

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

  2. Установите параметр Имени хранилища данных блока Data Store Write на имя хранилища данных, к которому вы хотите, чтобы он записал данные.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Подготовка модели, чтобы использовать хранилища данных с шинами и массивами шин

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

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

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

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

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

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

  5. (Необязательно) Избранный индивидуум соединяет шиной элементы, чтобы записать в или читать из хранилища данных. Для получения дополнительной информации смотрите Получающую доступ Определенную Шину и Элементы матрицы.

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

Выбор определенной шины или элементов матрицы

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

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

  • Сокращение количества блоков в модели. Например, можно устранить пару блока Селектора Чтения и Шины Хранилища данных или пару блока Data Store Write и Bus Assignment для каждого определенного элемента шины, к которому вы хотите получить доступ).

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

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

Примечание

Следующая процедура описывает, как использовать интерфейс блока Data Store Write, чтобы записать определенные элементы в хранилище данных. Можно также выполнить эту задачу в командной строке, с помощью 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.

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

Чтение определенных элементов от хранилища данных включает очень похожие шаги как описано в Записи Определенных Элементов к Хранилищу данных. Блок 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 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® обеспечивает класс памяти, который можно использовать, чтобы задать настроенные функции доступа хранилища данных в сгенерированном коде. Смотрите Организуют Данные о Параметре в Структуру при помощи Класса памяти Struct (Embedded Coder) и Доступ к данным Через Функции с Классом памяти GetSet (Embedded Coder).

Смотрите также

| | |

Похожие темы