О типах данных в Simulink

О типах данных

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

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

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

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

Инструкции по вводу данных

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

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

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

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

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

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

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

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

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

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

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

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

  • Соединение сигнала non-double к блоку отключает обнаружение пересечения нулем для того блока.

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

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

Примечание

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

Смотрите также

|

Похожие темы