LabVIEW For loop

For loop

For λ£¨ν”„λŠ” νŠΉμ • 횟수λ₯Ό λ°˜λ³΅ν•΄μ„œ μ‹€ν–‰ν•  수 μžˆλŠ” κ΅¬μ‘°μž…λ‹ˆλ‹€. λΈ”λ‘λ‹€μ΄μ–΄κ·Έλž¨ νŒ”λ ˆνŠΈ - ꡬ쑰 - For 루프λ₯Ό μ„ νƒν•˜μ—¬ 블둝 λ‹€μ΄μ–΄κ·Έλž¨μ— λ°°μΉ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

N 이라고 μ¨μžˆλŠ” 블둝은 카운트 ν„°λ―Έλ„λ‘œ, μž…λ ₯값을 μ£Όλ©΄ μž…λ ₯κ°’ 만큼 For 루프 μ•ˆμ˜ μ½”λ“œλ₯Ό 반볡 μ‹€ν–‰ν•©λ‹ˆλ‹€. i 라고 μ¨μžˆλŠ” 블둝은 반볡 ν„°λ―Έλ„λ‘œ, 루프 반볡 횟수 - 1 을 좜λ ₯ν•©λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄ 카운트 터미널에 10 을 μž…λ ₯ν•˜λ©΄ λ£¨ν”„λŠ” 10회 반볡 μ‹€ν–‰λ˜κ³ , 첫 번째 μ‹€ν–‰μ—μ„œ i λŠ” 0, 두 번째 μ‹€ν–‰μ—μ„œ 1, μ„Έ 번째 μ‹€ν–‰μ—μ„œ 2 λ₯Ό 좜λ ₯ν•©λ‹ˆλ‹€.

C μ–Έμ–΄μ˜ for 루프와 κ°™μŠ΅λ‹ˆλ‹€.

for (int i = 0; i < N; ++i) {
}

Auto-indexing

μ˜€ν† μΈλ±μ‹± κΈ°λŠ₯은 N의 값을 μ„€μ •ν•˜μ§€ μ•Šλ”λΌλ„ μ—°κ²°λœ λ°°μ—΄ 등에 μ˜ν•΄ For λ£¨ν”„μ˜ μ‹€ν–‰ 횟수λ₯Ό μ •ν•˜λŠ” λ°©λ²•μž…λ‹ˆλ‹€. μ˜€ν† μΈλ±μ‹±μ„ μ‚¬μš©ν•˜κΈ° 전에 λ¨Όμ € λ°°μ—΄κ³Ό 차원을 μ•Œμ•„μ•Ό ν•©λ‹ˆλ‹€.

Array, Dimension

배열은 λ°μ΄ν„°μ˜ 묢음으둜 1 차원 λ°°μ—΄μ˜ 경우 μƒμˆ˜λ‚˜ λ³€μˆ˜λ₯Ό μ›μ†Œλ‘œ κ°–λŠ” λ¬ΆμŒμž…λ‹ˆλ‹€. 2 차원 배열은 1 차원 배열을 μ›μ†Œλ‘œ κ°–λŠ” λ°°μ—΄μž…λ‹ˆλ‹€. 이런 μ‹μœΌλ‘œ n 차원 배열은 (n-1) 차원 배열을 μ›μ†Œλ‘œ κ°–μŠ΅λ‹ˆλ‹€.

λͺ‡κ°€μ§€ 예λ₯Ό λ“€λ©΄ μ•„λž˜μ™€ κ°™μŠ΅λ‹ˆλ‹€.

{1, 2, 3, 4} // 1 차원 배열에 μˆ«μžν˜• μƒμˆ˜ 4 κ°œμ΄λ―€λ‘œ ν¬κΈ°λŠ” 4 μž…λ‹ˆλ‹€.
{{1, 2, 3, 4},
{5, 6, 7, 8,}} // 2 차원 배열에 1 차원 λ°°μ—΄ 2 κ°œκ°€ 있고, 1 차원 배열은 μˆ«μžν˜• μƒμˆ˜ 4 개 κ°€ μžˆμœΌλ―€λ‘œ ν¬κΈ°λŠ” 2, 4 μž…λ‹ˆλ‹€.
{{{1, 2, 3, 4},
{5, 6, 7, 8}},
{{9, 0, 1, 2},
{3, 4, 5, 6}}} // 3 차원 배열에 2차원 λ°°μ—΄ 2 κ°œκ°€ 있고, 2 차원 배열에 1 차원 λ°°μ—΄ 2 κ°œκ°€ 있고, 1 차원 배열은 μˆ«μžν˜• μƒμˆ˜ 4 개 κ°€ μžˆμœΌλ―€λ‘œ ν¬κΈ°λŠ” 2, 2, 4 μž…λ‹ˆλ‹€.

Labviewμ—μ„œλŠ” μ•„λž˜μ™€ 같이 ν‘œν˜„λ©λ‹ˆλ‹€.

배열은 ν”„λ‘ νŠΈνŒ¨λ„ νŒ”λ ˆνŠΈ - λ°°μ—΄, ν–‰λ ¬, ν΄λŸ¬μŠ€ν„° - 배열을 눌러 ν”„λ‘ νŠΈνŒ¨λ„μ— 배치 ν›„, μ›ν•˜λŠ” λ°μ΄ν„°ν˜•μ˜ μ»¨νŠΈλ‘€μ΄λ‚˜ 인디케이터λ₯Ό 집어 λ„£κ±°λ‚˜, λΈ”λ‘λ‹€μ΄μ–΄κ·Έλž¨ νŒ”λ ˆνŠΈ - λ°°μ—΄ - λ°°μ—΄ μƒμˆ˜λ₯Ό ν΄λ¦­ν•΄μ„œ λΈ”λ‘λ‹€μ΄μ–΄κ·Έλž¨μ— 배치 ν›„, μ›ν•˜λŠ” λ°μ΄ν„°ν˜•μ˜ μƒμˆ˜ 등을 집어 λ„£μœΌλ©΄ λ©λ‹ˆλ‹€.

λ°°μ—΄μ˜ 외곽을 늘리면 λŠ˜λ¦¬λŠ” λ°©ν–₯ μ›μ†Œμ˜ μˆ˜κ°€ λŠ˜μ–΄λ‚˜κ³ , 인덱슀λ₯Ό 늘리면 λ°°μ—΄μ˜ 차원이 λŠ˜μ–΄λ‚˜κ³ , μ›μ†Œλ₯Ό 늘리면 λ³΄μ΄λŠ” 크기가 λŠ˜μ–΄λ‚©λ‹ˆλ‹€.

For loop using auto-indexing

μž…λ ₯ μ˜€ν† μΈλ±μ‹±μ€ For 루프 μ•ˆμœΌλ‘œ 루프 λ°–μ˜ 배열값을 전달할 λ•Œ, λ°°μ—΄μ˜ κ°€μž₯ 높은 μ°¨μ›μ˜ 크기만큼 For 루프가 반볡되고, ν•΄λ‹Ή μ°¨μ›μ˜ ν•˜μœ„ 차원 배열이 λ£¨ν”„λ§ˆλ‹€ 전달 λ©λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄ {1, 3, 5}λΌλŠ” 크기 3 인 1 차원 배열이 μžˆλ‹€λ©΄ λ£¨ν”„λŠ” 3 회 반볡 μ‹€ν–‰λ˜κ³  첫 번째 μ‹€ν–‰μ—λŠ” 1, 두 번째 μ‹€ν–‰μ—λŠ” 3, μ„Έ 번째 μ‹€ν–‰μ—λŠ” 5 κ°€ μ „λ‹¬λ©λ‹ˆλ‹€.

{{1, 1, 1}, {2, 2, 2}}λΌλŠ” 크기 2, 3 인 2 차원 배열이 μžˆλ‹€λ©΄ λ£¨ν”„λŠ” 2 회 반볡 μ‹€ν–‰λ˜κ³  첫 번째 μ‹€ν–‰μ—λŠ” {1, 1, 1}, 두 번째 μ‹€ν–‰μ—λŠ” {2, 2, 2}κ°€ 전달 λ©λ‹ˆλ‹€.

μ˜€ν† μΈλ±μ‹± κΈ°λŠ₯을 μ‚¬μš©ν•˜μ§€ μ•Šκ³ , λ‹¨μˆœνžˆ For 루프에 배열을 μ „λ‹¬ν•˜κ³  싢을 λ•ŒλŠ” For 루프에 배열을 μ—°κ²°ν•  λ•Œ μƒκΈ°λŠ” ν„°λ„μ˜ κΈ°λŠ₯을 λ°”κΎΈλ©΄ λ©λ‹ˆλ‹€.

터널을 였λ₯Έμͺ½ 클릭 ν›„ 인덱싱 λΉ„ν™œμ„±ν™”λ₯Ό λˆ„λ₯΄λ©΄ 루프 터널이 λ©λ‹ˆλ‹€. 루프 터널은 μ—°κ²°λœ 인자λ₯Ό κ·ΈλŒ€λ‘œ 루프 μ•ˆμ— μ „λ‹¬ν•˜λŠ” 역할을 ν•©λ‹ˆλ‹€. 인덱싱을 ν™œμ„±ν™” ν•˜λ©΄ κ΄„ν˜Έκ°€ 그렀진 μ˜€ν† μΈλ±μŠ€ 터널이 되고, μœ„μ—μ„œ μ„€λͺ…ν•œ μ˜€ν† μΈλ±μ‹± κΈ°λŠ₯이 ν™œμ„±ν™” λ©λ‹ˆλ‹€.

info

μ—¬λŸ¬κ°œμ˜ 배열이 인덱싱 λ˜κ±°λ‚˜, μΈλ±μŠ€μ™€ 반볡 횟수 λͺ¨λ‘ μžˆλŠ” 경우 κ°€μž₯ 적은 크기에 맞좰 λ°˜λ³΅μ‹€ν–‰λ©λ‹ˆλ‹€.

Output tunnel

좜λ ₯단 터널 λͺ¨λ“œμ—λŠ” λ§ˆμ§€λ§‰ κ°’, μΈλ±μŠ€ν•˜κΈ°, μ—°κ²°ν•˜κΈ°, 쑰건적 4 가지가 μžˆμŠ΅λ‹ˆλ‹€. 이 쀑 많이 μ“°κ²Œ λ˜λŠ” λ§ˆμ§€λ§‰ κ°’κ³Ό μΈλ±μŠ€ν•˜κΈ°λ§Œ λ³΄κ² μŠ΅λ‹ˆλ‹€.

For 루프 μ•ˆμ˜ μ½”λ“œκ°€ 반볡 싀행될 λ•Œ, For 루프가 λλ‚œ λ’€ λ‚˜μ˜¨ κ²°κ³Όλ₯Ό 좜λ ₯ν•˜κ³  싢은 κ²½μš°κ°€ μžˆμŠ΅λ‹ˆλ‹€. 이 λ•Œ, μ‚¬μš©ν•˜λŠ” 터널이 λ§ˆμ§€λ§‰ κ°’μž…λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄ 반볡 횟수 4 회의 For λ£¨ν”„μ—μ„œ, 반볡 ν„°λ―Έλ„μ˜ 값을 For λ£¨ν”„μ˜ 결과둜 좜λ ₯ν•˜κ³ μž ν•  λ•Œ, λ§ˆμ§€λ§‰ κ°’ 터널을 μ“°λ©΄ 0, 1, 2, 3 μ΄λΌλŠ” 반볡 터미널 κ°’ 쀑에 λ§ˆμ§€λ§‰μΈ 3 만 좜λ ₯ν•˜κ²Œ λ©λ‹ˆλ‹€.

μΈλ±μŠ€ν•˜κΈ°λŠ” 루프연산에 따라 λ‚˜μ˜¨ 값을 순차적으둜 μ €μž₯ν•œ ν›„ λ°°μ—΄λ‘œ 좜λ ₯ν•˜λŠ” 터널 μž…λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄ 4 회 λ°˜λ³΅λ˜λŠ” For 루프에 반볡 터미널을 좜λ ₯ν•˜λ©΄ 0, 1, 2 ,3 이 순차적으둜 좜λ ₯λ©λ‹ˆλ‹€. μ΄λ•Œ λ§ˆμ§€λ§‰ κ°’μœΌλ‘œ ν•˜λ©΄ 3 이 κ²°κ³Όκ°€ 되고, μΈλ±μŠ€ν•˜κΈ°λ₯Ό ν•˜λ©΄ {0, 1, 2, 3}인 배열이 결과둜 좜λ ₯λ©λ‹ˆλ‹€.

Last updated on