Термин 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 обеспечивается для обратной совместимости. Снятие этого флажка может привести к непредсказуемым результатам и не рекомендуется.