Main Content

이 페이지는 기계 번역을 사용하여 번역되었습니다. 영어 원문을 보려면 여기를 클릭하십시오.

Model Transformer 작업

Model Transformer 앱을 사용하여 모델을 리팩터링하여 변형을 구현하고, 적합한 데이터 저장소 블록을 제거하고, 테이블 조회 작업의 시뮬레이션 및 코드 효율성을 개선하세요. Model Transformer의 단계를 동시에 수행하거나 한 번에 한 단계씩 수행할 수 있습니다.

변환

Model Transformer 앱을 사용하여 다음을 대체할 수 있습니다.

  • 변형 블록을 사용하여 모델링 패턴을 검증합니다.

  • 데이터 종속성을 명시적으로 만드는 블록이 포함된 데이터 저장소 블록

  • 사전 조회 블록을 사용하여 보간된 룩업 테이블 블록

  • Prelookup 블록을 사용한 다중 보간으로 패턴을 Prelookup 블록을 사용한 단일 보간으로 모델링

모든 변환을 수행하려면 각 단계에 대해 입력 매개변수를 지정하십시오. 그런 다음 선택한 검사 실행 버튼을 클릭하세요. 각 검사를 실행한 후 모델 리팩터링 버튼을 클릭하여 변환이 포함된 새 모델을 생성합니다.

한 번에 하나의 변환을 수행하려는 경우 검사를 개별적으로 선택할 수 있습니다.

모델링 패턴을 변형 블록으로 대체

모델을 Variant 시스템으로 변환 버튼을 선택하여 변형 변환에 사용할 시스템 상수와 Variant Subsystem 또는 Variant Source 블록으로 변환할 수 있는 블록을 식별합니다. 다음과 같은 변환이 가능합니다.

  • If 블록이 하나 이상의 If Action Subsystem 블록에 연결되고 각 If Action Subsystem 블록에 하나의 출력 포트가 있는 경우 이 모델링 패턴을 하위 시스템 및 Variant Source 블록으로 바꿉니다.

  • If 블록이 출력 포트가 없거나 둘 이상의 출력 포트가 있는 If Action Subsystem 블록에 연결되는 경우 이 모델링 패턴을 Variant Subsystem 블록으로 대체합니다.

  • Switch Case 블록이 하나 이상의 Switch Case Action Subsystem 블록에 연결되고 각 Switch Case Action Subsystem 블록에 하나의 출력 포트가 있는 경우 이 모델링 패턴을 하위 시스템 블록 및 Variant Source 블록으로 바꿉니다.

  • Switch Case 블록이 출력 포트가 없거나 둘 이상의 출력 포트가 있는 Switch Case Action Subsystem 블록에 연결되는 경우 이 모델링 패턴을 Variant Subsystem 블록으로 대체합니다.

  • Switch 블록을 Variant Source 블록으로 교체합니다.

  • 두 개 이상의 데이터 포트가 있는 Multiport Switch 블록을 Variant Source 블록으로 교체합니다.

참고

일부 모델링 패턴 및 설정의 경우 Model Transformer는 이전 변환을 각각 수행할 수 없습니다.

시스템 상수는 Multiport Switch 또는 Switch 블록에 대한 제어 입력과 If 또는 Switch Case 블록에 대한 입력을 구성하는 제어 입력 또는 산술 표현식의 일부입니다. 상수 블록과 지원되는 MATLAB 표현식을 형성하는 블록 조합을 이러한 블록의 제어 입력으로 사용해야 합니다. Constant 블록에서 상수 값 매개변수는 시스템 상수입니다. 변환된 모델에서 시스템 상수는 Variant Source 또는 Variant Subsystem 블록의 조건 표현식의 일부입니다.

이 변환을 실행하면 결과 테이블에 모델의 해당 위치에 대한 하이퍼링크와 함께 각 모델링 패턴이 표시됩니다. Model Transformer가 변환을 수행하지 않도록 하려면 패턴 옆의 확인란을 선택 취소하세요.

변환이 포함된 모델을 생성하려면 모델 리팩터링을 클릭하세요. 앱은 m2m_<original model name>라는 이름의 폴더에 변환된 모델을 생성합니다.

모델의 블록을 변형 블록으로 변환하는 예는 Transform Model to Variant System를 참조하세요.

데이터 저장소 블록 제거

제거 자격이 있는 Data Store Memory, Data Store ReadData Store Write 블록을 식별하려면 Data Store 블록 제거을 선택합니다. 모델 리팩터링 버튼을 클릭하면 이러한 블록을 직접 신호 라인, Delay 블록 또는 Merge 블록으로 대체하는 모델을 생성할 수 있습니다.

이러한 블록을 교체하면 데이터 종속성을 명시적으로 만들어 모델 가독성이 향상됩니다. Model Transformer는 다음 데이터 저장소를 대체할 수 있습니다.

  • 버스가 아닌 신호의 경우 Data Store Read 블록이 Data Store Write 블록 이전에 실행되면 앱은 이러한 블록을 Delay 블록으로 대체합니다.

  • 버스가 아닌 신호의 경우 Data Store Write 블록이 Data Store Read 블록 이전에 실행되면 앱은 이러한 블록을 직접 연결로 대체합니다.

  • 버스 신호의 경우 버스 읽기 전에 버스 요소에 쓰기가 실행되면 앱은 Data Store ReadData Store Write 블록을 직접 연결 및 버스 생성기 블록으로 대체합니다.

  • 버스 신호의 경우 버스 요소를 읽기 전에 버스에 쓰기가 실행되면 앱은 Data Store ReadData Store Write 블록을 직접 연결 및 Bus Selector 블록으로 대체합니다.

  • 조건부 실행 하위 시스템의 경우 앱은 Data Store ReadData Store Write 블록을 직접 연결 및 Merge 블록으로 대체합니다.

Model Transformer 앱은 Data Store Memory 블록이 정의하는 로컬 데이터 저장소만 제거합니다. 앱은 글로벌 데이터 저장소를 제거하지 않습니다. Data Store Memory 블록의 경우 블록 매개변수 대화상자의 신호 특성 탭에서 데이터 저장소 이름은 Simulink의 Signal 객체로 연결이 맺어져야 함 매개변수를 지워야 합니다.

이 변환을 실행하면 결과 테이블에 해당 Data Store Memory, Data Store ReadData Store Write 블록에 대한 하이퍼링크가 표시됩니다. Model Transformer가 변환을 수행하지 않도록 하려면 Data Store Memory 블록 옆에 있는 확인란을 선택 취소하세요.

변환이 포함된 모델을 생성하려면 모델 리팩터링을 클릭하세요. 앱은 m2m_<original model name>라는 이름의 폴더에 변환된 모델을 생성합니다.

모델의 데이터 저장소 블록을 대체하는 예는 Improve Model Readability by Eliminating Local Data Store Blocks를 참조하세요.

사전 조회 블록을 사용하여 테이블 조회 블록을 사전 조회 및 보간으로 변환

공유 Prelookup 블록으로 변환할 n-D Lookup Table 블록을 식별하려면 테이블 룩업을 사전 룩업 및 보간으로 변환을 선택하고 사전 조회 블록을 사용하여 보간합니다. 모델에서 중복된 사전 조회 블록을 제거하면 선형 보간에 대한 시뮬레이션 속도가 향상됩니다.

Model Transformer는 여러 n차원 룩업 테이블 블록이 있는 위치를 식별합니다.

  • Lookup Table 블록에 동일한 입력 신호를 사용하십시오.

  • 동일한 중단점 사양, 값 및 데이터 유형을 가집니다.

  • 블록 매개변수 대화 상자에 동일한 알고리즘 매개변수가 있어야 합니다.

  • 분수 매개변수에 대해 동일한 데이터 유형을 가집니다.

이 변환을 실행하면 결과 테이블에 식별된 블록, 해당 알고리즘 매개변수, 모델, 라이브러리 및 참조 모델이 표시됩니다. 변환하려는 블록을 선택한 다음 이 검사 실행를 클릭합니다.

변환에 대한 예는 Improve Efficiency of Simulation by Optimizing Prelookup Operation of Lookup Table Blocks를 참조하세요. n차원 룩업 테이블 블록에 대한 자세한 내용은 n-D Lookup Table를 참조하세요.

사전 조회 블록을 사용하여 보간 대체

단일 Interpolation Using Prelookup 블록으로 변환할 수 있는 여러 Interpolation Using Prelookup 블록을 식별하려면 일반 소스 보간 변환을 선택합니다. 중복된 Interpolation Using Prelookup 블록을 제거하면 모델의 코드 효율성이 향상됩니다.

Model Transformer는 모델에 다음과 같은 여러 Interpolation Using Prelookup가 포함되어 있는 경우를 식별합니다.

  • 동일한 인덱스 및 분수 매개변수를 사용하여 사전 조회 블록에 동일한 입력 신호를 연결합니다.

  • 출력 신호를 동일한 switch 블록에 연결하십시오.

  • 동일한 중단점 사양, 값 및 데이터 유형을 가집니다.

  • 동일한 알고리즘 매개변수를 가집니다.

  • 분수 매개변수에 대해 동일한 데이터 유형을 가집니다.

Model Transformer 앱은 Interpolation Using Prelookup 블록의 속성이 테이블 데이터을 제외하고 동일한 경우 작동합니다.

이 변환을 실행하면 결과 테이블에 식별된 블록, 해당 알고리즘 매개변수, 모델, 라이브러리 및 참조 모델이 표시됩니다. 변환하려는 블록을 선택한 다음 이 검사 실행를 클릭합니다.

변환에 대한 예는 Improve Code Efficiency by Merging Multiple Interpolation Using Prelookup Blocks를 참조하세요. 사전 조회 블록을 사용한 보간에 대한 자세한 내용은 Using the Prelookup and Interpolation Blocks을 참조하세요.