주요 콘텐츠

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

Delay

고정 샘플 주기 또는 가변 샘플 주기만큼 입력 신호를 지연

  • Delay block

라이브러리:
Simulink / Commonly Used Blocks
Simulink / Discrete
DSP System Toolbox / Signal Operations
HDL Coder / Commonly Used Blocks
HDL Coder / Discrete

설명

Delay 블록은 지연 후 블록의 입력을 출력합니다. 그리고 지연 길이 파라미터의 값을 기준으로 지연 시간을 결정합니다. 이 블록은 다음을 지원합니다.

  • 가변 지연 길이

  • 입력 포트로부터 전달되는 초기 조건 지정

  • 상태 저장

  • 상태 저장을 위해 배열 버퍼 대신에 원형 버퍼 사용

  • 외부 재설정 신호를 사용하여 상태를 초기 조건으로 재설정

  • 외부 인에이블 신호를 사용하여 모든 시간 스텝에서 블록의 실행 제어

초기 블록 출력은 초기 조건 파라미터 및 시뮬레이션 시작 시간과 같은 여러 요소에 따라 달라집니다. 자세한 내용은 초기 블록 출력 항목을 참조하십시오. 외부 재설정 파라미터는 트리거 시 블록 출력을 초기 조건으로 재설정할지 결정합니다. 인에이블 포트 표시 파라미터는 모든 시간 스텝에서 외부 인에이블 신호로 블록 실행을 제어할지 결정합니다.

초기 블록 출력

시뮬레이션의 처음 몇 개의 시간 스텝에서의 출력은 블록 샘플 시간, 지연 길이, 시뮬레이션 시작 시간에 따라 달라집니다. 블록은 샘플 간의 시간 간격을 결정하기 위해 이산 샘플 시간을 지정하거나 상속할 수 있습니다. 자세한 내용은 샘플 시간 지정하기 항목을 참조하십시오.

다음 표에 이러한 설정에 따른 처음 몇 개의 시간 스텝에 대한 Delay 블록 출력이 나와 있습니다. 블록은 이산 샘플 시간을 [Tsampling,Toffset]으로 상속하며, 여기서 Tsampling은 샘플링 주기이고 Toffset은 초기 시간 오프셋입니다. n지연 길이 파라미터의 값이고 Tstart는 모델의 시뮬레이션 시작 시간입니다.

시뮬레이션 시간 범위블록 출력

(Tstart) ~ (Tstart + Toffset)

0

(Tstart + Toffset) ~ (Tstart + Toffset + n * Tsampling)

초기 조건 파라미터

(Tstart + Toffset + n * Tsampling) 이후

입력 신호

외부 인에이블 신호를 사용한 동작

인에이블 포트 표시 체크박스를 선택하면 인에이블 포트가 활성화됩니다. 인에이블 포트가 활성화되면 블록은 다음 순서로 동작합니다.

  1. 인에이블 조건이 충족되는지 검사합니다.

  2. 재설정 포트가 활성화되면 재설정 조건을 검사합니다.

  3. Delay 블록 기능을 수행합니다.

블록은 인에이블 포트를 통해 다음 작업을 수행합니다.

  • 첫 번째 블록 인에이블에서 블록 출력은 초기 조건 값(x0)입니다.

  • 연속된 인에이블 신호에 대해, 블록은 입력 신호 u의 마지막 상태를 받습니다.

  • 시뮬레이션 시작 시 이 포트가 활성화되지 않으면 Delay 블록은 0을 출력합니다.

  • 시뮬레이션 중에 이 포트가 활성화되었다가 비활성화되면, 블록은 실행되지 않고 마지막 값을 유지합니다.

가변 크기 지원

Delay 블록은 가변 크기 신호에 대해 다음 지원을 제공합니다.

  • 데이터 입력 포트 u는 가변 크기 신호를 받습니다. 나머지 입력 포트는 가변 크기 신호를 받지 않습니다.

  • 가변 크기 입력인 경우 출력 포트는 데이터 입력 포트 u와 동일한 신호 차원을 갖습니다.

가변 크기 신호에 적용되는 규칙은 Delay 블록의 입력 처리 모드에 따라 다릅니다.

입력 처리 모드가변 크기 신호 지원에 대한 규칙
요소를 채널로(샘플 기반)
  • 블록이 활성화될 때 상태가 재설정되는 동안에만 신호 차원이 변경됩니다.

  • 초기 조건은 스칼라여야 합니다.

열을 채널로(프레임 기반)
  • 지원 안 함

버스 지원

Delay 블록은 버스 신호에 대해 다음 지원을 제공합니다.

  • 데이터 입력 u는 가상 버스 신호와 비가상 버스 신호를 받습니다. 입력 포트 x0을 제외한 나머지 입력 포트는 버스 신호를 받지 않습니다.

  • 초기 조건 x0 포트는 비가상 버스 신호를 받습니다.

  • 버스 입력인 경우 출력 포트는 데이터 입력 포트 u와 동일한 버스 유형을 갖습니다.

  • 버스는 다음을 지원합니다.

    • 샘플 기반 처리 및 프레임 기반 처리

    • 고정 지연 길이 및 가변 지연 길이

    • 배열 버퍼 및 원형 버퍼

버스 신호를 Delay 블록에 대한 입력으로 사용하려면 대화 상자에서 또는 x0 포트를 통해 초기 조건을 지정하십시오. 가상 버스와 비가상 버스에 대한 지원은 지정하는 초기 조건과 상태 이름 파라미터가 비어 있는지 여부에 따라 다릅니다. x0 입력 포트의 경우 비가상 버스만 지원됩니다.

초기 조건상태 이름
비어 있음비어 있지 않음
0가상 버스 및 비가상 버스 지원비가상 버스만 지원
0이 아닌 스칼라가상 버스 및 비가상 버스 지원버스 지원 안 함
비 스칼라버스 지원 안 함버스 지원 안 함
구조체가상 버스 및 비가상 버스 지원비가상 버스만 지원
부분 구조체가상 버스 및 비가상 버스 지원비가상 버스만 지원

string형 지원

Delay 블록은 다음 경우에만 string 데이터형을 받고 출력할 수 있습니다.

  • 블록의 초기 조건 파라미터가 디폴트 값(0)으로 구성된 경우.

  • 지연 길이 값이 1 이하인 경우.

예제

모두 확장

이 예제에서는 Delay 블록이 샘플 기반 처리 시 가변 크기 신호를 지원하는 방식을 보여줍니다. Switch 블록이 Enabled Subsystem에 대한 입력 신호가 3×3 행렬인지 아니면 3×2 행렬인지를 제어합니다.

Delay 블록은 Enabled Subsystem 내부에 표시됩니다.

모델은 샘플 기반 처리 사용 시 가변 크기 신호에 대해 다음 규칙을 따릅니다.

  • 블록이 활성화될 때 상태가 재설정되는 동안에만 신호 차원이 변경됩니다.

  • 초기 조건은 스칼라여야 합니다.

위 규칙은 다음과 같은 블록에 의해 구현됩니다.

  • Enable 블록이 가변 크기 신호의 크기 전파Only when enabling(활성화할 때만)으로 설정합니다.

  • Delay 블록이 초기 조건을 스칼라 값 0.0으로 설정합니다.

이 예제는 프레임 기반 처리에서 Delay 블록이 버스를 지원하는 방식을 보여줍니다.

각 Constant 블록은 Bus Creator 블록에 입력 신호를 제공하며, 이 블록은 2차원 버스를 출력합니다. Delay 블록이 3개의 샘플 주기만큼 버스를 지연시키고, 그 다음에는 Bus Selector 블록이 버스를 2개의 원래 신호로 다시 분리합니다.

모델은 버스에 대해 다음 규칙을 따릅니다.

  • 초기 조건의 경우 대화 상자에서 값을 설정합니다.

  • 프레임 기반 처리의 경우 데이터 입력 포트 u의 신호 차원은 2보다 클 수 없습니다.

모델은 다음을 통해 규칙을 구현합니다.

  • 초기 조건을 스칼라 값 0으로 설정합니다.

  • Delay 블록에 대한 버스 입력을 2차원으로 설정합니다.

이 예제에서는 인에이블 포트를 사용하여 Delay 블록의 실행을 활성화하거나 비활성화할 수 있는 방법을 보여줍니다. 이 모델에서는 램프 입력 신호가 Delay 블록으로 전달됩니다. 블록의 실행은 Pulse Generator 블록의 활성화 신호에 의해 제어됩니다.

파란색 선은 활성화 신호의 값이 1인 동안 Delay 블록이 시간 스텝 한 개만큼 지연된 입력 신호 값을 출력함을 보여줍니다. t=5에서 활성화 신호는 0으로 천이되고 Delay 블록은 실행을 중지합니다. 출력은 블록이 다시 활성화될 때까지 마지막 값으로 유지됩니다.

포트

입력

모두 확장

파라미터 설정에 따라 지연된 입력 데이터 신호입니다.

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

지연 길이로, 입력 포트에서 상속되어 지정됩니다. 지연 길이: 소스 파라미터를 입력 포트로 선택한 경우 활성화됩니다.

데이터형: half | single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | fixed point

블록의 실행을 활성화하거나 비활성화하는 인에이블 신호입니다. 이 포트를 만들려면 인에이블 포트 표시 파라미터를 선택하십시오.

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

블록의 실행을 초기 조건으로 재설정하는 외부 신호입니다. 이 포트를 만들려면 외부 재설정 파라미터를 선택하십시오.

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

초기 조건으로, 입력 포트에서 상속되어 지정됩니다. 초기 조건: 소스 파라미터를 입력 포트로 선택한 경우 활성화됩니다.

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

출력

모두 확장

입력 신호가 지연 길이 파라미터에 의해 지정된 시간 길이만큼 지연된 출력 신호입니다. 출력 신호의 초기값은 몇 가지 조건에 따라 달라집니다. 초기 블록 출력 항목을 참조하십시오.

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

파라미터

모두 확장

기본

대화 상자에서 지연 길이를 직접 입력할 것인지(고정 지연) 아니면 입력 포트로부터 지연을 상속할 것인지(가변 지연) 지정합니다.

  • 소스대화 상자로 설정하는 경우, 아래에 있는 편집 필드에 지연 길이를 입력합니다.

  • 소스입력 포트로 설정하는 경우, 업스트림 신호가 d 입력 포트에 대한 지연 길이를 제공하는지 확인합니다. 상한 파라미터를 지정하여 최댓값도 지정할 수 있습니다.

스칼라 지연 길이를 음이 아닌 실수형 정수로 지정합니다. 대화 상자에 입력한 값(고정 지연)이 범위를 벗어나거나 정수가 아닌 경우 오류가 반환됩니다. 입력 포트(가변 지연)에서 제공되는 값 중 범위를 벗어난 값은 해당 범위로 형변환됩니다. 입력 포트(가변 지연)에서 제공되는 값 중 정수가 아닌 값은 해당 정수로 잘립니다.

프로그래밍 방식의 사용법

블록 파라미터: DelayLengthSource
유형: 문자형 벡터
: 'Dialog' | 'Input port'
디폴트 값: 'Dialog'
블록 파라미터: DelayLength
유형: 문자형 벡터
: 스칼라
디폴트 값: '2'
블록 파라미터: DelayLengthUpperLimit
유형: 문자형 벡터
: 스칼라
디폴트 값: '100'

대화 상자에서 초기 조건을 직접 입력할 것인지 아니면 입력 포트에서 초기 조건을 상속할 것인지 지정합니다.

  • 소스대화 상자로 설정하는 경우, 아래에 있는 편집 필드에 초기 조건을 입력합니다.

  • 소스입력 포트로 설정하는 경우, 업스트림 신호가 x0 입력 포트에 대한 초기 조건을 제공하는지 확인합니다.

Simulink®는 가장 가까운 값으로 반올림하는 연산과 포화를 사용하여 오프라인에서 초기 조건의 데이터형을 입력 신호 u의 데이터형으로 변환합니다.

참고

상태 특성 창에서 상태 이름은 Simulink Signal 객체로 연결이 맺어져야 함이 선택된 경우, 블록은 Signal 객체의 초기값을 초기 조건 파라미터에 복사합니다. 그러나 초기 조건에 대한 소스가 입력 포트이면 블록은 Signal 객체의 초기값을 무시합니다.

프로그래밍 방식의 사용법

블록 파라미터: InitialConditionSource
유형: 문자형 벡터
: 'Dialog' | 'Input port'
디폴트 값: 'Dialog'
블록 파라미터: InitialCondition
유형: 문자형 벡터
: 스칼라
디폴트 값: '0.0'

블록이 샘플 기반 처리를 수행할지 아니면 프레임 기반 처리를 수행할지 지정합니다.

  • 열을 채널로(프레임 기반) — 입력의 각 열을 별도의 채널로 처리합니다(프레임 기반 처리).

    참고

    프레임 기반 처리를 수행하려면 DSP System Toolbox™ 라이선스가 필요합니다.

    자세한 내용은 Sample- and Frame-Based Concepts (DSP System Toolbox) 항목을 참조하십시오.

  • 요소를 채널로(샘플 기반) — 입력의 각 요소를 별도의 채널로 처리합니다(샘플 기반 처리).

입력 처리를 사용하여 블록이 샘플 기반 처리를 수행할지 아니면 프레임 기반 처리를 수행할지 지정합니다. 이 두 가지 처리 모드에 대한 자세한 내용은 Sample- and Frame-Based Concepts (DSP System Toolbox) 항목을 참조하십시오.

프로그래밍 방식의 사용법

블록 파라미터: InputProcessing
유형: 문자형 벡터
: 'Columns as channels (frame based)' | 'Elements as channels (sample based)'
디폴트 값: 'Elements as channels (sample based)'

시뮬레이션 및 코드 생성 시 원형 버퍼를 사용해 상태를 저장하려면 선택합니다. 선택하지 않으면 배열 버퍼가 상태를 저장합니다.

원형 버퍼를 사용하면 지연 길이가 큰 경우 실행 속도를 개선할 수 있습니다. 배열 버퍼의 경우, 지연 길이가 증가하면 복사 작업의 횟수가 늘어납니다. 원형 버퍼의 경우, 지연 길이가 증가해도 복사 작업의 횟수는 일정합니다.

다음 조건 중 하나에 해당하는 경우, 원형 버퍼가 실행 속도를 개선하지 않기 때문에 항상 배열 버퍼가 상태를 저장합니다.

  • 샘플 기반 신호의 경우 지연 길이가 1입니다.

  • 프레임 기반 신호의 경우 지연 길이가 프레임 크기보다 크지 않습니다.

프로그래밍 방식의 사용법

블록 파라미터: UseCircularBuffer
유형: 문자형 벡터
: 'off' | 'on'
디폴트 값: 'off'

입력 처리 모드에서 지연 길이를 0에서 하한으로 늘리려면 선택합니다.

  • 샘플 기반 신호의 경우 최소 지연 길이를 1로 늘립니다.

  • 프레임 기반 신호의 경우 최소 지연 길이를 프레임 길이로 늘립니다

이 체크박스를 선택하면 입력 포트 u에서 출력 포트로의 직접 피드스루가 방지됩니다. 그러나 이 체크박스를 선택해도 초기 조건 포트 x0에서 출력 포트로의 직접 피드스루를 방지할 수는 없습니다.

종속성

이 파라미터를 활성화하려면 지연 길이: 소스입력 포트로 설정하십시오.

프로그래밍 방식의 사용법

블록 파라미터: PreventDirectFeedthrough
유형: 문자형 벡터
: 'off' | 'on'
디폴트 값: 'off'

범위를 벗어난 지연 길이를 확인하는 코드를 제거하려면 선택합니다.

체크박스결과사용 시점

선택됨

생성 코드에 범위를 벗어난 지연 길이를 확인하는 조건문이 포함되지 않습니다.

코드 효율성

선택 해제됨

생성 코드에 범위를 벗어난 지연 길이를 확인하는 조건문이 포함됩니다.

안전이 중요한 응용 분야

종속성

이 파라미터를 활성화하려면 지연 길이: 소스입력 포트로 설정하십시오.

프로그래밍 방식의 사용법

블록 파라미터: RemoveDelayLengthCheckInGeneratedCode
유형: 문자형 벡터
: 'off' | 'on'
디폴트 값: 'off'

입력 d가 하한보다 작거나 길이 지연: 상한보다 큰 경우 경고 또는 오류를 생성할지 여부를 지정합니다. 하한은 직접 피드스루 방지에 대한 설정에 따라 달라집니다.

  • 이 체크박스를 선택 해제하면 하한은 0입니다.

  • 이 체크박스를 선택하면 하한은 샘플 기반 신호의 경우 1이고 프레임 기반 신호의 경우 프레임 길이입니다.

진단에 대한 옵션은 다음과 같습니다.

  • None — Simulink에서 아무 동작도 취하지 않습니다.

  • Warning — Simulink에서 경고를 표시하고 시뮬레이션을 계속 진행합니다.

  • Error — Simulink에서 시뮬레이션을 종료하고 오류를 표시합니다.

종속성

이 파라미터를 활성화하려면 지연 길이: 소스입력 포트로 설정하십시오.

프로그래밍 방식의 사용법

블록 파라미터: DiagnosticForDelayLength
유형: 문자형 벡터
: 'None' | 'Warning' | 'Error'
디폴트 값: 'None'

인에이블 포트를 사용하여 이 블록의 실행을 제어하려면 선택합니다. 이 포트에 대한 입력이 0이 아니면 블록이 활성화된 것으로 간주되고 입력이 0이면 블록이 비활성화된 것으로 간주됩니다. 입력의 값은 블록이 실행되는 동일한 시간 스텝에서 확인됩니다.

프로그래밍 방식의 사용법

블록 파라미터: ShowEnablePort
유형: 문자형 벡터
값: 'off' | 'on'
디폴트 값: 'off'

상태를 초기 조건으로 재설정하는 데 사용할 트리거 이벤트를 지정합니다.

재설정 모드동작
안 함재설정 안 함
상승상승 에지에서 재설정
하강하강 에지에서 재설정
양쪽 모두 가능상승 에지 또는 하강 에지에서 재설정
레벨

다음 경우 중 하나에 해당할 때 재설정:

  • 재설정 신호가 현재 시간 스텝에서 0이 아닌 경우

  • 재설정 신호 값이 이전 시간 스텝에서 0이 아닌 값이었지만 현재 시간 스텝에서 0으로 변경되는 경우

레벨 유지재설정 신호가 현재 시간 스텝에서 0이 아닌 경우 재설정

프로그래밍 방식의 사용법

블록 파라미터: ExternalReset
유형: 문자형 벡터
: 'None' | 'Rising' | 'Falling' | 'Either' | 'Level' | 'Level hold'
디폴트 값: 'None'

샘플 간의 시간 간격을 지정합니다. 샘플 시간을 상속하려면 이 파라미터를 -1로 설정하십시오. 이 블록은 이산 샘플 시간을 지원하지만 연속 샘플 시간은 지원하지 않습니다.

프로그래밍 방식의 사용법

블록 파라미터: SampleTime
유형: 문자형 벡터
: 실수형 스칼라
디폴트 값: '-1'

상태 특성

블록 상태에 고유한 이름을 할당하려면 이 파라미터를 사용하십시오. 디폴트 값은 ' '입니다. 이 필드가 공백이면 할당할 이름이 없는 것입니다. 이 파라미터를 사용할 때 다음 사항을 고려하십시오.

  • 유효한 식별자는 영문자 또는 밑줄 문자로 시작하며 그 뒤에 영숫자 또는 밑줄 문자가 이어집니다.

  • 상태 이름은 선택된 블록에만 적용됩니다.

사용자가 적용을 클릭하면 이 파라미터는 상태 이름은 Simulink Signal 객체로 연결이 맺어져야 함을 활성화합니다.

자세한 내용은 C Data Code Interface Configuration for Model Interface Elements (Simulink Coder) 항목을 참조하십시오.

프로그래밍 방식의 사용법

블록 파라미터: StateName
유형: 문자형 벡터
값: 고유 이름
디폴트 값: ''

상태 이름이 Simulink signal 객체로 연결이 맺어지도록 하려면 이 체크박스를 선택합니다.

종속성

이 파라미터를 활성화하려면 상태 이름의 값을 지정하십시오. 이 파라미터는 모델 구성 파라미터 신호 연결 맺기안 함 이외의 값으로 설정한 경우에만 나타납니다.

프로그래밍 방식의 사용법

블록 파라미터: StateMustResolveToSignalObject
유형: 문자형 벡터
값: 'off' | 'on'
디폴트 값: 'off'

블록 특성

데이터형

Boolean | bus | double | enumerated | fixed point | half | image | integer | single | string

직접 피드스루

아니요a

다차원 신호

가변 크기 신호

영점교차 검출

아니요

a 이 블록에 대한 직접 피드스루 특성은 블록 파라미터 값에 따라 달라집니다.

세부 정보

모두 확장

확장 기능

모두 확장

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

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

버전 내역

R2006a 이전에 개발됨