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

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

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

Обзор

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

Примечание

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

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

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

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Тип данных

  • Сложность

  • 'SampleTime'

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

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

Можно использовать диалоговое окно Блока памяти Хранилища данных или вкладку Model Data Editor Data Stores (View> 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 (View> 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 Stores в Model Data Editor, чтобы сконфигурировать параметры Блока памяти Хранилища данных. Используйте этот метод, чтобы сконфигурировать хранилище данных, не определяя местоположение его в модели и сконфигурировать хранилище данных вместе с другими интерфейсными элементами, такими как блоки Outport и Inport. Model Data Editor также показывает вам информацию для блоков Записи Чтения и Хранилища данных Хранилища данных в том же списке.

Чтобы открыть Model Data Editor, выберите View> Model Data Editor. Для получения информации об использовании Model Data Editor смотрите Configure Data Properties при помощи 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 (View> Model Data Editor), чтобы изменить и осмотреть атрибуты хранилищ данных, Чтения Хранилища данных и блоков Записи Хранилища данных. На вкладке Data Stores, чтобы показать атрибуты хранилищ данных, что вы задаете при помощи объектов сигнала (таких как Simulink.Signal), нажимают кнопку Show/refresh additional information. Затем если блок Data Store Read или Data Store Write, показанный в таблице данных, относится к хранилищу данных, заданному объектом сигнала, таблица включает строку, которая соответствует объекту.

Для получения дополнительной информации о Model Data Editor, смотрите Configure Data Properties при помощи 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, приоритеты которых задают свой относительный порядок выполнения.

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

Чтобы присвоить приоритеты блокам, смотрите Приоритеты Блока Присвоения.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  4. В Model Configuration Parameters> Diagnostics > панель Connectivity, набор диагностика Mux blocks used to create bus к error.

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

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

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

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

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

Чтобы выбрать определенную шину или элементы матрицы, чтобы записать в или читать из хранилища данных, используйте панель 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:

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

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

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

    • Чтобы записать все элементы A2A вложил шину), выберите A2[5x1]. Затем нажмите Select>>.

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

    Для большего количества примеров смотрите Указывающие Элементы, чтобы Присвоить или Выбрать.

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

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

    • Чтобы удалить присвоенный элемент, нажмите Remove.

  5. Чтобы применить присвоенные элементы, нажмите OK.

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

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

Чтение определенных элементов от хранилища данных вовлекает очень похожие шаги, как описано в запись Определенных Элементов к Хранилищу данных. Блок Data Store Read отличается немного от блока Data Store Write. Блок Data Store Read имеет:

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

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

Указывание элементов, чтобы присвоить или выбрать

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

Примечание

Чтобы выбрать элементы матрицы, вы не можете использовать динамическую индексацию с Element Assignment и панелями Element Selection пар блока Data Store Read и Bus Assignment или пар блока Селектора Записи и Шины Хранилища данных. Можно, однако, использовать блок MATLAB function для динамической индексации.

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

Допустимый синтаксисОписание
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)

Вы не можете использовать переменные, чтобы задать индексы. Рассмотрите использование блока MATLAB function.

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)')

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

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

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

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

  1. В диалоговом окне Блока памяти Хранилища данных введите новое имя в поле Data store name и нажмите Rename All.

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

Примечание

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

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

Этот пример показывает, как переименовать хранилище данных, заданное объектом Simulink.Signal. Можно использовать Model Explorer, чтобы переименовать объект везде, это используется блоками Записи Чтения и Хранилища данных Хранилища данных в модели или в иерархии модели - ссылки.

  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).

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

| | |

Похожие темы