Valis и расчеты
Vali — это параметры проектирования Blocks, Requirements или Analyses, которые можно использовать в вычислениях и документации. Vali имеет числовое значение, а также содержит дополнительную информацию, такую как тип, единица измерения, формула, описание и требования min/max.
Создание Vali
При просмотре свойств Block вы можете создать Vali в этом Block, нажав кнопку
в правом верхнем углу страницы. В открывшемся окне Create Property выберите тип свойства, которое вы хотите создать. Для Vali введите Name Vali (это может быть любое имя или имя Valitype), задайте Formula and unit (обязательно) и Display Unit (необязательно). Кроме того, с помощью поля Add to Block вы можете указать, в какие Blocks нужно добавить этот Vali.
Обратите внимание, что при создании свойства можно создавать Valis разных типов: обычный Vali, Matrix, Textvali, Datevali или Dataset.
| Тип | Описание |
|---|---|
| Vali | Свойство Block, имеющее только одно значение, например масса, стоимость, плотность и т. д. |
| Matrix | Матрица — это группа отдельных Valis, упорядоченных по строкам и столбцам. Matrix Vali обычно используется, когда свойство Blocks имеет разные режимы, например энергопотребление в разных режимах или значения инерции по разным осям. |
| Textvali | Vali, который хранит строки/текст. |
| Datevali | Vali, который хранит информацию о дате. |
| Dataset | Здесь можно импортировать или добавлять значения набора данных, создавать график и использовать эти значения в вычислениях других значений. |
Добавление формул
Vali можно вычислять по формуле с использованием обычных математических выражений, а также с добавлением констант или функций. Формула также может содержать другие Valis.
В поле Formula and unit можно ссылаться на Valis, доступные либо в текущем проекте, либо в других проектах. Для этого введите $ в этом поле. В появившемся всплывающем окне найдите и выберите нужный Vali.

Вызов Valis — в любом месте Requirements 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()= "Сумма дочерних": сумма всех Valis одного и того же типа в подчиненных Blocks -
poc()= "Произведение дочерних": произведение всех Valis одного и того же типа в подчиненных Blocks
В формулах также можно использовать следующие логические функции:
-
if(condition, formula_if_true, formula_if_false) -
max(formula1, formula2) -
min(formula1, formula2)
Встроенные функции Requirements Portal
-
soc(): означает "сумма дочерних", суммирует все Valis одного и того же типа в Blocks на один уровень ниже -
rssoc(): означает “root sum squared of children” sqrt(x1^2+x2^2+⋯+xn^2). Например, если у вас есть три массы 2 кг, 5 кг и 6 кг, функция rssoc даст результат 8.062257 -
aoc(): означает "среднее дочерних", вычисляет среднее значение Valis одного и того же типа в Blocks на один уровень ниже -
poc(): означает "произведение дочерних", перемножает все Valis одного и того же типа в Blocks на один уровень ниже -
average_of_datasets()илиaod(): результатом Vali является среднее для каждой точки наборов данных, принадлежащих этому Vali. Если набор данных только один, результатом будет этот набор данных, и он используется в дальнейших вычислениях -
sum_of_datasets()илиsod(): результатом Vali является сумма для каждой точки наборов данных, принадлежащих этому Vali. Если набор данных только один, результатом будет этот набор данных, и он используется в дальнейших вычислениях -
property($vali, property_name): получить свойство Vali. Возможные варианты дляproperty_name:-
minиmax(для получения требований min и max соответственно) -
wc_minusиwc_plus(для получения худших случаев minus и plus соответственно)
-
-
minoc(): минимум дочерних. Возвращает минимальное значение всех Valis с тем же типом в подчиненных Blocks -
maxoc(): максимум дочерних. Возвращает максимальное значение всех Valis с тем же типом в подчиненных Blocks -
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
Вы можете увидеть больше информации о Vali, щелкнув по его имени. Это откроет подробное представление Vali, где информация отображается на вкладке Info.

Информация о Vali — при щелчке по Vali откроется представление с дополнительной информацией. Здесь можно задать дополнительные свойства, добавить описание и определить влияния.
В представлении отображается следующая базовая информация о Vali:
-
ID – ID — это случайное число, автоматически добавляемое Valiengine и используемое во Backend.
-
Name – здесь можно ввести и изменить имя Vali.
-
Description – в поле описания можно ввести описание Vali. Также можно форматировать и редактировать задачи, как показано ниже.
Вы также можете добавлять/изменять допуски/единицы измерения и добавлять требования (min/max). Требования (min/max) — это ограничения, которые заданы для конкретного свойства.
Здесь также можно добавлять/просматривать другую информацию, включая References, Using и Used by, а также Impacts этого Vali.
История Valis
Когда Vali изменяется прямо или косвенно, изменения автоматически сохраняются в базе данных Requirements Portal. На вкладке History Vali отображаются значение до изменения, значение после изменения и информация о том, кто изменил значения. Requirements Portal фиксирует изменения, даже если измененный Vali не имеет прямой ссылки на данный Vali.
Чтобы просмотреть историю изменений Vali, щелкните по имени Vali и выберите вкладку History. На этой вкладке можно найти график, показывающий изменения во времени. Под графиком находится таблица Recent Changes, содержащая данные Time, Value Before, Value After и Reason.

История Vali — на вкладке History отображается графическое и табличное представление изменения Vali во времени.
Уведомления об изменениях
Чтобы получать уведомление при изменении определенного Vali, можно подписаться на него, нажав кнопку с тремя точками в столбце Actions и выбрав в открывшемся меню команду Add » Subscribe.
Дополнительную информацию об уведомлениях см. на странице Notifications.
