Когда вы создаете Stateflow® графики в Simulink®можно задать свойства данных в Property Inspector или в Model Explorer.
Чтобы использовать Property Inspector:
На вкладке Modeling, под Design Data, выберите Symbols Pane и Property Inspector.
На панели «Символы» выберите объект данных.
На панели Property Inspector измените свойства данных.
Чтобы использовать браузер Model Explorer:
На вкладке Modeling, под Design Data, выберите Model Explorer.
На панели Contents выберите объект данных.
На панели Message измените свойства данных.
Можно также программно задать свойства данных при помощи Stateflow.Data
объекты. Для получения дополнительной информации о программном интерфейсе Stateflow смотрите Обзор API 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
d2
⋯ dn
]di
- размер i
th размерность.
Чтобы сконфигурировать объект данных Stateflow, чтобы наследовать его размер от соответствующего сигнала Simulink или от его определения на графике, задайте размер –1
.
Область возможностей объекта данных определяет, какие размеры можно задать. Память хранилища данных Stateflow наследует все его свойства, включая размер, от хранилища данных Simulink, с которым она связана. Для всех других возможностей size может быть скаляром, вектором или матрицей n-размерностей. Для получения дополнительной информации см. Раздел «Задание размера данных Stateflow».
Можно задать размер данных с помощью выражения MATLAB, которое вычисляет допустимый размер спецификации. Для получения дополнительной информации смотрите Задать размер данных при помощи выражений и Задать свойства данных при помощи выражений MATLAB.
Задает, что объект данных изменяет размерности во время симуляции. Эта опция доступна для входных и выходных данных только, когда вы включите Support variable-size arrays свойства графика. Для получения дополнительной информации см. «Объявление данных переменного размера в диаграммах Stateflow».
Определяет, принимает ли объект данных комплексные числа.
Настройка | Описание |
---|---|
Off | Объект данных не принимает комплексные числа. |
On | Объект данных принимает комплексные числа. |
Inherited | Объект данных наследует настройку сложности от блока Simulink. |
Значение по умолчанию Off
. Для получения дополнительной информации смотрите Комплексные данные в Диаграммах Stateflow.
Индекс первого элемента массива данных. Первый индекс может быть любым целым числом. Значение по умолчанию 0
. Это свойство доступно только для графиков С.
Тип объекта данных. Чтобы задать тип данных:
В раскрывающемся списке Type выберите встроенный тип.
В поле Type введите выражение, которое вычисляет тип данных. Используйте одно из следующих выражений:
Вызов на fixdt
(Simulink) функция для создания Simulink.NumericType
(Simulink) объект, который описывает тип данных с фиксированной точкой или с плавающей точкой. См. «Задание данных с фиксированной точкой».
Вызов на type
оператор для определения типа ранее определенных данных. См. раздел «Вывод типов данных из других объектов данных».
A Simulink.AliasType
(Simulink) объект, который задает псевдоним типа данных в базовом рабочем пространстве MATLAB. См. «Задание типов данных при помощи псевдонима Simulink».
Для получения дополнительной информации смотрите Задать свойства данных при помощи выражений MATLAB.
Кроме того, в Model Explorer можно открыть Помощник по типам данных, нажав кнопку Show data type assistant. Задайте Mode данных, а затем укажите тип данных на основе этого режима. Для получения дополнительной информации см. Раздел «Задание типа данных Stateflow».
Примечание
Если вы вводите выражение для типа данных с фиксированной точкой, необходимо задать масштабирование явно. Например, вы не можете ввести неполную спецификацию, такую как fixdt(1,16)
в поле Type. Если вы явным образом не задаете масштабирование, при попытке симулировать модель появляется ошибка.
Запрещает замену текущего типа фиксированной точки автоматическим типом, выбранным Fixed-Point Tool (Fixed-Point Designer). Для получения дополнительной информации см. раздел «Автомасштабирование с использованием Fixed-Point Tool» (Fixed-Point Designer).
Определяет физические единицы измерения для входных и выходных данных. Для получения дополнительной информации см. раздел «Задание модулей для данных Stateflow».
Начальное значение объекта данных. Для постоянных данных это свойство называется Constant value. Опции для определения этого свойства зависят от возможностей объекта данных.
Возможности | Задайте для начального значения |
---|---|
Local | Выражение или параметр, заданный в иерархии Stateflow, базовом рабочем пространстве MATLAB или маскированной подсистеме Simulink. Чтобы задать начальное значение, когда вы оставляете поле Initial value пустым, откройте Model Explorer или диалоговое окно Свойства данных и установите выпадающий список Initial value равным
Настройкой по умолчанию является |
Constant | Постоянное значение или выражение. Выражение вычисляется при обновлении графика. Получившееся значение используется как константа для выполнения графика. Когда вы оставляете Constant value поле пустым, числовые данные разрешаются до значения по умолчанию 0. Для перечисленных данных значение по умолчанию обычно является первым, перечисленным в |
Parameter | Вы не можете ввести значение. График наследует начальное значение от параметра. |
Input | Вы не можете ввести значение. График наследует начальное значение от входного сигнала Simulink в назначенном порту. |
Output | Выражение или параметр, заданный в иерархии Stateflow, базовом рабочем пространстве MATLAB или маскированной подсистеме Simulink. Чтобы задать начальное значение, когда вы оставляете поле Initial value пустым, откройте Model Explorer или диалоговое окно Свойства данных и установите выпадающий список Initial value равным
Настройкой по умолчанию является |
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
Помощник по типам данных отображает поля для определения дополнительной информации о данных с фиксированной точкой.
Определяет, являются ли данные с фиксированной точкой 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.
Чтобы вычислить наиболее точные значения масштабирования:
Задайте Limit range свойства.
Нажмите 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 принимает значение по умолчанию.
Свойство | Значение по умолчанию | |
---|---|---|
Размер |
| |
Первый индекс | 0 | |
Начальное значение | 0.0 | |
Предельная область значений | Minimum | -inf |
Maximum | inf | |
Свойства данных с фиксированной точкой | Word length | 16 |
Fraction length | 0 | |
Slope | 1.0 | |
Bias | 0.0 |
В Property Inspector и Model Explorer можно ввести выражения MATLAB как значения для этих свойств:
Предельная область значений: Minimum и Maximum
Свойства данных с фиксированной точкой: Word length, Fraction length, Slope и Bias
Выражения могут содержать смесь числовых значений, констант, параметров, переменных, арифметических операций, параметров, констант, арифметических операторов и вызовов функций MATLAB. Для примера можно использовать эти функции для определения свойств данных.
Свойство | Функция | Описание |
---|---|---|
Size | size | Возвращает размер объекта данных |
Type | type | Возвращает тип объекта данных |
fixdt (Simulink) | Возвращает Simulink.NumericType объект, который описывает тип данных с фиксированной точкой или с плавающей точкой | |
fi (Fixed-Point Designer) | Возвращает численный объект с фиксированной точкой | |
Minimum | min | Возвращает наименьший элемент или элементы массива |
Maximum | max | Возвращает самый большой элемент или элементы массива |
Для получения дополнительной информации смотрите Задать размер данных при помощи выражений и Вывести типы данных из других объектов данных.
max
| min
| size
| fi
(Fixed-Point Designer) | fixdt
(Simulink) | Simulink.AliasType
(Simulink) | Simulink.NumericType
(Simulink)