exponenta event banner

Технические характеристики установки в моделях Simulink

Simulink ® позволяет указывать физические единицы в качестве атрибутов сигналов на границах компонентов модели. Такими компонентами могут быть:

  • Подсистемы

  • Ссылочные модели Simulink

  • Simulink-PS Converter (Simscape) и PS-Simulink Converter (Simscape) блокируют интерфейс между Simulink и компонентами, разработанными в Simscape™, и связанными с ними продуктами физического моделирования

  • Диаграммы Stateflow ®, таблицы переходов состояний или таблицы истинности

  • Функциональные блоки MATLAB

  • Постоянные блоки

  • Блоки памяти хранилища данных, чтения хранилища данных и записи хранилища данных

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

В моделях Simulink единицы измерения указываются из базы данных единиц измерения. База данных блоков содержит блоки из следующих систем блоков:

  • SI - Международная система единиц

  • SI (extended) - Международная система единиц (расширенная)

  • English - Английская система единиц измерения

  • CGS - Система единиц измерения в сантиметрах-граммах-секундах

В зависимости от типа моделируемой системы можно использовать любую комбинацию единиц измерения из этих поддерживаемых систем единиц измерения. Дополнительные сведения о поддерживаемых системах единиц измерения и содержащихся в них единицах измерения см. в разделе Разрешенные единицы измерения.

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

и эти объекты:

При добавлении поддерживаемого блока в модель для параметра Единица измерения (Unit) в блоке устанавливается значение inherit по умолчанию. Эта настройка означает, что блок наследует блок от соединительного сигнала, который имеет явно заданный блок.

Единицы измерения для сигналов можно явно задать с помощью параметра Unit поддерживаемого блока. Для этого параметра диалоговое окно содержит соответствующие предложения, которые помогут:

Если вы не предоставите правильно сформированное выражение единицы измерения, вы получите ошибку. Правильно сформированные выражения единиц представляют собой комбинацию имен единиц или символов с правильно сбалансированными скобками и *, /, и ^ персонажи. Специальные символы, такие как [, ], {, }, <, >, \, ", &и т.д. не поддерживаются.

По умолчанию порт блока имеет пустой (то есть неопределенный) блок, а параметр Unit имеет значение inherit. При указании единицы измерения для одного порта Simulink проверяет установку единицы измерения для любого подключенного к нему порта. Если порт имеет пустой блок, его можно подключить к другому порту, имеющему любой поддерживаемый блок. Если для параметра port unit установлено значение inherit, он наследует блок от подключенного порта, который имеет указанный блок.

Рекомендации по количествам без единиц измерения, без размеров и без единиц измерения

При работе с безразмерными, безразмерными или безразмерными количествами учитывайте следующие рекомендации:

  • Чистые числа без единиц

    Рассмотрите возможность использования 1, стандартная безразмерная единица СИ. Simulink проверяет единицу измерения, чтобы убедиться, что другие безразмерные величины распространяются в. Можно добавлять, умножать и манипулировать этими типами чисел.

  • Неуказанные единицы

    Рекомендуется использовать пустую единицу измерения, где параметр Unit пуст. Если этот параметр пуст, Simulink принимает любой блок, распространяющийся на порт, без возврата предупреждения.

  • Целое число подсчета

    Рассмотрите возможность использования count для обозначения целочисленной единицы счётного числа. Эта единица измерения используется для количеств, которые трудно описать, но которые считаются безразмерными или безразмерными, например, состояния термодоступа или количество ШИМ. Дополнительные сведения см. в разделе count в разрешенных единицах.

  • Безразмерные физические величины

    Безразмерные физические величины представляют определенную физическую величину. Рассмотрите возможность использования физических величин velocity_factor, refractive_index, relative_permeability, strain, Reynolds_number, и logical. Некоторые из этих физических величин, strain и Reynolds_number, иметь соответствующие единицы измерения. Чтобы указать единицы измерения для других физических величин, используйте формат, например 1@physical quantity, например, 1@refractive_index. Simulink выполняет проверку физической величины при распространении. Например, если модель пытается добавить физические величины размеров, Simulink возвращает предупреждение.

  • Чистые масштабированные числа

    Рассмотрите возможность использования ppm, ppb, ppt.

Указать физические величины

При моделировании физической системы можно использовать одно и то же выражение единицы измерения для двух или более сигналов, представляющих различные физические величины. Например, единичное выражение N*m может представлять собой либо крутящий момент, либо энергию. Чтобы предотвратить ошибочное соединение двух портов с одним и тем же блоком, но представляющих различные физические величины, можно добавить физическую величину к выражению блока. Например, для одной и той же единицы измерения N*m, можно указать различные физические количества N*m@torque и N*m@energy. Как и в случае единиц измерения, в диалоговом окне предлагаются варианты ввода имен физических величин.

Физические величины помогают обеспечить дополнительную степень проверки непротиворечивости блоков между подключенными портами. При попытке соединения портов с различными физическими величинами в модели отображается предупреждение.

Задание единиц измерения в объектах

По умолчанию Simulink.Signal, Simulink.BusElement, и Simulink.Parameter объекты имеют пустые единицы измерения. В случае a:

  • Simulink.Signal объект, пустой блок означает, что соответствующий сигнал может наследовать блок от восходящего или нисходящего порта.

  • Simulink.BusElement объект, пустой блок означает, что соответствующий сигнал элемента шины также имеет пустой блок. Вы можете подключить сигнал к порту с любым блоком, но сигнал не наследует блок от порта.

  • Simulink.Parameter объект не присоединяет единицу к соответствующему значению параметра.

При указании единицы измерения в Simulink.Signal или Simulink.BusElement объект, Simulink применяет атрибут к соответствующей сигнальной линии, когда:

  • Simulink.Signal объект разрешается в сигнал в модели

  • Используется сигнал элемента шины, связанный с Simulink.Bus с блоком Bus Creator, Bus Selector или Bus Assignment.

Для Simulink.Parameter объект, Simulink не применяет никаких атрибутов. Для всех объектов, если параметр Unit имеет неверное значение, отображается ошибка. Если единица измерения сформирована правильно, но не определена, при компиляции модели отображается предупреждение. Если выражение единицы измерения содержит специальные символы, такие как [, ], {, }, <, >, \, ", &и так далее, Simulink заменяет их подчеркиваниями (_).

Свойства пользовательских единиц измерения

Примечания к Unit и DocUnits свойства, начинающиеся с R2016a:

  • DocUnits свойство теперь Unit для Simulink.Parameter или Simulink.Signal объекты. Если в предыдущей версии вы использовали DocUnits параметр Simulink.Parameter или Simulink.Signal объект, содержащий текст, который теперь не соответствует спецификациям единиц измерения, при моделировании возвращается предупреждение.

    Для подавления этих предупреждений установите для параметра конфигурации Units unconsistency messages значение none. Этот параметр подавляет все предупреждения о несоответствии единиц измерения.

  • Если у вас есть класс, производный от Simulink.Parameter, Simulink.Signal, или Simulink.BusElement с ранее определенным Unit Simulink возвращает следующую ошибку:

    ​Cannot define property 'Unit' in class 'classname' because
     the property has already been defined in the superclass 'superclass'.

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

    Примечание

    При сохранении существующих данных в MAT- или .sldd в версии до R2016a скопируйте содержимое Unit к свойству DocUnits во-первых. Затем сохраните файл в более ранней версии перед загрузкой модели в R2016a или более поздней версии.

Задание единиц измерения для температурных сигналов

При моделировании абсолютных величин температуры используйте такие единицы, как K, degC, degF, и degR. При моделировании величин разности температур используйте такие единицы измерения, как deltaK, deltadegC, deltadegF, и deltadegR. При подключении сигнала с единицей измерения разности температур к блоку, задающему абсолютную единицу измерения температуры, Simulink обнаруживает несоответствие.

Определение единиц измерения в функциональных блоках MATLAB

Единицы измерения для входных и выходных данных функциональных блоков MATLAB можно определить с помощью параметра Unit в окне Ports and Data Manager.

Во время обновления модели Simulink проверяет наличие несоответствий в единицах измерения между портами входных или выходных данных и соответствующими сигналами.

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

Единицы измерения для выходных данных блоков констант можно задать с помощью свойства Unit в Simulink.Parameter объект.

Укажите единицы для регистрации и загрузки сигнальных данных

В данные о сигналах, которые регистрируются или загружаются, можно включить единицы измерения.

Единицы измерения для регистрации и загрузки определяются с помощью Simulink.SimulationData.Unit объекты. При входе в систему с помощью Dataset или Timeseries формат, Simulink хранит информацию об устройстве с помощью Simulink.SimulationData.Unit объекты. При создании загружаемых временных рядов MATLAB ® можно указатьSimulink.SimulationData.Unit объект для Units имущества timeseries объект.

Дополнительные сведения см. в разделах Регистрация данных сигналов, использующих единицы измерения, и Загрузка данных сигналов, использующих единицы измерения.

Ограничивающие системы установок

По умолчанию единицы измерения можно указать в любой из поддерживаемых систем единиц измерения. Однако в крупных проектах моделирования для обеспечения согласованности может потребоваться ограничить системы единиц измерения, которые могут использоваться определенными компонентами модели. Чтобы указать доступные системы единиц измерения для модели, в параметре конфигурации Допустимые системы единиц измерения введите all или список, разделенный запятыми, содержащий один или несколько из SI, SI (extended), CGS, и English. Не используйте кавычки. Если модель содержит ссылочные модели, можно использовать разрешенные системы единиц измерения для ограничения единиц измерения в каждой из этих ссылочных моделей. Если модель содержит подсистемы, можно использовать блок Конфигурация системы единиц измерения (Unit System Configuration) для ограничения единиц измерения в подсистемах. Можно также дополнительно использовать блок конфигурации системы единиц измерения в модели. В этом случае настройки в блоке «Конфигурация системы единиц измерения» переопределяют значения, указанные в разделе «Разрешенные системы единиц измерения».

Для ограничения единичных систем в модели:

  1. В параметре Unit блока Inport, Outport или Signal Specification щелкните ссылку.

    Если в модели существует блок конфигурации системы единиц измерения, эта ссылка открывает диалоговое окно блока. В противном случае по ссылке открывается параметр конфигурации Allowed unit systems.

  2. Укажите одну или несколько требуемых систем единиц измерения, SI, SI (extended), English, или CGS, в списке с разделителями-запятыми или all, без кавычек.

В связи родитель-потомок (например, модель верхнего уровня со ссылочной моделью или подсистемой) для каждого компонента можно указать различные системы единиц измерения. Однако если потомок распространяет единицу измерения на родительский элемент, который отсутствует в системах единиц измерения, указанных для родительского элемента, выводится предупреждение.

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

  • Нажмите Ctrl + D и визуально проверьте модель на наличие предупреждающих значков.

  • Используйте проверку Model Advisor Идентификация запрещенных систем единиц измерения.

См. также

| | | | | | | |

Связанные примеры

Подробнее