동작 모드 간 천이
천이는 반응 시스템에서 한 동작 모드에서 다른 동작 모드로의 통로를 나타냅니다. Stateflow® 차트에서 천이는 일반적으로 두 상태를 연결하는 화살표 머리가 있는 선입니다. 천이의 소스는 천이가 시작되는 상태이고, 천이의 대상은 천이가 끝나는 상태입니다.
연결점을 사용하여 둘 이상의 천이 세그먼트를 갖는 천이 경로를 만들 수도 있습니다. 예를 들어, 하나의 소스에서 여러 대상으로 또는 여러 소스에서 하나의 대상으로 천이 경로를 만들 수 있습니다. 그럴 경우, 모든 중간 천이는 소스 또는 대상에 해당하는 연결점을 갖습니다. 자세한 내용은 천이와 연결점을 결합하여 분기 경로 생성하기 항목을 참조하십시오.
디폴트 천이는 소스가 없는 특수한 유형의 천이입니다. 배타적(OR) 분해와 최소 두 개의 하위 상태가 있는 차트 또는 상태에서는 가드 조건이 없거나 이벤트에 의해 트리거되지 않는 디폴트 천이 경로가 있어야 합니다. 이력 연결점이 없는 경우 디폴트 천이는 차트 또는 상위 상태가 활성화될 때 가장 먼저 활성화되는 하위 상태를 나타냅니다. 자세한 내용은 디폴트 천이를 사용하여 초기 하위 상태 활동 지정하기 항목을 참조하십시오.
예를 들어, 이 차트의 상태는 팬이 두 개 있는 공기 조절기 시스템의 동작 모드를 나타냅니다. 상태 PowerOn
과 PowerOff
간 천이는 공기 조절기 시스템이 켜지고 꺼짐에 따라 모드가 변경됨을 나타냅니다. 시뮬레이션 시작 시 차트가 웨이크업 상태가 될 때 PowerOff
상태로의 디폴트 천이는 시스템이 꺼져 있음을 나타냅니다. 유사하게, 상태 FAN1
과 FAN2
에서, 하위 상태 간 천이는 각 팬의 켜짐과 꺼짐에 따른 모드의 변경을 나타내며, 디폴트 천이는 상위 상태 PowerOn
이 활성 상태가 되면 팬이 꺼짐을 나타냅니다. 이 예제에 대한 자세한 내용은 Execute States in Parallel 항목을 참조하십시오.
천이의 부모는 천이의 소스와 대상이 포함되어 있는 가장 낮은 수준의 상태 또는 차트입니다. 예를 들어, 이전 예제에서 FAN1
은 하위 상태 FAN1.On
과 FAN1.Off
간 천이의 부모 상태입니다. 유사하게, FAN2
는 하위 상태 FAN2.On
과 FAN2.Off
간 천이의 부모 상태입니다. 반대로, 상태 PowerOn
과 PowerOff
간 천이의 부모는 차트 자체입니다.
천이 만들기
새 대상 또는 기존 대상에 천이를 추가할 수 있습니다.
소스 상태 또는 연결점의 테두리를 가리킵니다. 포인터가 십자 기호로 바뀝니다.
소스 상태 또는 연결점을 클릭하고 연결점에서 멀리 끌어서 놓습니다. Stateflow 편집기는 연결점 또는 상태를 추가할 수 있는 그래픽 큐를 제공합니다.
새 천이의 대상을 선택합니다.
천이의 끝부분에 새 상태를 추가하려면 직사각형 큐를 클릭합니다.
천이의 끝부분에 새 연결점을 추가하려면 원형 큐를 클릭합니다.
천이를 기존 상태 또는 연결점에 연결하려면 포인터를 원하는 대상으로 끌어서 놓습니다.
천이의 레이블을 입력하고 천이 바깥쪽을 클릭합니다. 레이블은 천이를 유효한 천이로 만드는 조건과 트리거를 비롯하여 시뮬레이션 중에 천이가 실행하는 모든 동작을 지정합니다. 자세한 내용은 천이의 동작 정의하기 항목을 참조하십시오.
천이를 만든 후 Stateflow 편집기를 사용하여 천이의 형태, 소스, 대상 또는 레이블을 변경할 수 있습니다.
천이의 형태를 변경하려면 천이의 중간점을 클릭하여 끌어서 놓습니다.
소스 또는 대상을 변경하려면 천이의 끝점을 클릭하여 끌어서 놓습니다.
천이 레이블을 편집하려면 편집하려는 문자 위치 근처의 레이블 텍스트를 클릭합니다. 천이에 빈 레이블이 있는 경우 먼저 천이를 선택합니다.
천이 레이블을 이동하려면 레이블을 클릭하여 끌어서 놓습니다.
디폴트 천이 만들기
객체 팔레트에서 디폴트 천이 아이콘
을 클릭합니다.
차트 캔버스에서 대상 상태 또는 연결점의 한 쪽을 클릭합니다.
선택 사항으로, 디폴트 천이의 레이블을 추가합니다.
팁
디폴트 천이의 끝점 크기는 화살표 머리의 크기에 비례합니다. 천이 화살표 머리 크기 변경하기 항목을 참조하십시오.
천이의 동작 정의하기
천이의 레이블은 이벤트 트리거 또는 메시지 트리거와 천이를 유효한 천이로 만드는 조건을 비롯하여 시뮬레이션 중에 천이가 실행하는 조건 동작과 천이 동작을 지정합니다. 천이 레이블의 일반적인 형식은 다음과 같습니다.
trigger[condition]{condition_action}/{transition_action}
레이블의 각 부분은 선택 사항이며 별도의 라인에 표시될 수 있습니다. 차트가 레이블을 사용하여 천이의 유효성을 확인하는 방법에 대한 자세한 내용은 천이 평가하기 항목을 참조하십시오.
이벤트 트리거와 메시지 트리거
천이 레이블은 천이를 트리거하는 이벤트 또는 메시지의 이름으로 시작합니다. 여러 이벤트 또는 메시지 트리거를 지정하려면 논리 OR(|
) 연산자를 사용하십시오.
이벤트 트리거가 있는 천이는 차트가 지정된 이벤트의 브로드캐스트를 수신하는 경우에만 유효합니다. 메시지 트리거가 있는 천이는 메시지 대기열에 지정된 메시지가 있는 경우에만 유효합니다. 자세한 내용은 이벤트를 브로드캐스트하여 모델 컴포넌트 동기화하기 항목과 메시지를 전송하여 Stateflow 차트와 통신하기 항목을 참조하십시오.
예를 들어, 이 차트에서 상태 PowerOff
와 PowerOn
간 천이에는 이벤트 트리거가 있습니다. 이러한 천이는 소스 상태가 활성 상태이고 차트가 입력 이벤트 SWITCH
의 브로드캐스트를 수신하는 경우에 유효합니다.
팁
묵시적 이벤트(예: change
, enter
또는 exit
)와 시간 논리 연산자(예: after
, at
, before
또는 every
)를 사용하여 천이를 트리거할 수 있습니다. 자세한 내용은 묵시적 이벤트를 사용하여 차트 동작 제어하기 항목과 시간 논리를 사용하여 차트 실행 제어하기 항목을 참조하십시오.
조건
천이 레이블에 조건을 추가하려면 부울 표현식을 대괄호([]
)로 묶어 입력합니다. 조건을 정의하려면 다음 지침을 따르십시오.
조건식은
true
(1) 또는false
(0)로 평가되는 부울 표현식이어야 합니다.여러 개의 부울 표현식을 결합하려면 논리 AND(
&&
) 연산자와 논리 OR(||
) 연산자를 사용합니다.조건식을 두 줄 이상에 입력하려면 줄임표(
...
)를 사용합니다.조건식은 숫자형 값을 반환하는 그래픽 함수, 진리표 함수, MATLAB® 함수 또는 Simulink® 함수를 호출할 수 있습니다. 그러나 함수가 데이터 값을 수정하거나 차트의 상태를 변경해서는 안 됩니다.
조건식에는 대입문을 사용하지 마십시오.
조건이 있는 천이는 지정된 표현식이 true인 경우에만 유효합니다. 예를 들어, 다음 차트에서 하위 상태 Off
와 On
간 천이에는 차트 입력 temp
의 값을 임계값과 비교하는 조건이 있습니다. 이러한 천이는 소스 상태가 활성 상태이고 조건이 true인 경우 유효합니다.
조건 동작
차트는 천이가 유효한 것으로 확인되는 즉시 조건 동작을 실행합니다. 조건 동작을 추가하려면 중괄호({}
)로 묶은 하나 이상의 명령문을 조건 뒤에 입력합니다. 여러 명령문을 구분하려면 쉼표나 세미콜론을 사용합니다. 또는 각 명령문을 별도의 줄에 입력할 수도 있습니다. 하나의 명령문을 두 줄 이상에 입력하려면 줄임표(...
)를 사용합니다.
천이가 여러 세그먼트로 구성된 천이 경로의 일부인 경우, 해당 차트는 천이 경로의 후속 세그먼트를 평가하기 전에 조건 동작을 실행합니다. 예를 들어, 다음 차트에는 두 개의 천이 세그먼트가 있는 천이 경로가 포함되어 있습니다. 차트는 입력 이벤트 SWITCH
의 브로드캐스트를 수신하면, 두 번째 천이 세그먼트의 유효성 여부와 관계없이 첫 번째 천이 세그먼트에 대해 조건 동작을 실행합니다. 자세한 내용은 조건 동작을 사용하여 차트 실행 제어하기 항목을 참조하십시오.
천이 동작
차트는 전체 천이 경로가 유효한 것으로 확인되면 천이 동작을 실행합니다. 천이 동작을 추가하려면 조건 동작의 뒤에 슬래시(/
)를 입력한 다음 중괄호({}
)로 묶은 하나 이상의 명령문을 입력합니다. 여러 명령문을 구분하려면 쉼표나 세미콜론을 사용합니다. 또는 각 명령문을 별도의 줄에 입력할 수도 있습니다. 하나의 명령문을 두 줄 이상에 입력하려면 줄임표(...
)를 사용합니다.
천이가 여러 세그먼트로 구성된 천이 경로의 일부인 경우, 해당 차트는 대상 상태 또는 종단 연결점으로 가는 일련의 유효한 세그먼트가 있음을 확인한 후 천이 동작을 실행합니다. 예를 들어, 다음 차트에는 두 개의 천이 세그먼트가 있는 천이 경로가 포함되어 있습니다. 차트는 입력 이벤트 SWITCH
의 브로드캐스트를 수신하면, 두 번째 천이 세그먼트가 유효한 경우에만 첫 번째 천이 세그먼트에 대해 천이 동작을 실행합니다. 자세한 내용은 조건 동작과 천이 동작의 외부 천이 평가하기 항목을 참조하십시오.
천이 동작은 MATLAB의 독립 실행형 Stateflow 차트에서는 지원되지 않습니다.
팁
C를 동작 언어로 사용하는 차트에서는 천이 동작을 중괄호로 묶을 필요가 없습니다. MATLAB을 동작 언어로 사용하는 차트에서 천이 동작에 중괄호가 누락된 경우 구문이 자동으로 수정됩니다. MATLAB을 동작 언어로 사용하는 경우의 자동 수정 항목을 참조하십시오.
천이 화살표 머리 크기 변경하기
천이에서 화살표 머리의 크기를 조정하려면 다음을 수행하십시오.
천이를 마우스 오른쪽 버튼으로 클릭합니다.
화살표 머리 크기를 선택합니다.
드롭다운 목록에서 화살표 머리 크기를 선택합니다.
또는 둘 이상의 천이의 화살표 머리 크기를 동시에 조정할 수도 있습니다.
여러 천이를 선택합니다.
선택한 천이 중 하나를 마우스 오른쪽 버튼으로 클릭합니다.
형식 > 화살표 머리 크기를 선택합니다.
드롭다운 목록에서 화살표 머리 크기를 선택합니다.
천이 하나에서 화살표 머리 크기를 변경하면 대상이 동일한 나머지 천이에서도 화살표 머리 크기가 변경됩니다.
천이의 속성 지정하기
아래에 나열된 속성을 사용하면 천이가 Stateflow 차트의 다른 컴포넌트와 상호 작용하는 방식을 지정할 수 있습니다. 속성 인스펙터, 모델 탐색기 또는 천이 속성 대화 상자에서 이러한 속성을 수정할 수 있습니다.
속성 인스펙터를 사용하려면 다음을 수행하십시오.
모델링 탭의 설계 데이터 아래에서 속성 인스펙터를 선택합니다.
Stateflow 편집기에서 천이를 선택합니다.
속성 인스펙터에서 천이 속성을 편집합니다.
모델 탐색기를 사용하려면 다음을 수행하십시오.
모델링 탭의 설계 데이터 아래에서 모델 탐색기를 선택합니다.
모델 계층 구조 창에서 천이의 부모 상태 또는 차트를 선택합니다.
내용 창에서 천이를 선택합니다.
대화 상자 창에서 천이 속성을 편집합니다.
천이 속성 대화 상자를 사용하려면 다음을 수행하십시오.
Stateflow 편집기에서 천이를 마우스 오른쪽 버튼으로 클릭합니다.
속성을 선택합니다.
속성 대화 상자에서 천이 속성을 편집합니다.
Stateflow.Transition
객체를 사용하여 프로그래밍 방식으로 천이 속성을 수정할 수도 있습니다. Stateflow 프로그래밍 인터페이스에 대한 자세한 내용은 Stateflow API 개요 항목을 참조하십시오.
소스
천이의 소스입니다. 이 속성은 읽기 전용이며 속성 인스펙터에서 사용할 수 없습니다. 소스 하이퍼링크를 클릭하면 Stateflow 편집기가 천이 소스를 전경으로 가져옵니다.
대상
천이의 대상입니다. 이 속성은 읽기 전용이며 속성 인스펙터에서 사용할 수 없습니다. 대상 하이퍼링크를 클릭하면 Stateflow 편집기가 천이 대상을 전경으로 가져옵니다.
부모
천이의 부모입니다. 이 속성은 읽기 전용이며 속성 인스펙터에서 사용할 수 없습니다. 부모 하이퍼링크를 클릭하면 Stateflow 편집기가 부모를 전경으로 가져옵니다.
실행 순서
천이의 실행 순서입니다. 자세한 내용은 천이 평가 순서 항목을 참조하십시오.
Variant 천이로 처리
천이가 Variant 천이인지 여부입니다. 자세한 내용은 Control Indicator Lamp Dimmer Using Variant Conditions 항목을 참조하십시오.
레이블
천이의 레이블입니다. 속성 인스펙터에서는 이 속성을 사용할 수 없습니다. 자세한 내용은 천이의 동작 정의하기 항목을 참조하십시오.
설명
천이에 대한 설명입니다.
문서 링크
천이에 대한 온라인 문서 링크입니다. MATLAB 명령 창에 웹 URL 주소를 입력하거나 문서를 HTML 파일 또는 텍스트로 표시하는 MATLAB 명령을 입력할 수 있습니다. 문서 링크 하이퍼링크를 클릭하면 Stateflow가 링크를 평가하여 문서를 표시합니다.
참고 항목
객체
툴
- 모델 탐색기 (Simulink)