Термин data type относится к тому, как компьютеры представляют информацию в памяти. Тип данных определяет сумму устройства хранения данных, выделенного данным, методу кодирования значения данных как шаблон двоичных цифр и операции, доступные для управления данными.
Можно задать тип объекта данных или в Property Inspector или в Model Explorer. В поле Type выберите тип из выпадающего списка или введите выражение, которое оценивает к типу данных. Для получения дополнительной информации смотрите Set Data Properties.
Также используйте Ассистент Типа данных, чтобы задать данные Mode и выбрать тип данных на основе того режима:
В Model Explorer, на панели Data, нажимают кнопку Show data type assistant.
Выберите Mode из выпадающего списка. Список доступных режимов зависит от осциллографа объекта данных.
Осциллограф | Режимы |
---|---|
Local | Inherit (доступный только в графиках, которые используют MATLAB® в качестве языка действия), Built in , Fixed point , Enumerated , Bus object , Expression |
Constant | Built in , Fixed point , Expression |
Parameter | Inherit , Built in , Fixed point , Enumerated , Bus object , Expression |
Input | Inherit , Built in , Fixed point , Enumerated , Bus object , Expression |
Output | Inherit , Built in , Fixed point , Enumerated , Bus object , Expression |
Data Store Memory | Inherit |
Укажите дополнительную информацию на основе режима. Ассистент Типа данных заполняет поле Type на основе вашей спецификации.
Режим | Типы данных |
---|---|
Inherit | Вы не можете задать тип данных. Вы наследовали тип данных на основе осциллографа, который вы выбираете для объекта данных:
Для получения дополнительной информации смотрите, Наследовали Типы данных от Объектов Simulink. |
Built in | Задайте тип данных из выпадающего списка поддерживаемых типов данных:
|
Fixed point | Укажите эту информацию о данных фиксированной точки:
Для получения информации смотрите Fixed-Point Data Properties. |
Enumerated | Задайте имя класса для перечислимого типа данных. Для получения дополнительной информации смотрите, Задают Перечислимые Типы данных. |
Bus object | Укажите, что имя объекта |
Expression | Задайте выражение, которое оценивает к типу данных. Можно использовать одно из этих выражений:
Для получения дополнительной информации смотрите, Вводят Выражения и Параметры для Свойств данных. |
Чтобы сохранить настройки типа данных, нажмите Apply.
Ассистент Типа данных доступен только через Model Explorer.
Когда вы выбираете Inherit: Same as Simulink
из Type выпадающий список, объекты данных осциллографа Input
, Output
, Parameter
, и Data Store Memory
наследовал их типы данных от объектов Simulink.
Осциллограф | Описание |
---|---|
Input | Наследовал тип от входного сигнала Simulink, соединенного с соответствующим входным портом в графике. |
Output | Наследовал тип от выходного сигнала Simulink, соединенного с соответствующим выходным портом в графике. Постарайтесь не наследовать типы данных от выходных сигналов. Значения, которые назад - распространяют от блоков Simulink, могут быть непредсказуемыми. |
Parameter | Наследовал тип от соответствующей переменной базового рабочего пространства MATLAB или параметра Simulink в подсистеме маскированной. |
Data Store Memory | Наследовал тип от соответствующего хранилища данных Simulink. |
Чтобы определить типы данных, которые наследовали объекты:
Создайте модель Simulink.
Откройте Model Explorer.
В панели Contents исследуйте столбец CompiledType.
Можно использовать оператор type
, чтобы вывести типы данных от других объектов данных Stateflow:
type(data_obj)
sf_bus_demo
, выражение type(inbus)
возвращает тип данных входной структуры inbus
. Поскольку inbus
выводит свой тип от объекта Simulink.Bus
COUNTERBUS
, тип данных локальной структуры, counterbus_struct
также выводит свой тип данных от COUNTERBUS
.После того, как вы создадите свою модель, столбец CompiledType Model Explorer показывает тип, используемый в скомпилированном приложении симуляции.
Можно задать тип данных Stateflow при помощи псевдонима типа данных Simulink. Для получения дополнительной информации смотрите Simulink.AliasType
.
Например, предположите, что вы хотите задать псевдоним типа данных MyFloat
, который соответствует встроенному типу данных single
. В команде MATLAB запрашивают, введите:
MyFloat = Simulink.AliasType;
MyFloat.BaseType = 'single';
Чтобы использовать этот псевдоним, чтобы задать тип объекта данных, выберите объект в Property Inspector или Model Explorer. В поле Type введите имя псевдонима MyFloat
.
После того, как вы создадите свою модель, столбец CompiledType Model Explorer показывает тип, используемый в скомпилированном приложении симуляции.
По умолчанию свойство диаграммы Use Strong Data Typing with Simulink I/O позволяет графикам C взаимодействовать через интерфейс непосредственно с сигналами из моделей Simulink. График принимает только входные сигналы, тип данных которых совпадает с типом соответствующего объекта данных Stateflow. В противном случае ошибка несоответствия типов происходит. Например, путем выбора Use Strong Data Typing with Simulink I/O, можно отметить несоответствия между данными фиксированной точки ввода или вывода в графиках и их дубликатами в моделях Simulink. Для получения дополнительной информации смотрите Specify Properties для диаграмм Stateflow.
Если вы очищаете свойство диаграммы Use Strong Data Typing with Simulink I/O, график преобразовывает входные сигналы типа double
к типу соответствующего объекта входных данных в графике. График преобразовывает объекты выходных данных ввести double
прежде, чем экспортировать их как выходные сигналы к моделям Simulink.
Свойство диаграммы Use Strong Data Typing with Simulink I/O обеспечивается для обратной совместимости. Снятие этого флажка может привести к непредсказуемым результатам и не рекомендуется.