าง ภาคผนวก - grad.pit.ac.thgrad.pit.ac.th/images/templates/exa09.pdf ·...

Preview:

Citation preview

ภาคผนวก

ตวอยาง

75

ภาคผนวก ก

โปรแกรม LabVIEW

ตวอยาง

76

โปรแกรม LabVIEW [33]

1. พาเนล

พาเนลเปนหนาตางทใชแสดงการควบคมการทางานโปรแกรม ผใชสามารถสรางรปแบบขนเองไดอยางรวดเรวเนองจาก LabVIEW มสวนประกอบตาง ๆ ทใชสาหรบออกแบบหนาตางพาเนลกจะมสวนประกอบหลก ๆ ดวยกน 3 สวนคอ พนทสาหรบเขยนโปรแกรม เมนบาร และทลบาร สาหรบหนาตางพาเนล จะแสดงตวควบคมการทางาน (Controls) และตวแสดงผล (Indicator) สวนลาดบการทางานของโปรแกรมนนจะแสดงในสวนของหนาตางไดอะแกรม โดยในโปรแกรม LabVIEW จะถอวาตวควบคมเปนอปกรณ “อนพต” และตวแสดงผลเปนอปกรณ “เอาทพต” การวางตวควบคมและตวแสดงผลลงไปในหนาตางพาเนลทาไดโดยคลกเมาสทางดานขวาบนหนาตางพาเนล จะปรากฏบลอกทลพาเลทขนมาซงภายในทลพาเลทจะประกอบดวยตวควบคมและตวแสดงผลแบบตาง ๆ การวางอปกรณทาไดโดยการใชเมาสคลกคางไวทอปกรณทตองการจากนนลากไปวางในหนาตางพาเนลกจะไดภาพดงภาพท 1

ภาพท 1 ลกษณะของหนาตางพาเนล [33]

ตวอยาง

77

- Numerical controls and indicator

สาหรบตวควบคมและตวแสดงผลทมลกษณะเปนตวเลขนนสามารถเรยกใชในสวน ของหนาตางฟรอนทพาเนลโดยเลอกจาก Control » Modern » Numeric บน Control พาเลท

ภาพท 2 Numerical Control and Indicator [33]

- Boolean control and indicator

สาหรบตวควบคมและตวแสดงผลทมลกษณะบลนนนจะแสดงการทางานในลกษณะของความถกหรอผด (True /False) สามารถเรยกใชในสวนของ All function หรอ Button and LED

บนทลพาเลท

ภาพท 3 Boolean Control and Indicator [33]

ตวอยาง

78

- การกาหนดอปกรณ

โดยปกตแลวอปกรณหนงตวกจะทางานหรอมสถานะไดหนงอยาง ไมวาจะมสถานะ เปนคาคงท ตวควบคมหรอตวแสดงผล ซงเราสามารถกาหนดไดวาจะใหอปกรณตวนนแสดง สถานะเปนแบบใด การกาหนดทาไดโดยการคลกขวาทอปกรณแลวเลอกคาสง Create ซงคาสง Create นจะมคาสงยอยอย 3 คาสงคอ Constant, Control และ Indicator ซงเรา สามารถเลอกไดวาจะกาหนดสถานะของอปกรณนนได

ภาพท 4 การกาหนดอปกรณ [33]

- ไดอะแกรม

ในสวนของหนาตาง Block diagram จะเปนสวนทใชในการเขยนโปรแกรมและแสดงการทางานของโปรแกรมทงหมด แสดงการเชอมโยงระหวางบลอกคาสงแตละบลอกเขาดวยกน โดยการเขยนโปรแกรมดวยภาพลกษณะนในโปรแกรม LabVIEW เรยกวาการเขยนโปรแกรมดวยภาษากราฟฟก (G-Languages) การเขยนโปรแกรมดวยภาพนนจะอาศยหลกการทางานของเครองมอวดหรอการวดคม ทาใหผใชสามารถออกแบบรปแบบโปรแกรมตามตองการ

ตวอยาง

79

ภาพท 5 หนาตางของไดอะแกรม [33]

2. พาเลท

พาเลทเปนหนาตางยอยทมสวนประกอบของออบเจคทใชสาหรบการเขยน VI การนาไปใชงานนนทาไดงายเพยงแคคลกเมาสทางดานขวาบรเวณทวางของหนาตางพาเนลหรอไดอะแกรม ซงจะปรากฏพาเลทขนมาจากนนใชเมาสคลกทออปเจคทตองการแลวลากไปวางบนหนาตาง พาเนลหรอหนาตางไดอะแกรมพาเลทมองคประกอบหลก ๆ อย 3 สวนคอ Tools, Control และ Function

- Tools Palette

ทลพาเลทจะเปนตวบอกหรอกาหนดสถานะของเมาสวาทางานอยในโหมดใด การเรยกใชพาเลทนทาไดโดยการเลอกทเมน Window แลวเลอกคาสงยอย Show tools palette แลวจะปรากฏ Tools palette ขนมาดงภาพ การใชงานนนเพยงแคเราใชเมาสไปคลกทสญลกษณใน Tools palette

เคอรเซอรของเมาสกจะเปลยนไปตามลกษณะทเราเลอก

ภาพท 6 Tool Palette [33]

ตวอยาง

80

- Control palette

มสวนประกอบของอปกรณทเปนตวควบคมและตวแสดงผลทใชสาหรบสราง VI โดยภายใน

Control palette กจะมพาเลทยอย ๆ อกเพราะวาอปกรณใน Control palette กจะมอปกรณยอยอกแตอยางไรกตามเราสามารถเรยกดอปกรณทงหมดทอยใน Control palette ไดโดยคลกเมาสเลอกท All

Control ซงจะรวมเอาอปกรณทงหมดไวในน นอกจากนแลวเรายงสามารถเปดใชงาน Control

palette ไดอกทางหนงคอเลอกทเมน Window แลวเลอก Show control palette กสามารถเลอกใช Control palette ไดเชนกน

ภาพท 7 Control Palette [33]

- Function Palette

การใชงานโดยทวไปจะมความคลายกนกบ Control palette ซงภายในประกอบไปดวยอปกรณในการสราง VI ตวอยางอปกรณหลก ๆ ใน Function palette เชน For loops, While loops

และ Formula nodes สามารถเรยกใชงานได 2 วธเชนเดยวกนกบการเรยกใชงาน Control palette

คอ เลอกทเมน Window แลวเลอก Show function palette หรอ คลกเมาสทางดานขวาบรเวณพนทวางในหนาตางไดอะแกรม

ตวอยาง

81

ภาพท 8 Function palette [33]

3. เครองมอ (Tools)

- เครองมอของหนาตางพาเนล

ภาพท 9 ทลบารในหนาตางพาเนล [33]

RUN ใชสาหรบรนโปรแกรม RUN continuously ใชสาหรบรนโปรแกรมอยางตอเนอง Abort execution หรอเรยกอกอยางหนงวาปม Stop ใชสาหรบหยดการรนโปรแกรม Pause ใชสาหรบหยดการรนโปรแกรมชวคราวเพอตรวจสอบการทางานของ โปรแกรมเมอตองการรนโปรแกรมตอใหกดปมนซ าอกครงโปรแกรมก จะรนตอไป

ตวอยาง

82

Highlight execution แสดงลาดบขนการทางานของโปรแกรมโดยแสดงใหเหนทศทางการ

ไหลของสญญาณ Start single step ใชสาหรบสงใหโปรแกรมทางานทละคาสง

Text setting ใชสาหรบจดการกบตวอกษรทงหมดไมวาจะเปน ฟรอนท ขนาดรปแบบ ตวอกษร รวมไปถงการกาหนดสใหกบตวอกษรดวย Align object ใชจด Object ตาง ๆ ทเราใชเขยนโปรแกรมใหอยในแนวเดยวกนทง

แนวตงและแนวนอนเพอความเปนระเบยบ Distribute object ใชสาหรบการกาหนดระยะหางระหวาง Objects อตโนมต Reorder ใชสาหรบกาหนดลาดบกอนหลงสาหรบการวางซอนทบกนของ Object

Object context help ใชแสดงคณสมบตหรอรายละเอยดของ Object แตละตว

4. ฟรอนทพาเนล

หนาตางฟรอนทพาเนลสาหรบเขยนโปรแกรม LabVIEW นนจะเปนหนาตางทใชตดตอ กบผใชงานซงในหนาตางพาเนลจะประกอบไปดวยอปกรณอย 2 สวนคออปกรณสาหรบการควบคม (Control) ยกตวอยางเชน Knobs, Switches และอปกรณอกอยางหนงกคออปกรณ สาหรบแสดงผล (Indicator) เชน LED, Text setting, Graph และ Chart เปนตน สวนอปกรณทไมใชอปกรณควบคมและแสดงผลจะแสดงไอคอนอยในหนาตางของบลอกไดอะแกรม สาหรบอปกรณควบคมในภาษากราฟฟกจะหมายถง “อนพต” และอปกรณแสดงผลจะหมายถง “เอาตพต” การวางอปกรณควบคมและอปกรณแสดงผลลงไปบนหนาตางฟรอนทพาเนลทาได โดยการเลอกอปกรณทตองการบนหนาตาง Control palette แลวใชเมาสลากไปวางบนหนาตางพาเนลซงการเรยกหนาตาง

Control palette ทาไดโดยการคลกเมาสทางดานขวา บรเวณพนทวางของหนาตางพาเนลกจะปรากฏหนาตาง Control palette ทประกอบไปดวยอปกรณควบคมและอปกรณแสดงผลขนมา การเรยกใชงานหนาตาง Control palette อกวธหนงกคอเลอกทเมน Window ของแทบเมนบาร แลวเลอก Show control palette จะปรากฏหนาตางของ Controls palette ขนมาใหเลอกใชงานเชนเดยวกน

ตวอยาง

83

ภาพท 10 หนาตางฟรอนทพาเนล [33]

5. บลอกไดอะแกรม

ในหนาตางบลอกไดอะแกรมจะประกอบไปดวยอปกรณทใชในการสรางโปรแกรมซงถาเปรยบเทยบกบภาษาอน ๆ แลวอปกรณทวางลงไปบนหนาตางบลอกไดอะแกรมจะถอวาเปน Source code การทาใหอปกรณตาง ๆ ทอยในหนาตางของบลอกไดอะแกรมทางานสมพนธกน และเปนไปตามทผเขยนตองการนนสามารถทาไดดวยการลากสายสญญาณจากจดเชอมตอของ อปกรณแตละตวใหถงกนและกาหนดคาหรอคณสมบตของอปกรณแตละตวกจะทาใหโปรแกรมทางานตามทผเขยนตองการ คณสมบตของอปกรณทอยบนหนาตางบลอกไดอะแกรมมอย 3 อยางคอ Node, Terminal และ Wires

- Nodes

เปนตวกระทาใหโปรแกรมทางานตามทผ เขยนตองการถาเปรยบเทยบกบโปรแกรมทวไป Nodes กเปรยบเสมอน Statement, Functions, และ Subroutines โหนดในโปรแกรม LabVIEW ม 3

ชนดคอ Function, Sub VI และ Structure โหนดแบบ Function จะสรางขนมาเพอใหสามารถทางานขนพนฐานได เชน การบวกเลข การคณเลข เปนตน ดงเชน การบวกและการคณในภาพท 11 กเปนฟงกชนโหนดแบบหนงเชนกน

ตวอยาง

84

ภาพท 11 หนาตางบลอกไดอะแกรม [33]

- Terminal

เปนทางผานของขอมลระหวางบลอกไดอะแกรมกบฟรอนทพาเนลและระหวางโหนดแตละโหนดในบลอกไดอะแกรมเทอรมนอลเปรยบไดกบคาพารามเตอรและคาคงทในโปรแกรมภาษาอนเทอรมนอลแตละชนดกมความแตกตางกนซงในโปรแกรม LabVIEW ม เทอรมนอลอย 4 ชนดคอ Control and Indicator, node, Constants, และเทอรมนอลพเศษ ซงเทอรมนอลแตละตวสามารถลากสายสญญาณเพอเปนทางผานของขอมลสาหรบตวอยางในกรณของ Control and indicator เมอมขอมลแบบตวเลขผานเขาไปยงบลอกไดอะแกรมโดยผานชองทาง Control terminals แลวทาการประมวลผลในหนาตางบลอกไดอะแกรมเมอโปรแกรมทาการประมวลผลเสรจเรยบรอยกจะสงขอมลจากหนาตางบลอกไดอะแกรมไปยงหนาตางฟรอนทพาเนลโดยผานชองทาง Indicator

terminal

- Wires

เปนทางผานของขอมลระหวาง Terminal โดยการลากสายสญญาณทาไดโดยการเลอกเครองมอทชอวา Connect wire ทหนาตาง Tool palette มลกษณะคลายกบหลอดดาย เมาสจะเปลยนเปนรปหลอดดายจากนนลากไปวางตรงจดตอของเทอรมนอลแรกทตองการลาก คลกเมาสหนงครงแลวลากไปยงจดตอของเทอรมนอลปลายทางทตองการคลกเมาสอกหนงครงกเสรจการเชอมตอสญญาณ

ตวอยาง

85

6. For Loop

For loop เปนฟงกชนคาสงใหโปรแกรมทางานซ าจนกวาการกระทาซ านนจะเทากบ จานวน N

เมอ N คอจานวนครงทตองการใหทาซ า ใน For loop นนจะมเทอรมนอลอย 2 จดคอ Count

terminal และ Iteration terminal สาหรบ Count terminal น นมหนาทเปนตวกาหนดวาจะใหโปรแกรมทางานซ ากรอบซงสามารถจะกาหนดใหปรบเปลยนจานวนรอบหรอเปนคาคงทกได สวน Iteration terminal จะทาหนาทแสดงจานวนรอบการทางานวาโปรแกรมทางานในวงรอบไปแลวกครงตวเลขทแสดงของ iteration Terminal จะมคาเทากบ N-1 การใชงาน For loop ดงภาพท

12 การสราง For loop ทาไดโดยการเลอกไปทหนาตางบลอกไดอะแกรมแลวเลอก Function »

Structure แลวใชเมาสเลอกท For loop หลงจากนนนาเมาสไปคลกทหนาตาง บลอกไดอะแกรมแลวลากใหมขนาดทตองการแลวปลอยเมาสกจะไดโครงสรางการทางานของ For loop นอกจากนแลวยงสามารถทาการยอขยายขนาดของ For loop ไดโดยใชเมาสไปชตรงบรเวณเสนขอบของ For

Loop จะปรากฏจดสเหลยมเลก ๆ บรเวณเสนขอบของ For loop ใชเมาสไปวางตรงบรเวณจดดงกลาวแลวเมาสจะเปลยนเปนรปลกศรจากนนคลกเมาสคางแลวลากยอหรอขยายไดตามตองการ การทางานของ For loop นอกจากจะทางานเพยงวงรอบเดยว ๆ แลวยงสามารถทางานซอนวงรอบได โดยจะทางานวงรอบดานในกอนจนครบเงอนไขแลวจงมาทาวงรอบนอกหนงรอบแลวกกลบไปทางานในวงรอบในอกครง การทางานจะทาจนกวาวงรอบนอกครบตามเงอนไขโปรแกรมจงจะหยดทางาน

ภาพท 12 โครงสรางของ For loop [33]

7. While loop

While loop เมอเปรยบเทยบกบการเขยนโปรแกรมดวยภาษาอน ๆ กจะเปรยบไดกบ โครงสรางของคาสง Repeats until นนเองซงลกษณะของ While loop แสดงดงภาพท 13 หลกการทางานของ While loop คอจะทางานภายในวงรอบไปจนกวาเงอนไขท Condition terminal จะเปนจรงจงจะหยดทางานสาหรบ While loop นนจะมเทอรมนอลอย 2 เทอรมนอลเชนเดยวกนกบ For loop คอ

ตวอยาง

86

Iteration terminal และ Condition terminal การทางานของ Iteration terminal จะทางานเหมอนกนกบ Iteration terminal ของ For loop คอทาหนาทแสดงจานวนรอบทโปรแกรมกระทาในวงรอบซงแสดงผลออกมาในลกษณะของตวเลขสวน Condition terminal เปนการกาหนดเงอนไขใหโปรแกรมหยดทางานซงเงอนไขในการหยดทางานคอจะหยดทางาน เมอเงอนไขเปนจรง (True)

หรอจะใหหยดทางานเมอเงอนไขเปนเทจ (False) กสามารถทจะกาหนดไดนอกจากนแลวเรายงสามารถกาหนดเงอนไขในการหยดทางานไดอกหนงวธคอการนาเอาคาเอาตพตของ Iteration

Terminal มาเปรยบเทยบกบคาทเราตองการไมวาจะเปนคาคงทหรอปรบเปลยนไดโปรแกรมจะทางานวนในวงรอบและนาคาเอาตพตของ Iteration terminal มาเปรยบเทยบกบคาทเรากาหนดไวแลวจะสงเอาตพตทไดไปยง Condition terminal เมอจานวนรอบการทางานมคาเทากบคาทเรากาหนดโปรแกรมจะหยดทางานในวงรอบนทนทการกาหนดเงอนไขแบบนเปรยบไดกบการกาหนดคา N ใน For loop นนเอง การสราง While loop ทาไดโดยการเลอกไปทหนาตางบลอกไดอะแกรมแลวเลอก Function » Structure แลวใชเมาสเลอกท While loop นาเมาสไปคลกทหนาตางบลอกไดอะแกรมแลวลากใหมขนาดทตองการแลวปลอยเมาสกจะไดโครงสรางการทางานของ While loop นอกจากนแลวยงสามารถทาการยอขยายขนาดของ While loop ไดโดยใชเมาสไปชตรงบรเวณเสนขอบของ While loop จะปรากฎจดสเหลยมเลก ๆ บรเวณเสนขอบของ While loop

ใชเมาสไปวางตรงบรเวณจดดงกลาวแลวเมาสจะเปลยนเปนรปลกศรจากนนคลกเมาสคางแลวลากยอหรอขยายไดตามตองการ

ภาพท 13 โครงสรางของ While loop [33]

8. Shift register

Shift register ประกอบไปดวยเทอรมนอลสองตวคอเทอรมนอลทางดานอนพตและเทอรมนอลทางดานเอาตพต Shift register สามารถใชทางานรวมกบ For loop และ While loop เทานนการสราง Shift register ทาไดโดยการใชเมาสคลกขวาบรเวณเสนขอบ ของ For loop หรอ While loop

ตวอยาง

87

แลวเลอก Add shift register กจะได Shift register ทอยบนเสนขอบทางซายและขวาของ For loop

และ While loop ดงภาพท 14

ภาพท 14 โครงสรางของ Shift register [33]

9. Feedback node

Feedback node สามารถทางานรวมกบ For loop และ While loop ไดเชนเดยวกนกบ Shift

register การทางานของ Feedback node คอจะเกบขอมลไวท Iteration เมอโปรแกรมทางานภายในวงรอบเสรจกจะสงขอมลดงกลาวไปท Iteration ของวงรอบตอไปทงน Feedback node ยงสามารถกาหนดคาเรมตนไดดวยและสามารถใชไดกบขอมลทกชนดลกษณะการตอใชงาน Feedback node แสดงดงภาพท 15

ภาพท 15 การใชงาน Feedback node [33]

ตวอยาง

88

10. Case structure

Case structure เปนโครงสรางการเขยนโปรแกรมตามเงอนไขของตวหนงสอ (Conditional

text) ซงถาเปรยบเทยบกบการเขยนโปรแกรมภาษาอนๆ (Text-based programming languages)

สามารถเปรยบเทยบไดกบโครงสรางของคาสง If…Then…Else การเรยกใชงานฟงกชน Case

structure ลงบนหนาตางบลอกไดอะแกรมทาไดโดยเลอก Function » Structure แลวใชเมาสเลอกท Case structure นาเมาสไปคลกทหนาตางบลอกไดอะแกรมแลวลากใหมขนาดทตองการแลวปลอยเมาสกจะไดโครงสรางการทางานของ Case structure นอกจากนแลวยงสามารถทาการยอและขยายขนาดของ Case structure ไดโดยใชเมาสไปชตรงบรเวณเสนขอบของ Case structure จะปรากฏจดสเหลยมเลก ๆ บรเวณเสนขอบของ While loop ใชเมาสไปวางตรงบรเวณจดดงกลาวแลวเมาสจะเปลยนเปนรปลกศร จากนนคลกเมาสคางแลวลากยอหรอขยายไดตามตองการ สามารถแสดงลกษณะของ Case structure ไดดงภาพท 16 ซงมสวนประกอบทสาคญอย 2 สวนคอ Select

terminal และ Select label โดยท Select terminal จะทาหนา ท รบอนพตเขามาแลวทาการตรวจสอบหรอเปรยบเทยบวาขอมลทรบเขามาเปนขอมลชนดใดและตรงกบเงอนไขใดใน Case

structure เพอทาใหโปรแกรมทางานตามเงอนไขทตองการสวน Select label จะทาหนาทสรางหนาตางยอยของ Case structure ซงสามารถเพมและลดเงอนไขไดถง 231 -1 เงอนไขการสงขอมลออกเอาตพตนนทก ๆ กรณจะสงขอมลออกทเอาตพตเดยวกบซงทางออกของสญญาณเอาตพตเรยกวา Output tunnel

ภาพท 16 โครงสรางของ Case structure [33]

ตวอยาง

89

11. Flat and stack sequence structures

Sequence structures เปนการทางานแบบลาดบขนรปแบบของ Sequence structures มลกษณะเหมอนแผนฟลมสาหรบ Sequence structures มท งหมด 2 แบบคอ Flat sequence และStack

sequence ลกษณะของ Flat sequence และ Stack sequence จะมลกษณะคลายกบ Case structure

กลาวคอจะม Select sable สาหรบเลอกเฟรมทซอนอยภายในโดยตวเลขจะบอกวากาลงเปดเฟรมใดอย การสราง Flat และ Stack sequence structures ทาไดโดยการเลอกไปทหนาตาง บลอกไดอะแกรมแลวเลอก Function » Structure แลวใชเมาสเลอกท Flat หรอ Stack sequence structures ตามทตองการ แสดงดงภาพท 17 นาเมาสไปคลกทหนาตางบลอกไดอะแกรมแลวลากใหมขนาดทตองการแลวปลอยเมาสกจะไดโครงสรางการทางานของ Flat และ Stack sequence structures การทจะนาขอมลของเฟรมหนงไปยงอกเฟรมหนงสามารถทาไดโดยคลกเมาสทางขวาท บรเวณกรอบ Sequence structures แลวเลอก Add sequence local จะปรากฏเทอรมนอลขนทขอบของ Sequence

structures จากนนลากสายสญญาณทเราตองการใหออกเอาตพตไปตอกบเทอรมนอลซงเทอรมนอลดงกลาวกจะเปลยนเปนลกษณะทมลกศรพงออกจากเฟรม ในขณะเดยวกนทกเฟรมทเหลอกจะปรากฏเทอรมนอลขนเชนกนแตจะมลกษณะลกศรชเขาไปขางในเฟรมแสดงดงภาพท 18

ภาพท 17 โครงสรางของ Flat และ Stack sequence structures [33]

ตวอยาง

90

ภาพท 18 การ Add sequence local ของ Stack sequence structures [33]

12. Formula node

Formula node เปนโครงสรางของคาสงทมความใกลเคยงกบการเขยนโปรแกรมดวยภาษาอน ๆ ทวไปซง Formula node จะถกนามาใชเ มอตองการใหโปรแกรมทางานตามฟงกชนทางคณตศาสตรทมความยงยากการใชอปกรณในการสรางใหโปรแกรมทางานตามฟงกชนทางคณตศาสตรหนงฟงกชนอาจตองใชอปกรณหลายตวซงอาจทาใหการตรวจสอบโปรแกรมเปนไป ดวยความยงยากและโปรแกรมมขนาดใหญเกนไป ยกตวอยางการสรางโปรแกรมใหทางานตามสมการ )sin(xexy −= ซงถาเขยนโปรแกรมดวยการใชอปกรณทวไปจะไดลกษณะของ โปรแกรมดงภาพท 19 แตหากใช Formula node จะไดลกษณะของโปรแกรมดงภาพท 18

ภาพท 19 การสรางโปรแกรมจากอปกรณทวไป [33]

ตวอยาง

91

การทางานของ Formula node จะเปนลกษณะของการกาหนดฟงกชนทางคณตศาสตรลงไปใน Formula node แสดงดงภาพท 20 แลวจงกาหนดเทอรมนอลเพอเชอมตออนพตและเอาทพต การสราง Formula node ทาไดโดยการเลอกไปทหนาตางบลอกไดอะแกรมแลวเลอก Function »

Structure แลวใช เมาส เ ลอกท Formula node แสดงดงภาพท 18 นา เมาสไปคลกทหนา ตางบลอกไดอะแกรมแลวลากใหมขนาดทตองการแลวปลอยเมาสกจะไดโครงสรางการทางานของ Formula node

ภาพท 20 โครงสรางและการใชงาน Formula node [33]

การกาหนดเทอรมนอลอนพตและเอาตพตสามารถทาไดโดยการคลกเมาสขวาทขอบของ Formula node แลวเลอก Add input หรอAdd output แสดงดงภาพท 21 ทเทอรมนอลสามารถทจะกาหนดชอไดและสามารถ คาอนพตและเอาตพตจะเปนขอมลแบบตวเลข (Numeric) การกาหนดตวแปรอนพตสามารถกาหนดใหเปนคาคงทหรอคาทปรบเปลยนไดสวนเอาตพตจะกาหนดใหเปนตวแสดงผลชอทเทอรมนอลกคอ ชอของตวแปรของฟงกชนทางคณตศาสตรทสรางขนใน Formula

node

ภาพท 21 การเพมอนพตและเอาตพตของ Formula node [33]

ตวอยาง

92

13. ฟงกชนของอารเรย

- Array size

ฟงกชน Array size จะเปนตวบอกขนาดของอารเรยวามขนาดใดเชนถาอารเรยอนพต เปนอารเรย 1 มต (4 แถว 1 หลก) อารเรยเอาตพตจะเปนอารเรย 1 มต มจานวนสมาชกทงหมด 4 ตวหรอถาอารเรยอนพตเปนอารเรย 2 มต (2 แถว 4 หลก) อารเรยเอาตพตจะแสดง เปนอารเรย 2 มต (แสดงจานวนของแถวและหลก) แสดงดงภาพท 22

ภาพท 22 การใชงาน Array size function [33]

- Initialize array

เปนการสรางอารเรยยตามขนาดทกาหนดพรอมทงสามารถกาหนดคาเรมตนใหกบอารเรยทสรางไดอกดวย เชน ตองการสรางอารเรย 1 มต มจานวนสมาชกทงหมด 50 ตว และกาหนดใหคาเรมตนของอารเรยเปน 2.5 สามารถสรางไดโดยคลกเมาสขวาทเทอรมนอล Element ซงอยทางดานบนซายของบลอค Initialize array แลวเลอก create » Constant และกาหนดคาเรมตนเปน 2.5 ทเทอรมนอล Dimension size ของบลอค Initialize array ทอยดานลางเทอรมนอล Element คลกเมาสขวาแลวเลอก Create » Constant และกาหนดใหเปน 50 (จานวนสมาชก) ถาตองการเพมมตของอารเรยกสามารถทาไดโดยคลกเมาสขวาทบลอคของ Initialize array แลวเลอก Add dimension ซงจะเพมเทอรมนอลเพอกาหนดขนาดของแถวและหลก แสดงดงภาพท 23

ตวอยาง

93

ภาพท 23 การใชงาน Initialize array function [33]

- Build array

เปนการนาเอาอารเรยหรอสมาชกในอารเรยหลาย ๆ ตวมารวมกนแลวเกดเปนอารเรยใหม ซงอนพตสามารถทจะเปนทงอารเรยและเปนจานวนสเกลลาโดยปกตแลว Build array จะมอนพต 2 อนพตถาตองการเพมจานวนอนพตสามารถทาไดโดยการคลกเมาสขวาทบลอค Build array แลวเลอก Add input หรอจะใช Positioning tool คลกคางแลวลากขยายเพอเพมอนพตและถาตองการลดจานวนอนพตกสามารถทาไดโดยคลกเมาสขวา Build array แลวเลอก Remove input ตวอยางการใชงาาน Build array แสดงดงภาพท 24

ตวอยาง

94

ภาพท 24 การใชงาน Build array function [33]

- Array subset

เปนวธการเลอกคาของขอมลทอยในอารเรยไปใชงานโดยมสงทตองกาหนดอย 2 อยางคอ Index (0) ซงเปนการกาหนดตาแหนงเรมตนทเราตองการ (ตาแหนงแรกนบเปนตาแหนงท 0) และ Length (Rest) เพอกาหนดจานวนขอมลทตองการ ดงตวอยางในภาพท 23 อารเรย 1 มต มจานวนขอมล 7 ขอมลตองการใชขอมลตงแตตาแหนงท 3 ถง 5 ทาไดโดยกาหนด Index (0) ใหมคาเทากบ

2 และ Length (Rest) ใหมคาเทากบ 3 แสดงดงภาพท 25

ภาพท 25 การใชงาน Subset array function [33]

ตวอยาง

95

- Index array

ฟงกชน Index array สามารถทจะเลอกขอมลในอารเรยในตาแหนงทตองการมาใชงานไดโดยการเลอกตาแหนงของขอมลไดเลยในกรณทเปนอารเรยขนาด 2 มต กสามารถใช Index array เลอกวาจะเลอกขอมลออกเอาตพตทตาแหนงแถวและหลก แสดงดงภาพท 26 มอารเรย 1 มต มจานวนขอมลทงหมด 6 ขอมลตองการเลอกขอมลท 1ไปใชงานสามารถทาไดโดยกาหนดให Index number

มคาเทากบ 0 (ตาแหนงแรกนบเปนตาแหนงท 0) และในภาพท 27 เปนการใชฟงกชน Index array

ในการเลอกขอมลจากอารเรย 2 มต ขนาด 3 x 3 โดย Index array จะตองม 2 ตวเพอเลอกตาแหนงแถวและตาแหนงหลกทตองการ ซงการเพมอนพตของ Index array สามารถทาไดโดยการใช Position tool คลกท Index array แลวลากขยายเพอเพมอนพตใหกบ Index array

ภาพท 26 การใชงาน Index array function [33]

ตวอยาง

96

ภาพท 27 การใชงาน Index array function กบอารเรย 2 มต [33]

14. ฟงกชนของคลสเตอร

ฟงกชนทชวยในการทางานของคลสเตอรมอยหลายแบบดวยกนในทนจะขอกลาวถง ฟงกชนทถกนามาใชงานบอย ๆ 2 ฟงกชนคอ Bundle และ unbundle ซงวธทเรยกใชฟงกชนทาโดยเลอกท

Function palette » All function » Cluster แลวเลอกฟงกชน Bundle หรอ Unbundle ตามตองการ

- Bundle function

Bundle function เปนฟงกชนทใชรวมเอาอนพตหลาย ๆ ตวมาสรางเปนคลสเตอรใหมขนมาโดยอนพตนนสามารถเปนไดทงตวเลขจานวนจรง อารเรย หรอแมกระทงคลสเตอร เมอวางบลอคของฟงกชน Bundle ลงไปในหนาตางบลอคไดอะแกรมฟงกชน Bundle จะมอนพตเทอรมนอล 2 เทอรมนอลอยทางซายและเทอรมนอลเอาตพต 1 เทอรมนอลอยทางขวาและอนพตทเปนคลสเตอรจะอยดานบนของบลอคเราสามารถทจะเพมหรอลดจานวนเทอรมนอลอนพตใหมจานวนเทาทเราจาเปนตองใชงานโดยใชเมาสคลกทบลอคแลวเลอนขนลงในแนวต งหรอใชเมาสไปวางตรงเทอรมนอลอนพตแลวคลกเมาสขวาแลวเลอก Add input ถาตองการเพมเทอรมนอลและเลอก

Remove input ถาตองการลดเทอรมนอล ในภาพท 28 จะเปนตวอยางการสรางคลสเตอรดวย Bundle

โดยมอนพต 3 ชนดคอ Floating-point number, Scalar integer และ Array ทสรางจาก For loop และมเอาตพตทแสดงผลดวยกราฟ

ตวอยาง

97

ภาพท 28 การใชงาน Bundle function [33]

- Unbundle function

ในคลสเตอรจะประกอบไปดวยชนดของขอมลทแตกตางกน Unbundle function จะชวยในการแยกขอมลอนพตทแตกตางกนออกจากกนเพอจะนาเอาตพตนนไปใชงานตอไป ฟงกชนของUnbundle ทวางลงไปบนหนาตางบลอคไดอะแกรมครงแรกจะมอนพต 1 อนพตและมเอาตพต 2 อนพต เอาตพต Unbundle จะเปลยนไปตามอนพตทเปนคลสเตอร ตวอยางเชน มคลสเตอรอนพททมชนดของขอมลแตกตางกน 4 ชนด เมอตอสายของคลสเตอรเขากบอนพตของ Unbundle เอาตพตของ Unbundle จะเปลยนเปน 4 เอาตพตโดยอตโนมต

ตวอยาง

98

ภาพท 29 การใชงาน Unbundle function [33]

15. การใชงาน Charts และ Graph

- Waveform charts

การแสดงขอมลในลกษณะของ Charts เปนการแสดงการพลอตรปคลนสญญาณขอมล แบบหนงทสามารถพลอตขอมลทเปนสเกลลารและเปนอารเรยได การเรยกใชงาน คอเลอกท Controls

Palette » Graph » Waveform chart ดงภาพท 30

ภาพท 30 วธการเรยกใชงาน Waveform chart [33]

ตวอยาง

99

โดย Waveform charts ในโปรแกรม LabVIEW มเพยงชนดเดยวแตมคณสมบตในการแสดงขอมลทแตกตางกน 3 อยางคอ Strip chart, Scope chart และ Sweep chart ซงขอแตกตางของ Chart ทง 3 แบบอธบายไดคอ Strip chart มคณสมบตในการพลอตขอมลไปจนกวาจะหยดพลอตซงจะสงเกตเหนวาเสนของสญญาณขอมลทพลอตนนจะเลอนจากขวาไปซายตอเนองกนไป Scope

chart คณสมบตของการพลอตแบบนคอจะแบงเปนชวงของขอมลโดยการกาหนดทแกนเวลาเมอโปรแกรมทาการพลอตขอมลไปถงคาสดทายของชวงแรกแลวการพลอตขอมลของชวงตอไปโปรแกรมจะทาการลบกราฟในชวงแรกไปแลวเรมการพลอตใหมโดยเวลาเรมตนจะนบตอจากคาสดทายของชวงแรก Sweep chart จะทางานคลายกบ Scope chart แตเมอเรมทาการพลอตกราฟ ในชวงตอไปเสนกราฟในชวงแรกจะไมถกลบจะทางานในลกษณะพลอตทบเสนกราฟเดมและจะ มเสนสแดงในแนวตงเลอนจากซายไปขวาเพอแสดงถงจดการพลอตกราฟครงลาสดคณสมบตทง 3 ของ Waveform chart แสดงดงภาพท 31 เปนการแสดงคาของขอมลทเกบอยในอารเรยเทยบกบเวลาทรบเขามา

ภาพท 31 คณสมบตของ Waveform chart [33]

- Waveform graphs

แตกตางจาก Waveform chart คอการพลอตขอมลดวย Waveform graphs จะมการกาหนดจานวนของชวงขอมลอยางชดเจนจานวนขอมลทงหมดทอยในชวงของกราฟจะถกแสดงออกมาทงหมด การพลอตกราฟหลายเสนทาไดโดยการนาอารเรยแตละตวมาตอรวมเพอสรางอารเรยใหมจานวนเสนกราฟทแสดงจะเทากบมตของอารเรยการเรยกใชงาน Waveform graphs ทาไดคอเลอกท

Controls palette » Modern » Graph »Waveform graphs ลก ษ ณะ ของก ารพ ลอตก ราฟ ล งบ น

Waveform graph แสดงไดดงภาพท 32

ตวอยาง

100

ภาพท 32 คณสมบตของ Waveform graph [33]

16. PID Control toolkit

การใชฟงกชน PID ในการออกแบบระบบควบคมนนในโปรแกรม LabVIEW นนมเครองมอทสามารถนามาประยกตใช ใหเขากบทฤษฎระบบควบคมไดโดยงายและหลากหลาย การประยกตใชระบบควบคมแบบ PID และวธการใชงาน Function block ตาง ๆ ของ PID Toolkit

เพอทสามารถนาไปประยกตใชใหเหมาะสมกบกระบวนการทจะทาการควบคมตอไป

ภาพท 33 Panel icon ของ PID [33]

ภาพท 34 การเชอมตอสญญาณของฟงกชน PID [33]

ตวอยาง

101

การใชงานฟงกชนตวควบคม PID ภายในโปรแกรม LabVIEW นน จะตองมการเชอมตอสญญาณตาง ๆ ใหแกฟงกชน ดงแสดงไดในภาพท 34 โดยสญญาณตาง ๆ สามารถอธบายไดดงน

Set point คอ คาสญญาณอางอง

Process variable คอ คาสญญาณเปาหมายทตองการควบคม

Output คอ สญญาณควบคมทออกจากตวควบคม

Output rage คอ ชวงของสญญาณเอาตพตของตวควบคมพไอด

PID gains คอ คาพารามเตอรของตวควบคมพไอด

dt (s) คอ คาฐานเวลาการคานวณของตวควบคมพไอด

dt out (s) คอ เวลาทใชในการคานวณสญญาณควบคม

Reinitialize คอ การรเซทคาสญญาณควบคมใหกลบไปสสถานะเรมตน

ตวอยาง

102

ภาคผนวก ข

ผลงานวจยทเกยวของกบวทยานพนธทไดรบการตพมพ

ตวอยาง

103

ผลงานวจยทเกยวของกบวทยานพนธทไดรบการตพมพ

1. ชยพร ไทรเกต, สนต หวงนพพานโต, “การควบคมความดนในถงลมแบบอนกรม 2 ถงโดยใชพแอลซ”, การประชมวชาการเครอขายวศวกรรมไฟฟามหาวทยาลยเทคโนโลยราชมงคล ค รงท 8, Proceeding of The 8th Conference of Electrical Engineering Network of Rajamangala

University of Technology (EENET 2016), 2016.

2. ภาคภม ศรทองนวล, ชยพร ไทรเกต, สนต หวงนพพานโต : การศกษาการเตมอากาศเพอลดอณหภมของอปกรณอเลกทรอนกสในตควบคมลฟต (Studies on The Filling Air to Reducing

The Electronics Equipment Temperature in The Elevator Control Cabinet) การประชมวช า ก า ร

เรองการถายเทพลงงานความรอนและมวลในอปกรณดานความรอนและกระบวนการ (ครงท 15)

ระหวางวนท 30-31 มนาคม 2559 ณ โรงแรม แอล รสอรท สมย จงหวดสราษฎรธาน

ตวอยาง

104

ตวอยาง

105

ตวอยาง

106

ตวอยาง

107

ตวอยาง

108

ตวอยาง

109

ตวอยาง

110

ตวอยาง

111

ตวอยาง

Recommended