Проектирование системы

В этой части руководства мы рассмотрим типичный сценарий проектирования системы в Requirements & Systems Portal. Этот процесс включает создание цифровой модели и декомпозиции системы, расчет параметров производительности, проведение сравнительных исследований и принятие проектных решений.

Настройка Valitypes

Valitypes гарантируют, что каждый новый создаваемый вами блок уже содержит vali определенного типа с формулой и единицей измерения по умолчанию (например, масса, потребляемая мощность и т. д.). Нам нужно убедиться, что существуют правильные valitypes.

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

  2. Убедитесь, что существуют valitypes Mass и PowerConsumption. Если их нет, добавьте их, нажав кнопку в правом нижнем углу страницы, и создайте valitypes с этими именами.

  3. Единицы измерения для valitype PowerConsumption могут быть в кВт или Вт. Если указана единица кВт, дважды щелкните по ячейке и измените kW на W. Также в этом руководстве мы будем использовать свойство массы блоков в граммах; вы можете оставить единицы измерения в кг или г — на ваш выбор.

  4. Включите свойство add by default для valitypes Mass и PowerConsumption. Дважды щелкните по ячейке для одного из этих valitypes и выберите True в появившемся меню, затем сделайте то же самое для другого valitype. Эти valitypes будут автоматически добавляться в каждый новый блок, который вы создадите далее в этом руководстве.

    Обратите внимание, что это свойство является пользовательской настройкой, то есть оно не влияет на то, какие valitypes другие пользователи отметили как используемые по умолчанию.

soc() в значениях valitype означает «сумма дочерних элементов» и гарантирует, что по умолчанию этот vali суммирует valis того же типа в декомпозиции системы.

Добавление систем в проект

Давайте начнем строить ваш вентилятор! Любой продукт можно разложить на подсистемы, как дерево. Иерархическое дерево системы — одна из ключевых функций Requirements & Systems Portal.

В модуле System Design Module можно создавать дерево системы и получать к нему доступ; оно включает все системы и подсистемы, а также технические параметры (valis).

  1. Перейдите в модуль System Design Module, щелкнув значок  на панели навигации модулей слева.

  2. По умолчанию проект включает блок, названный по имени проекта (в нашем случае — Valifan). Щелкните правой кнопкой мыши по его записи в дереве проекта и выберите команду Create block. В появившемся окне Create new block введите Propeller в поле Name и нажмите .

    Разверните блок Valifan, чтобы увидеть новый вложенный блок в дереве навигации.

  3. Аналогичным образом создайте следующие вложенные блоки для блока Fan: Motor, Speed_Controller и Structure.

    • В окне Create new block можно использовать кнопку , чтобы создавать несколько блоков, не закрывая окно.

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

Изменение технических параметров (Valis)

В Requirements & Systems Portal Valis — это технические параметры, содержащие ваши инженерные значения. Valis имеют такие свойства, как формулы, значения, история и многое другое. Итак, давайте добавим значения в ваши valis!

  1. Выберите блок Valifan на панели навигации. Нажмите кнопку  в левом верхнем углу, чтобы открыть окно Create Property. В этом окне убедитесь, что открыта вкладка Vali. Начните вводить Mass в поле Name и выберите valitype Mass из раскрывающегося списка. Оставьте значения по умолчанию для остальных полей и нажмите .

  2. Аналогичным образом добавьте еще один vali типа PowerConsumption. Созданные valis будут показаны в представлении Properties блока Valifan.

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

  3. Новые вложенные блоки блока Valifan уже содержат valis Mass и PowerConsumption (поскольку эти valis были настроены на добавление по умолчанию в параметрах valitype). Теперь измените значения этих valis в каждом вложенном блоке. Для этого выберите вложенный блок и дважды щелкните соответствующую ячейку в столбце Value. Введите следующие значения:

    • MotorMass = 110gPowerConsumption = 1W

    • PropellerMass = 30gPowerConsumption = 0W (обязательно введите 0W вместо soc())

    • Speed_ControllerMass = 15gPowerConsumption = 0.1W

    • StructureMass = 80gPowerConsumption = 0W (обязательно введите 0W вместо soc())

    • При вводе свойства Value крайне важно указывать как числовое значение, так и единицу измерения, например 110g.

    • В столбце Display Unit можно указать единицу измерения, в которой вы хотите видеть значение. Таким образом, если изначально ввести значение как 110g и установить Display Unit как kg, вычислительный механизм преобразует и отобразит его как 0.11kg.

    • Для вычислений механизм использует единицу измерения, указанную в поле Value. Если вам нужно отображать единицу в другом формате, например в фунтах (lbs), вычислительный механизм соответствующим образом преобразует отображаемую единицу. Подробнее см. в списке единиц измерения, используемых вычислительным механизмом.

    • Обязательно всегда используйте точки (.) в качестве десятичного разделителя для значений.

    Пример значений, добавленных в вложенный блок Motor, показан ниже.

  4. Перейдите к блоку Fan и обратите внимание, что его суммарная Mass была автоматически рассчитана как 235 г (или 0,235 кг), а его суммарное PowerConsumption было рассчитано как 1,1 Вт.

Добавление нового Vali

На предыдущих шагах мы показали, как добавлять valitypes. Однако valis (свойства) не ограничиваются только массой и потребляемой мощностью. В блоки можно добавлять различные свойства. В Requirements & Systems Portal можно создать новый vali, который может быть числом с единицей измерения или без нее. Это также может быть matrix, textvali (например, материал), datevali (например, дата покупки) и datasets (двумерные наборы данных). Вы можете обращаться к valis в формулах с помощью символа $ в любом поле.

В следующих шагах мы добавим эффективность пропеллера и передаваемую мощность.

  1. Перейдите к блоку Propeller и нажмите кнопку  в левом верхнем углу, чтобы открыть окно Create Property. В этом окне убедитесь, что открыта вкладка Vali, и введите Efficiency в поле Name, а 0.85 — в поле Formula and unit. Оставьте поле Display Unit пустым и нажмите .

  2. Аналогичным образом добавьте еще один vali с именем power_delivered и введите формулу $Motor.PowerConsumption*$Propeller.efficiency. Когда вы введете символ $ в поле Formula and unit, появится раскрывающийся список, из которого можно выбрать нужное значение. Оставьте поле Display Unit пустым (правильные единицы измерения, Вт, будут назначены автоматически на основе вычисления) и нажмите .

    Вы также можете обращаться в формуле или анализе к vali из другого проекта, введя $ и выбрав show other projects из раскрывающегося списка.

    Теперь valis блока Propeller должны выглядеть так, как показано ниже.

  3. Щелкните имя vali power_delivered, чтобы открыть подробную страницу с дополнительной информацией и свойствами. Здесь можно увидеть FormulaPropertiesInfoConnected CopiesActions, а также получить доступ к дополнительным функциям, таким как History, Sensitivity Analysis и Connections Graph.

Детализация проекта и повторное использование блоков

Когда базовая структура проекта уже создана, можно построить более подробную модель продукта. Если какие-то блоки нужно дублировать, можно использовать функцию connected copies. Это гарантирует, что они останутся синхронизированными: если вы внесете изменения в один связанный блок, все остальные также будут автоматически обновлены.

В нашем примере у нас три лопасти ротора, и все они одинаковые.

  1. Щелкните правой кнопкой мыши по блоку Propeller в области навигации и выберите команду Add Block. Назовите новый блок Blade1.

  2. Щелкните правой кнопкой мыши по новому блоку Blade1 и выберите Copy & connect. Новый связанный блок Blade2 появится на том же уровне.

  3. Аналогичным образом создайте связанный блок Blade3.

  4. Перейдите к любому из трех блоков и измените значение Mass на 10g, а значение PowerConsumption — на 0W. Вы можете убедиться, что все связанные blade-блоки теперь имеют одинаковые Mass и PowerConsumption.

Вы можете отсоединять valis или целые блоки. Дополнительную информацию см. на странице Copies of System Blocks .

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

  1. Перейдите к блоку Fan и щелкните имя vali Mass, чтобы открыть сведения о нем.

  2. Нажмите элемент управления Budget вверху, чтобы просмотреть разбивку общей массы вентилятора. Вы можете развернуть структуру, нажимая стрелки слева от имен блоков.

  3. Нажмите элемент управления Breakdown Chart, чтобы просмотреть разбивку общей массы вентилятора. Круговая диаграмма показывает распределение массы для непосредственно нижнего уровня подсистем.

Использование запасов

На раннем этапе разработки вы обычно не уверены в точных значениях каких-либо свойств. Поэтому бывает полезно добавить запас к значению. Requirements & Systems Portal распространяет эту неопределенность по всем вашим расчетам (линейное распространение неопределенности).

Например, вы можете не знать окончательное значение массы. В большинстве случаев масса оказывается выше ожидаемой. Для таких случаев вы можете добавить запас надежности к своей vali. Используя этот запас, Requirements & Systems Portal автоматически рассчитывает наихудший случай для вашей vali. Давайте сделаем это для массы пропеллера.

  1. Перейдите к блоку Propeller и включите отображение столбцов Margin + и Margin - в таблице с помощью элемента управления Columns справа.

  2. В столбце Margin + для vali Mass введите 10 (это означает запас 10%+).

  3. Щелкните имя vali Mass, чтобы открыть ее подробное представление. Значение Worst Case будет показано как 33g | 30g из-за запаса 10%+.

  4. На основе запаса, заданного в блоке Propeller, Requirements & Systems Portal автоматически обновляет запасы и наихудшие случаи на более высоком уровне. Перейдите к блоку Fan и откройте подробное представление его vali Mass. Как видите, масса вентилятора теперь имеет общий запас +1.28% и наихудший случай 238g | 235g.

Добавление тегов для ваших пользовательских задач

Теги — это многоцелевой инструмент для специфических потребностей вашей команды. Вы можете использовать их для пометки valis и блоков. Используйте их, чтобы обозначать:

  • Надежность значения (например, assumption/calculated/measured).

  • Действия для участников команды (например, review: Tom/approval: Christine).

  • Любые другие пометки или группировки.

  1. Перейдите к блоку Motor.

  2. Дважды щелкните ячейку в столбце Tags для vali Mass, введите measurement и нажмите Enter, чтобы добавить тег.

  • Таблицу можно фильтровать по определенным тегам. Наведите курсор на заголовок столбца Tags, щелкните значок , а затем щелкните значок  во всплывающем окне, чтобы получить доступ к параметрам фильтрации.

  • Вы можете изменить цвет тега в настройках ( » Settings » Tags).

Связывание блоков с требованиями

Теперь, когда у вас есть базовая структура системы, давайте установим связь между системой Fan и требованиями из нашей спецификации Fan_Specs. Это создает прямую связь между проектом системы и требованием.

  1. Перейдите в модуль Requirements, щелкнув значок  на панели навигации модулей слева, и откройте спецификацию Fan_Specs.

  2. Установите флажок слева от заголовка столбца Identifier, чтобы выбрать все требования в спецификации.

  3. Дважды щелкните внутри ячейки столбца Applicable Block, выберите Fan из раскрывающегося списка и подтвердите массовое обновление.

    Javascript ID: RSP_FanTutorial_Requirements_AddApplicableBlock
  • Вы можете быстро перейти к связанной системе в модуле System Design, наведя курсор на запись в столбце Applicable Block и нажав кнопку  ().

  • Вы можете проверить требования, связанные с системой, в модуле System Design, нажав элемент управления Requirements над таблицей vali ().

  • Каждый раз, когда вы создаете требование, оно будет автоматически связано с текущей выбранной системой.

Дополнительную информацию о функции Applicable Blocks см. на странице Applicable Blocks.

Создание бюджетных таблиц и круговой диаграммы

Теперь у нас есть предварительная структурная декомпозиция нашей системы, и мы хотели бы увидеть бюджеты массы в нашем аналитическом документе (Project_Summary), созданном ранее. Давайте добавим новые блоки в нашу документацию.

  1. Перейдите в модуль Analyses, щелкнув значок  на панели навигации модулей, и выберите Project_Summary.

  2. Нажмите элемент управления Click to add new block внизу документа.

  3. В открывшемся окне Add Block разверните элемент Table и выберите Budget.

  4. В документ будет добавлен новый блок. Нажмите элемент управления Add data to this table , чтобы открыть окно Table Block , где можно выбрать valis, для которых вы хотите видеть разбивку. В поле vali выберите Fan.Mass.

  5. Нажмите  в окне Table Block. В документ будет добавлена новая таблица. В этой таблице у вас будет доступ к массовому бюджету Valifan с полной разбивкой, запасами и сценариями наихудшего случая.

  6. Вы также можете создать графическое представление разбивки массы с помощью диаграммы. Нажмите элемент управления Click to add new block внизу документа.

  7. В окне Add Block разверните элемент Charts и выберите Budget.

  8. В документ будет добавлен новый блок. Нажмите элемент управления Add data to this table , чтобы открыть окно Table Block . В поле vali выберите Fan.Mass , а затем нажмите . В документ будет добавлена новая диаграмма.

Определение режимов

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

В этой части руководства мы определим режимы вентилятора: различные скорости, режимы питания и состояния ВКЛ/ВЫКЛ.

Добавление режимов

Двигатель может работать на трех дискретных скоростях, которые можно смоделировать с помощью режимов.

  1. В модуле System Design () откройте блок Motor.

  2. Перейдите на вкладку Modelists вверху. Modelists служат для моделирования свойств, зависящих от режима, таких как энергопотребление, скорость вращения, тяга и т. д.

  3. Нажмите кнопку  в правом верхнем углу. В открывшемся окне Create Modelist введите speed_settings в поле New Modelist name и 3 в поле # (Number of modes).

  4. После нажатия кнопки  в окне Create Modelist будет создан новый modelist. Нажмите стрелку слева от имени нового modelist, чтобы развернуть его.

  5. Измените имена режимов по умолчанию a, b и c на ZERO, LOW и HIGH соответственно.

  6. Нажмите элемент управления Properties в верхней части страницы, чтобы вернуться к valis блока.

  7. Нажмите кнопку  в правом верхнем углу, чтобы открыть окно Create Property. В этом окне:

    1. Выберите вкладку Matrix.

    2. Введите rotational_speeds в поле Name.

    3. Выберите speed_settings из раскрывающегося списка поля Mode reference.

    4. Введите rpm в поле Display Unit.

    Поскольку вы добавляете ссылку на режим, количество строк и столбцов будет автоматически взято и заполнено из modelist. Поэтому вам не нужно задавать строки и столбцы в окне Create Property .

  8. Нажмите кнопку  в окне Create Property, а затем нажмите стрелку слева от имени нового свойства, чтобы развернуть его. Измените значения (которые сейчас равны 0) следующим образом:

    • ZERO = 0rpm

    • LOW = 2000rpm

    • HIGH = 5000rpm

  9. Создайте список режимов для блока Speed_Controller с именем power_modes и двумя режимами. Измените названия режимов по умолчанию a и b на ON и OFF соответственно.

  10. Создайте список режимов для блока Fan с именем state и тремя режимами. Измените названия режимов по умолчанию ab и c на OFF, MIN и MAX соответственно.

Создание зависимости valis от режимов

Теперь, когда режимы системы определены, вы можете сделать valis зависимыми от них. Vali не всегда может иметь одно и то же значение, а может иметь значение, зависящее от определенного режима.

  1. Перейдите к свойствам блока Fan и нажмите имя vali PowerConsumption, чтобы открыть его подробное представление.

  2. Нажмите кнопку , чтобы открыть окно Select Modelist. Выберите state из раскрывающегося списка и нажмите кнопку .

  3. Аналогично сделайте vali PowerConsumption блока Motor зависимым от режима speed_settings, а vali PowerConsumption блока Speed_Controller — зависимым от режима power_modes.

  4. Измените значения энергопотребления блока Motor следующим образом:

    • ZERO = 0W

    • LOW = 1W

    • HIGH = 4W

  5. Измените значения энергопотребления блока Speed_Controller следующим образом:

    • ON = 0.1W

    • OFF = 0W

Связывание режимов

Состояния системы могут зависеть друг от друга. Поэтому в Requirements & Systems Portal можно связывать режимы, которые относятся друг к другу.

В этой части руководства мы создадим связь между состояниями вентилятора и режимами двигателя и контроллера скорости.

  1. Перейдите к спискам режимов блока Fan и нажмите имя списка режимов state, чтобы открыть панель сведений.

  2. Нажмите значок  в верхней части панели. В раскрывающемся списке Select Modelist в нижней части панели выберите Speed_Controller.power_modes и нажмите кнопку , затем выберите Motor.speed_settings и нажмите кнопку . Режимы будут добавлены, как показано ниже.

  3. Измените связи между режимами, как показано ниже, затем нажмите кнопку , чтобы сохранить изменения.

  4. В представлении Properties блока Fan вы можете увидеть, что значения Power Consumption изменились, как показано ниже.

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

AI-LocalizedЛокализовано с помощью ИИ
Если вы обнаружили проблему, выделите текст/изображение и нажмитеCtrl + Enter, чтобы отправить нам свой отзыв.
Доступность функциональных возможностей

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

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

Content