시스템 설계하기
이 튜토리얼의 이 부분에서는 Requirements & Systems Portal 내에서 시스템을 설계하는 일반적인 사용 사례를 살펴보겠습니다. 이 과정에는 시스템의 디지털 모델과 분해 구조를 생성하고, 성능 파라미터를 계산하며, 트레이드오프 연구를 수행하고, 설계 결정을 내리는 작업이 포함됩니다.
Valitypes 구성
Valitypes는 새로 생성하는 모든 블록에 특정 유형의 vali가 기본 수식과 단위(예: 질량, 소비 전력 등)와 함께 이미 포함되도록 보장합니다. 올바른 valitype가 존재하는지 확인해야 합니다.
-
왼쪽 하단의
아이콘을 클릭하고 나타나는 메뉴에서 Settings을 선택합니다. 열리는 페이지에서 왼쪽 패널의 Valitypes 항목을 선택하면 기존의 모든 valitype를 볼 수 있습니다.
-
valitype Mass 및 PowerConsumption가 존재하는지 확인합니다. 존재하지 않는 경우 페이지 오른쪽 하단의
버튼을 클릭하여 이 이름으로 valitype를 추가합니다.
-
PowerConsumption valitype의 단위는 kW 또는 W일 수 있습니다. 단위가 kW인 경우 해당 셀을 더블클릭하여 kW 를 W(으)로 수정합니다. 또한 이 튜토리얼에서는 블록의 질량 속성을 그램 단위로 사용할 예정입니다. 단위를 kg로 유지할지 g로 유지할지는 사용자가 선택하면 됩니다.
-
valitype Mass 및 PowerConsumption에 대해 add by default 속성을 활성화합니다. 이들 valitype 중 하나의 셀을 더블클릭하고 나타나는 메뉴에서 True을 선택한 다음, 다른 valitype에도 동일하게 적용합니다. 이 valitype들은 이 튜토리얼의 이후 단계에서 새로 생성하는 모든 블록에 자동으로 추가됩니다.
프로젝트에 시스템 추가
이제 팬을 만들어 봅시다! 모든 제품은 트리 구조처럼 하위 시스템으로 분해할 수 있습니다. 계층형 시스템 트리는 Requirements & Systems Portal의 핵심 기능 중 하나입니다.
System Design Module에서는 시스템 트리를 생성하고 액세스할 수 있으며, 여기에는 기술 파라미터(valis)를 포함한 모든 시스템과 하위 시스템이 포함됩니다.
-
왼쪽의 Module Navigation 바에서
아이콘을 클릭하여 System Design Module로 이동합니다.
-
기본적으로 프로젝트에는 프로젝트 이름을 딴 블록이 포함됩니다(이 경우 Valifan). 프로젝트 트리에서 해당 항목을 마우스 오른쪽 버튼으로 클릭하고 Create block 명령을 선택합니다. 나타나는 Create new block 창의 Name 필드에
Propeller을 입력하고
을 클릭합니다.
Valifan 블록을 확장하여 탐색 트리에서 새 하위 블록을 확인합니다.
-
같은 방식으로 Fan 블록에 대해 다음 하위 블록을 생성합니다:
Motor,Speed_Controller, 그리고Structure.
기술 파라미터(Valis) 변경
Requirements & Systems Portal에서 Valis는 엔지니어링 값을 담고 있는 기술 파라미터입니다. Valis에는 수식, 값, 이력 등 다양한 속성이 있습니다. 이제 valis에 값을 추가해 보겠습니다!
-
탐색 패널에서 Valifan 블록을 선택합니다. 블록의 Properties 보기가 열리며, 이 블록에 이미 두 개의 vali인 Mass 및 PowerConsumption가 포함되어 있는 것을 볼 수 있습니다(이 vali들은 valitype 설정에서 기본적으로 추가되도록 구성되어 있기 때문입니다).
-
이제 Fan 블록의 각 하위 블록에서 Mass 및 PowerConsumption 값을 변경합니다. 이렇게 하려면 하위 블록을 선택한 다음 Value 열의 해당 셀을 더블클릭합니다. 다음 값을 입력합니다:
-
Motor: Mass =
110g, PowerConsumption =1W -
Propeller: Mass =
30g, PowerConsumption =0W(soc()대신0W을 입력해야 합니다) -
Speed_Controller: Mass =
15g, PowerConsumption =0.1W -
Structure: Mass =
80g, PowerConsumption =0W(soc()대신0W을 입력해야 합니다)
Motor 하위 블록에 추가된 값의 예는 아래와 같습니다.
-
-
Fan 블록으로 이동하면 총 Mass가 자동으로 235 g(또는 0.235 kg)로 계산되고, 총 PowerConsumption는 1.1 W로 계산된 것을 확인할 수 있습니다.
새 Vali 추가
이전 단계에서는 valitype를 추가하는 방법을 보여주었습니다. 그러나 vali(속성)는 질량과 소비 전력에만 제한되지 않습니다. 블록에는 다양한 속성을 추가할 수 있습니다. Requirements & Systems Portal에서는 단위가 있거나 없는 숫자인 새 vali를 만들 수 있습니다. 또한 matrix, textvali(예: 재질), datevali(예: 구매일), datasets(2차원)도 만들 수 있습니다. 어떤 필드에서든 $ 기호를 사용하여 수식에서 valis에 액세스할 수 있습니다.
다음 단계에서는 프로펠러 효율과 전달 전력을 추가하겠습니다.
-
Propeller 블록으로 이동합니다.
-
오른쪽 상단의
버튼을 클릭하여 Create Property 창을 엽니다. 이 창에서 Vali 탭이 열려 있는지 확인하고, Name 필드에 Efficiency를, Formula and unit 필드에0.85을 입력합니다. Display Unit 필드는 비워 둔 채
을 클릭합니다.
-
같은 방식으로 이름이
power_delivered인 또 다른 vali를 추가하고 수식으로$Motor.PowerConsumption*$Propeller.efficiency을 입력합니다. Formula and unit 필드에$기호를 입력하면 필요한 항목을 선택할 수 있는 드롭다운이 나타납니다. Display Unit 필드는 비워 둡니다(올바른 단위인 W는 계산에 따라 자동으로 할당됩니다). 그런 다음
을 클릭합니다.
이제 Propeller 블록의 valis는 아래와 같이 표시되어야 합니다.
-
power_deliveredvali의 이름을 클릭하면 추가 정보와 속성이 포함된 상세 페이지가 열립니다. 여기에서는 Formula, Properties, Info, Connected Copies, Actions를 볼 수 있으며, History, Sensitivity Analysis, Connections Graph와 같은 추가 기능에도 액세스할 수 있습니다.
설계 상세화 및 블록 재사용
기본 설계가 준비되면 제품의 더 상세한 모델을 만들 수 있습니다. 복제해야 하는 블록이 있다면 'connected copies' 기능을 활용할 수 있습니다. 이 기능을 사용하면 블록들이 동기화된 상태로 유지됩니다. 즉, 연결된 블록 중 하나를 변경하면 다른 모든 블록도 자동으로 업데이트됩니다.
이 예제에서는 로터 블레이드가 3개이며 모두 동일합니다.
-
탐색 패널에서 Propeller Block을 마우스 오른쪽 버튼으로 클릭하고 Add Block 명령을 선택합니다. 새 Block의 이름을
Blade1(으)로 지정합니다. -
새 Blade1 블록을 마우스 오른쪽 버튼으로 클릭하고 Copy & connect을 선택합니다. 같은 수준에 새 connected Block Blade2 이 나타납니다.
-
같은 방식으로 connected block Blade3도 생성합니다.
-
세 블록 중 아무 블록으로 이동하여 해당 Mass 값을
10g(으)로, 그리고 PowerConsumption 값을0W(으)로 변경합니다. 이제 연결된 모든 블레이드 블록이 동일한 Mass 및 PowerConsumption을(를) 가지는 것을 확인할 수 있습니다.
수식이 soc()(Sum of Children)인 모든 vali에는 연결된 예산 테이블과 차트가 있으며, 이는 vali 정보에서 확인할 수 있습니다.
-
Fan 블록으로 이동한 다음 Mass vali 이름을 클릭하여 세부 정보를 엽니다.
-
상단의 Budget 컨트롤을 클릭하여 팬의 총 질량에 대한 세부 내역을 확인합니다. 블록 이름 왼쪽의 화살표를 클릭하면 구조를 펼칠 수 있습니다.
-
Breakdown Chart 컨트롤을 클릭하여 팬의 총 질량에 대한 세부 내역을 확인합니다. 원형 차트에는 바로 하위 수준 서브시스템의 질량 분해가 표시됩니다.
마진 사용하기
초기 개발 단계에서는 일반적으로 어떤 속성의 정확한 값도 확신할 수 없습니다. 그래서 값에 마진을 추가하는 것이 도움이 될 수 있습니다. Requirements & Systems Portal은 이러한 불확실성을 모든 계산 전반에 걸쳐 전파합니다(선형 불확실성 전파).
예를 들어 최종 질량 값을 알지 못할 수 있습니다. 대부분의 경우 질량은 예상보다 더 크게 나옵니다. 이런 경우 vali에 안전 마진을 추가할 수 있습니다. 이 마진을 사용하면 Requirements & Systems Portal이 vali의 최악 조건 값을 자동으로 계산합니다. 이제 이를 프로펠러 질량에 적용해 보겠습니다.
-
Propeller 블록으로 이동하고 오른쪽의 Columns 컨트롤을 사용하여 테이블에서 Margin + 및 Margin - 열이 보이도록 설정합니다.
-
Mass vali의 Margin + 열에
10을(를) 입력합니다(이는 10% margin+를 의미함).
-
Mass vali의 이름을 클릭하여 상세 보기를 엽니다. 10% margin+가 적용되어 Worst Case 값이 33g | 30g(으)로 표시됩니다.
-
Propeller 블록에 정의된 마진을 기반으로 Requirements & Systems Portal은 상위 수준의 마진과 최악 조건 값을 자동으로 업데이트합니다. Fan 블록으로 이동하여 해당 Mass vali의 상세 보기를 엽니다. 보시다시피 이제 팬의 질량은 총 마진 +1.28% 및 최악 조건 값 238g | 235g을 가집니다.
사용자 지정 요구에 맞는 태그 추가하기
태그는 팀의 특정 요구를 위한 다목적 도구입니다. 이를 사용해 vali와 블록을 표시할 수 있습니다. 다음과 같은 용도로 사용할 수 있습니다.
-
값의 신뢰도(예:
assumption/calculated/measured). -
팀 구성원을 위한 작업(예:
review: Tom/approval: Christine). -
그 밖의 모든 표시 또는 그룹화.
-
Motor 블록으로 이동합니다.
-
Mass vali의 Tags 열 셀을 더블클릭하고
measurement을(를) 입력한 다음Enter을 눌러 태그를 추가합니다.
블록을 요구사항에 연결하기
이제 기본 시스템 구조가 준비되었으므로, Fan 시스템과 Fan_Specs 사양의 요구사항 사이에 연결을 설정해 보겠습니다. 이렇게 하면 시스템 설계와 요구사항 간에 직접적인 연결이 생성됩니다.
-
왼쪽의 Module Navigation 바에서
아이콘을 클릭하여 Requirements Module로 이동한 다음 Fan_Specs 사양을 엽니다.
-
Identifier 열 머리글 왼쪽의 상자를 선택하여 해당 사양 내의 모든 요구사항을 선택합니다.
-
Applicable Block 열의 셀 안을 더블클릭하고 드롭다운에서 Fan을(를) 선택한 다음 일괄 업데이트를 확인합니다.
Applicable Blocks 기능에 대한 자세한 내용은 Applicable Blocks 페이지를 참조하세요.
예산 테이블 및 원형 차트 만들기
이제 시스템의 예비 설계 분해가 준비되었으므로, 앞서 만든 분석 문서(Project_Summary)에서 질량 예산을 확인하고자 합니다. 문서에 새 블록을 추가해 보겠습니다.
-
Module Navigation 바에서
아이콘을 클릭하여 Analyses Module로 이동한 다음 Project_Summary을(를) 선택합니다.
-
문서 하단의 Click to add new block 컨트롤을 클릭합니다.
-
열리는 Add Block 창에서 Table 항목을 펼친 다음 Budget을(를) 선택합니다.
-
문서에 새 블록이 추가됩니다. Add data to this table 컨트롤을 클릭하여 Table Block 창을 열면 세부 내역을 보고 싶은 vali를 선택할 수 있습니다. vali 필드에서 Fan.Mass을(를) 선택합니다.
-
Table Block 창에서
을(를) 클릭합니다. 문서에 새 테이블이 추가됩니다. 이 테이블에서는 전체 분해, 마진 및 최악 조건 시나리오를 포함한 Valifan의 질량 예산을 확인할 수 있습니다.
-
차트를 사용하여 질량 분해를 그래픽으로 표현할 수도 있습니다. 문서 하단의 Click to add new block 컨트롤을 클릭합니다.
-
Add Block 창에서 Charts 항목을 펼친 다음 Budget을(를) 선택합니다.
-
문서에 새 블록이 추가됩니다. Add data to this table 컨트롤을 클릭하여 Table Block 창을 엽니다. vali 필드에서 Fan.Mass을(를) 선택한 다음
을(를) 클릭합니다. 문서에 새 차트가 추가됩니다.
모드 정의하기
일부 값은 고정되어 있지 않고, 현재 개발 중인 제품의 상태에 따라 달라집니다. 바로 이런 경우를 위해 모드가 존재합니다. 모드는 서로 다른 구성과 그것이 제품과 맺는 관계를 추적합니다.
이 튜토리얼의 이 부분에서는 팬의 모드를 정의합니다. 즉, 서로 다른 속도, 전원 모드, 그리고 ON/OFF 상태입니다.
모드 추가하기
모터는 세 가지 이산 속도로 작동할 수 있으며, 이는 모드로 모델링할 수 있습니다.
-
상단의 Modelists 탭으로 이동합니다. Modelist는 전력 소비, 회전 속도, 추력 등과 같은 모드 의존 속성을 모델링하는 데 사용됩니다.
-
오른쪽 상단의
버튼을 클릭합니다. 열리는 Create Modelist 창에서 New Modelist name 필드에 speed_settings을(를), # (Number of modes) 필드에3을(를) 입력합니다.
-
Create Modelist 창에서
버튼을 클릭하면 새 modelist가 생성됩니다. 새 modelist 이름 왼쪽의 화살표를 클릭하여 펼칩니다.
-
기본값인 a, b, c 모드 이름을 각각 ZERO, LOW, HIGH(으)로 변경합니다.
-
페이지 상단의 Properties 컨트롤을 클릭하여 블록의 vali로 돌아갑니다.
-
오른쪽 상단의
버튼을 클릭하여 Create Property 창을 엽니다. 이 창에서 다음을 수행합니다.
-
Matrix 탭을 선택합니다.
-
Name 필드에
rotational_speeds을(를) 입력합니다. -
Mode reference 필드 드롭다운에서 speed_settings을(를) 선택합니다.
-
Display Unit 필드에
rpm을(를) 입력합니다.
-
-
Create Property 창에서
버튼을 클릭한 다음 새 속성 이름 왼쪽의 화살표를 클릭하여 펼칩니다. 현재 0인 값을 다음과 같이 변경합니다.-
ZERO =
0rpm -
LOW =
2000rpm -
HIGH =
5000rpm
-
-
Speed_Controller 블록에 대해
power_modes라는 이름의 modelist를 만들고 두 개의 모드를 추가합니다. 기본값인 a 및 b 모드 이름을 각각 ON 및 OFF(으)로 변경합니다.
-
이름이
state이고 모드가 3개인 Fan Block의 modelist를 생성합니다. 모드 이름을 기본값인 a, b 및 c에서 각각 OFF, MIN, MAX(으)로 변경합니다.
Vali를 모드 종속적으로 만들기
이제 시스템의 모드가 정의되었으므로, vali가 해당 모드에 종속되도록 설정할 수 있습니다. vali는 항상 동일한 값을 갖는 것이 아니라, 특정 모드에 따라 달라지는 값을 가질 수 있습니다.
-
Fan block의 속성으로 이동한 다음 PowerConsumption vali 이름을 클릭하여 상세 보기를 엽니다.
-
버튼을 클릭하여 Select Modelist 창을 엽니다. 드롭다운에서 state를 선택하고
버튼을 클릭합니다.
-
같은 방식으로 Motor block의 PowerConsumption vali가
speed_settings모드에 종속되도록 하고, Speed_Controller block의 PowerConsumption vali가power_modes모드에 종속되도록 설정합니다. -
Motor block의 전력 소비 값을 다음과 같이 변경합니다:
-
ZERO =
0W -
LOW =
1W -
HIGH =
4W
-
-
Speed_Controller block의 전력 소비 값을 다음과 같이 변경합니다:
-
ON =
0.1W -
OFF =
0W
-
모드 연결하기
시스템의 상태는 서로 의존할 수 있습니다. 그렇기 때문에 Requirements & Systems Portal에서는 서로 관련된 모드를 연결할 수 있습니다.
이 튜토리얼의 이 부분에서는 fan의 상태와 motor 및 speed controller의 모드 사이에 연결을 생성합니다.
-
Fan Block의 modelists로 이동한 다음 state modelist 이름을 클릭하여 세부 정보 창을 엽니다.
-
창 상단의
아이콘을 클릭합니다. 창 하단의 Select Modelist 드롭다운에서 Speed_Controller.power_modes을(를) 선택하고
버튼을 클릭한 다음, Motor.speed_settings 및 을(를) 선택하고
버튼을 클릭합니다. 모드는 아래와 같이 추가됩니다.
-
아래와 같이 모드 간 링크를 편집한 다음
버튼을 클릭하여 변경 사항을 저장합니다.
-
Fan block의 Properties 보기에서 Power Consumption 값이 아래와 같이 변경된 것을 확인할 수 있습니다.
)
)