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

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

Настройка Valitypes

Valitypes обеспечивают, чтобы каждый новый создаваемый блок уже содержал valis определенного типа с формулой и единицей измерения по умолчанию (например, масса, потребляемая мощность и т. д.). Нам нужно убедиться, что существуют правильные 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 на панели навигации. Откроется представление блока Properties, где вы увидите, что блок уже содержит два vali — Mass и PowerConsumption (поскольку эти valis были настроены на добавление по умолчанию в параметрах valitype).

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

  2. Теперь измените значение Mass и PowerConsumption в каждом вложенном блоке блока Fan. Для этого выберите вложенный блок и дважды щелкните соответствующую ячейку в столбце 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.

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

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

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

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

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

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

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

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

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

  4. Щелкните имя vali power_delivered, чтобы открыть подробную страницу с дополнительной информацией и свойствами. Здесь можно увидеть Formula, Properties, Info, Connected Copies, Actions, а также получить доступ к дополнительным функциям, таким как 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. В модуле Requirements () откройте блок 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 вверху страницы, чтобы вернуться к vali блока.

  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. Создайте modelist для блока 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