Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

프로그래밍 방식으로 시뮬레이션 실행하기

프로그래밍 방식으로 시뮬레이션을 실행하려면 스크립트를 작성하거나 MATLAB® 명령 창에서 명령을 실행합니다.

  • sim 함수 사용

  • set_param 함수를 사용하여 SimulationCommand 이름-값 인수로 시뮬레이션 명령 실행.

이 옵션들은 시뮬레이션 동작을 구성하고 시뮬레이션 실행 시 시뮬레이션과 상호 작용할 때 각기 다른 기능을 제공합니다.

sim 함수 또는 set_param 함수를 사용하여 프로그래밍 방식으로 실행하는 시뮬레이션은 한 번에 하나씩 직렬로 실행됩니다. 병렬 또는 배치 시뮬레이션을 실행하려면 parsim 함수 또는 batchsim을 사용하십시오.

프로그래밍 방식 시뮬레이션의 실행 방법 결정하기

시뮬레이션 중에 모델과 상호 작용하는 경우를 제외하면, sim 함수는 대체로 프로그래밍 방식의 개별 및 직렬 시뮬레이션을 실행하고 스크립트를 작성하는데 필요한 대부분의 요구 사항을 지원합니다.

시뮬레이션 중에 프로그래밍 방식으로 모델과 상호 작용하려는 경우 set_param 함수를 사용하여 시뮬레이션 명령을 실행할 수 있습니다. 시뮬레이션 명령은 실행을 클릭하거나 set_param 함수를 사용하여 start 시뮬레이션 명령을 실행해 시작하는 시뮬레이션에서 지원됩니다. MATLAB 명령 창과 Simulink® 편집기를 번갈아 사용하는 워크플로에서는 시뮬레이션 명령을 실행하는 것이 편리할 수 있습니다.

시뮬레이션 명령을 실행하거나 sim 함수를 사용하여 실행하는 프로그래밍 방식의 시뮬레이션에서 빠른 재시작이 지원됩니다. 빠른 재시작을 어떤 방법으로 활성화하든 빠른 재시작 상태에서는 시뮬레이션이 끝날 때 모델은 초기화된 상태로 유지되며, 실행을 클릭하거나 시뮬레이션 명령을 실행하거나 sim 함수를 호출하여 다음 시뮬레이션을 실행할 수 있습니다.

다음 표에는 sim 함수를 사용하여 실행한 시뮬레이션과 set_param 함수를 사용하여 실행한 시뮬레이션 간의 차이가 요약되어 있습니다.

동작 또는 옵션sim 함수set_param 시뮬레이션 명령
시뮬레이션을 위한 모델 구성

sim 함수의 입력 인수를 사용하여 시뮬레이션에 사용할 모델 구성 파라미터, 블록 파라미터 및 변수의 값을 지정합니다.

여기서 지정한 값은 시뮬레이션 중에 적용되고 시뮬레이션이 완료된 후 되돌려집니다. sim 함수의 입력 인수를 사용하여 시뮬레이션을 구성하는 경우 모델에 미저장 변경 사항이 생기지 않습니다.

set_param 함수를 사용하여 프로그래밍 방식으로 모델 구성 파라미터와 블록 파라미터의 값을 지정합니다.

속성 인스펙터, 구성 파라미터 대화 상자, 블록 파라미터 대화 상자와 같은 툴을 사용하여 시뮬레이션을 구성할 수도 있습니다.

이러한 유형의 시뮬레이션에서 모델을 구성하는 경우 모델에 미저장된 변경 사항이 생깁니다.

시뮬레이션 시작

sim 함수를 호출합니다.

set_param(mdl,"SimulationCommand","Start")

Simulink 툴스트립에서 실행을 클릭합니다.

시뮬레이션 중지

MATLAB 명령 창에서 Ctrl+C를 누릅니다.

set_param(mdl,"SimulationCommand","Stop")

Simulink 툴스트립에서 중지를 클릭합니다.

시뮬레이션을 일시 중지합니다.

지원되지 않습니다.

set_param(mdl,"SimulationCommand","Pause")

Simulink 툴스트립에서 일시 중지를 클릭합니다.

시뮬레이션 재개

시뮬레이션의 일시 중지가 지원되지 않기 때문에 적용되지 않습니다.

set_param(mdl,"SimulationCommand","Continue")

Simulink 툴스트립에서 계속을 클릭합니다.

MATLAB 명령 창에서 명령 실행

지원되지 않습니다.

sim 함수 실행은 MATLAB 스레드를 차단합니다.

지원됩니다.

시각화 블록(예: Scope 블록)

표준 모드 및 액셀러레이터 모드 시뮬레이션 중에만 시각화가 업데이트됩니다.

표준, 액셀러레이터, 고속 액셀러레이터 시뮬레이션 중에 시각화가 업데이트됩니다.

포트 값 레이블

지원되지 않습니다.

표준 모드, 액셀러레이터 모드 및 고속 액셀러레이터 모드 시뮬레이션 중에 블록 다이어그램에서 포트 값 레이블에 신호 값이 표시됩니다.

시뮬레이션에서 스텝 앞으로 이동 및 스텝 뒤로 이동

지원되지 않습니다.

표준 모드 및 액셀러레이터 모드 시뮬레이션에서 지원됩니다.

Simulink 툴스트립의 시뮬레이션 탭에서 스텝 앞으로 또는 스텝 뒤로를 클릭합니다.

신호 중단점

지원되지 않습니다.

표준 모드일 때 하나의 시간 스텝 내에서 일시 중지하는 것이 지원됩니다.

시간 스텝 사이에서만 일시 중지하도록 구성된 시뮬레이션일 때 표준 모드나 액셀러레이터 모드에서 지원됩니다.

지정된 시간 또는 그 후에 일시 중지

지원되지 않습니다.

표준 모드 및 액셀러레이터 모드 시뮬레이션에서 지원됩니다.
빠른 재시작

빠른 재시작을 사용하여 시뮬레이션을 실행하려면 다음을 수행하십시오.

  • 첫 번째 입력 인수를 하나 이상의 SimulationInput 객체로 지정하는 경우 UseFastRestart 이름-값 인수를 "on"으로 지정합니다.

    out = sim(simIn,"UseFastRestart","on");
  • 첫 번째 입력 인수를 모델 이름을 정의하는 string형 또는 문자형 벡터로 지정하는 경우 FastRestart 이름-값 인수를 "on"으로 지정합니다. 빠른 재시작 상태에서 시뮬레이션 후 모델은 초기화된 상태로 유지됩니다.

    out = sim("MyModel","FastRestart","on");

빠른 재시작을 활성화하려면 set_param 함수를 사용하십시오.

set_param(mdl,"FastRestart","on")

Simulink 툴스트립의 시뮬레이션 탭에 있는 시뮬레이션 섹션에서 빠른 재시작을 클릭합니다.

시뮬레이션 속도 조절

모델의 시뮬레이션 속도 조절 파라미터 값을 지정하여 시뮬레이션 속도를 조절합니다.

  • EnablePacing — 시뮬레이션 속도 조절을 활성화 또는 비활성화합니다.

  • PacingRate — wall clock 시간에 대한 시뮬레이션 시간의 비율로 대략적인 속도 조절 비율을 지정합니다.

시뮬레이션 속도 조절 옵션 대화 상자를 사용하거나 프로그래밍 방식으로 시뮬레이션 속도 조절 파라미터 값을 지정하여 시뮬레이션 속도를 조절합니다.

  • EnablePacing — 시뮬레이션 속도 조절을 활성화 또는 비활성화합니다.

  • PacingRate — wall clock 시간에 대한 시뮬레이션 시간의 비율로 대략적인 속도 조절 비율을 지정합니다.

시뮬레이션 제한 시간

Timeout 이름-값 인수를 사용하여 sim 함수를 실행할 수 있는 최대 시간을 지정합니다.

지원되지 않습니다.

시뮬레이션 명령을 실행하거나 중지를 클릭하여 언제든지 시뮬레이션을 중지할 수 있습니다.

오류 처리

오류를 시뮬레이션 출력에서 캡처할지 MATLAB 예외로 보고할지 지정합니다.

  • 첫 번째 입력 인수를 하나 이상의 SimulationInput 객체로 지정하는 경우 StopOnError 이름-값 인수를 사용합니다.

  • 첫 번째 입력 인수를 모델 이름을 정의하는 string형 또는 문자형 벡터로 지정하는 경우 CaptureErrors 이름-값 인수를 사용합니다.

오류가 진단 뷰어에 보고됩니다.

시뮬레이션 상태 쿼리

지원되지 않습니다.

sim 함수 실행은 MATLAB 스레드를 차단합니다.

get_param(mdl,"SimulationStatus")
matlab (macOS) 또는 matlab (Linux)-nodesktop 또는 -nodisplay 옵션을 사용하여 시작된 MATLAB 세션에서 시뮬레이션 실행지원됩니다.지원되지 않습니다.

sim 함수를 사용하여 시뮬레이션 실행하기

sim 함수에는 프로그래밍 방식으로 시뮬레이션을 실행하고 구성하는 데 사용할 수 있는 여러 구문이 있습니다. 모든 모델 구성 파라미터 값, 블록 파라미터 값, 변수 값 등의 현재 값을 사용하여 모델을 시뮬레이션하려는 경우 가장 기본적인 구문을 사용합니다.

out = sim("ModelName");

이 구문은 단일 시뮬레이션 출력 파라미터가 비활성화된 경우를 제외하고 모든 시뮬레이션 결과가 포함된 하나의 Simulink.SimulationOutput 객체를 반환합니다. 프로그래밍 방식으로 실행하는 모든 시뮬레이션에 대해 일관된 코드를 작성하려면 단일 시뮬레이션 출력 파라미터를 활성화하십시오.

모델 구성 파라미터 값, 블록 파라미터 값 및 변수 값을 지정하는 등 시뮬레이션을 구성하려면 Simulink.SimulationInput 객체를 사용하여 시뮬레이션 구성을 지정합니다.

out = sim(simIn);

다음 표는 구성할 수 있는 옵션과 각 구문의 활용 사례를 요약합니다.

sim 구문시뮬레이션 구성 옵션
out = sim("ModelName");

구성 파라미터, 블록 파라미터 및 변수 값의 현재 값을 사용하여 모델을 시뮬레이션합니다.

out = sim(simIn);

다음에 대한 재정의 값을 갖는 Simulink.SimulationInput 객체를 사용하여 시뮬레이션 구성을 지정합니다.

  • 모델 구성 파라미터

  • 변수

  • 외부 입력

  • 초기 상태

  • 블록 파라미터

추가 옵션을 구성하기 위해 이름-값 인수를 사용합니다. 다음과 같은 옵션을 구성할 수 있습니다.

  • 빠른 재시작을 사용하여 시뮬레이션을 실행합니다.

  • 시뮬레이션 출력에서 오류를 캡처하거나 MATLAB 예외를 표시합니다.

  • 시뮬레이션 관리자를 엽니다.

out = sim("ModelName",Name=Value);

이름-값 인수를 사용하여 다음과 같은 시뮬레이션 옵션을 구성합니다.

  • 모델 구성 파라미터

  • 시뮬레이션 속도 조절 옵션

  • 빠른 재시작을 사용하여 시뮬레이션할지 여부

  • 시뮬레이션 출력에서 오류를 캡처할지 아니면 MATLAB 예외를 표시할지

out = sim("ModelName",paramStruct);

각 파라미터 이름과 일치하는 필드 이름과 각 파라미터에 사용할 값을 지정하는 필드 값을 가진 구조체를 사용하여 모델 구성 파라미터 값과 시뮬레이션 옵션을 지정합니다.

예를 들어, StopTime 파라미터 값을 20으로 지정하려면 필드 이름이 StopTime이고 값이 "20"인 필드를 가진 구조체를 만듭니다.

paramStruct.StopTime = "20";
out = sim("ModelName",configSet);

Simulink.ConfigSet 객체를 사용하여 모델 구성 파라미터 값을 지정합니다.

시뮬레이션 명령을 통해 시뮬레이션 실행 및 제어하기

Simulink 편집기와 같은 사용자 인터페이스에서 시뮬레이션을 시작하거나 set_param 함수로 시뮬레이션 명령을 실행하여 시뮬레이션을 시작하는 경우에 다음 작업을 수행할 수 있습니다.

  • set_param 함수로 시뮬레이션 명령을 실행하여 시뮬레이션 제어 및 상호 작용.

  • get_param 함수를 사용하여 시뮬레이션 상태 쿼리.

시뮬레이션 중에 시뮬레이션 명령을 입력하면 명령이 즉시 실행되지 않습니다. 현재 실행 중이지만 중단할 수 없는 프로세스가 완료된 후에만 명령이 실행됩니다. 예를 들어, 솔버가 다음 시간 스텝을 결정하는 중에 사용자가 시뮬레이션 명령을 입력하면 솔버가 다음 시간 스텝을 전파하고 나서야 시뮬레이션 명령이 실행됩니다.

Simulink 편집기에서 사용할 수 있는 모든 작업에 대응하는 시뮬레이션 명령이 있는 것은 아닙니다. 다음 표에서는 각 시뮬레이션 명령과 이에 대응하는 사용자 인터페이스 동작, 바로 가기 키에 대해 설명합니다.

시뮬레이션 명령 설명상응하는 사용자 인터페이스 동작바로 가기 키
set_param(mdl,"SimulationCommand","start");

시뮬레이션을 시작합니다.

실행을 클릭합니다.

Ctrl+T 또는 F5

set_param(mdl,"SimulationCommand","stop");

시뮬레이션을 중지합니다.

중지를 클릭합니다.

Ctrl+Shift+T

set_param(mdl,"SimulationCommand","pause");

시뮬레이션을 일시 중지합니다.

일시 중지를 클릭합니다.

Ctrl+T 또는 F5

set_param(mdl,"SimulationCommand","continue");

일시 중지된 시뮬레이션을 재개합니다.

계속을 클릭합니다.

Ctrl+T 또는 F5

set_param(mdl,"SimulationCommand","update");

다이어그램을 업데이트합니다.

Simulink 툴스트립의 준비 섹션에서 모델 업데이트를 클릭합니다.Ctrl+D
set_param(mdl,"SimulationCommand","writedatalogs");

작업 공간에 데이터 기록 변수를 씁니다.

지원되지 않습니다.지원되지 않습니다.

다음 표에서는 SimulationStatus 이름-값 인수의 각 반환 값에 대응하는 시뮬레이션 상태를 설명합니다.

SimulationStatus설명
stopped시뮬레이션이 중지되었습니다.
initializing초기화 단계를 실행하는 중입니다.
running실행 단계에 있습니다.
paused실행 단계에서 일시 중지되었습니다.
compiled모델이 컴파일되었습니다.
updating다이어그램을 업데이트하는 중입니다.
terminating종료 단계를 실행하는 중입니다.
externalSimulink Coder™로 시뮬레이션하는 중입니다.

참고 항목

함수

객체

관련 항목