Main Content

Variant 블록을 포함하는 모델 축소하기

이 예제에서는 프로그래밍 방식을 사용하거나 Variant 관리자의 Variant 축소기를 사용하여 Variant 블록을 포함하는 Simulink® 모델을 축소하는 방법을 보여줍니다.

Variant 모델은 이 모델과 연결된 여러 Variant 구성을 가질 수 있습니다. 각 Variant 구성은 Variant 제어 값의 조합을 나타내며, 이 조합으로 특정 Variant 선택지를 활성화합니다. Variant 축소기를 사용하여 원래 모델에서 Variant 구성의 일부만 포함하는 Variant 모델의 축소 버전을 생성할 수 있습니다.

모델 살펴보기

slexVariantReducer 모델을 엽니다. 이 모델은 다음의 Variant 선택지를 갖는 Variant Source 블록, Variant Sink 블록 및 Variant Subsystem 블록을 포함합니다.

  • Variant Source: V==1V==2

  • Variant Sink: W==1, W==2W==3

  • Variant Subsystem: V==1V==2

Simulink 툴스트립의 모델링 탭에서 모델 탐색기 > 모델 속성 > 콜백을 선택합니다. 모델의 PostLoadfn 콜백 함수는 Variant 제어 변수 VW를 정의하고 slexVariantReducer_config.mat 파일을 불러옵니다.

이 모델에는 두 개의 미리 정의된 Variant 구성이 있으며, 구성 이름은 config1(V==1 && W==2)와 config2(V==2 && W==2)입니다. 이러한 구성은 Variant 구성 데이터 객체(slexVariantReducer_config)에 저장되며 이 객체는 slexVariantReducer_config.mat 파일에 저장됩니다.

open_system('slexVariantReducer');

Variant 관리자에서 모델 축소하기

Variant 관리자 열기

1. Variant 관리자를 열려면 Variant 블록 중 하나에서 Variant 배지를 마우스 오른쪽 버튼으로 클릭하고 Variant 관리자에서 열기를 선택하십시오. Variant 관리자 창이 열리고 미리 정의된 Variant 구성이 표시됩니다.

2. Variant 축소기를 열려면 Variant 관리자 툴스트립의 섹션에서 Variant 축소기를 클릭합니다. Variant 축소기 창이 열립니다.

축소 모드 선택하기

Variant 축소기의 축소 모드 옵션을 사용하면 축소된 모델에서 유지하려는 구성을 지정할 수 있습니다.

  • 전역 작업 공간에 있는 Variant 제어 변수의 현재 값

  • 모델에 생성된 이름이 지정된 Variant 구성

  • Variant 제어 변수와 변수 값을 포함하는 변수 그룹

다음 섹션에 자세히 설명된 대로 이름이 지정된 구성 또는 변수 그룹을 선택합니다.

명명된 Variant 구성 지정하기

1. Variant 축소기 툴스트립의 축소 모드 목록에서 Variant 구성 지정 옵션을 선택합니다.

2. 구성 탭에서 축소 모델에 유지할 구성을 선택합니다.

명명된 변수 그룹 지정하기

1. Variant 축소기 툴스트립의 축소 모드 목록에서 Variant 제어 값 지정 옵션을 선택합니다.

2. 변수 그룹 탭에서 축소된 모델에 유지할 변수 그룹을 선택합니다. 명명된 변수 그룹을 새로 생성하려면 변수 그룹 추가 버튼을 클릭하십시오.

3. 그룹 테이블의 열에서 Variant 제어 변수의 값을 지정하거나 목록에서 Full-range 또는 Ignored를 선택할 수 있습니다.

축소하기

1. 필요한 경우 Variant 축소기 툴스트립의 모드옵션 섹션에서 다른 축소 설정을 수정할 수 있습니다. 설정을 수정하지 않으면 Variant 축소기는 축소 작업에 디폴트 값을 사용합니다.

2. 모델 축소를 클릭합니다. 선택한 구성에 맞는 축소 모델이 만들어집니다.

모델에 연결이 맺어진 라이브러리 링크 또는 참조된 모델이 포함되어 있다면 이에 대응하는 부모는 지정된 구성에 대해 축소되고 모델에서 참조됩니다. 축소된 모델, 축소된 참조 모델 및 축소된 라이브러리의 이름은 이에 대응하는 모델, 참조된 모델 또는 라이브러리 이름에 _r(모델 접미사)이 붙은 형태가 됩니다.

프로그래밍 방식으로 모델 축소하기

프로그래밍 방식으로 모델을 축소하려면 다음 명령 중 하나를 MATLAB® 명령 창에서 실행하십시오.

  • 변수 그룹을 지정하여 축소 모델을 생성하고 지정된 출력 폴더에 축소된 아티팩트를 배치합니다.

Simulink.VariantManager.reduceModel('slexVariantReducer','VariableGroups',{'V',1,'W',1},'OutputFolder', 'L:/reducedmodel');
  • 디폴트 출력 폴더 reducedModel에 명명된 Variant 구성 config1의 축소 모델을 생성하고 생성된 축소 모델을 엽니다.

  Simulink.VariantManager.reduceModel...
  ('slexVariantReducer','NamedConfigurations', {'config1'});
  cd ./reducedModel;
  open_system('slexVariantReducer_r');
Successfully created reduced model
'/tmp/Bdoc22b_2023970_559993/tpee542a42/simulink_variants-ex21847392/reducedModel/slexVariantReducer_r.slx'.

프로그래밍 방식으로 모델을 축소하는 경우 다른 옵션을 지정할 수 있습니다. Simulink.VariantManager.reduceModel 항목을 참조하십시오.

참고 항목