Main Content

Chart

유한 상태 머신으로 제어 논리 구현

  • Chart block

라이브러리:
Stateflow

설명

Chart 블록은 상태 천이 다이어그램을 기반으로 유한 상태 머신을 그래픽으로 표현한 것입니다. Stateflow® 차트에서 상태와 천이는 순차 논리 시스템의 기본 구성요소를 형성합니다. 상태는 작동 모드에 해당하고 천이는 상태 사이의 경로를 나타냅니다. 자세한 내용은 Model Finite State Machines by Using Stateflow Charts 항목을 참조하십시오.

제어 논리를 구현하기 위해 Stateflow 차트는 MATLAB® 또는 C를 동작 언어로 사용할 수 있습니다. 자세한 내용은 Differences Between MATLAB and C as Action Language Syntax 항목을 참조하십시오.

차트 속성은 Stateflow 차트가 Simulink® 모델과 상호 작용하는 방법을 지정합니다. 속성 인스펙터, 모델 탐색기 또는 차트 속성 대화 상자에서 차트 속성을 수정할 수 있습니다. 자세한 내용은 Specify Properties for Stateflow Charts 항목을 참조하십시오. 또는 Stateflow.Chart 객체를 사용하여 프로그래밍 방식으로 차트 속성을 수정할 수도 있습니다. Stateflow 프로그래밍 인터페이스에 대한 자세한 내용은 Overview of the Stateflow API 항목을 참조하십시오.

포트

입력

모두 확장

기호 창에서 입력 데이터를 생성하면 Stateflow가 입력 포트를 생성합니다. 사용자가 생성하는 입력 데이터는 상응하는 입력 포트를 가지는데, 이는 데이터 생성 후에 나타납니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus | string

출력

모두 확장

기호 창에서 출력 데이터를 생성하면 Stateflow가 출력 포트를 생성합니다. 사용자가 생성하는 출력 데이터는 상응하는 출력 포트를 가지는데, 이는 데이터 생성 후에 나타납니다.

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point | enumerated | bus | string

파라미터

모두 확장

코드 생성 탭의 파라미터는 Simulink Coder™ 또는 Embedded Coder®를 필요로 합니다.

기본

Chart 블록 아이콘에 포트 레이블을 표시하는 방법을 선택합니다.

안 함

포트 레이블을 표시하지 않습니다.

FromPortIcon

상응하는 포트 아이콘에 신호 이름이 표시되면 Chart 블록에 신호 이름을 표시합니다. 그렇지 않으면 포트 블록 이름을 표시합니다.

FromPortBlockName

상응하는 포트 블록의 이름을 Chart 블록에 표시합니다.

SignalName

신호 이름이 있으면 포트에 연결된 신호 이름을 Chart 블록에 표시합니다. 그렇지 않으면 상응하는 포트 블록의 이름을 표시합니다.

프로그래밍 방식 사용

파라미터: ShowPortLabels
유형: string형 스칼라 또는 문자형 벡터
: "none""FromPortIcon" | "FromPortBlockName" | "SignalName"
디폴트 값: "FromPortIcon"

차트 내용에 대한 사용자 액세스를 제어합니다.

ReadWrite

차트 내용을 열고 수정할 수 있습니다.

ReadOnly

차트를 열 수 있지만 수정할 수는 없습니다. 차트가 블록 라이브러리에 있는 경우 차트에 대한 링크를 만들고 열 수 있으며 차트의 로컬 복사본을 만들고 수정할 수 있지만, 권한을 변경하거나 원본 라이브러리 인스턴스의 내용을 수정할 수는 없습니다.

NoReadOrWrite

차트 열거나 수정할 수 없습니다. 차트가 라이브러리에 있는 경우 모델에 차트에 대한 링크를 만들 수 있지만 열거나 수정하거나 권한을 변경하거나 차트의 로컬 복사본을 만들 수는 없습니다.

프로그래밍 방식 사용

파라미터: Permissions
유형: string형 스칼라 또는 문자형 벡터
: "ReadWrite" | "ReadOnly" | "NoReadOrWrite"
디폴트 값: "ReadWrite"
끄기

아토믹 서브차트를 포함하는 인위적 대수 루프의 제거를 시도하지 않습니다.

켜기

아토믹 서브차트를 포함하는 인위적 대수 루프의 제거를 시도합니다.

프로그래밍 방식 사용

파라미터: MinAlgLoopOccurrences
유형: string형 스칼라 또는 문자형 벡터
: "off" | "on"
디폴트 값: "off"

차트의 모든 블록이 같은 레이트로 실행되어야 하는지 또는 다른 레이트로 실행될 수 있는지 지정합니다.

  • 차트의 블록이 다른 레이트로 실행될 수 있는 경우 차트 샘플 시간을 상속됨(-1)으로 지정합니다.

  • 모든 블록이 같은 레이트로 실행되어야 하는 경우 해당 레이트에 상응하는 샘플 시간을 샘플 시간 파라미터 값으로 지정합니다.

  • 차트의 블록 중 어느 하나라도 다른 샘플 시간(-1 또는 inf 이외)을 지정하면, 모델을 업데이트하거나 시뮬레이션할 때 Simulink에 오류 메시지가 표시됩니다. 예를 들어 차트의 모든 블록이 초당 5회 실행되어야 한다고 가정하겠습니다. 이 횟수를 위해 차트의 샘플 시간을 0.2로 지정합니다. 이 예에서, 차트의 블록 중 어느 하나라도 0.2, -1 또는 inf 이외의 샘플 시간을 지정하는 경우, 모델을 업데이트하거나 시뮬레이션할 때 Simulink에 오류가 표시됩니다.

-1

상속되는 샘플 시간을 지정합니다. 차트의 블록이 다른 레이트로 실행될 수 있는 경우 이 샘플 시간을 사용하십시오.

[Ts 0]

주기적 샘플 시간을 지정합니다.

프로그래밍 방식 사용

파라미터: SystemSampleTime
유형: string형 스칼라 또는 문자형 벡터
: "-1" | "[Ts 0]"
디폴트 값: "-1"

코드 생성

아토믹(비가상) 서브차트에 대한 생성 코드 형식을 선택합니다.

자동

Simulink Coder가 모델에 존재하는 차트 인스턴스의 유형과 수를 기반으로 시스템에 가장 적합한 형식을 선택합니다.

인라인

Simulink Coder가 무조건 차트를 인라인 처리합니다.

재사용 불가 함수

Simulink Coder가 별도의 파일에 별도의 함수를 명시적으로 생성합니다. 이 설정이 있는 차트는 Code Generation (Simulink)함수 인터페이스 파라미터 설정에 따라 인수를 가질 수도 있는 함수를 생성합니다. Code Generation (Simulink)에서 파라미터 함수 이름파일 이름(확장자 없음)을 사용하여 각각 생성 함수와 파일의 이름을 지정할 수 있습니다. 이러한 함수는 재진입이 불가능합니다.

재사용 가능 함수

모델에 차트의 여러 인스턴스가 포함된 경우 Simulink Coder가 차트 코드의 재사용을 허용하는, 인수를 포함한 함수를 생성합니다.

이 옵션은 인수를 포함한 함수를 생성합니다. 이 함수는 참조된 모델 전반에 차트의 여러 인스턴스를 포함하는 모델 참조 계층 구조의 생성 코드에서 차트 코드의 재사용을 허용합니다. 이 경우 차트는 라이브러리에 있어야 합니다.

  • 차트의 여러 인스턴스를 하나의 재사용 가능 함수로 표현하려는 경우 각 인스턴스를 자동 또는 재사용 가능 함수로 지정할 수 있습니다. 둘 다 사용하면 각 지정마다 하나씩 두 개의 재사용 가능 함수가 생성되므로 하나만 사용하는 것이 가장 좋습니다. 이러한 선택의 결과는 재사용이 불가능한 경우 달라집니다. 자동을 선택하면 차트 코드의 함수 또는 파일 이름을 제어할 수 없습니다.

  • 재사용 가능 함수 옵션과 자동 옵션 모두 차트의 여러 인스턴스가 존재하는지 여부와 코드를 재사용할 수 있는지 여부를 결정합니다. 코드를 재사용할 수 없는 경우 옵션은 다르게 작동합니다. 이 경우 자동은 인라인 처리된 코드를 생성하거나 인라인 처리가 금지된 상황인 경우 각 차트 인스턴스에 대해 별도의 함수를 생성합니다.

  • 생성 코드가 소스 컨트롤 상태에 있는데 재사용 가능 함수를 선택했다면 파일 이름 옵션서브시스템 이름 사용, 함수 이름 사용 또는 사용자 지정으로 설정해야 합니다. 그렇지 않으면 모델을 수정할 때마다 코드 파일의 이름이 변경되어 파일에 대한 소스 컨트롤을 방해합니다.

종속성

  • 이 파라미터는 Simulink Coder를 필요로 합니다.

  • 이 파라미터를 재사용 불가 함수 또는 재사용 가능 함수로 설정하면 다음 파라미터가 활성화됩니다.

    • 함수 이름 옵션

    • 파일 이름 옵션

    • 초기화/종료 함수의 메모리 섹션(Embedded Coder와 ERT 기반 시스템 타깃 파일이 필요)

    • 실행 함수의 메모리 섹션(Embedded Coder와 ERT 기반 시스템 타깃 파일이 필요)

  • 이 파라미터를 재사용 불가 함수로 설정하면 별도의 데이터를 갖는 함수가 활성화됩니다(Embedded Coder용 라이선스와 ERT 기반 시스템 타깃 파일이 필요).

프로그래밍 방식 사용

파라미터: RTWSystemCode
유형: string형 스칼라 또는 문자형 벡터
: "Auto" | "Inline" | "Nonreusable function" | "Reusable function"
디폴트 값: "Auto"

확장 기능

C/C++ 코드 생성
Simulink® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

PLC 코드 생성
Simulink® PLC Coder™를 사용하여 Structured Text 코드를 생성할 수 있습니다.

고정소수점 변환
Fixed-Point Designer™를 사용하여 고정소수점 시스템을 설계하고 시뮬레이션할 수 있습니다.

버전 내역

R2006a 이전에 개발됨

모두 확장