피드백 노드: 루프 반복 사이에 데이터 저장하기
- 업데이트 날짜:2025-08-27
- 2분 (읽기 시간)
다음과 같이 피드백 노드는 루프의 시프트 레지스터와 비슷하게 작동합니다.
시프트 레지스터처럼, 피드백 노드는 루프가 반복을 완료하면 데이터를 저장한 이후에 다음 루프 반복으로 저장된 데이터를 보냅니다. 다음 반복은 데이터를 읽고 새 값을 데이터에 쓴 후 다시 루프를 통해 보냅니다. 이 과정은 루프가 실행을 마칠 때까지 계속됩니다.
피드백 노드가 첫번째 실행 후 다시 초기화될 때, 한 실행에서 다음 실행으로 전달되는 각 루프 반복의 값은 변하지 않습니다. 이런 경우, 다음 블록다이어그램에서 보이는 것처럼, 초기화 터미널을 피드백 노드로 연결합니다.
| 첫번째 실행 | 두번째 실행 | ||
|---|---|---|---|
| 반복 횟수 | 마지막 값 | 반복 횟수 | 마지막 값 |
| 0 | 3 | 0 | 3 |
| 1 | 4 | 1 | 4 |
| 2 | 5 | 2 | 5 |
| 3 | 6 | 3 | 6 |
다음과 같이 초기값을 초기화 터미널에 연결하지 않는 경우 피드백 노드는 다르게 작동합니다.
| 첫번째 실행 | 두번째 실행 | ||
|---|---|---|---|
| 반복 횟수 | 마지막 값 | 반복 횟수 | 마지막 값 |
| 0 | 1 | 0 | 5 |
| 1 | 2 | 1 | 6 |
| 2 | 3 | 2 | 7 |
| 3 | 4 | 3 | 8 |
이전 블록다이어그램에서 초기화 터미널은 데이터 타입의 기본값인 0을 첫번째 실행의 초기값으로 사용하고, 이후의 실행에서는 피드백 노드를 다시 초기화하지 않습니다.
루프와 하위 루프에서 노드와 초기화 터미널을 분리할 수는 있지만 초기화 터미널을 노드가 들어있는 하위 구소 세트 밖으로 이동시킬 수는 없습니다. 또한 SubVI를 생성할 때에도 노드와 초기화 터미널을 분리할 수 없습니다. 노드와 초기화 터미널 중 어느 하나만 들어있는 블록다이어그램의 섹션에서 SubVI를 생성하려는 경우, LabVIEW는 에러를 반환합니다.
노트 Properties 대화상자의 모양페이지를 이용해 Z 변환 보기를 변경할 수 있는데, 이는 피드백 컨트롤 이론 및 신호 처리에서의 a z-1 블록과 비슷하게 보입니다. 피드백 노드를 Z 변환 보기로 변경하면, 피드백 노드의 외형적 모양만 변하며 노드의 기능은 변하지 않습니다.