Задание свойств данных

Когда вы создаете Stateflow® графики в Simulink®можно задать свойства данных в Property Inspector или в Model Explorer.

  • Чтобы использовать Property Inspector:

    1. На вкладке Modeling, под Design Data, выберите Symbols Pane и Property Inspector.

    2. На панели «Символы» выберите объект данных.

    3. На панели Property Inspector измените свойства данных.

  • Чтобы использовать браузер Model Explorer:

    1. На вкладке Modeling, под Design Data, выберите Model Explorer.

    2. На панели Contents выберите объект данных.

    3. На панели Message измените свойства данных.

Можно также программно задать свойства данных при помощи Stateflow.Data объекты. Для получения дополнительной информации о программном интерфейсе Stateflow смотрите Обзор API Stateflow.

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

Свойства данных Stateflow

Вы можете задать эти свойства данных в:

  • Основная и Advanced секции Property Inspector.

  • Вкладка < reservedrangesplaceholder0 > Model Explorer.

Имя

Имя объекта данных. Для получения дополнительной информации см. Инструкции по присвоению имен объектам Stateflow.

Возможности

Расположение, где данные находятся в памяти, относительно его родительского элемента.

НастройкаОписание
Local

Данные, определенные только на текущем графике.

Constant

Постоянное значение только для чтения, которое отображается родительскому объекту Stateflow и его дочерним элементам.

Parameter

Константа, значение которой определяется в MATLAB® Базовое рабочее пространство или выведен из параметра Блока Simulink, который вы задаете и инициализируете в родительский элемент маскированной подсистеме. Объект данных Stateflow должен иметь то же имя что переменный MATLAB или параметр Simulink. Для получения дополнительной информации см. Раздел «Совместное использование параметров с Simulink и рабочим пространством MATLAB».

Input

Входной параметр функции, если родительским элементом является графическая функция, таблица истинности или функция MATLAB. В противном случае модель Simulink предоставляет данные на график через порт входа на блоке Stateflow. Для получения дополнительной информации см. Раздел «Совместное использование входных и выходных данных с Simulink».

Output

Возвращает значение функции, если родительский элемент является графической функцией, таблицей истинности или функцией MATLAB. В противном случае график предоставляет данные модели Simulink через порт выхода на блоке Stateflow. Для получения дополнительной информации см. Раздел «Совместное использование входных и выходных данных с Simulink».

Data Store Memory

Объект данных, который связывается с хранилищем данных Simulink, который является сигналом, который функционирует как глобальная переменная. Все блоки в модели могут получить доступ к этому сигналу. Эта привязка позволяет графику читать и записывать в хранилище данных Simulink, делясь глобальными данными с моделью. Имя объекта Stateflow должно совпадать с именем хранилища данных Simulink. Для получения дополнительной информации смотрите Доступ к данным Store Memory from a Графика.

Temporary

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

Exported

Данные из модели Simulink, которая становится доступной для внешнего кода, определенного в иерархии Stateflow. Можно задать экспортированные данные только для машины Stateflow.

Imported

Данные, помеченные моделью Simulink, которые вы задаете во внешнем коде, встроенном в машину Stateflow. Можно задать импортированные данные только для машины Stateflow.

Порт

Индекс порта, сопоставленного с объектом данных. Это свойство применяется только к входным и выходным данным. См. Раздел «Совместное использование входных и выходных данных с Simulink».

Метод обновления

Определяет, обновляется ли переменная в дискретном или непрерывном времени. Это свойство применяется только, когда график сконфигурирован для симуляции в непрерывном времени. См. Моделирование в непрерывном времени в Stateflow.

Данные должны разрешиться к объекту сигнала

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

  • Размер

  • Сложность

  • Напечатать

  • Модуль

  • Минимальное значение

  • Максимальное значение

  • Начальное значение

  • Класс памяти

  • Режим дискретизации (для выходных данных блока Таблица)

Эта опция доступна только, когда вы задаете значение параметра конфигурации модели Signal resolution отличное от None. Для получения дополнительной информации см. «Разрешение свойств данных из объектов Simulink Signal».

Размер

Размер объекта данных. Размер может быть скалярным значением или вектором значений MATLAB.

  • Чтобы задать скаляр, задайте значение свойства Size 1 или оставьте поле пустым.

  • Как задать n-by-1 вектора-столбца, установите свойство Size равным n.

  • Чтобы задать 1-байт- n Вектором-строкой установите свойство Size равным [1 n].

  • Как задать n-by- m матрица, установите свойство Size равным [n m].

  • Как задать n-мерный массив, установите свойство Size равным [d1 d2dn], где di - размер ith размерность.

  • Чтобы сконфигурировать объект данных Stateflow, чтобы наследовать его размер от соответствующего сигнала Simulink или от его определения на графике, задайте размер –1.

Область возможностей объекта данных определяет, какие размеры можно задать. Память хранилища данных Stateflow наследует все его свойства, включая размер, от хранилища данных Simulink, с которым она связана. Для всех других возможностей size может быть скаляром, вектором или матрицей n-размерностей. Для получения дополнительной информации см. Раздел «Задание размера данных Stateflow».

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

Размер переменной

Задает, что объект данных изменяет размерности во время симуляции. Эта опция доступна для входных и выходных данных только, когда вы включите Support variable-size arrays свойства графика. Для получения дополнительной информации см. «Объявление данных переменного размера в диаграммах Stateflow».

Сложность

Определяет, принимает ли объект данных комплексные числа.

НастройкаОписание
OffОбъект данных не принимает комплексные числа.
OnОбъект данных принимает комплексные числа.
InheritedОбъект данных наследует настройку сложности от блока Simulink.

Значение по умолчанию Off. Для получения дополнительной информации смотрите Комплексные данные в Диаграммах Stateflow.

Первый индекс

Индекс первого элемента массива данных. Первый индекс может быть любым целым числом. Значение по умолчанию 0. Это свойство доступно только для графиков С.

Напечатать

Тип объекта данных. Чтобы задать тип данных:

Кроме того, в Model Explorer можно открыть Помощник по типам данных, нажав кнопку Show data type assistant. Задайте Mode данных, а затем укажите тип данных на основе этого режима. Для получения дополнительной информации см. Раздел «Задание типа данных Stateflow».

Примечание

Если вы вводите выражение для типа данных с фиксированной точкой, необходимо задать масштабирование явно. Например, вы не можете ввести неполную спецификацию, такую как fixdt(1,16) в поле Type. Если вы явным образом не задаете масштабирование, при попытке симулировать модель появляется ошибка.

Блокируйте тип данных против инструментов с фиксированной точкой

Запрещает замену текущего типа фиксированной точки автоматическим типом, выбранным Fixed-Point Tool (Fixed-Point Designer). Для получения дополнительной информации см. раздел «Автомасштабирование с использованием Fixed-Point Tool» (Fixed-Point Designer).

Модуль измерения (например, м, м/с ^ 2, Н

* м)

Определяет физические единицы измерения для входных и выходных данных. Для получения дополнительной информации см. раздел «Задание модулей для данных Stateflow».

Начальное значение

Начальное значение объекта данных. Для постоянных данных это свойство называется Constant value. Опции для определения этого свойства зависят от возможностей объекта данных.

ВозможностиЗадайте для начального значения
Local

Выражение или параметр, заданный в иерархии Stateflow, базовом рабочем пространстве MATLAB или маскированной подсистеме Simulink. Чтобы задать начальное значение, когда вы оставляете поле Initial value пустым, откройте Model Explorer или диалоговое окно Свойства данных и установите выпадающий список Initial value равным Expression или Parameter.

  • Expression - Числовые данные разрешаются до значения по умолчанию 0. Для перечисленных данных значение по умолчанию обычно является первым, перечисленным в enumeration раздел определения. Можно задать другое перечисленное значение по умолчанию в methods раздел определения. Для получения дополнительной информации см. раздел «Определение перечисленных типов данных».

  • Parameter - Объект данных разрешается к переменной в базовом рабочем пространстве с таким же именем.

Настройкой по умолчанию является Expression.

Constant

Постоянное значение или выражение. Выражение вычисляется при обновлении графика. Получившееся значение используется как константа для выполнения графика.

Когда вы оставляете Constant value поле пустым, числовые данные разрешаются до значения по умолчанию 0. Для перечисленных данных значение по умолчанию обычно является первым, перечисленным в enumeration раздел определения. Можно задать другое перечисленное значение по умолчанию в methods раздел определения. Для получения дополнительной информации см. раздел «Определение перечисленных типов данных».

ParameterВы не можете ввести значение. График наследует начальное значение от параметра.
InputВы не можете ввести значение. График наследует начальное значение от входного сигнала Simulink в назначенном порту.
Output

Выражение или параметр, заданный в иерархии Stateflow, базовом рабочем пространстве MATLAB или маскированной подсистеме Simulink. Чтобы задать начальное значение, когда вы оставляете поле Initial value пустым, откройте Model Explorer или диалоговое окно Свойства данных и установите выпадающий список Initial value равным Expression или Parameter.

  • Expression - Числовые данные разрешаются до значения по умолчанию 0. Для перечисленных данных значение по умолчанию обычно является первым, перечисленным в enumeration раздел определения. Можно задать другое перечисленное значение по умолчанию в methods раздел определения. Для получения дополнительной информации см. раздел «Определение перечисленных типов данных».

  • Parameter - Объект данных разрешается к переменной в базовом рабочем пространстве с таким же именем.

Настройкой по умолчанию является Expression.

Data Store MemoryВы не можете ввести значение. Начальное значение графика наследуется из хранилища данных Simulink, которому оно разрешается.

Дополнительные сведения об использовании выражения для задания начального значения см. в разделе «Задание свойств данных при помощи выражений MATLAB».

Предельная область значений

Область значений допустимых значений для этого объекта данных. Диаграммы Stateflow используют эту область значений для проверки объекта данных во время симуляции.

  • Minimum - наименьшее значение, допустимое для элемента данных во время симуляции. Можно ввести выражение или параметр, который вычисляет числовой скаляр значение.

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

Наименьшее значение, которое можно задать для Minimum, это -inf. Самое большое значение, которое можно задать для Maximum, это inf.

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

Примечание

Модель Simulink использует свойства Limit range, чтобы вычислить оптимальную точность масштабирования для типов данных с фиксированной точкой. Прежде чем вы выберете Calculate Best-Precision Scaling, задайте минимальное или максимальное значение. Для получения дополнительной информации см. «Вычисление оптимальной точности масштабирования».

Добавить в окно часов

Включает просмотр значений данных в окне Stateflow Breakpoints and Watch. Для получения дополнительной информации см. раздел «Просмотр данных в окне точек по оси Х» и «Часы».

Свойства данных с фиксированной точкой

В Model Explorer, когда вы устанавливаете Mode Data Type Assistant на Fixed pointПомощник по типам данных отображает поля для определения дополнительной информации о данных с фиксированной точкой.

Signedness

Определяет, являются ли данные с фиксированной точкой Signed или Unsigned. Подписанные данные могут представлять положительные и отрицательные значения. Неподписанные данные представляют только положительные значения. Настройкой по умолчанию является Signed.

Размер слова

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

  • Размер слова может быть любым целым числом от 0 до 128 для данных на уровне диаграммы этих возможностей:

    • Input

    • Output

    • Parameter

    • Data Store Memory

  • Для других данных Stateflow размер слова может быть любым целым числом от 0 до 32.

Вы можете задать размер слова с помощью выражения MATLAB. Для получения дополнительной информации смотрите Задать свойства данных при помощи выражений MATLAB.

Масштабирование

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

НастройкаОписание
Binary point

Если вы выбираете этот режим, Помощник по типам данных отображает поле Fraction length, которое задает расположение двоичной точки.

Fraction length может быть любым целым числом. Значение по умолчанию 0. Положительное целое число перемещает двоичную точку влево от крайнего правого бита на эту величину. Отрицательное целое число смещает двоичную точку вправо от крайнего правого бита.

Slope and bias

Если вы выбираете этот режим, помощник по типам данных отображает поля для ввода Slope и Bias для схемы кодирования с фиксированной точкой.

Slope может быть любое положительное вещественное число. Значение по умолчанию является 1.0.

Bias может быть любым вещественным числом. Значение по умолчанию является 0.0.

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

По возможности используйте двоичное масштабирование точек, чтобы упростить реализацию данных с фиксированной точкой в сгенерированном коде. Операции с данными с фиксированной точкой, которые используют масштабирование с двоичной точкой, выполняются с простыми битовыми сдвигами и устраняют дорогие реализации кода, необходимые для отдельных значений наклона и смещения. Дополнительные сведения о масштабировании с фиксированной точкой см. в разделе Масштабирование (Fixed-Point Designer).

Можно задать Fraction length, Slope и Bias с помощью выражения MATLAB. Для получения дополнительной информации смотрите Задать свойства данных при помощи выражений MATLAB.

Переопределение типа данных

Определяет, следует ли наследовать параметр переопределения типа данных Fixed-Point Tool, который применяется к этой модели. Если данные не наследуют настройку всей модели, применяется указанный тип данных.

Вычисление оптимальной точности масштабирования

Определяет, вычислять ли значения оптимальной точности для Binary point и Slope and bias масштабирование, основанное на значениях в полях Минимум и Максимум в разделе Limit range.

Чтобы вычислить наиболее точные значения масштабирования:

  1. Задайте Limit range свойства.

  2. Нажмите Calculate Best-Precision Scaling.

Наиболее точные значения масштабирования отображаются в поле Fraction length или в полях Slope и Bias. Для получения дополнительной информации см. Раздел «Максимизация точности» (Fixed-Point Designer).

Примечание

Свойства Limit range не применяются к Constant и Parameter возможности. Для ConstantПрограмма Simulink вычисляет значения масштабирования на основе настройки Initial value. Программное обеспечение не может вычислить оптимальную точность масштабирования для данных Parameter возможности.

Показать сведения о фиксированной точке

Отображает информацию о типе данных с фиксированной точкой, заданную в Data Type Assistant:

  • Minimum и Maximum показать те же значения, которые появляются в соответствующих полях Минимум и Максимум в разделе Limit range.

  • Representable minimum, Representable maximum, и Precision показать минимальное значение, максимальное значение и точность, которые может представлять тип данных с фиксированной точкой.

Если значение поля не может быть определено без предварительного компиляции модели, подпанель Fixed-point details показывает значение следующим Unknown.

Значения, отображаемые подпанелью Fixed-point details, не обновляются автоматически, если вы изменяете значения, определяющие тип данных с фиксированной точкой. Чтобы обновить значения, показанные в подпанели Fixed-point details, нажмите Refresh Details.

Нажатие кнопки Refresh Details не изменяет модель. Он изменяет только отображение. Чтобы применить отображаемые значения, щелкните Apply или OK.

Fixed-point details подпанели указывает на любую ошибку, возникшую в результате спецификации типа данных с фиксированной точкой. Для примера этот рисунок показывает две ошибки.

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

  • Уменьшите значение в Maximum поле раздела Limit range.

  • Увеличение Word length.

  • Уменьшите Fraction length.

Строка с меткой Minimum показывает ошибку Cannot evaluate из-за оценки выражения MySymbol, заданный в Minimum поле Limit range раздела, не возвращает числовое значение. Когда выражение не оценивается успешно, на Fixed-point details подпанели отображается недооцененное выражение (при необходимости усечение до 10 символов) вместо недоступного значения. Чтобы исправить эту ошибку, задайте MySymbol в базовом рабочем пространстве для задания числового значения. Если вы нажимаете Refresh Details, индикатор ошибки и описание удаляются и значение MySymbol появляется вместо недооцененного текста.

Свойства логгирования

Вы можете задать свойства регистрации для данных в:

  • Раздел Logging Property Inspector.

  • Вкладка < reservedrangesplaceholder0 > Model Explorer.

Журнал данных сигнала

Сохраняет значение данных в базовом рабочем пространстве MATLAB во время симуляции. Для получения дополнительной информации смотрите Журнал Выход Симуляции для состояний и данных.

Тестовая точка

Определяет данные как тестовая точка. Тестовая точка является сигналом, который можно наблюдать в блоке Floating Scope в модели. Объекты данных могут быть тестовыми точками, если:

  • Возможности Local.

  • Родительский элемент не является машиной Stateflow.

  • Тип данных не ml.

Для получения дополнительной информации см. «Мониторинг тестовых точек в диаграммах Stateflow».

Логгирование

Задает имя, сопоставленное с записанными данными сигнала. По умолчанию Simulink использует имя сигнала в качестве имени логгирования. Чтобы задать пользовательское имя логгирования, выберите Custom в поле списка и введите новое имя в соседнее поле редактирования.

Ограничьте точки данных последней точкой

Ограничивает объем данных, записанных в последние выборки.

Десятикратное уменьшение

Ограничивает объем данных, регистрируемых путем пропуска выборок. Для примера коэффициент десятикратного уменьшения 2 сохраняет каждую другую выборку.

Дополнительные свойства

Можно задать дополнительные свойства данных в:

  • Вкладка Info Property Inspector.

  • Вкладка < reservedrangesplaceholder0 > Model Explorer.

Сохраните окончательное значение в базовом рабочем пространстве

Присваивает значение объекта данных переменной с таким же именем в базовом рабочем пространстве MATLAB в конце симуляции. Эта опция доступна только в Model Explorer для графиков, которые используют C в качестве языка действий. Для получения дополнительной информации см. «Рабочие рабочие пространства модели» (Simulink).

Модули

Единицы измерения, сопоставленные с объектом данных. Модуль в этом поле находится с объектом данных в иерархии Stateflow. Это свойство доступно только в Model Explorer для графиков С.

Описание

Описание объекта данных. Можно ввести краткое описание данных в иерархии.

Ссылка на документ

Ссылка на интерактивную документацию для объекта данных. Можно ввести адрес веб-URL или команду MATLAB, которая отображения документацию в подходящем онлайн- формате, например HTML файла или текст в Командном окне MATLAB. При нажатии гиперссылки Document link Stateflow оценивает ссылку и отображает документацию.

Значения свойств данных по умолчанию

Когда вы оставляете поле свойства пустым, Stateflow принимает значение по умолчанию.

СвойствоЗначение по умолчанию
Размер

−1 (унаследовано), для входов, параметров и выходов функции

1 (скаляр), для других объектов данных

Первый индекс0
Начальное значение0.0
Предельная область значенийMinimum-inf
 Maximuminf
Свойства данных с фиксированной точкойWord length16
 Fraction length0
 Slope1.0
 Bias0.0

Задайте свойства данных при помощи выражений MATLAB

В Property Inspector и Model Explorer можно ввести выражения MATLAB как значения для этих свойств:

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

Свойство ФункцияОписание
SizesizeВозвращает размер объекта данных
TypetypeВозвращает тип объекта данных
fixdt (Simulink)Возвращает Simulink.NumericType объект, который описывает тип данных с фиксированной точкой или с плавающей точкой
fi (Fixed-Point Designer)Возвращает численный объект с фиксированной точкой
MinimumminВозвращает наименьший элемент или элементы массива
MaximummaxВозвращает самый большой элемент или элементы массива

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

См. также

| | | (Fixed-Point Designer) | (Simulink) | (Simulink) | (Simulink)

Похожие темы