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

Можно защитить образцовый дизайн, препятствуя тому, чтобы блочные параметры использовали значения за пределами области значений. Например, если значение параметра, который представляет угол элерона самолета, не может осуществимо превысить известное значение, можно задать максимум дизайна для параметра в модели.

Фиксированная точка Designer™ позволяет Simulink® использовать вашу информацию об области значений, чтобы вычислить фиксированную точку лучшей точности, масштабирующуюся для:

  • Настраиваемые параметры.

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

Для основной информации о блочных параметрах смотрите Блочные Значения параметров Набора.

Задайте области значений значения параметров

Когда вы задаете диапазон значений для блочного параметра, обычно, можно принять решение хранить информацию в блоке (образцовый файл) или во внешней переменной или объекте параметра. Выберите метод на основе своих целей моделирования.

  • Используйте другие параметры того же блока при наличии. Например, можно управлять диапазоном значений параметра Усиления блока Gain при помощи минимума Параметра и параметров максимума Параметра во вкладке Parameter Attributes в блочном диалоговом окне. Для других блоков, таких как Интерполяционная таблица n-D и Контроллер ПИДа, используют вкладку Data Types.

    Используйте этот метод для:

    • Храните информацию области значений в образцовом файле.

    • Храните информацию области значений, когда вы будете хранить информацию типа данных фиксированной точки в блоке (например, путем устанавливания параметра Типа данных параметров блока Gain к фиксированной точке, включая масштабирование лучшей точности). Этот метод более ясно сопоставляет информацию об области значений с информацией о типе данных.

  • Используйте объекты параметра (например, Simulink.Parameter), чтобы установить значение параметров. Можно задать информацию об области значений в объекте, вместо блока, при помощи свойств Min и Max объекта.

    Используйте этот метод для:

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

    • Задайте информацию об области значений для единственного значения, которое вы совместно используете между несколькими блочными параметрами (см. Блочные Значения параметров Доли и Повторного использования путем Создания Переменных). Вместо того, чтобы использовать числовую переменную MATLAB®, используйте объект параметра так, чтобы можно было задать свойства Min и Max.

    • Храните информацию области значений, когда вы будете хранить информацию типа данных фиксированной точки в объекте параметра (путем установки свойства DataType на фиксированную точку вместо auto). Этот метод более ясно сопоставляет информацию об области значений с информацией о типе данных.

    Если вы задаете информацию об области значений в объекте параметра, рассматриваете удаление информации о диапазоне от блока. Например, на вкладке Parameter Attributes диалогового окна блока Gain, устанавливает минимум Параметра и максимум Параметра к []. Некоторые инструменты, такие как Fixed-Point Tool, используют информацию об области значений, которую вы задаете в блоке, только если вы не задаете информацию об области значений в объекте параметра. Если вы задаете информацию об области значений в объекте параметра, инструменты игнорируют информацию об области значений, которую вы задаете в блоке.

    Для основной информации о создании и использовании объектов данных, смотрите Объекты данных.

Задайте допустимую информацию об области значений

Задайте минимум или максимум как выражение, которое оценивает к скаляру, вещественному числу с типом данных double. Например, можно задать минимальное значение для параметра Усиления в блоке Gain минимумом установки Parameter:

  • Литеральный номер, такой как 98.884. Неявно, типом данных является double.

  • Числовая переменная рабочей области (см. Блочные Значения параметров Доли и Повторного использования путем Создания Переменных), чьим типом данных является double. Используйте этот метод, чтобы совместно использовать минимальное или максимальное значение между несколькими элементами данных.

    Однако вы не можете использовать переменные, чтобы установить свойства Min или Max объекта параметра.

Чтобы оставить минимум или максимум блочного объекта параметра или объекта параметра незаданными, используйте пустой матричный [], который является значением по умолчанию.

Задайте информацию об области значений для нескалярных параметров

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

Если значение блочного параметра является структурой или полем структуры, задайте информацию об области значений для полей структуры путем создания объекта Simulink.Parameter, тип данных которого является объектом Simulink.Bus. Задайте информацию об области значений при помощи свойств элементов сигнала в объекте шины. Для получения дополнительной информации смотрите Типы данных Поля элемента управления и Характеристики путем Создания Объекта параметра.

Задайте информацию об области значений для параметров с комплексным знаком

Если значение блочного параметра является комплексным (i), информация об области значений, которую вы задаете, применяется отдельно к действительной части и к мнимой части комплексного числа. Если значение любой части номера вне области значений, модель генерирует ошибку.

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

Используя Редактор Данных модели (Представление> Редактор Данных модели), можно задать диапазоны значений для нескольких блочных параметров и переменных с доступной для поиска, поддающейся сортировке таблицей. На вкладке Parameters, устанавливает представление Change выпадающий список на Design и задавать значения в столбцы Max и Min.

Для получения дополнительной информации о Редакторе Данных модели, смотрите Configure Data Properties при помощи Редактора Данных модели.

Ограничьте позволенные значения для блочных параметров

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

Позволяет ли блок вам задавать диапазон значений для параметра, рассмотрите использование объекта параметра (например, Simulink.Parameter), чтобы установить значение целевого параметра. Используйте свойства объекта задать информацию об области значений. Этот метод помогает вам задать информацию об области значений для переменной, которую вы используете, чтобы установить несколько блочных значений параметров.

Задайте информацию об области значений для настраиваемых параметров фиксированной точки

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

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

Чтобы задать информацию об области значений для настраиваемых параметров, смотрите, Вычисляют Фиксированную точку Лучшей Точности, Масштабирующуюся для Настраиваемых Блочных Параметров. Чтобы учиться как сигналы автошкал Fixed-Point Tool путем принятия во внимание диапазонов значений настраиваемых параметров, смотрите, Выводят Области значений для Simulink. Объекты параметра (Fixed-Point Designer).

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

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

Однако Simulink хранит пределы дизайна как double перед сравнением. Если тип данных элемента данных имеет более высокую точность, чем double (например, тип данных фиксированной точки с 128-битным размером слова и 126-битной дробной длиной) или большая область значений, чем double, и double не может точно представлять значение предела дизайна, Simulink может сгенерировать неожиданные предупреждения и ошибки.

Если недвойной тип имеет более высокую точность, рассмотрите округление предела дизайна следующему номеру дальше всего от нуля, который может представлять double. Например, предположите, что сигнал генерирует ошибку после того, как вы устанавливаете максимальное значение к 98.8847692348509014. В командной строке вычислите следующий номер дальше всего от нуля, который может представлять double.

format long
98.8847692348509014 + eps(98.8847692348509014)
ans =

  98.884769234850921

Используйте получившийся номер, 98.884769234850921, чтобы заменить максимальное значение.

Оптимизируйте сгенерированный код

Если вы Встроили Coder®, Simulink Coder™ может оптимизировать код, который вы генерируете от модели путем принятия во внимание минимальных и максимальных значений, которые вы задаете для сигналов и параметров. Эта оптимизация может удалить алгоритмический код и влиять на результаты некоторых режимов моделирования, такие как SIL или режим external mode. Для получения дополнительной информации смотрите, Оптимизируют использование заданных минимальных и максимальных значений (Simulink Coder).

Похожие темы

Была ли эта тема полезной?