Valis и расчеты
Vali — это параметры проектирования блоков, требований или анализов, которые можно использовать в расчетах и документации. Vali имеет числовое значение, а также содержит дополнительную информацию, такую как тип, единица измерения, формула, описание и требования min/max.
Создание Vali
При просмотре свойств блока вы можете создать Valis в этом блоке, нажав кнопку
в правом верхнем углу страницы. В открывшемся окне Create Property выберите тип свойства, которое вы хотите создать. Для Vali введите Name Vali (это может быть любое имя или имя Valitype), задайте Formula and unit (обязательно) и Display Unit (необязательно). Кроме того, с помощью поля Add to Block вы можете указать, в какие блоки нужно добавить этот Vali.
Обратите внимание, что при создании свойства можно создавать Valis разных типов: обычный Vali, Matrix, Textvali, Datevali или Dataset.
| Тип | Описание |
|---|---|
| Vali | Свойство блока, которое имеет только одно значение, например масса, стоимость, плотность и т. д. |
| Matrix | Матрица — это группа отдельных Valis, упорядоченных по строкам и столбцам. Matrix Vali обычно используется, когда свойство блоков имеет разные режимы, например энергопотребление в разных режимах, значения инерции по разным осям. |
| 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.
В формулах доступны следующие математические операции:
-
+,-,*,/ -
%(операция modulo) -
^ -
sqrt() -
exp() -
log10(),ln(),log() -
sin(),cos(),tan() -
asin(),acos(),atan() -
sinh(),cosh(),tanh() -
fabs(): возвращает абсолютное значение -
soc()= «Сумма дочерних»: сумма всех Valis того же типа во вложенных блоках -
poc()= «Произведение дочерних»: произведение всех Valis того же типа во вложенных блоках
В формулах также можно использовать следующие логические функции:
-
if(condition, formula_if_true, formula_if_false) -
max(formula1, formula2) -
min(formula1, formula2)
Встроенные функции Requirements Portal
-
soc(): означает «сумма дочерних», суммирует все Valis того же типа в блоках на один уровень ниже -
rssoc(): означает «корень из суммы квадратов дочерних» sqrt(x1^2+x2^2+⋯+xn^2). Например, если у вас есть три массы 2kg, 5kg и 6kg, функция rssoc даст результат 8.062257 -
aoc(): означает «среднее дочерних», вычисляет среднее значение Valis того же типа в блоках на один уровень ниже -
poc(): означает «произведение дочерних», перемножает все Valis того же типа в блоках на один уровень ниже -
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 с тем же типом во вложенных блоках -
maxoc(): максимум дочерних. Возвращает максимальное значение всех Valis с тем же типом во вложенных блоках -
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 page.