Обновите существующую модель, чтобы использовать модули

В этом примере показано, как добавить модулей к существующей модели. Вы видите, как:

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

  • Интеграция компонентов, которые используют различные единичные системы

  • Задайте модули для отдельных элементов массива объекта шины

  • Диагностируйте проблемы несоответствия модулей

Модель в примере является системой топливного регулирования. Контроллер (Fuel Rate Controller) и объект (Engine Gas Dynamics) компоненты модели являются невиртуальными подсистемами. Невиртуальные подсистемы имеют выбранный параметр Treat as atomic unit. Вы вводите модули на объект перед введением модулей на контроллер и соединительные сигналы. Вы также задаете модули для отдельных элементов массива объекта шины в модели.

Откройте ex_units_fuelsys пример модели.

Для верхней модели параметр конфигурации Allowed unit systems определяет системы модулей, которые модель может использовать. Для каждой подсистемы объекта управления и контроллера блок Unit System Configuration определяет допустимые единичные системы.

КомпонентРазрешенные модульные системы
Верхняя частьSI
Fuel Rate Controller подсистема (контроллер)all
Engine Gas Dynamics подсистема (объект)all

В подсистеме объекта на вкладке < reservedrangesplaceholder2 > каждого < reservedrangesplaceholder1 > диалогового окна блока установите параметр Unit на значение, соответствующее подключенному физическому сигналу.

БлокФизический сигналМодуль единичного параметра
1скорость вращения двигателяrad/s (радианы в секунду)
2угол дросселяdeg (степени)
3расход топливаg/s (граммы в секунду)

Чтобы отобразить модули на портах и сигналах в модели, на вкладке Debug, выберите Information Overlays > Port Units.

В подсистеме объекта можно увидеть модули на блоках Inport и связанных сигналах.

Вернитесь к верхней модели. Чтобы скомпилировать модель, нажмите клавишу Ctrl+D, которая также выполняет проверку согласованности модулей.

Модель отображает предупреждение, чтобы указать, что существует запрещённый модуль измерения для throttle angle сигнал. Если щелкнуть значок предупреждения, отобразится ссылка на отчет Model Advisor, содержащий более подробную информацию.

Модель также отображает предупреждение в нижней части окна редактирования моделей.

В подсистеме объекта вы задаете модуль deg (степени) для throttle angle сигнал. Однако предупреждающее сообщение указывает, что степени отсутствуют в системе модулей СИ. Как определено параметром конфигурации Allowed unit systems, СИ является единственной единичной системой, которую в настоящее время позволяет верхняя модель. Чтобы устранить это предупреждение, у вас есть две опции:

  • В подсистеме объекта задайте модуль измерения для throttle angle сигнализируйте, что система модулей СИ поддерживает. Дополнительные сведения о поддерживаемых модулем системах и их модулях см. в разделе Разрешенные Модули.

  • В верхней модели измените параметр конфигурации Allowed unit systems, чтобы расширить набор разрешенных единичных систем.

В этом случае модуль deg для throttle angle соответствующий сигнал. Вместо этого, чтобы разрешить предупреждение, разверните набор разрешенных единичных систем для верхней модели. Установите параметр конфигурации Allowed unit systems модели верхней части равным all. Чтобы перекомпилировать модель, нажмите Ctrl+D.

Верхняя модель больше не отображает предупреждения.

Теперь, когда вы ввели модули на объект и успешно решили проблемы несогласованности модулей, можно добавить модулей к контроллеру. В Fuel Rate Controller подсистеме, набор Unit параметр <reservedrangesplaceholder2> <reservedrangesplaceholder1> блокируют к kg/s (килограммы в секунду).

Вернитесь к верхней модели. Чтобы перекомпилировать файл, нажмите Ctrl+D.

Верхняя часть теперь показывает предупреждение о несоответствии модулей измерения между контроллером и объектом. Чтобы устранить эту ошибку, можно:

  • Явно вставьте Unit Conversion блок между двумя компонентами.

  • Выберите Allow automatic unit conversions параметр конфигурации.

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

В этом случае включить Simulink® чтобы автоматически устранить несоответствие модулей измерения, выберите Allow automatic unit conversions. Чтобы перекомпилировать модель, нажмите Ctrl+D.

Simulink автоматически преобразует модули между контроллером и объектом. Значок автоматического преобразования заменяет предупреждение.

Верхняя часть модели включает в себя EngSensors объект шины, который передает различные сигналы датчика в качестве составного сигнала контроллеру. Чтобы использовать Редактор шин для добавления модулей к отдельным элементам объекта шины, на вкладке Modeling, в разделе Design, нажмите Bus Editor.

Для EngSensors bus object, установите параметр Unit каждого элемента.

СигналМодуль единичного параметра
throttledeg (степени)
speedrad/s (радианы в секунду)
egoV (вольт)
mapbar (бары)

Чтобы перекомпилировать модель, нажмите Ctrl+D.

Модель показывает модули на отдельных элементах объекта шины.

Вы также можете увидеть модули в интерфейсном представлении вашей модели. На вкладке Modeling, под Design, нажмите Model Interface.

Блок airflow_calc подсистемы контроллера отображает модули на отдельных элементах объекта шины, как в интерфейсе компонента, так и в компоненте.

После того, как вы вводите модули постепенно и решаете проблемы несоответствия и несоответствия, можно симулировать модель.

Для fuel сигнал, который соединяется с возможностями, окно plot отображает соответствующие модули измерения kg/s как y метка оси.

См. также

| | |

Похожие темы