В этом примере показано, как добавить модули в существующую модель. Вы видите как к:
Используйте инкрементный рабочий процесс, чтобы добавить модули в компоненты в вашей модели
Интегрируйте компоненты, которые используют различные модульные системы
Задайте модули для отдельных элементов объекта шины
Диагностируйте проблемы несоответствия единиц измерения
Модель в примере является топливной системой управления. Контроллер (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 |
В подсистеме объекта, на вкладке Signal Attributes каждого диалогового окна блока Inport, устанавливает параметр 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, SI является единственной модульной системой, которую в настоящее время позволяет топ-модель. Чтобы разрешить это предупреждение, у вас есть две опции:
В подсистеме объекта задайте модуль для throttle angle
сигнализируйте, что система единицы СИ поддерживает. Для получения дополнительной информации о поддерживаемых модульных системах и модулях они содержат, видят Позволенные Модули.
В топ-модели измените параметр конфигурации Allowed unit systems, чтобы расширить набор позволенных модульных систем.
В этом случае, модуль deg
для throttle angle
сигнал является соответствующим. Вместо этого чтобы разрешить предупреждение, расширьте набор позволенных модульных систем для топ-модели. Установите параметр конфигурации Allowed unit systems топ-модели к all
. Чтобы перекомпилировать модель, нажмите Ctrl+D.
Топ-модель больше не выводит предупреждения.
Теперь, когда вы ввели модули объекту и успешно разрешили модульные проблемы несоответствия, можно добавить модули в контроллер. В подсистеме Fuel Rate Controller, установленной параметр Unit
блока fuel_rate Outport к kg/s
(килограммы в секунду).
Перейдите назад топ-модели. Чтобы перекомпилировать его, нажмите Ctrl+D.
Топ-модель теперь показывает предупреждение для несовпадающих модулей между контроллером и объектом. Чтобы разрешить эту ошибку, вы можете:
Явным образом вставьте блок Unit Conversion между этими двумя компонентами.
Выберите параметр конфигурации Allow automatic unit conversions.
Обе опции преобразовывают единицы таким же образом. Ситуация, в которой вы можете запретить автоматические преобразования и вставить блоки преобразования вместо этого, состоит в том, когда вы интегрируете много компонентов в большой системной модели. В этом случае вручную вставляющие блоки преобразования могут дать вам добавленный уровень контроля модульных преобразований в модели. Кроме того, с блоком преобразования можно управлять типом данных конвертированного сигнала. Это полезно, например, когда вы моделируете для точности фиксированной точки.
В этом случае, чтобы позволить Simulink® разрешить модуль не сочетаются автоматически, выбирают Allow automatic unit conversions. Чтобы перекомпилировать модель, нажмите Ctrl+D.
Simulink автоматически преобразовывает единицы между контроллером и объектом. Автоматический значок преобразования заменяет предупреждение.
Топ-модель включает EngSensors
соедините шиной возражают, что передает различные сигналы датчика как составной сигнал контроллеру. Чтобы использовать Редактор Шины, чтобы добавить модули в отдельные элементы объекта шины, на вкладке Modeling, под Design, нажимают Bus Editor.
Для EngSensors
соедините шиной объект, установленный параметр Unit каждого элемента.
Сигнал | Модульная установка параметра |
---|---|
throttle | deg (степени) |
speed | rad/s (радианы в секунду) |
ego | V (вольты) |
map | bar (панели) |
Чтобы перекомпилировать модель, нажмите Ctrl+D.
Модель показывает модули на отдельных элементах объекта шины.
Можно также видеть модули в интерфейсном представлении модели. На вкладке Modeling, под Design, нажимают Model Interface.
Блок airflow_calc подсистемы контроллера отображает модули на отдельных элементах объекта шины, и в интерфейсе компонента и в компоненте.
После того, как вы введете модули инкрементно и несоответствие твердости и проблемы несоответствия, можно симулировать модель.
Для fuel
сигнал, который соединяется с осциллографом, окно графика, отображает связанные модули kg/s
как y - подпись по осям.
Inport | Outport | Unit Conversion | Unit System Configuration