exponenta event banner

Сведения о типах данных в Simulink

Сведения о типах данных

Термин тип данных относится к тому, как компьютер представляет числа или текст в памяти. Тип данных определяет объем памяти, выделенный для числа или буквы, метод, используемый для кодирования значения числа как шаблона двоичных цифр, и операции, доступные для манипулирования типом. Большинство компьютеров предоставляют выбор типов данных для представления чисел, каждый из которых имеет определенные преимущества в области точности, динамического диапазона, производительности и использования памяти. Для оптимизации производительности можно указать типы данных переменных, используемых в технической вычислительной среде MATLAB ®. Simulink ® использует эту возможность, позволяя задавать типы данных сигналов Simulink и параметры блоков.

Возможность определения типов данных сигналов и параметров блоков модели особенно полезна в приложениях управления в реальном времени. Например, она позволяет модели Simulink задавать оптимальные типы данных для представления сигналов и блокировать параметры в коде, генерируемом моделью с помощью инструментов автоматического создания кода, таких как продукт Simulink Coder™. Выбирая наиболее подходящие типы данных для сигналов и параметров модели, можно значительно повысить производительность и уменьшить размер кода, генерируемого моделью.

Simulink выполняет обширную проверку перед моделированием и во время него, чтобы убедиться в том, что модель является типизированной, то есть что код, сгенерированный из модели, не будет переполнен или недозаполнен и, таким образом, приведет к неправильным результатам. Модели Simulink, использующие тип данных по умолчанию (double) по своей сути являются типизированными. Таким образом, если вы никогда не планируете создавать код из модели или использовать в моделях тип данных, не используемый по умолчанию, можно пропустить оставшуюся часть этого раздела.

С другой стороны, если планируется создать код из моделей и использовать типы данных, не имеющие значения по умолчанию, внимательно ознакомьтесь с остальной частью этого раздела, особенно с разделом о правилах типов данных (см. Руководство по типизации данных). Таким образом, можно избежать появления ошибок типа данных, препятствующих завершению или моделированию модели.

Рекомендации по типированию данных

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

  • Типы данных сигнала обычно не влияют на типы данных параметров и наоборот.

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

  • Если вывод блока является функцией ввода и параметра, а ввод и параметр различаются по типу, Simulink преобразует параметр во входной тип перед вычислением вывода.

  • Как правило, блок выводит тип данных, который появляется на его входе.

    Значительные исключения включают блоки констант и блоки преобразования типов данных, типы выходных данных которых определяются параметрами блоков.

  • Виртуальные блоки принимают сигналы любого типа на своих входах.

    Примеры виртуальных блоков включают блоки Mux и Demux и безусловно выполняемые подсистемы.

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

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

  • Управляющие порты (например, порты Enable и Trigger) принимают любой тип данных.

  • Блоки решателя принимают только double сигналы.

  • Подключение не -double сигнал в блок отключает обнаружение пересечения нуля для этого блока.

Распространение типа данных

При каждом запуске моделирования, включении отображения типов данных порта или обновлении отображения типа данных порта Simulink выполняет шаг обработки, называемый распространением типа данных. Этот этап включает в себя определение типов сигналов, тип которых не определен иным образом, и проверку типов сигналов и входных портов, чтобы убедиться, что они не конфликтуют. При возникновении конфликтов типов отображается диалоговое окно ошибок, в котором указывается сигнал и порт, типы данных которых конфликтуют. Тракт сигнала, создающий конфликт типов, также подсвечивается.

Примечание

Для разрешения конфликтов типов в модель можно вставлять блоки типоразмера (преобразования типов данных). Дополнительные сведения см. в разделе Преобразование типов данных.

См. также

|

Связанные темы