Main Content

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

샘플 시간 지정하기

샘플 시간 지정하기

Simulink®를 사용하여 블록 샘플 시간을 숫자 값으로 직접 지정하거나 샘플 시간 벡터를 정의하여 기호적으로 지정할 수 있습니다. 샘플 시간 값은 double형이거나 샘플 시간 주기와 오프셋을 포함하여 요소를 2개 가진 double형 배열이어야 합니다. 이산 샘플 시간의 경우 벡터는 [Ts, To]입니다. 여기서 Ts는 샘플링 주기이고 To는 초기 시간 오프셋입니다. 예를 들어, 2초마다 출력을 생성하는 이산 모델을 고려해 보겠습니다. 기본 시간 단위가 초인 경우 숫자 값 2SampleTime 파라미터로 지정하여 이산 샘플 시간을 직접 설정할 수 있습니다. 오프셋 값이 0이므로 오프셋 값을 지정할 필요는 없지만, 샘플 시간 필드에 [2,0]을 입력할 수 있습니다.

이산 블록이 아닌 경우 벡터의 성분은 샘플 시간의 유형에 나오는 유형 중 하나를 나타내는 기호 값입니다. 다음 표에는 이러한 유형과 해당 샘플 시간 값이 요약되어 있습니다. 또한, 다음 표는 각 샘플 시간 유형의 명시적 성질을 정의하고 연관된 색과 주석을 지정합니다. 상속된 샘플 시간이 명시적이므로 [-1, 0] 또는 -1로 지정할 수 있습니다. 반면, 트리거된 샘플 시간은 묵시적이므로 Simulink에서만 샘플 시간을 [-1, -1]로 할당할 수 있습니다. (색과 주석에 대한 자세한 내용은 View Sample Time Information 항목을 참조하십시오.)

샘플 시간 정보 지정

샘플 시간 유형샘플 시간주석명시적
이산[Ts, To]D1, D2, D3, D4, D5, D6, D7,... Di
연속[0, 0]Cont
보조 스텝에서 고정됨[0, 1]FiM
상속됨[–1, 0]N/A
상수[Inf, 0]Inf
변수[–2,Tvo]V1, V2,... Vi아니요
멀티레이트N/AN/A아니요
비동기[–1, –n]A1, A2,... Ai아니요
DataflowN/AN/A아니요
초기화 모델 전체에 적용되는 이벤트[Inf,1]IE 
종료 모델 전체에 적용되는 이벤트[Inf, 2]TE 
재설정 모델 전체에 적용되는 이벤트[Inf, 3, 4, … ]RE1, RE2, RE3... 
유니언[NaN, NaN]U1, U2, U3... 
비주기적 분할[1, -30]AP1, AP2, AP3... 

각 블록에 할당되는 색은 모델 내 다른 샘플 시간에 대한 해당 블록의 상대적인 샘플 시간에 따라 달라집니다. 즉, 동일한 샘플 시간이 부모 모델과 부모 모델이 참조하는 모델에서 각기 다른 색으로 할당될 수 있습니다. (모델 참조 항목을 참조하십시오.)

예를 들어, 모델이 세 개의 샘플 시간 1, 2, 3을 정의한다고 가정하겠습니다. 또한, 이 모델이 두 개의 샘플 시간 23을 정의하는 모델을 참조한다고 가정하겠습니다. 이 경우 2 샘플 레이트에서 동작하는 블록은 부모 모델에서는 녹색으로, 참조된 모델에서는 빨간색으로 표시됩니다.

Mux 블록과 Demux 블록은 단순히 그룹화 연산자이며, 이러한 블록을 통과하여 전달되는 신호는 타이밍 정보를 유지한다는 점을 유의해야 합니다. 이런 이유로 Demux 블록이 서로 다른 샘플 시간을 갖는 소스에 의해 구동된 경우 이 블록에서 시작하는 선들은 각기 다른 색을 가질 수 있습니다. 이 경우 Mux 블록과 Demux 블록은 하이브리드(노란색)로 코딩되어 블록이 복수의 레이트를 사용하는 신호를 처리함을 나타냅니다.

마찬가지로 서로 다른 샘플 시간을 갖는 블록들을 포함하는 Subsystem 블록도 이러한 블록과 연결된 싱글레이트가 없으므로 하이브리드 색으로 표시됩니다. 서브시스템 내 모든 블록이 싱글레이트에서 실행되면 Subsystem 블록은 그 레이트에 따라 색이 지정됩니다.

이 표의 명시적 샘플 시간 값을 사용하여 블록 기반 또는 포트 기반 샘플 시간에 대화형 방식 또는 프로그래밍 방식으로 샘플 시간을 지정할 수 있습니다.

다음 모델은 이 섹션의 참조로 사용됩니다.

이 예제에서는 입력 사인파 신호의 샘플 시간을 0.1로 설정합니다. 목표는 출력 샘플 시간이 0.2가 되는 것입니다. Rate Transition 블록은 영차 유지로 사용됩니다. 샘플 시간을 설정하고 모델을 시뮬레이션한 후의 결과 블록 다이어그램은 아래 그림과 같습니다. (색과 주석으로 이것이 이산 모델임을 알 수 있습니다.)

샘플 시간 설정 후의 ex_specify_sample_time

대화형 방식으로 블록 기반 샘플 시간 지정하기

대화형 방식으로 블록의 샘플 시간을 설정하려면 다음과 같이 하십시오.

  1. Simulink 모델 창에서 블록을 더블 클릭합니다. 블록 파라미터 대화 상자가 열립니다.

  2. 샘플 시간 필드에 샘플 시간을 입력합니다.

  3. 확인을 클릭합니다.

다음 그림은 샘플 시간 필드에 0.1을 입력한 후의 Sine Wave 블록 파라미터 대화 상자입니다.

모델 전체에 걸쳐 블록 기반 샘플 시간을 지정하고 검사하려면 모델 데이터 편집기를 사용해 보십시오. (모델링 탭에서 모델 데이터 편집기를 클릭합니다.) 인포트/아웃포트, 신호데이터 저장소 탭에서 보기를 변경합니다 드롭다운 목록을 설계로 설정하고 샘플 시간 열을 사용합니다. 자세한 내용은 모델 데이터 편집기를 참조하십시오.

대화형 방식으로 포트 기반 샘플 시간 지정하기

Rate Transition 블록에 포트 기반 샘플 시간이 있습니다. 다음 단계를 완료하여 출력 포트 샘플 시간을 대화형 방식으로 설정할 수 있습니다.

  1. Rate Transition 블록을 더블 클릭합니다. 파라미터 대화 상자가 열립니다.

  2. 출력 포트 샘플 시간 옵션의 드롭다운 메뉴 항목을 지정으로 선택된 상태로 둡니다.

  3. 출력 포트 샘플 시간 필드의 -10.2로 바꿉니다.

  4. 확인을 클릭합니다.

Rate Transition 파라미터 대화 상자의 샘플 시간 옵션에 대한 자세한 내용은 Rate Transition 도움말 페이지를 참조하십시오.

프로그래밍 방식으로 블록 기반 샘플 시간 지정하기

프로그래밍 방식으로 블록 샘플 시간을 설정하려면 set_param 명령을 사용하여 SampleTime 파라미터를 원하는 샘플 시간으로 설정하십시오. 예를 들어, Specify_Sample_Time 모델의 Gain 블록 샘플 시간을 상속됨(-1)으로 설정하려면 다음 명령을 입력하십시오.

set_param('Specify_Sample_Time/Gain','SampleTime','[-1, 0]')

대화형 방식 지정과 마찬가지로, 두 번째 성분이 0인 경우 첫 번째 벡터 성분을 입력할 수 있습니다.

set_param('Specify_Sample_Time/Gain','SampleTime','-1')

프로그래밍 방식으로 포트 기반 샘플 시간 지정하기

Rate Transition 블록의 출력 포트 샘플 시간을 0.2로 설정하려면 set_param 명령을 파라미터 OutPortSampleTime과 함께 사용하십시오.

set_param('Specify_Sample_Time/Rate Transition',...
'OutPortSampleTime', '0.2')

프로그래밍 방식으로 샘플 시간 정보에 액세스하기

모델과 연결된 모든 샘플 시간에 액세스하려면 API Simulink.BlockDiagram.getSampleTimes를 사용하십시오.

단일 블록의 샘플 시간에 액세스하려면 API Simulink.Block.getSampleTimes를 사용하십시오.

사용자 지정 블록의 샘플 시간 지정하기

입력 포트와 출력 포트가 서로 다른 샘플 시간 레이트에서 동작하도록 사용자 지정 블록을 설계할 수 있습니다. S-Function의 블록 기반 샘플 시간과 포트 기반 샘플 시간을 지정하는 방법에 대한 자세한 내용은 Specify S-Function Sample Times 항목을 참조하십시오.

샘플 시간 단위 결정하기

Simulink 모델의 실행은 특정 단위 집합에 종속되지 않으므로 사용자가 응용 사례에 맞게 적절한 기본 시간 단위를 결정하고 그에 따라 샘플 시간 값을 설정해야 합니다. 예를 들어, 기본 시간 단위가 초이면 샘플 시간을 0.5로 설정하여 샘플 시간을 0.5초로 나타냅니다.

시뮬레이션 시작 시간 후 샘플 시간 변경하기

시뮬레이션 시작 후 샘플 시간을 변경하려면 시뮬레이션을 중지하고 SampleTime 파라미터를 재설정한 다음 실행을 다시 시작해야 합니다.

관련 항목