Управление режимами

У каждой системы есть свои режимы работы. Например, у мобильного телефона есть игровой режим, режим энергосбережения и т. д. В каждом из этих режимов субблоки мобильного телефона (процессор, GPU, экран и т. д.) имеют свои собственные режимы работы.

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

Моделисты - это, по сути, схемы для массивов (в нашем случае Matrix Valis), которые можно использовать для использования возможностей Valitypes и функций автоматического распространения расчетов портала Requirements & Systems Portal, связывая несколько моделистов (схем) в дерево блоков.

Например, общее энергопотребление системы зависит от режима, в котором она находится. В режиме "ON" все блоки и подблоки системы будут включены, в режиме "STANDBY" некоторые блоки системы будут работать, а другие - нет. В режиме "OFF" все блоки будут выключены.

Общее энергопотребление Quadcoper зависит от режима работы системы [OFF, STANDBY, TAKEOFF, CRUISE, LANDING: родительский режим] и от того, как ведут себя различные субблоки (режим подсистемы) в рамках каждого режима.

Давайте разберемся в этом на примере.

Parent modeна рис Valicopter Modelistsдля валикоптера "Пассажиры" (количество пассажиров) и "Режим полета" являются родительскими режимами, которые диктуют энергопотребление. Поэтому мы щелкаем по блоку (1), переходим на вкладку "Моделисты" и добавляем моделист, который будет служить схемой для нашего зависимого от режима Валиса.

Моделисты валикоптера

Аналогично на рисунке Propulsion Modelists для подсистемы Propulsion (1)есть четыре родительских режима (2): OFF, MANOEUVER, CRUISE, STANDBY (3).

Моделисты двигательной установки

Subsystem mode: Режимы подсистемы - это режимы, которые назначаются субблокам основного блока. Возьмем пример с двигательной установкой.

Родительскими режимами, как определено выше для Propulsion, являются OFF, MANOEUVER, CRUISE и STANDBY.

На рис Sub-Block Modelistsрежимы подсистемы (2) ее субблока "Back_Left" (1) это OFF, ON, POWER и HOLD (3).

Моделисты субблоков

Assigning values to the modes of the sub-blocks

После того, как мы установили режимы для отдельных блоков, мы можем создать (1) матрица (2) valitype "PowerConsumption", которая зависит от режима, как указано в поле "Mode Reference" (3) как на рис Creating a Mode Dependent Matrix.

Создание режимно-зависимой матрицы

или преобразуйте стандартный Vali в режимно-зависимый Vali (рис Converting a Vali into Modelist Dependency), нажав "Mode dependent" (1) на панели "Информация" вали и выбрав соответствующий Modelist (2).

Преобразование вали в зависимость от моделиста

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

На рис Mode-Dependent Valiмы видим определенные формулы потребления мощности и рассчитанные значения (2) заднего левого двигателя (1) в каждом из ранее заданных режимов.

Режимно-зависимые значения

Теперь, когда мы определили режимы и значения энергопотребления субблоков, мы можем определить режимы системы верхнего уровня, например Flight Modes [OFF, STANDBY, TAKEOFF, CRUISE, LANDING]а затем определить общую потребляемую мощность системы. Это достигается путем связывания режимов субблоков с режимами верхнего уровня Valicopter.

Linking Modes

На видео Linking Modelists показаны режимы системы верхнего уровня и соответствующие связанные режимы субблоков в таблице "Связанные режимы".

Для расчета общего энергопотребления системы, как показано на рис Mode Dependent Vali-Type мы можем создать на верхнем уровне "Valicopter_5000" блок "Power Consumption” матрица (1). Портал Requirements & Systems Portal автоматически рассчитает общее энергопотребление для всех заданных режимов с помощью встроенной функции "soc()" (Sum of Children) formula (2), которая суммирует все энергопотребление субблоков в соответствующих ссылках моделиста.

Вали-тайп, зависящий от режима

Linking from the top level to lower levels

В Requirements & Systems Portal мы всегда делаем ссылки с блока верхнего уровня. В данном случае мы связали валикоптер с низкоуровневым блоком, например, с кабиной, сиденьями, электропитанием, батареей и т. д. Ссылка работает в одном направлении - от подсистем к блокам верхнего уровня.

На рис block Based System Architectureесли вы сделаете ссылку от "Valicopter_5000" (1) -> "Propulsion" (2) и затем "Propulsion" (2) -> "Back_Left" (3)то значения будут распространяться вверх и суммироваться в Valicopter верхнего уровня.

архитектура системы на основе блоков

Skipping a level when linking

Когда мы связываем режимы, мы также можем напрямую связывать верхний уровень (родительский) с нижним (внучатым) и пропускать промежуточные уровни. Это можно сделать, если промежуточный уровень не имеет валика "PowerConsumption".

Например, ссылаясь на рис block Based System Architectureмы можем определить энергопотребление одного из четырех двигателей ("Back_Left" (3) который можно рассматривать как внука) в силовой установке "Valicopter_5000" (родитель) (1) и связать режимы здесь с общими режимами системы Valicopter, не определяя и не связывая потребляемую мощность и режимы в двигательной установке (дочерней) (2).

Using the same matrix from the top level

Мы также можем суммировать Valis внутри матриц, связывая матрицы в блоках и субблоках с одним и тем же режимом на верхнем уровне.

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

Это можно сделать, создав сначала в системе верхнего уровня "Flight_Modes" в системе верхнего уровня в Valicopter, как показано на рисунке “FlightModes” Modelist.

моделист "FlightModes"

Затем мы создаем матрицы "PowerConsumption" в отдельных субблоках, например, "Cabin" (1), связываем их с матрицами "Flight_modes" в Valicopter Вводим соответствующие значения тока в матрицу "PowerConsumption" (2) в матрицу "PowerConsumption", как показано на рис Inputing Cabin PowerConsumption Values.

Ввод значений энергопотребления кабины

Затем мы можем создать матрицу "PowerConsumption" на верхнем уровне блока "Valicopter_5000" (1) с функцией "soc()" в качестве значения для каждого из ее режимов (2). Это приведет к суммированию всех значений из теперь отображенных режимов субблока в матрице, как показано на рисунке Adding Linked Modes.

Добавление связанных режимов

Summing up a standard Vali with a Mode-dependent Vali

Если в вашей системе есть блок с типом Vali Type, который не зависит от режима, вы можете добавить режим(ы) блока верхнего уровня, явно добавив его в .

Например, на рис Standard Vali Type субблок "Экран" в поддереве "Valicopter_5000" (1) имеет не зависящий от режима PowerConsumptionVali (2).

Стандартный тип Vali

Этот обычный не зависящий от режима Vali может быть добавлен к любому из режимов ("[OFF, STANDBY, TAKEOFF, CRUISE, LANDING]") в матрице "PowerConsumption", зависящей от режима, в блоке верхнего уровня "Valicopter_5000", явно ссылаясь на него в соответствующих формулах, как показано на рис Explicit Mode Calculation и видео Mode Vali Dependency.

Явный расчет режима.

Зависимость режима от вали

AI-LocalizedAI-localized
If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
Доступность функциональных возможностей

Набор доступных функциональных возможностей зависит от вашего решения Altium – Altium Develop, редакция Altium Agile (Agile Teams или Agile Enterprise) или Altium Designer (на активной подписке).

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

Content