Проектирование системы
В этой части руководства мы рассмотрим типичный сценарий проектирования системы в Requirements & Systems Portal. Этот процесс включает создание цифровой модели и декомпозиции системы, расчет рабочих параметров, проведение сравнительных исследований и принятие проектных решений.
Настройка Valitypes
Valitypes обеспечивают, чтобы каждый новый создаваемый блок уже содержал valis определенного типа с формулой и единицей измерения по умолчанию (например, масса, потребляемая мощность и т. д.). Нам нужно убедиться, что существуют правильные valitypes.
-
Нажмите значок
в левом нижнем углу и выберите Settings в появившемся меню. На открывшейся странице выберите пункт Valitypes на левой панели, чтобы увидеть все существующие valitypes.
-
Убедитесь, что существуют valitypes Mass и PowerConsumption. Если их нет, добавьте их, нажав кнопку
в правом нижнем углу страницы, и создайте valitypes с этими именами.
-
Единицы измерения для valitype PowerConsumption могут быть в кВт или Вт. Если указана единица кВт, дважды щелкните по ячейке и измените kW на W. Также в этом руководстве мы будем использовать свойство массы блоков в граммах; вы можете оставить единицы в кг или г — на ваше усмотрение.
-
Включите свойство add by default для valitypes Mass и PowerConsumption. Дважды щелкните по ячейке одного из этих valitypes и выберите True в появившемся меню, затем сделайте то же самое для другого valitype. Эти valitypes будут автоматически добавляться в каждый новый блок, который вы создадите далее в этом руководстве.
Добавление систем в проект
Давайте начнем строить ваш вентилятор! Любой продукт можно разложить на подсистемы, как дерево. Иерархическое дерево системы — одна из ключевых возможностей Requirements & Systems Portal.
В модуле System Design Module можно создавать дерево системы и получать к нему доступ; оно включает все системы и подсистемы, а также технические параметры (valis).
-
Перейдите в модуль System Design Module, щелкнув значок
на панели навигации модулей слева.
-
По умолчанию проект включает блок, названный по имени проекта (в нашем случае — Valifan). Щелкните правой кнопкой мыши по его записи в дереве проекта и выберите команду Create block. В появившемся окне Create new block введите
Propellerв поле Name и нажмите
.
Разверните блок Valifan, чтобы увидеть новый вложенный блок в дереве навигации.
-
Аналогично создайте следующие вложенные блоки для блока Fan:
Motor,Speed_ControllerиStructure.
Изменение технических параметров (Valis)
В Requirements & Systems Portal Valis — это технические параметры, содержащие ваши инженерные значения. Valis имеют такие свойства, как формулы, значения, история и многое другое. Итак, давайте добавим значения в ваши valis!
-
Выберите блок Valifan на панели навигации. Откроется представление блока Properties, где вы увидите, что блок уже содержит два vali — Mass и PowerConsumption (поскольку эти valis были настроены на добавление по умолчанию в параметрах valitype).
-
Теперь измените значение Mass и PowerConsumption в каждом вложенном блоке блока Fan. Для этого выберите вложенный блок и дважды щелкните соответствующую ячейку в столбце Value. Введите следующие значения:
-
Motor: Mass =
110g, PowerConsumption =1W -
Propeller: Mass =
30g, PowerConsumption =0W(обязательно введите0Wвместоsoc()) -
Speed_Controller: Mass =
15g, PowerConsumption =0.1W -
Structure: Mass =
80g, PowerConsumption =0W(обязательно введите0Wвместоsoc())
Ниже показан пример значений, добавленных в вложенный блок Motor.
-
-
Перейдите к блоку Fan и обратите внимание, что его суммарная Mass была автоматически рассчитана как 235 г (или 0,235 кг), а суммарное PowerConsumption — как 1,1 Вт.
Добавление нового Vali
На предыдущих шагах мы показали, как добавлять valitypes. Однако valis (свойства) не ограничиваются только массой и потребляемой мощностью. В блоки можно добавлять различные свойства. В Requirements & Systems Portal можно создать новый vali, который может быть числом с единицей измерения или без нее. Это также может быть matrix, textvali (например, материал), datevali (например, дата покупки) и datasets (двумерные наборы данных). Вы можете обращаться к valis в формулах с помощью символа $ в любом поле.
На следующих шагах мы добавим эффективность пропеллера и отдаваемую мощность.
-
Перейдите к блоку Propeller.
-
Нажмите кнопку
в правом верхнем углу, чтобы открыть окно Create Property. В этом окне убедитесь, что открыта вкладка Vali, затем введите Efficiencyв поле Name, а0.85— в поле Formula and unit. Оставьте поле Display Unit пустым и нажмите
.
-
Аналогично добавьте еще один vali с именем
power_deliveredи задайте формулу$Motor.PowerConsumption*$Propeller.efficiency. Когда вы введете символ$в поле Formula and unit, появится раскрывающийся список, из которого можно выбрать нужное. Оставьте поле Display Unit пустым (правильные единицы, Вт, будут назначены автоматически на основе вычисления) и нажмите
.
Теперь valis блока Propeller должны выглядеть так, как показано ниже.
-
Щелкните имя vali
power_delivered, чтобы открыть подробную страницу с дополнительной информацией и свойствами. Здесь можно увидеть Formula, Properties, Info, Connected Copies, Actions, а также получить доступ к дополнительным функциям, таким как History, Sensitivity Analysis и Connections Graph.
Детализация проекта и повторное использование блоков
Когда базовая структура проекта уже создана, можно построить более детальную модель продукта. Если какие-то блоки нужно продублировать, можно использовать функцию connected copies. Это гарантирует, что они останутся синхронизированными: если вы внесете изменения в один связанный блок, все остальные также будут автоматически обновлены.
В нашем примере у нас три лопасти ротора, и все они одинаковые.
-
Щелкните правой кнопкой мыши по блоку Propeller на панели навигации и выберите команду Add Block. Назовите новый блок
Blade1. -
Щелкните правой кнопкой мыши по новому блоку Blade1 и выберите Copy & connect. На том же уровне появится новый связанный блок Blade2.
-
Аналогично создайте связанный блок Blade3.
-
Перейдите к любому из трех блоков и измените его значение Mass на
10g, а значение PowerConsumption — на0W. Вы можете убедиться, что все подключенные блоки blade теперь имеют одинаковые Mass и PowerConsumption.
Все valis с формулой soc() (сумма дочерних элементов) имеют связанную таблицу бюджета и диаграмму, которые можно просмотреть в информации о vali.
-
Перейдите к блоку Fan и щелкните имя vali Mass, чтобы открыть сведения о нем.
-
Нажмите элемент управления Budget вверху, чтобы просмотреть разбивку общей массы вентилятора. Вы можете развернуть структуру, нажимая стрелки слева от имен блоков.
-
Нажмите элемент управления Breakdown Chart, чтобы просмотреть разбивку общей массы вентилятора. Круговая диаграмма показывает распределение массы для непосредственно нижнего уровня подсистем.
Использование запасов
На раннем этапе разработки вы обычно не уверены в точных значениях какого-либо свойства. Поэтому добавление запаса к значению может быть полезным. Requirements & Systems Portal распространяет эту неопределенность по всем вашим расчетам (линейное распространение неопределенности).
Например, вы можете не знать окончательное значение массы. В большинстве случаев масса оказывается выше ожидаемой. Для таких случаев вы можете добавить запас безопасности к вашему vali. Используя этот запас, Requirements & Systems Portal автоматически рассчитывает наихудший случай для вашего vali. Давайте сделаем это для массы пропеллера.
-
Перейдите к блоку Propeller и включите отображение столбцов Margin + и Margin - в таблице с помощью элемента управления Columns справа.
-
В столбце Margin + для vali Mass введите
10(это означает запас +10%).
-
Щелкните имя vali Mass, чтобы открыть его подробное представление. Значение Worst Case будет показано как 33g | 30g из-за запаса +10%.
-
На основе запаса, заданного для блока Propeller, Requirements & Systems Portal автоматически обновляет запасы и наихудшие случаи на более высоком уровне. Перейдите к блоку Fan и откройте подробное представление его vali Mass. Как видите, масса вентилятора теперь имеет общий запас +1.28% и наихудший случай 238g | 235g.
Добавление тегов для ваших пользовательских задач
Теги — это многоцелевой инструмент для специфических потребностей вашей команды. Вы можете использовать их для пометки valis и блоков. Используйте их, чтобы обозначать:
-
Надежность значения (например,
assumption/calculated/measured). -
Действия для участников команды (например,
review: Tom/approval: Christine). -
Любую другую маркировку или группировку.
-
Перейдите к блоку Motor.
-
Дважды щелкните ячейку в столбце Tags для vali Mass, введите
measurementи нажмитеEnter, чтобы добавить тег.
Связывание блоков с требованиями
Теперь, когда у вас есть базовая структура системы, давайте установим связь между системой Fan и требованиями из нашей спецификации Fan_Specs. Это создает прямую связь между проектом системы и требованием.
-
Перейдите в модуль Requirements, щелкнув значок
на панели навигации модулей слева, и откройте спецификацию Fan_Specs.
-
Установите флажок слева от заголовка столбца Identifier, чтобы выбрать все требования в спецификации.
-
Дважды щелкните внутри ячейки столбца Applicable Block, выберите Fan из раскрывающегося списка и подтвердите массовое обновление.
Дополнительную информацию о функции Applicable Blocks см. на странице Applicable Blocks.
Создание таблиц бюджета и круговой диаграммы
Теперь у нас есть предварительная декомпозиция проекта нашей системы, и мы хотели бы увидеть бюджеты массы в нашем аналитическом документе (Project_Summary), созданном ранее. Давайте добавим новые блоки в нашу документацию.
-
Перейдите в модуль Analyses, щелкнув значок
на панели навигации модулей, и выберите Project_Summary.
-
Нажмите элемент управления Click to add new block внизу документа.
-
В открывшемся окне Add Block разверните элемент Table и выберите Budget.
-
В документ будет добавлен новый блок. Нажмите элемент управления Add data to this table, чтобы открыть окно Table Block, где можно выбрать valis, для которых вы хотите видеть разбивку. В поле vali выберите Fan.Mass.
-
Нажмите
в окне Table Block. В документ будет добавлена новая таблица. В этой таблице у вас будет доступ к бюджету массы Valifan с полной разбивкой, запасами и сценариями наихудшего случая.
-
Вы также можете создать графическое представление разбивки массы с помощью диаграммы. Нажмите элемент управления Click to add new block внизу документа.
-
В окне Add Block разверните элемент Charts и выберите Budget.
-
В документ будет добавлен новый блок. Нажмите элемент управления Add data to this table, чтобы открыть окно Table Block. В поле vali выберите Fan.Mass, а затем нажмите
. В документ будет добавлена новая диаграмма.
Определение режимов
Некоторые значения не являются статическими, а зависят от состояния разрабатываемого продукта. Для этого и предназначены режимы: они отслеживают различные конфигурации и их взаимосвязи с вашим продуктом.
В этой части руководства мы определим режимы вентилятора: различные скорости, режимы питания и состояния ВКЛ/ВЫКЛ.
Добавление режимов
Двигатель может работать на трех дискретных скоростях, которые можно смоделировать с помощью режимов.
-
Перейдите на вкладку Modelists вверху. Modelists служат для моделирования свойств, зависящих от режима, таких как потребляемая мощность, скорость вращения, тяга и т. д.
-
Нажмите кнопку
в правом верхнем углу. В открывшемся окне Create Modelist введите speed_settingsв поле New Modelist name и3в поле # (Number of modes).
-
После нажатия кнопки
в окне Create Modelist будет создан новый modelist. Нажмите стрелку слева от имени нового modelist, чтобы развернуть его.
-
Измените имена режимов со значений по умолчанию a, b и c на ZERO, LOW и HIGH соответственно.
-
Нажмите элемент управления Properties вверху страницы, чтобы вернуться к vali блока.
-
Нажмите кнопку
в правом верхнем углу, чтобы открыть окно Create Property. В этом окне:
-
Выберите вкладку Matrix.
-
Введите
rotational_speedsв поле Name. -
Выберите speed_settings из раскрывающегося списка поля Mode reference.
-
Введите
rpmв поле Display Unit.
-
-
Нажмите кнопку
в окне Create Property, а затем нажмите стрелку слева от имени нового свойства, чтобы развернуть его. Измените значения (которые сейчас равны 0) следующим образом:-
ZERO =
0rpm -
LOW =
2000rpm -
HIGH =
5000rpm
-
-
Создайте modelist для блока Speed_Controller с именем
power_modesи двумя режимами. Измените имена режимов со значений по умолчанию a и b на ON и OFF соответственно.
-
Создайте список режимов для блока Fan с именем
stateи тремя режимами. Измените названия режимов со значений по умолчанию a, b и, c на OFF, MIN и MAX соответственно.
Настройка зависимости valis от режимов
Теперь, когда режимы системы определены, можно сделать valis зависимыми от них. Vali не всегда имеет одно и то же значение — оно может зависеть от определенного режима.
-
Перейдите в свойства блока Fan и нажмите имя vali PowerConsumption, чтобы открыть его подробное представление.
-
Нажмите кнопку
, чтобы открыть окно Select Modelist. Выберите state из раскрывающегося списка и нажмите кнопку
.
-
Аналогично сделайте vali PowerConsumption блока Motor зависимым от режима
speed_settings, а vali PowerConsumption блока Speed_Controller — зависимым от режимаpower_modes. -
Измените значения энергопотребления блока Motor следующим образом:
-
ZERO =
0W -
LOW =
1W -
HIGH =
4W
-
-
Измените значения энергопотребления блока Speed_Controller следующим образом:
-
ON =
0.1W -
OFF =
0W
-
Связывание режимов
Состояния системы могут зависеть друг от друга. Поэтому в Requirements & Systems Portal можно связывать режимы, которые относятся друг к другу.
В этой части руководства мы создадим связь между состояниями вентилятора и режимами двигателя и контроллера скорости.
-
Перейдите к спискам режимов блока Fan и нажмите имя списка режимов state, чтобы открыть панель сведений.
-
Нажмите значок
в верхней части панели. В раскрывающемся списке Select Modelist в нижней части панели выберите Speed_Controller.power_modes и нажмите кнопку
, затем выберите Motor.speed_settings и нажмите кнопку
. Режимы будут добавлены, как показано ниже.
-
Измените связи между режимами, как показано ниже, затем нажмите кнопку
, чтобы сохранить изменения.
-
В представлении Properties блока Fan видно, что значения Power Consumption изменились, как показано ниже.
).
).