주요 콘텐츠

Stateflow 데이터 추가하기

Stateflow® 계층 구조의 특정 수준에 표시되는 값을 저장하려면 차트에 데이터를 추가합니다. 모델을 시뮬레이션할 때 차트 데이터 객체는 시뮬레이션 지속 시간 동안 값을 유지합니다.

Stateflow 차트에 정의된 데이터는 상태, 천이, MATLAB® 함수, 진리표 등 차트의 여러 Stateflow 객체에 표시됩니다. 상태 또는 천이에서 어떤 데이터가 사용되는지 확인하려면 상태 또는 천이를 마우스 오른쪽 버튼으로 클릭하고 탐색을 선택합니다. 상황별 메뉴에는 상태 또는 천이에서 연결이 맺어진 모든 기호의 이름과 범위가 나열됩니다. 상황별 메뉴에서 기호를 선택하면 모델 탐색기에 해당 속성이 표시됩니다. 상황별 메뉴에서 출력 이벤트를 선택하면 해당 이벤트와 연결된 Simulink® 서브시스템 또는 Stateflow 차트가 열립니다.

참고

Stateflow 데이터는 Stateflow 차트 내의 Simulink 함수에서 사용할 수 없습니다.

데이터는 기호 창, Stateflow 편집기 메뉴 또는 모델 탐색기를 사용하여 Stateflow 차트에 추가할 수 있습니다.

기호 창을 통해 데이터 추가하기

  1. 모델링 탭의 설계 데이터 아래에서 기호 창을 선택합니다.

  2. 데이터 만들기 아이콘 을 클릭합니다.

  3. 새 데이터의 행에 있는 유형 아래에서 아이콘을 클릭하고 다음을 선택합니다.

    • 입력 데이터

    • 로컬 데이터

    • 출력 데이터

    • 상수

    • 데이터 저장소 메모리

    • 파라미터

    • 임시

    이러한 옵션에 대한 자세한 내용은 범위 항목을 참조하십시오.

  4. 데이터의 이름을 편집합니다.

  5. 입력 데이터와 출력 데이터의 포트 필드를 클릭하고 포트 번호를 선택합니다.

  6. 데이터의 속성을 지정하려면 속성 인스펙터를 엽니다. 기호 창에서 기호의 행을 오른쪽 버튼으로 클릭하고 탐색을 선택합니다. 자세한 내용은 데이터 속성 설정하기 항목을 참조하십시오.

Stateflow 편집기 메뉴를 사용하여 데이터 추가하기

  1. Simulink 모델의 Stateflow 차트에서 추가할 데이터의 범위에 해당하는 메뉴 옵션을 선택합니다. 이러한 옵션에 대한 자세한 내용은 범위 항목을 참조하십시오.

    범위메뉴 옵션
    입력

    모델링 탭의 설계 데이터 아래에서 데이터 입력을 선택합니다.

    출력

    모델링 탭의 설계 데이터 아래에서 데이터 출력을 선택합니다.

    로컬

    모델링 탭의 설계 데이터 아래에서 로컬을 선택합니다.

    상수

    모델링 탭의 설계 데이터 아래에서 상수를 선택합니다.

    파라미터

    모델링 탭의 설계 데이터 아래에서 파라미터를 선택합니다.

    데이터 저장소 메모리

    모델링 탭의 설계 데이터 아래에서 데이터 저장소를 선택합니다.

  2. 데이터 대화 상자에서 데이터 속성을 지정합니다. 자세한 내용은 데이터 속성 설정하기 항목을 참조하십시오.

모델 탐색기를 통해 데이터 추가하기

함수가 부모로 지정된 데이터 또는 상태가 부모로 지정된 상위 데이터를 Simulink 모델의 Stateflow 차트에 추가하려면 모델 탐색기를 사용합니다.

  1. 모델링 탭의 설계 데이터 아래에서 모델 탐색기를 선택합니다.

  2. 모델 계층 구조 창에서 새 데이터를 표시할 Stateflow 계층 구조의 객체를 선택합니다. 선택한 객체가 새 데이터의 부모가 됩니다.

  3. 모델 탐색기 툴스트립에서 데이터 추가 버튼을 선택합니다. 또는 모델 탐색기 메뉴에서 추가 > 데이터를 선택합니다. 디폴트 정의가 포함된 새 데이터가 모델 탐색기의 내용 창에 표시됩니다.

  4. 데이터 창에 데이터의 속성을 지정합니다. 자세한 내용은 데이터 속성 설정하기 항목을 참조하십시오.

다음 유형의 함수에서는 로컬 데이터 또는 임시 데이터를 명시적으로 만들 필요가 없습니다.

  • MATLAB을 동작 언어로 사용하는 차트에서의 그래픽 함수

  • MATLAB을 동작 언어로 사용하는 진리표 함수

  • MATLAB 함수

대신 이러한 함수에서는 정의되지 않은 변수를 사용하여 나머지 함수 호출 중에만 액세스할 수 있는 값을 저장할 수 있습니다. 여러 함수 호출에서 유지되는 값을 저장하려면 로컬 데이터를 차트 수준에서 사용하십시오. 또는 MATLAB 함수에서 키워드 persistent를 사용할 수 있습니다.

차트에서 데이터를 사용하는 모범 사례

Simulink 블록에서 출력 데이터 속성 상속 안 함

Stateflow 출력 데이터는 출력 신호에서 속성을 상속하지 않아야 합니다. 왜냐하면 Simulink 블록의 값이 다시 전파되어 예측이 불가능할 수 있기 때문입니다.

인 플레이스(in-place) 데이터를 사용하여 더 효율적인 코드 생성하기

인 플레이스(in-place) 데이터를 사용하면 Stateflow 차트, 진리표, 상태 천이 테이블에 대해 생성된 코드의 성능을 개선하고 메모리 사용량을 줄일 수 있습니다. 차트 입력과 차트 출력에 동일한 데이터 이름을 사용하여 인 플레이스(in-place) 데이터를 만들 수 있습니다. 차트로부터 코드를 생성할 때, 생성된 코드는 입력 데이터와 출력 데이터를, 참조 방식으로 전달된 단일 인 플레이스(in-place) 인수로서 처리합니다. 인 플레이스(in-place) 데이터를 사용하면 생성된 코드가 중간 데이터를 복사하는 횟수가 줄어들어 코드의 효율성이 향상됩니다.

입력 데이터와 출력 데이터의 이름이 같은 경우 입력 데이터의 속성만 편집할 수 있습니다. 출력 데이터의 속성은 읽기 전용입니다.

참고 항목

도움말 항목