Valis и расчёты
Vali — это параметры проектирования блоков, требований или анализов, которые можно использовать в вычислениях и документации. Vali имеет числовое значение, а также содержит дополнительную информацию, такую как тип, единица измерения, формула, описание и требования min/max.
Создание Valis
Вы можете создать Vali в блоке, сначала нажав символ “+” в правом нижнем углу экрана. Затем введите имя (это может быть любое имя или имя Valitype - 1), Formula и Unit (обязательно - 2), Display Unit (необязательно - 3), после чего нажмите “Create” или “Create & add New” (см. рисунок Adding a Vali). Руководство по единицам измерения и их преобразованию см. в разделе Units and Automatic Unit Conversion.
Кроме того, вы можете выбрать, в какие блоки хотите добавить этот Vali (4).
Pro-tip: в поле Formula and Unit нажмите “\“, чтобы получить список возможных типов вычислений.
Добавление Vali — всплывающее окно для добавления разных типов Valis.
Обратите внимание, что при создании свойства пользователь может создавать разные Valis, например обычный Vali, Matrix, Text Vali, Datevali или Dataset.
Добавление формул
Vali можно вычислять по формуле с использованием обычных математических выражений, а также с добавлением констант или функций. Формула также может содержать другие Valis.
В поле Formula and Unit пользователь может ссылаться на Valis, доступные как в текущем проекте, так и в других проектах. Для этого можно перейти в “Formula and Unit” и ввести “$”, после чего откроется небольшое диалоговое окно с Valis внутри (см. рисунок Calling Valis). Пользователи могут вводить ключевые слова, чтобы быстрее найти нужный Vali.
Вызов Valis — в любом месте Requirements & Systems Portal можно использовать символ доллара “$“, чтобы открыть выпадающий список, показывающий любые объекты, на которые можно сослаться (например, Valis, Requirements и т. д.).Если пользователь хочет использовать Valis из другого проекта, он может прокрутить диалоговое окно вниз до конца и выбрать опцию “show other projects”.
Распространенные типы формул
Вы можете:
-
использовать фиксированное значение, например
42.7kg -
использовать формулу, например
5/(3+17.3*9) -
использовать другие Valis, применяя знак
$:$car.speed+5
В формулах доступны следующие математические операции:
-
+,-,*,/ -
%(операция по модулю) -
^ -
sqrt() -
exp() -
log10(),ln(),log() -
sin(),cos(),tan() -
asin(),acos(),atan() -
sinh(),cosh(),tanh() -
fabs(): возвращает абсолютное значение -
soc()= "Sum of children": сумма всех Valis одного и того же типа во вложенных блоках -
poc()= "Product of children": произведение всех Valis одного и того же типа во вложенных блоках
В формулах также можно использовать следующие логические функции:
-
if(condition, formula_if_true, formula_if_false) -
max(formula1, formula2) -
min(formula1, formula2)
Встроенные функции Requirements & Systems Portal:
-
soc(): означает "sum of children", суммирует все Valis одного и того же типа в блоках на один уровень ниже -
rssoc():Означает “root sum squared of children” sqrt(x1^2+x2^2+⋯+xn^2). Например, если у вас есть три массы 2kg, 5kg и 6kg, функция rssoc даст результат 8.062257 -
aoc(): означает "average of children", вычисляет среднее значение Valis одного и того же типа в блоках на один уровень ниже -
poc(): означает "product of children", перемножает все Valis одного и того же типа в блоках на один уровень ниже -
average_of_datasets()илиaod(): результатом Vali является среднее значение для каждой точки наборов данных, принадлежащих этому Vali. Если набор данных только один, результатом будет этот набор данных, и он используется в дальнейших вычислениях -
sum_of_datasets()илиsod(): результатом Vali является сумма для каждой точки наборов данных, принадлежащих этому Vali. Если набор данных только один, результатом будет этот набор данных, и он используется в дальнейших вычислениях -
property($vali, property_name): получить свойство Vali. Возможные значения для property_name:-
min
-
max (для получения соответственно минимальных и максимальных требований)
-
wc_minus
-
wc_plus (для получения соответственно худшего случая в минус и в плюс)
-
-
minoc(): минимум среди дочерних элементов. Возвращает минимальное значение всех Valis с одинаковым типом во вложенных блоках -
maxoc(): максимум среди дочерних элементов. Возвращает максимальное значение всех Valis с одинаковым типом во вложенных блоках -
round(): встроенная функция round( ) соответствует спецификации Python's round function, в которой значения округляются до ближайшего кратного 10 в степени минус ndigits
Примеры формул:
-
$SolarPanel.width * $SolarPanel.length -
max(soc(), $SolarPanel.lowest_mass) -
if($SolarPanel.width*2 > $SolarPanel.length, 10, 5)
Vali Information
Вы можете увидеть больше информации о Vali, нажав на его имя. Это откроет представление деталей (1), где пользователь сможет найти информацию (2). См. рисунок Vali Information для более подробного ознакомления.
Информация о Vali — при нажатии на Vali откроется окно с дополнительной информацией. Здесь можно определить дополнительные свойства, добавить описание и задать impacts.На вкладке информации пользователи могут добавлять/изменять margins/units, а также задавать требования (min/max). Требования (min/max) — это пределы, установленные для конкретного свойства. Когда значение или worst-case увеличивается или уменьшается, и если значения выходят за пределы требований или опускаются ниже них, Requirements & Systems Portal показывает предупреждение рядом с именем Vali. Подробнее см. в разделе Warnings.
Обратите внимание, что общий margin, показанный в свойствах Vali, — это margin блока и суммарные накопленные margins дочернего блока. Подробнее о Margins см. на нашей справочной странице Margins.
ID: ID — это случайное число, автоматически добавляемое Valiengine, которое используется в backend. Вы можете ввести ID Vali в поле поиска Rest API, чтобы найти этот Vali. См. документацию Rest API.
Name: здесь можно ввести и изменить имя Vali.
Description: в поле описания можно ввести описание Vali. Вы также можете форматировать и редактировать задачи, как показано ниже.
Здесь также можно добавлять/просматривать другую информацию, включая References, Using и Used by, а также Impacts этого Vali.
История Valis
Когда Vali изменяется прямо или косвенно, изменения автоматически сохраняются в базе данных Requirements & Systems Portal. Вкладка истории Vali показывает значение до изменения, значение после изменения и того, кто изменил значения. Requirements & Systems Portal фиксирует изменения, даже если измененный Vali не имеет прямой ссылки на данный Vali.
Чтобы просмотреть историю изменений Vali (см. рисунок Vali History), нажмите на имя Vali (1), и откроется вкладка деталей (2). Выберите значок “History” (2) , и ниже появится график изменений во времени. В разделе “Recent Changes” (3) пользователь найдет таблицу с данными ‘Time’, ‘Value before’, ‘Value after’ и ‘Reason’.
История Vali — на вкладке History отображается графическое и табличное представление изменения Vali во времени.Уведомления об изменениях
Чтобы получать уведомление, когда определенный Vali изменяется, вы можете подписаться на него, нажав Subscribe в выпадающем меню кнопки Action для этого Vali. См. рисунок Subscribing to a Vali, чтобы узнать, как это сделать.
Подписка на Vali — при подписке на Vali автоматические уведомления будут отображаться на вкладке Notification (значок колокольчика в правом верхнем углу), когда в Vali происходят изменения.Вы увидите новое уведомление на значке колокольчика в правом верхнем углу, когда кто-то изменит значение, на которое вы подписаны (4). Затем вы можете нажать на значок колокольчика, чтобы проверить уведомления.



