Designing the System
The features available depend on your Altium product access level. If you don’t see a discussed feature in your software, contact Altium Sales to find out more.
In this part of the tutorial, we will explore a typical use case for designing a system within Requirements & Systems Portal. This process involves creating a digital model and breakdown of the system, calculating performance parameters, performing trade-off studies, and making design decisions.
Configure the Valitypes Copy Link Copied
Valitypes ensure that every new block you create already contains valis of a certain type with a default formula and unit (e.g., mass, power consumption, etc.). We need to ensure that correct valitypes exist.
-
Click the
icon at the bottom left and select Settings from the menu that appears. On the page that opens, select the Valitypes entry in the left-hand side pane to see all the existing valitypes.
-
Make sure that valitypes Mass and PowerConsumption exist. If they do not exist, add them by clicking on the
button at the bottom right of the page and add valitypes with these names.
-
The units for the PowerConsumption valitype might be in kW or W. If the unit is in kW, double-click in the cell and edit the kW to W. Also, in this tutorial, we will use the mass property of the blocks in grams; it is your choice to keep the units in kg or g.
-
Enable the add by default property for valitypes Mass and PowerConsumption. Double-click in the cell for one of these valitypes and select True from the menu that appears, then do the same for the other valitype. These valitypes will be automatically added to every new block you create later in this tutorial.
Adding Systems to the Project Copy Link Copied
Let's start building your fan! Every product can be broken down into its sub-systems, like a tree. The hierarchical system tree is one of the core features of Requirements & Systems Portal.
In the System Design Module, you can create and access the system tree, which includes all systems and sub-systems, including technical parameters (valis).
-
Navigate to the System Design Module by clicking the
icon in the Module Navigation bar on the left.
-
To create a new block, click the
button at the top right. Enter
Fan
in the Name field of the Create new block window that appears and click.
-
It is time to break the system down into subsystems or parts. Right-click the new Fan block in the left-hand side navigation pane and select the Add Block command. Name the new block
Propeller
and then expand the Fan block to see the new sub-block in the navigation tree. -
Similarly, create the following sub-blocks for the Fan block:
Motor
,Speed_Controller
, andStructure
.
Changing Technical Parameters (Valis) Copy Link Copied
In Requirements & Systems Portal, Valis are technical parameters that contain your engineering values. Valis have properties such as formulas, values, history, and much more. So, let's go ahead and add values to your valis!
-
Select the Fan block in the navigation pane. The Properties view of the block will open where you can see that the block already contain two valis, Mass and PowerConsumption (because these valis has been configured to be added by default in valitype settings).
-
Now, change the Mass and PowerConsumption value in each sub-block of the Fan block. To do this, select a sub-block, double-click the corresponding cell in the Value column. Enter the following values:
-
Motor: Mass =
110g
, PowerConsumption =1W
-
Propeller: Mass =
30g
, PowerConsumption =0W
(make sure to enter0W
instead ofsoc()
) -
Speed_Controller: Mass =
15g
, PowerConsumption =0.1W
-
Structure: Mass =
80g
, PowerConsumption =0W
(make sure to enter0W
instead ofsoc()
)
An example of values added to the Motor sub-block is shown below.
-
-
Navigate to the Fan block and note that its total Mass has been automatically calculated to 235 g (or 0.235 kg) and its total PowerConsumption has been calculated to 1.1 W.
Adding a New Vali Copy Link Copied
In previous steps, we have shown how to add valitypes. However, valis (properties) are not restricted to mass and power consumption alone. Different properties can be added to the blocks. In Requirements & Systems Portal, you can create a new vali that can be a number with or without a unit. It can also be a matrix, textvali (e.g., material), datevali (e.g., purchase date) and datasets (two dimensions). You can access valis in formulas using the $
symbol in any field.
In the following steps, we will add the propeller efficiency and delivered power.
-
Navigate to the Propeller block.
-
Click the
button at the top right to open the Create Property window. In this window, make sure that the Vali tab is opened and enter
Efficiency
to the Name field and0.85
to the Formula and unit field. Leave the Display Unit field empty and click.
-
Similarly, add another vali with the name
power_delivered
and add the formula as$Motor.PowerConsumption*$Propeller.efficiency
. As you type the$
symbol in the Formula and unit field, a drop-down will appear from which you can choose the required. Leave the Display Unit field empty (the correct units, W, will be assigned automatically based on the calculation) and click.
The valis of the Propeller block should now look as shown below.
-
Click the name of the
power_delivered
vali open a detailed page with additional information and properties. Here, you can see Formula, Properties, Info, Connected Copies, Actions and have access to additional features, such as History, Sensitivity Analysis, and the Connections Graph.
Detailing the Design and Reusing the Blocks Copy Link Copied
Once you have a basic design in place, you can create a more detailed model of your product. If there are blocks that need to be duplicated, you can utilize the 'connected copies' feature. This ensures that they remain synchronized – if you make changes to one connected block, all others will be automatically updated as well.
In our example, we have three rotor blades and all of them are the same.
-
Right-click the Propeller Block in navigation pane and select the Add Block command. Name the new Block
Blade1
. -
Right-click on the new Blade1 block and select Copy & connect. A new connected Block Blade2 appears on the same level.
-
Similarly, create a connected block Blade3.
-
Navigate to any of the three blocks and change its Mass value to
10g
and the PowerConsumption value to0W
. You can verify that all connected blade blocks now have the same Mass and PowerConsumption.
All valis with the formula soc()
(Sum of Children), have an associated budget table and chart which can be viewed in the vali information.
-
Navigate to the Fan block and click the Mass vali name to open its details.
-
Click the Budget control at the top to view a breakdown of the fan’s total mass. You can expand the structure by clicking on the arrows at the left of block names.
-
Click the Breakdown Chart control to view a breakdown of the total mass of the fan. The pie chart shows the mass breakdown for the immediate lower level of subsystems.
Using Margins Copy Link Copied
At an early development stage, you are usually not sure about the exact values of any property. This is why adding a margin to the value can be helpful. Requirements & Systems Portal propagates this uncertainty throughout all your calculations (linear uncertainty propagation).
For example, you might not know the final value of a mass. In most cases, you end up with a mass higher than expected. For these cases, you can add a security margin to your vali. Using this margin, Requirements & Systems Portal automatically calculates a worst-case for your vali. Let's do this with the propeller mass.
-
Navigate to the Propeller block and enable visibility of the Margin + and Margin - columns in the table using the Columns control at the right.
-
In the Margin + column for the Mass vali, enter
10
(which means a 10% margin+). -
Click the name of the Mass vali to open its detailed view. The Worst Case value will be shown as 33g | 30g due to the 10% margin+.
-
Based on the margin defined on the Propeller Block, Requirements & Systems Portal automatically updates the margins and worst cases on the higher level. Navigate to the Fan block and open the detailed view of its Mass vali. As you can see, the fan's mass now has a total margin of +1.28% and a worst-case of 238g | 235g.
Adding Tags for Your Custom Needs Copy Link Copied
Tags are a multi-purpose tool for your specific team needs. You can use them to mark valis and blocks. Use them to indicate:
-
Reliability of a value (e.g.,
assumption
/calculated
/measured
). -
Actions for team members (e.g.,
review: Tom
/approval: Christine
). -
Any other marking or grouping.
-
Navigate to the Motor block.
-
Double-click the cell in the Tags column for the Mass vali, type
measurement
and pressEnter
to add the tag.
Linking Blocks to Requirements Copy Link Copied
Now that you have your basic system structure, let's establish a connection between the Fan system and the requirements from our Fan_Specs specification. This creates a direct link between the system design and the requirement.
-
Navigate to the Requirements Module by clicking the
icon in the Module Navigation bar on the left and open the Fan_Specs specification.
-
Check the box at the left of the Identifier column header to select all requirements within the specification.
-
Double-click within a cell of the Applicable Block column, select Fan from the drop-down, and confirm the bulk update.
For more information about the Applicable Blocks feature, refer to the Applicable Blocks page.
Creating Budget Tables and Pie Chart Copy Link Copied
We now have a preliminary design breakdown of our system, and we would like to see the mass budgets in our analysis document (Project_Summary) created earlier. Let's add new blocks to our documentation.
-
Navigate to the Analyses Module by clicking the
icon in the Module Navigation bar and select Project_Summary.
-
Click the Click to add new block control at the bottom of the document.
-
In the Add Block window that opens, expand the Table entry and select Budget.
-
A new block will be added to the document. Click the Add data to this table control to open the Table Block window where you can select the valis for which you want to see the breakdown. In the vali field, select Fan.Mass.
-
Click
in the Table Block window. A new table will be added to the document. In this table, you have access to the mass budget of the Valifan with a complete breakdown, margins, and worst-case scenarios.
-
You can also create a graphical representation of the mass breakdown using a chart. Click the Click to add new block control at the bottom of the document.
-
In the Add Block window, expand the Charts entry and select Budget.
-
A new block will be added to the document. Click the Add data to this table control to open the Table Block window. In the vali field, select Fan.Mass and then click
. A new chart will be added to the document.
Defining Modes Copy Link Copied
Some values are not static but depend on the state of the product you are building. This is what modes are made for: they track different configurations and their relationships with your product.
In this part of the tutorial, we define modes of the fan: different speeds, power modes, and ON/OFF-states.
Adding Modes
The motor can run at three discrete speeds which can be modelled by modes.
-
Navigate to the Modelists tab at the top. Modelists serve to model mode dependent properties, such as power consumption, rotational speed, thrust etc.
-
Click the
button at the top right. In the Create Modelist window that opens, enter
speed_settings
into the New Modelist name and3
into the # (Number of modes) field. -
After clicking the
button in the Create Modelist window, a new modelist will be created. Click the arrow at the left of the new modelist name to expand it.
-
Change mode names from default a, b, and c to ZERO, LOW, and HIGH, respectively.
-
Click the Properties control at the top of the page to return to the block's valis.
-
Click the
button at the top right to open the Create Property window. In this window:
-
Select the Matrix tab.
-
Enter
rotational_speeds
into the Name field. -
Select speed_settings from the Mode reference field drop-down.
-
Enter
rpm
into the Display Unit field.
-
-
Click the
button in the Create Property window and the click the arrow at the left of the new property name to expand it. Change the values (which currently are
0
) as follows:-
ZERO =
0rpm
-
LOW =
2000rpm
-
HIGH =
5000rpm
-
-
Create a modelist for the Speed_Controller Block named
power_modes
and with two modes. Change mode names from default a and b to ON and OFF, respectively. -
Create a modelist for the Fan Block named
state
and with three modes. Change mode names from default a, b and, c to OFF, MIN, and MAX, respectively.
Making Valis Mode-Dependent
Now, with the modes of the system defined, you can make valis dependent on them. A vali might not always have the same value, but a value dependent on a certain mode.
-
Navigate to properties of the Fan block and click the PowerConsumption vali name to open its detailed view.
-
Click the
button to open the Select Modelist window. Select state from the drop-down and click the
button.
-
Similarly, make the PowerConsumption vali of the Motor block dependent on the
speed_settings
mode and the PowerConsumption vali of the Speed_Controller block dependent on thepower_modes
mode. -
Change values of the Motor block's power consumption as follows:
-
ZERO =
0W
-
LOW =
1W
-
HIGH =
4W
-
-
Change values of the Speed_Controller block's power consumption as follows:
-
ON =
0.1W
-
OFF =
0W
-
Linking the Modes
States of a system can depend on each other. This is why in Requirements & Systems Portal you can link modes that belong together.
In this part of the tutorial, we create a connection between states of the fan and modes of the motor and speed controller.
-
Navigate to the modelists of the Fan Block and click the state modelist name to open its details pane.
-
Click the
icon at the top of the pane. In the Select Modelist drop-down at the bottom of the pane, select Speed_Controller.power_modes and click the
button and then select Motor.speed_settings and click the
button. The modes will be added as shown below.
-
Edit the links between the modes as shown below and then click the
button to save changes.
-
In the Properties view of the Fan block, you can see that Power Consumption values have changes as shown below.