Valis и расчеты
Valis — это параметры проектирования Blocks, Requirements или Analyses, которые можно использовать в расчетах и документации. Vali имеет числовое значение, а также содержит дополнительную информацию, такую как тип, единица измерения, формула, описание и требования min/max.
Создание Valis
Вы можете создать Valis в Block, сначала нажав символ “+” в правом нижнем углу экрана. Затем укажите имя (это может быть любое имя или имя Valitype - 1), Formula и Unit (обязательно - 2), Display Unit (необязательно - 3), после чего нажмите “Create” или “Create & add New” (см. Figure Adding a Vali). Руководство по Units и их преобразованию см. в разделе Units and Automatic Unit Conversion.
Кроме того, вы можете выбрать, в какие Blocks нужно добавить этот Vali (4).
Pro-tip: в поле Formula and Unit нажмите “\“, чтобы получить список возможных типов вычислений.
Добавление Vali — всплывающее окно для добавления различных типов Valis.
Обратите внимание, что при создании свойства пользователь может создавать разные Valis, например обычный Vali, Matrix, Text Vali, Datevali или Dataset.
Type |
Use-case |
|---|---|
Vali |
Свойство Block, которое имеет только одно значение, например mass, cost, density и т. д. ![]() |
Matrix |
Матрица — это группа отдельных Valis, упорядоченных по строкам и столбцам. Matrix Vali обычно используется, когда свойство Blocks имеет разные режимы. Например, Powerconsumption в разных режимах, значения inertia по разным осям. ![]() |
Text Vali |
Vali, который хранит строки/текст, например, ![]() |
DateVali |
Vali, который хранит информацию о дате, например, ![]() |
Dataset |
Здесь пользователь может импортировать или добавлять значения набора данных, создавать график и использовать эти значения в расчетах других значений. |
Добавление формул
Vali может вычисляться по формуле с использованием обычных математических выражений, а также с добавлением констант или функций. Формула также может содержать другие Valis.
В поле Formula and Unit пользователь может ссылаться на Valis, доступные либо в рамках проекта, либо также в других проектах. Для этого можно перейти в “Formula and Unit” и ввести “$”, после чего откроется небольшое диалоговое окно с Valis внутри (см. Figure Calling Valis). Пользователи могут вводить ключевые слова, чтобы быстрее найти нужный Vali.
Вызов Valis — в любом месте Requirements & Systems 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 одного и того же типа в дочерних Blocks -
poc()= "Произведение дочерних": произведение всех Valis одного и того же типа в дочерних Blocks
В формулах также можно использовать следующие логические функции:
-
if(condition, formula_if_true, formula_if_false) -
max(formula1, formula2) -
min(formula1, formula2)
Встроенные функции Requirements & Systems Portal:
-
soc(): означает "sum of children", суммирует все Valis одного и того же типа в Blocks на один уровень ниже -
rssoc():Обозначает “root sum squared of children” sqrt(x1^2+x2^2+⋯+xn^2). Например, если у вас есть три массы 2kg, 5kg и 6kg, функция rssoc даст результат 8.062257 -
aoc(): означает "average of children", вычисляет среднее значение Valis одного и того же типа в Blocks на один уровень ниже -
poc(): означает "product of children", перемножает все 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(): встроенная функция 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). См. Figure Vali Information для получения дополнительных сведений.
Информация о Vali — при нажатии на Vali откроется окно с дополнительной информацией. Здесь можно определить дополнительные свойства, добавить описание и задать impacts.На вкладке информации пользователи могут добавлять/изменять margins/units, а также добавлять requirements (min/max). Requirements (min/max) — это пределы, установленные для конкретного свойства. Если значение или worst-case увеличивается или уменьшается и выходит за пределы требований либо опускается ниже них, Requirements & Systems Portal показывает предупреждение рядом с именем Vali. Дополнительную информацию см. в разделе Warnings.
Обратите внимание, что total margin, отображаемый в свойствах Vali, — это margin самого Block и суммарные накопленные margins дочернего Block. Подробнее о Margins см. на нашей справочной странице Margins.
ID: ID — это случайное число, автоматически добавляемое Valiengine, которое используется в Backend. Вы можете ввести ID Vali в поле поиска Rest API, чтобы найти этот Vali. См. документацию Rest API.
Name: здесь можно ввести и изменить имя Vali.
Description: в поле description можно ввести описание Vali. Вы также можете форматировать и редактировать задачи, как показано ниже.
Другая информация, которую здесь можно добавить/просмотреть, включает References, Using и Used by, а также Impacts этого Vali.
История Valis
Когда Vali изменяется напрямую или косвенно, изменения автоматически сохраняются в базе данных Requirements & Systems Portal. Вкладка истории Vali показывает значение до изменения, значение после изменения и кто изменил значения. Requirements & Systems Portal фиксирует изменения, даже если измененный Vali не имеет прямой ссылки на данный Vali.
Чтобы просмотреть историю изменений Vali (см. Figure Vali History), нажмите на имя Vali (1), и откроется вкладка сведений (2). Выберите значок “History” (2) , и ниже будет показан график изменений во времени. В разделе “Recent Changes” (3) пользователь найдет таблицу с данными ‘Time’, ‘Value before’, ‘Value after’ и ‘Reason’.
История Vali — на вкладке History отображается графическое и табличное представление изменения Vali во времени.Уведомления об изменениях
Чтобы получать уведомления при изменении определенного Vali, вы можете подписаться на него, нажав Subscribe в выпадающем меню кнопки Action у этого Vali. См. Figure Subscribing to a Vali, чтобы понять, как это сделать.
Подписка на Vali — при подписке на Vali автоматические уведомления будут отображаться на вкладке Notification (значок колокольчика в правом верхнем углу), когда Vali изменяется.Вы увидите новое уведомление на колокольчике уведомлений в правом верхнем углу, когда кто-то изменит значение, на которое вы подписаны (4). Затем можно нажать значок колокольчика, чтобы просмотреть уведомления.



