Timed 시퀀스
- 업데이트 날짜:2025-07-30
- 6분 (읽기 시간)
Timed 시퀀스 구조는 순차적으로 실행되는 내부 또는 외부 타이밍 소스로 시간이 설정된 하나 또는 그 이상의 서브다이어그램 또는 프레임으로 구성됩니다. Timed 시퀀스 구조는 각 프레임을 한 번씩만 실행하며 Timed 루프와는 달리 반복되지 않습니다. 정확한 타이밍으로 한 번만 실행되고, 실행 피드백, 다이나믹하게 변하는 타이밍 특성 또는 다양한 레벨의 실행 우선순위를 가진 VI를 만들 경우에 Timed 시퀀스 구조를 사용합니다. Timed 시퀀스 구조의 경계에서 마우스 오른쪽 버튼을 클릭한 후 프레임을 추가, 삭제, 삽입하고, 병합할 수 있습니다.
Timed 시퀀스는 앞의 그림과 같이 각 프레임에 (1) 입력 및 (4) 출력 노드와 (2) 왼편 및 (3) 오른편 데이터 노드를 포함합니다. 기본적으로, Timed 시퀀스 구조의 노드는 모든 사용 가능한 입력과 출력 터미널을 디스플레이하지 않습니다. 노드의 크기를 조정하거나 노드에서 마우스 오른쪽 버튼을 클릭하고 바로 가기 메뉴를 사용하여 노드 터미널을 디스플레이할 수 있습니다. Timed 시퀀스 구조의 경계에서 마우스 오른쪽 버튼을 클릭한 후, 바로 가기 메뉴에서 왼쪽 데이터 노드 보이기 또는 오른쪽 데이터 노드 보이기를 선택하여 해당 노드를 디스플레이합니다.
입력 노드에서 더블 클릭을 하여 Timed 시퀀스 구조를 설정할 수 있는 Timed 시퀀스 설정 대화 상자를 디스플레이합니다. Timed 시퀀스 설정 대화 상자에 입력하는 값은 입력 노드에 옵션으로 나타납니다.
다음 테이블은 Timed 시퀀스 구조의 노드 터미널을 나열합니다.
(1) 입력 노드
![]() | 데드라인 | 첫번째 프레임이 종료되어야 하는 시간을 지정합니다. 데드라인 값은 Timed 시퀀스 구조의 시작에 상대적이며 프레임 타이밍 소스의 단위로 지정됩니다. 값을 -1로 설정하면 이 함수에는 데드라인이 없습니다. |
![]() | 에러 | 구조를 통해 에러를 전달합니다. 에러가 에러 조건을 받으면 Timed 시퀀스 구조는 실행되지 않습니다. |
![]() | 구조 이름 | Timed 루프 구조의 이름을 지정합니다. |
![]() | 오프셋 | Timed 시퀀스 구조가 첫번째 프레임의 실행 시작을 기다리는 시간의 길이를 지정합니다. 오프셋 값은 Timed 시퀀스 구조의 시작에 상대적이며 타이밍 소스의 단위로 지정됩니다. |
![]() | 우선순위 | 실행 준비가 완료된 다른 Timed 구조 또는 프레임에 상대적인 다음 프레임의 실행 우선순위를 지정합니다. 값은 1과 65,535 사이의 양의 정수일 수 있습니다. 더 높은 값은 다른 Timed 구조 또는 프레임에 비해 더 높은 우선순위를 나타냅니다. 첫번째 프레임의 경우, 기본 우선순위 값은 100입니다. 첫 번째 프레임 이후의 프레임의 경우, 우선순위 값은 -1이 될 수도 있습니다. 이는 기본값이며 우선순위가 이전 프레임에서 변경되지 않은 상태를 의미합니다. |
![]() | 프로세서 | 실행을 처리할 프로세서를 지정합니다. 기본 설정은 -2로서, LabVIEW가 프로세서를 자동으로 지정한다는 것을 의미합니다. 수동으로 프로세서를 지정하려면, 0에서 255 사이의 숫자를 입력합니다. 이때 0은 사용 가능한 첫번째 프로세서를 나타냅니다. 사용 가능한 프로세서의 개수를 넘는 숫자를 입력하는 경우, 런타임 에러가 발생하고 Timed 구조는 실행되지 않습니다. |
![]() | 소스 이름 | 구조를 컨트롤하는데 사용할 타이밍 소스의 이름을 지정합니다. 타이밍 소스는 [타이밍 소스 생성] VI를 사용하여 생성하거나 Timed 시퀀스 설정 대화 상자에서 선택해야 합니다. |
![]() | Timeout | Timed 시퀀스 구조가 첫번째 프레임의 실행 시작을 기다리는 시간의 최대 길이를 지정합니다. 기본은 -1이며 다음 프레임에 대해서 지정된 타임아웃이 없음을 의미합니다. 타임아웃 값은 구조의 시작에 상대적이며 프레임 타이밍 소스의 단위로 지정됩니다. |
(2) 왼쪽 데이터 노드
| 실제 종료 [f-1] (첫번째 프레임에서는 사용할 수 없음) | 이전 프레임(f-1)의 실제 종료 시간을 반환합니다. 실제 종료 값은 Timed 시퀀스 구조의 시작 시간에 상대적이며 프레임 타이밍 소스의 단위로 지정됩니다. |
| 실제 시작[i] (첫번째 프레임에서만) | 현재 반복(i)의 실제 시작 시간을 반환합니다. 실제 시작 값은 Timed 시퀀스 구조의 시작 시간에 상대적이며 구조 타이밍 소스의 단위로 지정됩니다. |
| 실제 시작[f] | 현재 프레임(f)의 실제 시작 시간을 반환합니다. 실제 시작 값은 Timed 시퀀스 구조의 시작 시간에 상대적이며 프레임 타이밍 소스의 단위로 지정됩니다. |
| 데드라인 | 현재 프레임의 데드라인 값을 반환합니다. |
| 에러 | 구조를 통해 에러를 전달합니다. |
| 예상되는 종료 [f-1] (첫번째 프레임에서는 사용할 수 없음) | 이전 프레임(f-1)의 예상 종료 시간을 반환합니다. 예상되는 종료 값은 Timed 시퀀스 구조의 시작 시간에 상대적이며 프레임 타이밍 소스의 단위로 지정됩니다. |
| 예상되는 시작[i] (첫번째 프레임에서만) | 현재 반복(i)의 예상 시작 시간을 반환합니다. 예상되는 시작 값은 Timed 시퀀스 구조의 시작 시간에 상대적이며 구조 타이밍 소스의 단위로 지정됩니다. |
| 예상되는 시작[f] | 현재 프레임(f)의 예상 시작 시간을 반환합니다. 예상되는 시작 값은 Timed 시퀀스 구조의 시작 시간에 상대적이며 프레임 타이밍 소스의 단위로 지정됩니다. |
| 늦게 끝냄? [f-1] (첫번째 프레임에서는 사용할 수 없음) | Timed 시퀀스 구조가 지정된 데드라인 전에 이전 프레임을 종료하지 못한 경우 참을 반환합니다. |
| 프레임 지속기간 (첫번째 프레임에서는 사용할 수 없음) | 이전 프레임의 지속기간을 반환합니다. 프레임 지속기한은 프레임의 시작에 상대적이며 프레임 타이밍 소스의 단위로 지정됩니다. |
| 글로벌 종료 시간 (첫번째 프레임에서는 사용할 수 없음) | 이전 프레임 종료의 타임스탬프를 나노초로 반환합니다. |
| 글로벌 시작 시간 | 현재 프레임 시작의 타임스탬프를 나노초로 반환합니다. |
| 오프셋 (첫번째 프레임에서만) | 첫번쨰 프레임 시작의 오프셋 값을 반환합니다. |
| 우선순위 | 현재 프레임의 우선순위 값을 반환합니다. |
| 프로세서 | 프로세서를 할당한 경우, 실행을 처리하도록 할당된 프로세서를 반환합니다. 프로세서를 할당하지 않은 경우에는 -2를 반환하며, 이는 LabVIEW가 프로세서를 자동으로 할당함을 의미합니다. |
| 시작 (첫번째 프레임에서는 사용할 수 없음) | 현재 프레임의 시작 시간을 반환합니다. |
| Timeout | 현재 프레임의 타임아웃 값을 반환합니다. |
| 휴면 해제 이유 | 현재 반복의 실행 시작에 대한 이유를 가진 열거형 타입을 반환합니다. 가능한 값은 Normal일 때 0, Aborted일 때 1, Asynchronous Wakeup일 때 2, Timing source error일 때 3, Timed loop error일 때 4, Timeout일 때 5입니다. |
(3) 오른쪽 데이터 노드
![]() | 데드라인 (마지막 프레임에서는 사용할 수 없음) | 다음 프레임이 종료되어야 하는 시간을 지정합니다. 데드라인 값은 다음 프레임의 시작에 상대적이며 프레임 타이밍 소스의 단위로 지정됩니다. 기본은 -1이며 변동 없음을 의미합니다. |
![]() | 에러 | 구조를 통해 에러를 전달합니다. 에러가 에러 조건을 받는 경우, Timed 시퀀스 구조는 시간에 관계 없이 다음 프레임을 실행합니다. |
![]() | 우선순위 (마지막 프레임에서는 사용할 수 없음) | 다음 프레임 실행의 우선순위를 지정합니다. 우선순위는 블록다이어그램의 다른 객체에 상대적으로 언제 다음 프레임이 실행되는지 지정합니다. 우선순위 입력의 값은 1과 65,535 사이의 양의 정수여야 합니다. 기본은 -1이며, 이는 이전 프레임의 타임아웃 값이 변경되지 않음을 나타냅니다. |
![]() | 프로세서 | 실행을 처리할 프로세서를 지정합니다. 기본은 -1이며, LabVIEW가 입력 노드에 지정된 것과 같은 프로세서를 할당함을 의미합니다. -2를 입력하면 LabVIEW가 프로세서를 할당합니다. 수동으로 프로세서를 지정하려면, 0에서 255 사이의 숫자를 입력합니다. 이때 0은 사용 가능한 첫번째 프로세서를 나타냅니다. 사용 가능한 프로세서의 개수를 넘는 숫자를 입력하는 경우, 런타임 에러가 발생하고 Timed 구조는 실행되지 않습니다. |
![]() | 시작 (마지막 프레임에서는 사용할 수 없음) | 시작 시간은 다음 프레임이 실행을 시작해야 하는 시간을 지정합니다. 현재 프레임의 시작에 상대적인 시작 시간 값을 프레임 타이밍 소스의 단위로 지정합니다. 기본은 -1이며 지정되지 않음을 의미합니다. |
![]() | 타임아웃 (마지막 프레임에서는 사용할 수 없음) | 다음 프레임이 실행 시작을 기다리는 시간의 최대 길이를 지정합니다. 기본은 -1이며 다음 프레임에 대해서 지정된 타임아웃이 없음을 의미합니다. 타임아웃 값은 현재 프레임의 종료 시간에 상대적이며 프레임 타이밍 소스의 단위로 지정됩니다. |
(4) 출력 노드
| 실제 종료[f-1] | 마지막 프레임(f-1)의 실제 종료 시간을 반환합니다. 실제 종료 값은 Timed 시퀀스 구조의 시작 시간에 상대적이며 프레임 타이밍 소스의 단위로 지정됩니다. |
| 에러 | Timed 시퀀스 구조가 받은 에러를 전달하고 프레임으로부터 에러를 반환합니다. |
| 예상되는 종료[f-1] | 마지막 프레임(f-1)의 예상 종료 시간을 반환합니다. 반복이 시작될 때 프레임 타이밍 소스가 리셋되지 않는 경우, 예상 종료 값은 Timed 구조에 상대적입니다. 예상 종료 값은 타이밍 소스 단위로 지정됩니다. |
| 늦게 끝냄? [f-1] | 마지막 프레임이 지정된 데드라인 전에 종료하지 못한 경우 참을 반환합니다. |
| 프레임 지속기간 | 이전 프레임의 지속기간을 반환합니다. 프레임 지속기한은 프레임의 시작에 상대적이며 프레임 타이밍 소스의 단위로 지정됩니다. |
| 글로벌 종료 시간 | 이전 프레임 종료의 타임스탬프를 나노초로 반환합니다. |
| 반복 지속기간 | 모든 프레임의 실행 길이의 타임스탬프를 반환합니다. 반복 지속기간은 Timed 시퀀스 구조의 시작에 상대적이며 타이밍 소스의 단위로 지정됩니다. |
| 프로세서 | 프로세서를 할당한 경우, 실행을 처리하도록 할당된 프로세서를 반환합니다. 프로세서를 할당하지 않은 경우에는 -2를 반환하며, 이는 LabVIEW가 프로세서를 자동으로 할당함을 의미합니다. |
Timed 시퀀스 구조의 사용과 설정에 대한 정보는 Timed 시퀀스 구조 설정하기 토픽을 참조하십시오.
Timed 시퀀스 구조를 Timed 루프로 변환하려면, Timed 시퀀스 구조에서 마우스 오른쪽 버튼을 클릭하고 바로 가기 메뉴에서 Timed 루프로 대체를 선택합니다. Timed 시퀀스 구조를 플랫 시퀀스 구조로 변환하려면, Timed 시퀀스 구조에서 마우스 오른쪽 버튼을 클릭하고 바로 가기 메뉴에서 플랫 시퀀스로 대체를 선택합니다.









