Transcript
Page 1: CH 3 LabVIEW Programing

Basic LabVIEW Programming

ก า ร เ ขี� ย น โ ป ร แ ก ร ม LabVIEW เ บื้�� อ ง ต้� นในบทน��เราจะเร�ยนร �ถึ�งวิ�ธี�การเขี�ยนโปรแกรมและวิ�ธี�การแก�ไขี

โปรแกรมใน LabVIEW เบ��องต้�น รวิมถึ�งการเร�ยนร �ถึ�ง Controls

และ Indicators แบบต้!างๆ รวิมถึ�งวิ�ธี�การเล�อกและควิามหมายขีองต้%วิเล�อกแบบต้!างๆ สำ'าหร%บ Controls และ Indicators แต้!ละแบบ นอกเหน�อจากน%�นในบทน��เราจะได้�เร�ยนร �ถึ�งวิ�ธี�การต้!อสำายในรายละเอ�ยด้ รวิมถึ�งการแก�ไขีการท'างานหร�อต้รวิจสำอบการท'างานขีอง VI  เม�)อเสำร*จสำ��นบทน��เราควิรจะสำามารถึเขี�ยน VI แบบง!ายๆ ได้�อย!างม�ประสำ�ทธี�ภาพ กล!าวิโด้ยสำร-ป ในบทน��เราม�จ-ด้ประสำงค.ท�)จะท'าควิามเ ขี� า ใ จ ใ น เ ร�) อ ง ต้! อ ไ ป น��

การก�าหนด Controls และ Indicators และชน�ดขีองต้�วแปรที่��ใช�ใน LabVIEW

การเปล��ยนแปลงร!ปแบื้บื้ขีอง object ต้"างๆ ร!�จั�กว�ธี�การใช�อ&ปกรณ์(บื้น Tool Palette แบื้บื้ต้"างๆ ร!�จั�กว�ธี�การแก�ไขีและต้รวจัสอบื้ VI

เร�ยนร!�ว�ธี�การสร�าง subVI จัาก VI

การ Save VI แบื้บื้ต้"างๆ

สำ'าหร%บในสำ!วินแรกน��เราจะท'าควิามร �จ%กก%บวิ�ธี�การเขี�ยนโปรแกรมเร�)มต้�น โด้ยใช้�ก�จกรรมท�) 1 เป0นการอธี�บายไปพร�อมๆก%น เพราะเราเช้�) อวิ!าค-ณจะสำามารถึเขี�าใจการใช้� เคร�) องม�อต้! างๆ บน Tools

Palette ได้�ด้�ย�)งขี��นหากม�การฝึ3กท'า ไปพร�อมๆ ก%นก%บการอธี�บาย

Page 2: CH 3 LabVIEW Programing

ในสำ!วินหล%งจะเป0นการอธี�บายวิ�ธี�การต้รวิจสำอบ การแก�ไขี VI

และการสำร�าง SubVI เพ�)อให�เราสำามารถึน'า VI ท�)เราเขี�ยนน��ไปใช้�ใน VI

อ�) น ไ ด้� เ ม�) อ เ ร า ต้� อ ง ก า ร

1. Creating VI ในห%วิขี�อแรกน�� จะเป0นการเสำนอรายละเอ�ยด้เบ��องต้�นเก�)ยวิก%บการเขี�ยน VI

การวิางร ปแบบและการปร%บเปล�)ยนล%กษณะและขีนาด้ขีอง VI เหล!าน%�น การใช้�เคร�)องม�อต้!างๆบน Tools Palette การใช้�ป-5มบางแบบบน Toolbar และวิ�ธี�การต้!อสำ า ย ใ น Block Diagram

ACTIVITY 3.1

20 น า ที่�

ก�จกรรมน��จะเป0นการอธี�บายการท'างานขีองเคร�)องม�อต้!างๆ เราจะอธี�บายด้�วิยการสำร�าง VI แบบง!ายๆขี��น คล�ายก%บก�จกรรมสำ-ด้ท�ายขีองบทท�)ผ่!านมา แต้!จะเพ�)มรายละเอ�ยด้ขีองการใช้�อ-ปกรณ.ต้!างๆบน Tools Palette ให�มากย�)งขี��น ก� จ ก ร ร ม ม� ล'า ด้% บ ขี%� น ต้ อ น ต้! อ ไ ป น��

1. เ ป7 ด้ VI ใ ห ม! เ ล� อ ก New VI

2. ท'าให� Front Panel อย !ในสำภาพพร�อมใช้�งานในขีณะน�� Controls Palette ควิรจะปรากฏให�เห*นด้�วิย ถึ�าไม!ปรากฏให�เห*นใช้�ค'าสำ%)ง Show Controls Palette

ภ า ย ใ ต้� Windows Menu

3. เล�)อนล กศรไปบนป-5มต้!างๆ บน Controls Palette สำ%งเกต้ด้ การเปล�)ยนช้�)อขี อ ง subpalette ต้! า ง ๆ ด้� า น บ น

4. การเล� อก Control และ Indicator เ รา สำามารถึ เล� อกจา ก Numeric

Subpalette ภายใต้� Control Palette ในทางปฏ�บ%ต้�แล�วิ Numeric ท-กต้%วิเป0นได้�ท%�ง Control และ Indicator แต้! LabVIEW อาจจะต้%�งค!าเบ��องต้�นให�เป0นไปต้ามควิามเป0นจร�งในการใช้�งานมากท�)สำ-ด้ ยกต้%วิอย!างเช้!น ป-5มหม-นจะม�ค!าเ ร�)ม ต้� น เ ป0 น Control, เ ขี* ม ม า ต้ ร วิ% ด้ จ ะ ม� ค! า เ ร�)ม ต้� น เ ป0 น Indicator,

เทอร.โมม�เต้อร. จะม�ค!าเร�)มต้�นเป0น Indicator, ป-5มปร%บเล�)อนจะม�ค!าเร�)มต้�นเป0น Control เป0นต้�น เพราะธีรรมช้าต้�ขีองอ-ปกรณ.เหล!าน%�นท�)ปรากฏบนหน�า

Basic LabVIEW Programming3-2

Page 3: CH 3 LabVIEW Programing

ป:ทม.ขีองเคร�)องม�อจร�ง เราคงไม!เคยเห*นเคร�)องม�อใด้ท�)ใช้�ป-5มหม-นเป0นต้%วิแ สำ ด้ ง ค! า ห ร� อ ใ ช้� เ ขี* ม ช้�� เ ป0 น ต้% วิ ก'า ห น ด้ ค! า ค วิ บ ค- ม

5. อย!างไรก*ต้ามเน�)องจาก Front Panel ขีอง LabVIEW เป0นเคร�)องม�อเสำม�อนจร�ง ด้%งน%�นท-กอย!างเป0นไปได้� เราจะสำามารถึเปล�)ยนอ-ปกรณ.ท-กแบบเป0น Control หร�อ Indicator ได้� โด้ยใช้�ค'าสำ%)ง Change to Control/Indicator ภายใ ต้� Pop-up menu ขี อ ง object น%� น

6. เล�อก Numeric Subpalette บน Controls Palette โด้ยการกด้เมาสำ.ป-5มซ้�าย Numeric Subpalette จะปรากฏขี��น ลองเล�)อนเมาสำ.เพ�)อด้ รายช้�)อต้!างๆ ขี อ ง Subpalette น%� น

7. เ ล� อ ก Digital Control โ ด้ ย ก ด้ เ ม า สำ. ป-5 ม ซ้� า ย8. เล�)อนเมาสำ.กล%บมาท�) Front Panel เม�)อล กศรอย !ในบร�เวิณ Front Panel เรา

จะเห*นรอยเสำ�นประขีอง Digital Control ปรากฏขี��น เล�อกวิาง Digital

Control ไ วิ� ใ น ต้'า แ ห น! ง ท�) ต้� อ ง ก า ร

9. หากเรากด้เมาสำ.เพ�)อวิางต้'าแหน!งบน Front Panel แล�วิเราย%งไม!พอใจในต้'าแหน!งท�)วิาง เราสำามารถึเปล�)ยนต้'าแหน!งได้�โด้ยไปท�) Tools Palette แล�วิเล�อก Positioning Tool ต้%วิช้��ขีองเมาสำ.จะเป0นล กศรสำ�ด้'า หากเราน'าเมาสำ.ไปกด้บร�เวิณ Numerical Control ท�)สำร�างขี��นจะปรากฏเสำ�นประรอบๆ Control น%�น เราสำามารถึท�)จะขียายหร�อเปล�)ยนวิางต้'าแหน!งได้�ลองท'าต้ามขี%� น ต้ อ น น�� ด้

10. ลองวิาง Numerical Control อ�กอ%นหน�)งลงบน Front Panel คราวิน��ลองสำ%งเกต้ด้ อ�กคร%�งวิ!าหล%งจากท�)เราวิางเสำร*จจะม�สำ�)เหล�)ยมสำ�ด้'าปรากฏอย !เหน�อ Control น%�นซ้�)งเหม�อนก%บคราวิก!อนแต้!เราไม!ได้�ให�ควิามสำนใจเท!าน%�น เพราะท-กคร%�งท�)เราวิาง Indicator หร�อ Control ลงไป LabVIEW จะเต้ร�ยมพร�อม

Basic LabVIEW Programming3-3

Page 4: CH 3 LabVIEW Programing

ท�)จะร%บช้�) อหร�อ Labels ขีอง Control หร�อ Indicator น%�น ใน Numerical

Control อ% น ท�) 2 น�� ใ ห� เ ร า ใ สำ! ช้�) อ B ล ง ไ ป11. น'าเมาสำ.ไปช้��บร�เวิณ Numerical control อ%นแรก แล�วิกด้เมาสำ.ป-5มขีวิา เพ�)อ

เร�ยก Pop-up menu ขี��นมาจากน%�นเล�อก ShowLabel ช้!องสำ�ด้'า เหน�อ Control น��จะเก�ด้ขี��นและเราสำามารถึท�)จะก'าหนด้ช้�)อขีอง Control น��ได้� เราจะใ ห� ช้�) อ Control น�� วิ! า A

12. เล�อก Position Tool ต้%วิช้��ขีองเมาสำ.จะเป0นล กศร น'า ไปกด้ท�)บร�เวิณ Numerical Control ท�)สำร�างขี��นจะปรากฏเสำ�นประรอบๆ Control น%�น หากเราเคล�)อนย�ายต้'าแหน!งขีอง Numeric Control สำ!วินต้!างๆท%�งหมด้จะต้�ด้ต้ามก%นไปด้�วิย แต้!ถึ�าเราน'าเมาสำ.ไปกด้เฉพาะท�) label เราสำามารถึจะเคล�)อนย�ายเ ฉ พ า ะ สำ! วิ น label ขี อ ง control น%� น เ พ� ย ง อ ย! า ง เ ด้� ย วิ ไ ด้�

13. สำ ร� า ง Numerical Control อ� ก 1 อ% น โ ด้ ย ต้%� ง ช้�) อ เ ป0 น A*B

14. ถึ�าเราต้�องการน'าค!าจาก Control A และ B มารวิมก%นแล�วิแสำด้งผ่ลบน Control A*B จะท'า ไม!ได้� เพราะ Control A+B จะร%บค!าไม!ได้� หากเราจะแสำด้งค!าขีองขี�อม ลเราต้�องใช้� Indicator ต้ามท�)เราทราบมาแล�วิจากบทท�)ผ่! า น ม า

15. การแก� ไขีท'า ได้� โด้ยจาก Pop-up menu ขีอง A*B เล�อก Change to

Indicator เราก*สำามารถึเปล�)ยนจาก Numerical Control เป0น Numerical Indicator A*B

16. ขี%�นต้!อไปจะลองวิ�ธี�การค%ด้ลอก object โด้ยม�วิ�ธี�การด้%งน�� เล�อก Position

Tool น'าไปกด้ท�)บร�เวิณ Numerical Indicator A*B จะปรากฏเสำ�นประรอบๆ Indicator น%�น หากเราต้�องการจะ Copy สำ!วินน�� ภายใต้�เมน Edit

เล�อกค'าสำ%)ง Copy จากน%�นหากต้�องการค%ด้ลอก object น%�นลงบน Front

Panel ท'า ได้�โด้ยภายใต้�เมน Edit เล�อก Paste จะปรากฏ Indicator ช้�) อเ ด้� ย วิ ก% น น�� ขี�� น อ� ก ต้% วิ ห น�) ง แ ล ะ จ ะ ม� ค'า วิ! า copy 2 ต้! อ ท� า ย ช้�) อ เ ด้� ม

17. เราสำามารถึเปล�)ยนช้�)อขีอง object ท�)สำร�างขี��นแล�วิน'ามากด้บร�เวิณช้�)อขีอง Indicator ท�)สำร�างขี��นใหม! เราจะพบวิ!าเราสำามารถึแก�ไขีช้�)อน%�นได้�โด้ยการเล�อก Label Tool จาก Tools Palette แล�วิน'าน'าเมาสำ.มากด้บร�เวิณช้�)อ Label ท�)เราต้�องการแก�ไขี เราจะพบวิ!าเม�)อกด้เมาสำ.ไปแล�วิเราสำามารถึท�)จะแก�ไขีต้%วิหน%งสำ�อเหล!าน%�นได้� ให�แก�ไขีช้�)อเป0น A/B

และให�สำ%งเกต้อ�กอย!างหน�)งค�อเม�)อพ�มพ.เสำร*จแล�วิหากเรากด้ Enter บนแป=น

Basic LabVIEW Programming3-4

Page 5: CH 3 LabVIEW Programing

พ�มพ. เราจะพบวิ!าเราจะได้�บรรท%ด้ขีอง Label น%�นเพ�)มขี��นอ�กบรรท%ด้หน�)ง ซ้�)งไม!ใช้!สำ�)งท�)เราต้�องการ วิ�ธี�การท�)ถึ กต้�องค�อใช้�เมาสำ.กด้ Button ท�)เขี�ยนวิ!า Enter บ น Toolbar ห ร� อ ใ ช้� เ ม า สำ. ก ด้ น อ ก Text Box น%� น ๆ

18. ขี%�นต้!อไปเราจะสำร�างต้%วิหน%งสำ�อขี��นบน Front Panel โด้ยอ%นด้%บแรกเล�อก Label Tool จากน%�นให�เรากด้เมาสำ.ในบร�เวิณท�)เราต้�องการเขี�ยนขี�อควิาม จะปรากฏม� Text Box เล*กๆขี��นเราสำามารถึใสำ!ขี�อควิามได้� ถึ�าเราไม!ใสำ!ขี�อควิามใด้ๆ แล�วิน'าเมาสำ.ไปกด้ท�)ใหม! Text Box เด้�มจะหายไป ให�เราวิางกล!องขี�อควิามบร�เวิณด้�านบน VI แล�วิพ�มพ.ค'าวิ!า Simple Calculator

19. หากเราต้�องการแก�ไขีร ปแบบต้%วิหน%งสำ�อ อ%นด้%บแรกเล�อก Label Tool

แล�วิน'า ไปเน�นขี�อควิามบร�เวิณท�) เราต้�องการแก�ไขี จากน%�นใช้� Font Ring ท�)อย !บน Toolbar ในการแก�ไขีเปล�)ยนแปลงร ปแบบต้% วิอ% กษร ร ป แบบต้% วิอ% กษร ใน LabVIEW เป0 นด้%งน��

Application Font เป0น font หร�อแบบต้%วิหน%งสำ�อท�)ใช้�ก%บต้% วิหน%งสำ�อบน Controls Palette, Function

Palette แ ล ะ ต้% วิ ห น% ง สำ� อ สำ'า ห ร% บ Controls ใ ห ม! System Font จ ะ ใ ช้� ก% บ ต้% วิ ห น% ง สำ� อ ใ น เ ม น Dialog Font จะใช้�สำ'าหร%บต้%วิหน%งสำ�อใน Dialog Box

ต้! า ง ๆ

20. หากเราต้�องการจะเปล�)ยนแปลงต้%วิอ%กษรท%�งกล-!ม เราไม!จ'าเป0นต้�องใช้� Label

Tool เน�นท�)ต้%วิอ%กษรน%�นก*ได้� แต้!ใช้� Positioning Tool เล�อก Text

Box หร�อ object น%�นท%�งหมด้ สำ!วินท�)ถึ กเล�อกจะปรากฏเสำ�นประขี��นรอบๆ จากน%� น เ ล� อ ก แ บ บ ต้% วิ ห น% ง สำ� อ จ า ก Front Ring

21. ให�เปล�)ยนต้%วิหน%งสำ�อ Simple Calculator เป0นขีนาด้ 24 pt ต้%วิหนา และม�สำ'าน'�า เ ง� น

22. เปล�)ยน Label A, B, A*B, A/B เป0นต้%วิขีนาด้ 18 pt การเล�อกหลายๆ object พร�อมๆก%นอาจใช้� Positioning Tool เล�อกโด้ยเม�)อเล�อกต้%วิแรกแล�วิให�กด้แป=น Shift ค�างไวิ�แล�วิเล�อกต้%วิอ�)นๆต้!อไป เสำ�นประร ปกรอบสำ�)เหล�)ยมป ร ะ จ ะ ขี�� น ก% บ ท- ก object ท�) เ ล� อ ก

Basic LabVIEW Programming3-5

Page 6: CH 3 LabVIEW Programing

23. ขี%�นต้!อไปจะเป0นวิ�ธี�การเปล�)ยนสำ� Control หร�อ Indicator โด้ยสำ�จะแบ!งเป0นสำองสำ!วินค�อสำ!วินหน�า Foreground และสำ�พ��นหล%ง Background เราสำามารถึจะเปล�)ยนสำ�ได้�โด้ยใช้� Coloring Tool โด้ยเราสำามารถึจะเปล�)ยนท%�งสำ�พ��นและสำ�ด้�านหน�าหร�อท%�งสำองสำ!วินพร�อมก%นได้� เม�)อเราเล�อกเคร�)องม�อน��จาก Tools Palette แล�วิน'าเมาสำ.ไปกด้ด้�วิยป-5มขีวิาท�) object ใ ด้ เ ร า จ ะ ไ ด้� ห น� า ต้! า ง ต้ า ม ร ป

24. เม�)อเราเล�)อนเมาสำ.ไปบนสำ�ต้!างๆ object จะเปล�)ยนไปต้ามสำ�ท�)เราเล�อก ถึ�าเราเล�อกให�เปล�)ยนเฉพาะสำ�ด้�านหน�าให�กด้แป=น F (มาจาก Foreground) ถึ�าต้�องการเล�อกเปล�)ยนเฉพาะด้�านหล%งให�กด้แป=น B (มาจาก Background)

ถึ�าต้�องการเปล�)ยนท%�งสำองพร�อมก%นให�ใช้�เมาสำ.กด้ท�) A ถึ�าต้�องการสำ�เพ�)มให�ใช้�เมาสำ.กด้ท�) More… สำ'าหร%บสำ�ท�)เขี�ยนเป0นต้%วิ T ค�อสำ�โปร!งใสำ (Transparent)

25. ให�เปล�)ยนสำ�ขีอง Control A ให�ม�สำ�พ��นเป0นสำ�ด้'า และให�ต้%วิเลขีท�)ปรากฏให�เป0นสำ�เ ขี� ย วิ

26. หากเราต้�องการจะค%ด้ลอกสำ�ท�)ม�อย !เด้�มเราสำามารถึใช้� Color Copy Tool

โด้ย เม�) อเล�อกเคร�)องม�อน��แล�วิ น'า ไปกด้ในท�)ม�สำ�ท�) ใด้ สำ�ใน Coloring Tool จะเปล�)ยนต้ามไปก%บสำ�น%�น ซ้�)งเราสำามารถึสำ%งเกต้การเปล�)ยนแปลงได้�จาก Tool Palette ขีอให�ลองใช้�เ ค ร�) อ ง ม� อ น�� ด้

27. เ ม�) อ ถึ� ง ขี%� น ต้ อ น น�� เ ร า ค วิ ร จ ะ ไ ด้� Front Panel ต้ า ม ร ป

Basic LabVIEW Programming3-6

Page 7: CH 3 LabVIEW Programing

28. ขี%�นต้!อไปเราจะพ�จารณาในสำ!วินขีอง Block Diagram ซ้�)งเราได้�พบจากก�จกรรมในบทท�)ผ่!านมาแล�วิวิ!าท-กคร%�งท�)สำร�าง object บน Front Panel จะปรากฏ terminal ขี��นบน Block Diagram ขี%�นแรกเราจะลองต้กแต้!งวิางต้'าแหน!งต้!างๆบน Block Diagram ให�เป0นระเบ�ยบก!อน อ%นด้%บแรกเราจะใช้�เคร�)องม�อช้!วิยในการจ%ด้วิาง object ซ้�)งจะ ม� 2 แบบอย !บน Toolbar โด้ย แบบท�) 1 จะเป0นการจ%ด้วิางแนวิ (Alignment Ring) ใช้�เม�)อต้�องการวิางแนวิขีอง object ให�อย !ในล%กษณะท�)ต้�องการ และแบบท�)สำองค�อการจ%ด้ระยะห!าง (Distribution Ring) ใช้�เม�)อต้�องการจ%ด้ระยะห!างให�เป0นไปต้ามท�)เราต้�องการ วิ�ธี�การใช้�อ%นด้%บแรกให�เราเล�อก object ท�)ต้�องการจะจ%ด้แนวิต้%�งแต้! 2 object ขี��นไปก!อน แล�วิจ�งเล�อกวิ!าจะจ%ด้แนวิใด้ โด้ยใน Ring

ท%�งสำองจะม� subpalette ย!อยล%กษณะด้%งท�)แสำด้งในร ป ร ปบน Palette เหล!าน��คงจะสำามารถึอธี�บายต้%วิเล�อกขีองการจ%ด้วิางได้�เป0นอย!างด้�อย !แล�วิ

29. จ%ด้วิาง terminal ให�อย !ในแนวินอนและแนวิต้%�งเด้�ยวิก%นต้ามร ป วิ�ธี�การเล�อก object หลายๆอ%นพร�อมก%นอ�กวิ�ธี�หน�)งนอกจากใช้�ป-5ม Shift พร�อมก%บ Position Tool เล�อกท�)ละ object แล�วิ เราย%งสำามารถึท'าได้�โด้ย Position Tool กด้ท�)บร�เวิณขี�างๆ object ท�)ต้�องการจะเล�อก

Basic LabVIEW Programming3-7

Page 8: CH 3 LabVIEW Programing

แล�วิกด้ค�างไวิ�จากน%�นด้�งเมาสำ.ขียายออกเราจะเห*นสำ�)เหล�)ยมเป0นเสำ�นประ ต้ามท�)แสำด้งในร ปเม�)อเราปล!อยเมาสำ. object ท�)อย !ในก ร อ บ สำ�) เ ห ล�) ย ม จ ะ ถึ ก เ ล� อ ก

30. ท�) Functions Palette เล� อก Numeric Subpalette และ เล� อก Multiply

Function จากน%�นวิางลงไปบน Block Diagram จากน%�นเล�อก Division

Function จาก Numeric subpalette บน Functions Palette แล�วิวิางลงบน Block Diagram

31. อ%นด้%บต้!อไปเราจะเร�)มการต้!อเช้�) อมสำายขีอง terminal ต้!างๆบน Block

Diagram เขี�าด้�วิยก%น ขี%�นแรกไปท�) Tools Palette เล�อก Wiring Tool

เม�)อกล%บเขี�าหาใน Block Diagram ต้%วิช้��ขีองเมาสำ.จะเป0นร ปสำายไฟ สำ'าหร%บรายละเอ�ยด้และขี%�นต้อนการวิางสำายเราจะกล!าวิถึ�งต้!อไปในสำ!วินหล%งขีองบทน�� ใ น ขี%� น น�� ขี อ ใ ห� ต้! อ สำ า ย ต้ า ม ท�) แ สำ ด้ ง ใ น ร ป ต้! อ ไ ป น��

Basic LabVIEW Programming3-8

Page 9: CH 3 LabVIEW Programing

32. ท�) Toolbar ร ปล กศร Run จะอย !ในสำภาพพร�อม ค�อ เป0นล กศรต้!อสำ�ขีาวิ เราก ล% บ ไ ป ท�) Front Panel แ ล ะ ขี อ ใ ห� ท ด้ ล อ ง ใ ช้� Continuous Run

33. หย-ด้การท'างานโด้ยกด้ป-5ม Abort ท'าให� VI หย-ด้ท'างานกล%บมาอย !ในโหมด้แ ก� ไ ขี

34. จ า ก File Menu เ ล� อก Save แ ล ะ บ%น ท� ก VI ด้� วิ ยช้�) อ Activity 3.1

ก�จกรรมน��คงจะท'าให�เราเขี�าใจการใช้�เคร�)องม�อต้!างๆ บน Tool Palette

ได้�ด้�ย�)งขี��น เราจะค-�นเคยการใช้�เคร�)องม�อต้!างๆมากย�)งขี��นเม�)อเราท'าก�กรรมเพ�)มขี��นเร�)อยๆ

ก�จกรรมน��จะม�การอธี�บายขี%�นต้อนและรายละเอ�ยด้ค!อนขี�างมากเพราะเราค�ด้วิ!าค-ณย%งใหม!และย%งไม!ค-�นเคยก%บการใช้�เคร�)องม�อต้!างๆมากน%ก อย!างไรก*ต้ามหล%งจากก�จกรรมน��ไปแล�วิการอธี�บายก�จกรรมต้!างๆ อาจจะสำ%�นลงหล%งจากท�) ค- ณ ไ ด้� ค-� น เ ค ย ก% บ LabVIEW แ ล� วิ

2. Properties of Controls and Indicatorsในก�จกรรมท�)ผ่!านมาเราได้�ทราบถึ�งหน�าท�)ขีอง Control และ Indicator มา

บ�างแล�วิ ในสำ!วินน��จะเป0นการกล!าวิถึ�งค-ณสำมบ%ต้�ต้!างๆขีอง Control และ Indicator รวิมถึ�งวิ�ธี�การแก�ไขีเปล�)ยนแปลงค!าค-ณสำมบ%ต้�ท�) LabVIEW ได้�ต้% �งเป0นค! า เ ร�) ม ต้� น ใ ห� ด้� วิ ย

Representation

Basic LabVIEW Programming3-9

Page 10: CH 3 LabVIEW Programing

ล%กษณะขีองขี�อม ลท�)ปรากฏใน terminals ต้!างๆภายใน Black Diagram จะขี�� นอย !ก%บการก'า หนด้ร ปแบบการแทนค!า (Representation) ขีองขี�อม ล การเล�อกร ปแบบการแทนค!าจะเป0นวิ�ธี�การเก*บขี�อม ลในหน!วิยควิามจ'าให�ในคอมพ�วิเต้อร. เราควิรจะเล�อกการก'าหนด้ร ปแบบการแทนค!าขี�อม ลให�เหมาะสำมก%บช้น�ด้ขีองขี�อม ลท�)ใช้� เพราะจ'าท'า ให�การใช้�หน!วิยควิามจ'าม�ประสำ�ทธี�ภาพมากขี��น ยกต้%วิอย!างเช้!น เลขีจ'านวินเต้*ม (integer) จะใช้�หน!วิยควิามจ'าน�อยกวิ!าเลขีทศน�ยม (Floating point) ด้%งน%�นเม�) อเราทราบแน!นอนวิ!าต้%วิเลขีควิรจะม�ค!าเท!าก%บจ'านวินเต้*ม 2 พอด้� เราก*ไม!ควิรจะเก*บในหน!วิยควิามจ'าด้�วิย 2.00 เป0นต้�น นอกจากน��ต้%วิเลขีอาจจะเก*บไวิ�แบบม�เคร�)องหมาย (sign) ค�อเป0นได้�ท%�ง บวิก ลบ หร�อ ศ นย. หร�ออาจจะเก*บแบบ unsign หร�อแบบไม!ม�เคร�)องหมาย ค�อ เป0นบวิกหร�อศ นย.เ ท! า น%� น

ภายใน Block Diagram เราจะพบวิ!า terminal ต้!างๆจะแสำด้งร ปแบบการแทนค!า หร�อ Representation ขีองต้%วิเลขีต้!างก%น เราสำามารถึบอกร ปแบบการแทนค!าขีองขี�อม ลเหล!าน%�นด้�วิยต้%วิหน%งสำ�อย!อ และล%กษณะขีองสำ� เช้!นเลขีจ'านวินเต้*มจะเป0นสำ�น'�าเง�น สำ!วินเลขีทศน�ยมจะเป0นสำ�สำ�ม เป0นต้�นและภายใน terminal จะม�ต้%วิย!อ เช้!น DBL จะแทนเลขีแบบ Double-Precision Floating-Point เป0นต้�น ล%กษณะขีองขี�อม ลท�) เป0นต้%วิเลขี LabVIEW ได้� ใช้�เป0นสำ%ญล%กษณ.ก'า หนด้ Representation ใ น Block Diagram ไ ด้� แ สำ ด้ ง ใ น ต้ า ร า ง ต้! อ ไ ป น��

การแที่น ต้�วย"อใน terminal ขีนาด (bytes)

Byte I8 1

Unsigned byte U8 1

Word I16 2

Unsigned word U16 2

Long I32 4

Basic LabVIEW Programming3-10

Page 11: CH 3 LabVIEW Programing

การแที่น ต้�วย"อใน terminal ขีนาด (bytes)

Unsigned long U32 4

Single precision SGL 4

Double precision DBL 8

Extended precision EXT 10

Complex single CSG 8

Complex double CDB 16

Complex extended CXT 20

เราสำามารถึท�)จะเปล�)ยนแปลง Representation ขีองค!าคงท�), Control หร�อ Indicator ไ ด้� โ ด้ ย ก า ร ใ ห� Pop-up menu ขี อ ง object น%� น แ ล� วิ เ ล� อ ก Representation ต้ามควิามต้�องการ การเล�อกร ปแบบต้%วิเลขีให�เหมาะสำมน��จะช้!วิยให�เราประหย%ด้หน!วิยควิามจ'าได้�มาก โด้ยเฉพาะในกรณ�ท�)เราจะต้�องใช้� Arrays ในห ล า ย ม� ต้� จ'า น วิ น ม า ก

นอกจากน��เราย%งม�วิ�ธี�การเล�อกการก'าหนด้ร ปแบบต้%วิเลขีให�เหมาะสำมก%บแหล!งขี�อม ล โด้ยใช้�ต้%วิเล�อก Adapt to Source จาก Pop-up menu ซ้�)งวิ�ธี�น�� LabVIEW จะจ%ด้การเล�อกร ปแบบต้%วิเลขีให�เหมาะสำมก%บช้น�ด้ขีองขี�อม ลท�)จะเขี�าสำ ! terminal น%� น โ ด้ ย อ% ต้ โ น ม% ต้�

Format and Precisionการแสำด้งค!าขีองขี�อม ลท�)ปรากฏใน Control และ Indicator บน Front

Panel ขีอง VI เราสำามารถึจะก'าหนด้ร ปแบบ (Format) และต้'าแหน!งทศน�ยม (Precision) ขี อ ง ต้% วิ เ ล ขี น%� น ไ ด้�

การท�)จะเล�อกร ปแบบสำามารถึท'าได้�โด้ยใช้� Pop-up menu ขีอง object ท�)ต้�องการ จากน%�นเล�อก Format & Precision สำ'า หร%บการเล�อกร ปแบบน%�น อ%นด้%บแรกเราต้�องเล�อกวิ!าต้%วิเลขีท�)จะแสำด้งน%�นเป0นค!าท�)จะใช้�แสำด้งต้%วิเลขี (Numeric) หร�อใช้�แสำด้ง วิ%น-เวิลา (Time & Date) หล%งจากเล�อกร ปแบบหล%กแ ล� วิ เ ร า สำ า ม า ร ถึ เ ล� อ ก ร ป แ บ บ ย! อ ย ต้! อ ไ ป ไ ด้� อ� ก

Basic LabVIEW Programming3-11

Page 12: CH 3 LabVIEW Programing

ถึ�าเราเล�อกร ปแบบหล%กวิ!าเป0นแบบ Numeric จาก Format Ring ซ้�)งเป0นค!าเร�)มต้�นท�) LabVIEW ต้%�งขี��นไวิ� เราจะได้�ล%กษณะหน�าต้!างเป0นไปต้ามร ป

การเล�อกต้'าแหน!งทศน�ยมท�)จะแสำด้งใน Control หร�อ Indicator จะเล�อกด้�วิยการใสำ!จ'า นวินต้%วิเลขี ใน Digits of Precision นอกเหน�อจากน%�นเราย%งสำามารถึเล�อกให�แสำด้งต้%วิเลขีเป0นแบบทศน�ยมปกต้� หร�อ แบบอ�)น เช้!น Scientific

Notation เป0นต้�น สำ!วินในอ�กกรณ�ค�อถึ�าหากใน Format ring เราเล�อกท�)จะให�แ สำ ด้ ง Time & Date เ ร า จ ะ ไ ด้� ห น� า ต้! า ง ล% ก ษ ณ ะ ต้ า ม ร ป ต้! อ ไ ป น��

ซ้�) ง เ ร า สำ า ม า ร ถึ ท�) จ ะ เ ล� อ ก ต้% วิ เ ล� อ ก ต้! า ง ๆ ไ ด้� ต้ า ม ท�) เ ร า ต้� อ ง ก า ร

Basic LabVIEW Programming3-12

Page 13: CH 3 LabVIEW Programing

ในกรณ�ท�)เราแสำด้งค!าด้�วิยเขี*มหร�อป-5มหม-น อาจจะเป0นการยากท�)จะอ!านค!าได้�อย!างละเอ�ยด้หร�อในบางกรณ�เราอาจต้�องการแสำด้งค!าน��ไปพร�อมๆก%น เราสำามารถึท�)จะให� LabVIEW แสำด้งต้%วิเลขีไปพร�อมๆ ก%นได้� โด้ยใช้� Pop-up menu

แล�วิเล�อก Show Digital Display และสำ!วินน��จะเป0นสำ!วินหน�)งขีอง object ด้%งน%�นจะไม!ปรากฏใน Block Diagram อ�ก กล!าวิค�อ LabVIEW จะมอง Digital

Display สำ!วินน��เป0นสำ!วินหน�)งขีอง object น%�น อย!างไรก*ต้าม Digital Display

ขีอง object ท�)ปรากฏบน Front Panel สำามารถึเล�)อนไปมาบน Front Panel ได้�อ ย! า ง อ� สำ ร ะ ไ ม! จ'า เ ป0 น ต้� อ ง ต้� ด้ อ ย ! ก% บ object ห ล% ก ต้ ล อ ด้ เ วิ ล า ก* ไ ด้�

Data Range

การออกแบบ VI ให�ผ่ �ใช้�น'าไปใช้�งานน%�น ในบางคร%�งเราต้�องการท�)จะบ%งค%บช้!วิงขีองต้%วิเลขีท�)ผ่ � ใช้�จะน'า ไปใช้�ควิบค-มให�อย !ในช้!วิงท�)แน!นอน เช้!นเราอาจต้�องการให�ค!าเปล�)ยนแปลงจาก -1 ถึ�ง 1 เท!าน%�น หร�อต้�องการก'าหนด้วิ!าหากผ่ �ใช้�กด้ป-5มล กศรขี��นหร�อลงเพ�)อเปล�)ยนค!าเราจะให�ต้%วิเลขีเปล�)ยนไปท�)จะ 0.1 การก'าหนด้ท�)จะต้%�งต้%วิเลขีเหล!าน��สำามารถึท'าได้�โด้ยการก'าหนด้ Data Range ขีอง Control ห ร� อ Indicator เ ห ล! า น%� น

จาก Pop-up menu ขีอง object น%�น เล�อก Data Range... เราจะ ได้�ห น� า ต้! า ง ขี อ ง Data Rang ซ้�) ง ม� ล% ก ษ ณ ะ ด้% ง ต้! อ ไ ป น�� ป ร า ก ฏ ขี�� น

จากสำ!วินน�� เราสำามารถึก'าหนด้ค!าสำ งสำ-ด้ (Maximum) ต้')าสำ-ด้ (Minimum)

การเพ�)มหร�อลด้ เม�) อกด้ป-5มล กศรขี��นลง (Increment) สำ'าหร%บค!าเบ��องต้�นจะแสำด้งในร ปขี�างบนน�� โด้ย inf. จะแทน Infinity สำ!วินการก'าหนด้ในช้!อง Default

Basic LabVIEW Programming3-13

Page 14: CH 3 LabVIEW Programing

จะเป0นการก'าหนด้ค!าเร�)มต้�นหร�อค!าท�)เราก'าหนด้เม�) อ VI เร�)มเขี�าสำ !โหมด้การท'า ง า น

สำ!วินสำ'าค%ญอ�กสำ!วินหน�)งก*ค�อจะให� LabVIEW ท'าอย!างหากผ่ �ใช้�ใสำ!ต้%วิเลขีเก�นกวิ!าช้!วิงท�) เราได้�ก'า หนด้ ในร ปเราจะเห*นวิ!าม� If value is Out of

Range ซ้�)งเป0น ring อย ! เราสำามารถึเล�อกวิ�ธี�การใน ring น��ได้� 3 แบบ ค�อ

1. Ignore ค�อไม!ต้�องสำนใจ ให�ใช้�ค!าท�)ผ่ �ใช้�ใสำ!ลงไปเลย ในกรณ�น��ถึ�าผ่ �ใช้�ใช้�วิ�ธี�กด้ล กศรขี��นลง ค!าขี�อม ลจะหย-ด้อย !ท�)ต้')าสำ-ด้หร�อสำ งสำ-ด้ แต้!ถึ�าผ่ �ใช้�เล�อกใช้�วิ�ธี�ใสำ!ต้%วิเลขีโด้ยต้รงทางแป=นพ�มพ.แล�วิกด้ Enter ช้!องขี�อม ลก*จะแสำด้งค!าท�)ผ่ �ใช้�ใสำ!ลงไป และ LabVIEW จะท'างานต้!อไปโด้ยใช้�ขี�อม ลเป0นต้% วิ เลขีท�)ผ่ � ใ ช้� ใ สำ! และ ไม!สำน ใจค! าต้% วิ เลขีสำ งสำ-ด้หร�อต้')า สำ-ด้

2. Coerce ค�อ ปร%บให�ต้%วิเลขีอย !ในช้!วิงค!าท�)ก'าหนด้แล�วิท'างานต้!อไป โด้ยถึ�าค!าสำ งกวิ!าค!าสำ งสำ-ด้ LabVIEW จะปร%บให�เท!าก%บค!าสำ งสำ-ด้แล�วิท'างานต้!อไป ถึ�าค!าต้')ากวิ!าค!าต้')าสำ-ด้ LabVIEW ก*จะปร%บให�เท!าก%บค!าต้')าสำ-ด้ แ ล� วิ ท'า ง า น ต้! อ ไ ป

3. Suspend ถึ�าเราเล�อกต้%วิเล�อกน��แล�วิขี�อม ลออกนอกช้!วิงท�)ก'าหนด้ LabVIEW จะระง%บการประมวิลผ่ล control ท�)ก'าหนด้ค!าน%�นจะปรากฏกรอบสำ�แด้งขี��นรอบ และป-5ม RUN จะม�วิงกลมสำ�แด้งพร�อมเสำ�นทะแยงคาด้ท%บวิางอย ! ผ่ �ใช้�จะต้�องปร%บค!าให�อย !ในช้!วิงก!อน LabVIEW จ�งจะท'า ง า น ต้! อ ไ ป

ถึ�าหากวิ!าต้�องการกล%บไปใช้�ค!าท�) LabVIEW เต้ร�ยมไวิ�ให� ให�กด้ป-5ม Use

Default Value เพ�)อให�ค!ากล%บมาเป0นค!าเร�)มต้�นท�) LabVIEW เห*นวิ!าม�ควิามเหมาะสำ ม ท�) สำ- ด้

3. Others Controls and Indicatorsท�)ผ่!านมาเราม%กจะเล�อก Control และ Indicator ท�)ปรากฏอย !ภายใน

Numeric Subpalette ในก�จกรรมต้!างๆ อย!างไรก*ต้าม LabVIEW ม� Control

และ Indicator ต้!างๆอ�กหลายแบบ ในห%วิขี�อน�� เราจะแนะน'า Control และ Indicator ใ น ร ป แ บ บ อ�) น ๆ ท�) อ า จ ต้� อ ง ใ ช้� บ น Front Panel

Rings

Basic LabVIEW Programming3-14

Page 15: CH 3 LabVIEW Programing

Rings เป0น object ท�)ใช้�เป0นต้%วิเล�อกวิ!าผ่ �ใช้�ต้�องการต้%วิเล�อกแบบใด้ และเม�)อผ่ �ใช้�เล�อกค!าแล�วิ ค!าท�)ได้�จาก Ring จะเป0นจ'านวินเลขีจ'านวินเต้*มแบบไม!ม�เคร�)องหมายช้น�ด้ 16 bit (U16) ในการให�ผ่ �ใช้�เล�อกค!าใน Rings น�� เราอาจจะใช้�เป0นต้%วิอ%กษรเป0นค'าอธี�บายหร�ออาจใช้�ร ปภาพก*ได้� การใช้� Ring น��จะม�ประโยช้น.มากในกรณ�ท�)จ'าเป0นท�)ต้�องม�ต้%วิเล�อกหลายๆ แบบให�ผ่ �ใช้�เล�อกก!อนท�)จะท'าการประเม�นขี�อม ลต้! อ ไ ป ล% ก ษ ณ ะ ขี อ ง Ring แ บ บ ต้! า ง ๆ แ สำ ด้ ง ใ น ร ป ต้! อ ไ ป น��

ขี%�นแรกในการใช้� Ring น%�น ให�เล�อก ช้น�ด้จาก List & Ring Subpalette

จาก Controls Palette ซ้�)งจะม�หลายแบบด้�วิยก%น อาจจะเป0นแบบท�)ม�ได้�เฉพาะต้%วิอ%กษร หร�อแบบท�)ม�เฉพาะร ปภาพ หร�ออาจม�ท%�งสำองแบบรวิมก%น เม�)อเราเล�อกแบบ Ring ท�)ต้�องการแล�วิวิาง Ring น%�นลงบน Front Panel ในคร%�งแรก จะม�ต้%วิเล�อกเพ�ยงต้%วิเด้�ยวิ จากน%�นเราสำามารถึจะเพ�)มเต้�มต้%วิเล�อกใน Ring เพ�)มในภายหล%งได้� โด้ยใช้� Pop-up menu แล�วิเล�อก Add Item After หร�อ Add Item

Before ก* ไ ด้�ในการใสำ!ต้%วิหน%งสำ�อลงใน Ring ให�เล�อก Edit Text Tools ใน Tools

Palette แล�วิใช้�เมาสำ.กด้ลงในบร�เวิณ Ring น%�น เม�)อใสำ!ขี�อควิามเสำร*จสำ��นแล�วิให�เราใช้�เมาสำ.กด้ป-5ม Enter ท�)อย !บน Tool bar แต้!ถึ�าหากเรากด้แป=น Enter แล�วิเราจะได้� Text อ�กบรรท%ด้หน�)งซ้�)งจะเป0นสำ!วินหน�)งท�)อย !ในต้%วิเล�อกเด้�ยวิก%น เม�) อต้�องการใสำ!ต้%วิหน%งสำ�อเพ�)มในช้!องเล�อกต้!อไป ก*ให�กด้ท�)ป-5มเล�)อนต้'าแหน!งด้�านซ้�ายม�อ เพ�)อให�ช้!องขี�อควิามน%�นปรากฏขี��นแล�วิเพ�)มเต้�มขี�อควิามลงไป เราสำามารถึด้ ได้�วิ!าขีณะน��เราอย !ท�)ช้�องต้%วิเล�อกใด้ได้�จากการใช้� Pop-up menu แล�วิเล�อก Show

Digital Display

Basic LabVIEW Programming3-15

Page 16: CH 3 LabVIEW Programing

ในการใสำ!ร ปภาพลงใน Picture Ring ขี%�นแรกเราจ'าเป0นต้�องม�ร ปภาพอย !ใน Clipboard ก!อนท�)จะใสำ!ร ปภาพลง วิ�ธี�การน'าร ปภาพเขี�าสำ ! Clipboard ก*ค�อต้�องใช้�โปรแกรมวิาด้ภาพด้ ร ปท�)ต้�องการ จากน%�นเล�อกร ปท�)ต้�องการ โด้ยใช้�ค'าสำ%)ง Copy

ขีองโปรแกรมวิาด้ร ปน%�นๆ เพ�)อเก*บร ปภาพลงไปใน Clipboard ก!อน ต้!อจากน%�นเม�)อจะน'าร ปภาพมาวิางลงใน Ring ล'าด้%บใด้ ก*ให�เล�)อน Ring ไปท�)ล'าด้%บน%�นแล�วิใช้�ค'าสำ%)ง Import Picture ภายใต้� Pop-up menu ขีอง Ring น%�น สำ!วินการใสำ!ร ปท�)ต้%วิเ ล� อ ก อ�) น ๆ ก* ท'า ไ ด้� โ ด้ ย ก า ร ใ ช้� ขี% � น ต้ อ น เ ด้� ย วิ ก% น

NOTE

โปรแกรมวิาด้ร ปเช้!น Paint, MS Photo Editor สำามารถึใช้�เป0นโปรแกรมท�)เก*บร ปภาพลง Clipboard ได้� สำ'าหร%บ LabVIEW 5 น%�นจะร%บร ปในหลาย Format

ไม!วิ!าจะเป0น bmp, jpg, GIF เป0นต้�น โด้ย Format เหล!าน��จะเป0นไปต้ามช้น�ด้ File

ท�) เ ร า เ ล� อ ก

เม�)อเราใสำ!ต้%วิเล�อกลงใน Ring แล�วิ ค!าท�)สำ!งออกจาก terminal เม�)อเราสำ%)ง VI ท'างานจะเป0นค!าต้ามล'าด้%บการใสำ! ค�อ ต้%วิเล�อกแรกจะให�ค!าต้%วิเลขีเป0นจ'านวินเต้*ม 0 ต้%วิเล�อกต้!อไปจะให�ค!าต้%วิเลขีเป0นจ'านวินเต้*ม 1 และเพ�)มขี��นเร�)อยๆ ต้ามล'าด้%บ เราสำามารถึด้ ค!าเหล!าน%�นบน Front Panel ได้�โด้ยเล�อก ShowDigital

Display จ า ก Pop-up menu ขี อ ง Ring น%� น ต้ า ม ท�) ไ ด้� ก ล! า วิ ม า แ ล� วิโด้ยท%)วิ ไปการใช้� Ring จะม�ประโยช้น.ก*ต้!อเม�) อเราใช้�ร!วิมก%บ Case

Structure ซ้�)งเราย%งไม!ได้�กล!าวิถึ�ง Structure ในขี%�นน�� ด้%งน%�นเราจ�งจะไม!ยกต้%วิอย!างหร�ออธี�บายสำ!วินประกอบเพ�)มเต้�มในวิ%นน�� อย!างไรก*ต้ามเราแนะน'าให�ค-ณลองเล�อกและวิาง Ring บน Front Panel แล�วิลองใสำ!ต้%วิหน%งสำ�อ หร�อร ปภาพลงใ น Ring ท�) สำ ร� า ง ขี�� น เ พ�) อ ค วิ า ม ค-� น เ ค ย ใ น ก า ร สำ ร� า ง Ring

BooleanBoolean เป0นช้�)อขีองน%กคณ�ต้ศาสำต้ร.ช้าวิอ%งกฤษช้�)อ George Boolean

ซ้�)งเป0นผ่ �วิางรากฐานขีอง Boolean Algebra สำ'าหร%บในงานวิ�ศวิกรรมน%�นเราสำามารถึท�)จะมองวิ!า Boolean เป0นการก'าหนด้ขี�อม ลให�ม�ค!าเป0น จัร�ง หร�อ เที่+จั หร�ออาจจะมองเป0นการ เป,ด - ป,ด เพ�)อใช้�ในการควิบค-มการท'างานขีองสำ!วินต้!างๆ เราสำามารถึเล�อกใช้� Boolean ได้�จาก Boolean Subpalette ภายใต้� Controls Palette ท�) แ สำ ด้ ง ใ น ร ป ต้! อ ไ ป น��

Basic LabVIEW Programming3-16

Page 17: CH 3 LabVIEW Programing

ใน Boolean Subpalette น��จะประกอบด้�วิยสำวิ�ช้ท. และไฟสำ%ญญาณหลายแบบ ซ้�)งการก'าหนด้เบ�� องต้�นวิ!าจะเป0น Control หร�อ Indicator จะขี��นอย !ก%บล%กษณะท�)เราใช้�ในเคร�)องม�อวิ%ด้จร�ง เช้!น สำวิ�ช้ท. จะเป0น Control และไฟสำ%ญญาณ จะเป0น Indicator เป0นต้�น อย!างไรก*ต้าม เราสำามารถึเปล�)ยนให�อ-ปกรณ.เหล!าน%�นเป0น Control หร�อ Indicator ก*ได้� ต้ามควิามต้�องการขีองเรา โด้ยใช้�ค'า สำ%)ง Change to Control/ Indicator ภ า ย ใ น Pop-up menu ขี อ ง Boolean น%� น

ใน Block Diagram ล%กษณะขีอง Boolean terminal จะเป0นสำ�เขี�ยวิ และม�ต้%วิอ%กษร TF อย !ต้รงกลาง และเหม�อนก%บต้%วิเลขีค�อ ถึ�าเป0น Control จะม�ขี อ ง ท�) ห น า ก วิ! า ขี อ บ ขี อ ง Indicator

การเล�อกใช้� Boolean ใน LabVIEW น%�น นอกจากสำ%ญล%กษณ.มาต้รฐานท�)ก'าหนด้แล�วิย%งม�ต้%วิเล�อกให�เราเล�อกใช้�ได้�อ�กหลายอย!างท�)เล�อกจาก Pop-up menu สำ'าหร%บต้%วิเล�อกท�)สำ'าค%ญม�ด้%งต้!อไปน��

Basic LabVIEW Programming3-17

Page 18: CH 3 LabVIEW Programing

Labeled Buttonsในสำวิ�ช้ท.และไฟสำ%ญญาณต้!างๆ ขีอง Boolean บางแบบอาจจะม�ต้%วิ

หน%งสำ�อประกอบไวิ�บน object น%�นด้�วิย เช้!น ON และ OFF โด้ยปกต้�ต้%วิหน%งสำ�อประกอบน��จะไม!ได้�แสำด้งก%บสำวิ�ช้ท.หร�อไฟสำ%ญญาณท-กช้น�ด้ แต้!เราสำามารถึท�)จะเล�อกให�แสำด้งหร�อไม!แสำด้งได้�โด้ยใช้�ต้%วิเล�อกจาก ShowBoolean Text ภายใต้� Pop-up menu

Boolean Text น��จะแสำด้ง ON หร�อ OFF อย!างใด้อย!างหน�)งขี��นก%บสำภาวิะท�) object น%�นเป0นอย !ขีณะน%�น เช้!นถึ�าเป7ด้อย !จะแสำด้งต้%วิหน%งสำ�อ ON เป0นต้�น เราสำามารถึท�)จะจ%ด้วิางต้'า แหน!งและแก�ไขีต้%วิหน%งสำ�อเหล!าน%�นได้� โด้ยการใช้� Positioning Tool ในการจ%ด้วิางต้'าแหน!ง และ Edit Text Tool ในการเปล�)ยนหร�อแก� ไขีต้% วิหน%งสำ�อ ON-OFF น%�น ท%�งสำองเล�อกได้� จาก Tools Palette

ค!าขีอง Boolean ใน Block Diagram จะเป0นจร�ง (TRUE) ถึ�า object น%�นอย !ท�)ต้'าแหน!ง ON และเป0นเท*จ (FALSE) ถึ�า object น%�นอย !ในต้'าแหน!ง OFF Mechanical Action

Boolean Control จะม� Mechanical Action เป0นต้% วิ เล�อกใน Pop-up

menu ต้%วิเล�อกน��จะเป0นต้%วิก'าหนด้ล%กษณะขีอง Control วิ!าม�การท'างานอย!างไร เหม�อนก%บสำวิ�ช้ท.ในควิามเป0นจร�งวิ!าม�หลายแบบ เช้!น กด้แล�วิเป7ด้ กด้อ�กคร%�งจะป7ด้ หร�อต้�องกด้อย !ต้ลอด้เวิลา จ�งจะเป7ด้ ถึ�าปล!อยเม�)อใด้จะป7ด้ หร�ออ�)นๆ ต้%วิเล�อกน��จะเป0นต้%วิเล�อกล%กษณะการท'างานต้!างๆ ขีอง Control เท!าน%�น รายล ะ เ อ� ย ด้ ต้! า ง ๆ ด้ จ า ก Help ขี อ ง LabVIEW

Data Range

Basic LabVIEW Programming3-18

Page 19: CH 3 LabVIEW Programing

แม�วิ!า Boolean Control จะม�ค!าเพ�ยง 2 ค!า ค�อ จร�ง ก%บ เท*จ เท!าน%�น แต้!เราสำามารถึก'าหนด้ได้�วิ!าจะให� LabVIEW หย-ด้ท'างานหร�อไม! ถึ�าหากวิ!าเป0นค!าจร�งหร�อเท*จค!าใด้ค!าหน�)ง โด้ยเล�อกจาก Suspend if True หร�อ Suspend if

False จ า ก ค'า สำ%) ง Data Range ใ น Pop-up menu ขี อ ง object น%� น

ก า ร เ ป ล�� ย น ล� ก ษ ณ์ ะ ขี อ ง Boolean

แม�วิ!า LabVIEW จะม�ล%กษณะขีองสำวิ�ช้ท.และไฟสำ%ญญาณหลายแบบให�เราได้�เล�อกใช้� เราอาจม�ควิามจ'าเป0นต้�องใช้� Boolean ในร ปแบบอ�)นก*ได้� เราสำามารถึท�)จะน'าร ปภาพอ�)นมาใช้� ซ้�)งเราสำามารถึท'าได้�โด้ยใช้�ค'าสำ%)ง Edit Control ... จาก Edit

menu จากน%�นเราจะสำามารถึน'าร ปภาพใด้ก*ได้�มาวิางลงในต้'าแหน!งขีอง Boolean

น%�นท%�งในสำภาวิะ ON และ OFF สำ'าหร%บรายละเอ�ยด้เหล!าน��จะกล!าวิถึ�งในภายหล%ง

Strings

Strings ก*ค�อต้%วิแปรหร�อค!าคงท�)ซ้�)งอย !ในร ปขีองต้%วิอ%กษร เราสำามารถึก'าหนด้ให� String น��เป0นได้�ท%�ง Control และ Indicator

สำ'า หร%บ String น��จะอย ! ใน String & Table Subpatette

ภายใต้� Control Palette ซ้�)งจะม�ล%กษณะด้%งร ป สำ'าหร%บรายละเอ�ยด้ช้ อ ง String น�� เ ร า จ ะ ก ล! า วิ ถึ� ง .o ภ า ย ห ล% ง

PathsPath เป0น Control ท�)ให� LabVIEW แสำด้ง Directory ท�) VI ก'าล%งท'างาน

อย ! ต้%วิอย!างเช้!นใน Windows จะม�ล%กษณะขีอง Path เป0นเหม�อนค'าสำ%)ง DOS ยกต้% วิ อ ย! า ง เ ช้! น

C:\Program Files\National Instruments\LabVIEW\MYWORK

Basic LabVIEW Programming3-19

Page 20: CH 3 LabVIEW Programing

แสำด้งวิ!าขีณะน�� VI ท�)ท'างานอย !น�� ค�อ MYWORK อย !ใน directory ช้�)อ LabVIEW และอย !ใน drive C หากวิ!าเราก'าหนด้ Path ขี��นแต้!วิ!า LabVIEW ไม!สำ า ม า ร ถึ ท�) จ ะ ก'า ห น ด้ ท�) อ ย ! ขี อ ง file น%� น ไ ด้� เ ร า จ ะ ไ ด้� ค'า ต้ อ บ เ ป0 น

<Not A Path>ค'าสำ%)งน��จะม�ประโยช้น.ในการเป7ด้-ป7ด้ หร�อเขี�ยนไฟล.เพ�)อแก�ขี�อม ล เราจะ

ก ล! า วิ ถึ� ง วิ� ธี� ก า ร ด้% ง ก ล! า วิ ใ น เ ร�) อ ง ขี อ ง File I/O ใ น ภ า ย ห ล% ง

4. Wiring

ในก�จกรรมท�)ผ่! านมาเราได้�ท'า การต้!อสำายภายใน Block

Diagram มาบ�างแล�วิ ในห%วิขี�อน��เราจะกล!าวิถึ�งเทคน�คการต้!อสำายในรายละเอ�ยด้ รวิมถึ�งการแก�ไขีป:ญหาต้!างๆเน�)องจากการต้!อสำายด้�วิย

ก า ร ต้" อ ส า ยท�)ผ่!านมาเราได้�น'าเสำนอวิ�ธี�การจ%ด้วิาง Control และ Indicator แบบต้!างๆ

ลงใน Front Panel ซ้�)งเป0นเพ�ยงการเร�)มต้�นการสำร�าง IV เท!าน%�น ควิามสำ'าค%ญท�)แท�จร�งขีองการเขี�ยน VI ค�อการเล�อกใช้� Function การท'างานให�เหมาะสำมและต้!อสำายให�ถึ กต้�อง เพ�)อจะได้�ผ่ลออกมาต้ามท�)ต้�องการ ในสำ!วินต้!อไปขีองห%วิขี�อน�� เ ร า จ ะ ก ล! า วิ ถึ� ง วิ� ธี� ก า ร ต้! อ สำ า ย ขี อ ง สำ! วิ น ต้! า ง ๆ เ ขี� า ด้� วิ ย ก% น

เ ร า จ ะ ใ ช้� Wiring Tool ใ น ก า ร ต้! อ สำ า ย ร ะ ห วิ! า ง terminal

mujxikdDvp^j4kp.o สำนแา ฏรฟเพฟท เม�)อเราเล�อก Wiring Tool แล�วิล กศรช้��จะเปล�)ยนเป0นร ปขีด้สำายไฟ โด้ยต้'าแหน!งสำ'าค%ญขีองต้%วิช้�� หร�อท�)เร�ยกวิ!า “Hot

Spot” ขี อ ง ต้% วิ ช้�� จ ะ อ ย ! ท�) ป ล า ย สำ า ย ไ ฟ ท�) ไ ม! ไ ด้� ม� วิ น ต้ า ม ร ป

ในแบบฝึ3กห%ด้ท�)ผ่!านมาเราคงได้�ฝึ3กการต้!อสำายมาบ�างแล�วิ แต้!เราไม!ได้�กล!าวิถึ�งวิ�ธี�การต้!อสำายและขี%�นต้อนการต้!อสำายอย!างละเอ�ยด้ซ้�)งเราจะกล!าวิถึ�งในท�)น�� ในการท�)จะต้!อสำายระหวิ!าง terminal เขี�าด้�วิยก%น อ%นด้%บแรกเล�อก Wring

Tool จาก Tools palette จากน%�นน'าปลายขีองต้%วิช้��ไวิ�ท�) terminal หน�)ง แล�วิกด้เมาสำ. (Click) จากน%�นลากเม�าสำ.ไปท�) terminal ปลายทาง แล�วิกด้เมาสำ.อ�กคร%�ง

Basic LabVIEW Programming3-20

Hot Spot

Page 21: CH 3 LabVIEW Programing

หน�)ง ก*จะเสำร*จสำ��น สำ'าหร%บรายละเอ�ยด้เพ�)มเต้�มและเทคน�กขีองการต้!อสำายให�ออกม า สำ วิ ย ง า ม แ ล ะ เ ป0 น ไ ป ต้ า ม ต้� อ ง ก า ร ม� ด้% ง ต้! อ ไ ป น��

การต้!อสำาย terminal ท%�งสำองเขี�าด้�วิยก%น ในการเช้�)อมต้%วิ 2 terminal

เขี�าด้�วิยก%น เราจะเร�)มจาก terminal ใด้ก*ได้� เม�)อเราน'าปลายต้%วิช้��เขี�าใกล� terminal ใด้ เราจะสำ%งเกต้เห*นวิ!า terminal น%�นจะกระพร�บและแสำด้งปลายสำายให�เห*น นอกเหน�อจากน%�นเราจะสำ%งเกต้วิ!าม�ต้%วิอ%กษรท�)เ ป0 น ช้�) อ ขี อ ง terminal ท�) เ ร า ก'า ล% ง ช้�� อ ย ! ป ร า ก ฏ ขี�� น อ ย ! ด้� วิ ย

การต้!อสำายเขี�าก%บ node ท�)ม�หลาย terminal อย !ต้�ด้ๆก%น สำายต้!อจะเขี�าสำ ! terminal ท�)ก'าล%งกระพร�บอย !เท!าน%�น ไม!วิ!าเราจะลากสำายมาจากท�ศทางใด้ขีอง node หร�อเขี�าสำ ! node ท�)ต้'าแหน!งใด้ก*ต้าม ขี�อเสำนอแนะก*ค�อควิรต้!อสำายให�เขี�าสำ ! terminal ต้รงต้ามต้'าแหน!งและท�ศทางขีอง terminal ใ น node น%� น เ พ�) อ ค วิ า ม สำ ะ ด้ วิ ก ใ น ก า ร แ ก� ไ ขี

ก า ร ก ด้ เ ม า สำ. ป-5 ม ขี วิ า จ ะ เ ป0 น ก า ร ย ก เ ล� ก ก า ร ต้! อ สำ า ย

ในการลากสำายในระหวิ!างการเช้�)อมต้!อน%�นเราไม!จ'าเป0นต้�องกด้เมาสำ.เอาไวิ� เราสำามารถึปล!อยได้�เลย แล�วิกด้อ�กคร%�งหน�)งเม�) อถึ�งปลายทาง ยกเวิ�นเราต้�องการจะเปล�)ยนท�ศทางจากการเด้�นสำายในแนวิด้�)งให�เป0นแนวิระด้%บหร�อกล%บก%น โด้ยปกต้� LabVIEW จะยอมให�ม�การเล��ยวิม-มฉาก (หร�อเปล�)ยนแนวิการเด้�นสำาย) ได้� 1 คร%�ง โด้ยไม!ต้�องกด้เมาสำ. แต้!ถึ�าเราต้�องการจะเล��ยวิมากกวิ!า 1 คร%�ง เราจะต้�องกด้เมาสำ.เพ�)อจะเ ล�� ย วิ ใ น ค ร%� ง ต้! อ ไ ป

เม�) อ เก�ด้การเล�� ยวิสำายโด้ย LabVIEW เราสำามารถึก'า หนด้ให� LabVIEW เปล�)ยนเสำ�นทางไปอย !อ�กแนวิหน�)งได้� เช้!น LabVIEW เด้�นสำายในแนวิระด้%บก!อนแล�วิจ�งเด้�นสำายในแนวิด้�)ง แต้!เราต้�องการให�เด้�นสำายในแนวิด้�งก!อนแล�วิจ�งเด้�นในแนวิระด้%บ เราสำามารถึเปล�)ยนแปลงได้�โด้ยให�เรากด้แป=น Space Bar บนแป=นพ�มพ.ไวิ� การเด้�นสำายท%�งสำองแนวิจะเก�ด้การกระพร�บสำล%บก%น เราสำามารถึเล�อกการเด้�นสำายแบบใด้แบบหน�)งได้� โด้ยการปล!อยเมาสำ.ในจ%งหวิะกระพร�บท�)เราต้�องการ

Basic LabVIEW Programming3-21

Page 22: CH 3 LabVIEW Programing

การเช้�)อมสำายแยกสำามารถึท'าได้�โด้ยให�ปลายขีองต้%วิช้�� ช้��อย !บนเสำ�นท�)ต้�องการจะแยกสำาย เสำ�นท�)ได้�ร%บการช้��อย !จะกระพร�บ เราสำามารถึกด้เมาสำ.หน�)งคร%�งเพ�)อเช้�)อมสำายเขี�าด้�วิยก%น จากน%�นเราสำามารถึลากสำายไปสำ ! terminal ท�) ต้� อ ง ก า ร ต้! อ ไ ป ไ ด้�

การลบสำายให�ใช้� Positioning Tool เล�อกสำายแล�วิกด้แป=น Delete จ ะ เ ป0 น ก า ร ล บ สำ า ย ใ น สำ! วิ น น%� น อ อ ก ไ ป

การเคล�) อนย�ายสำายสำามารถึท'า ได้�โด้ยใช้� Positioning

Tool เล�อกสำายท�)ต้�องการแล�วิจ%ด้วิางในต้'าแหน!งใหม!หากเราต้�องการ หากเราต้�อการย�ายสำายให�ด้�งสำายไปจากต้'าแหน!งเด้�มแล�วิวิางลงไปในต้'าแหน!งใหม! เม�)อได้�ต้'าแหน!งท�)ต้�องการให�ปล!อยป-5มเมาสำ. สำายท�)ต้!ออย ! ในแนวิเด้�มจะหายไปแล�วิปรากฏขี��นในต้'าแหน!งใหม! สำ!วินสำายต้!อสำ!วินอ�)นๆจะย�ด้ต้ามสำ! วิ น น%� น โ ด้ ย อ% ต้ โ น ม% ต้�

การต้!อสำายจะม�ควิามย-!งยากมากขี��นเม�)อ node น%�นม� terminal จ'านวินมาก การต้!อสำายเขี�าก%บ object ท�)ม� terminal จ'านวินมากน��จะเป0นการด้�ถึ�าหากเราไม!ร�บร�อนและด้ ต้%วิหน%งสำ�อ (Tip) และสำายขีอง terminal น%�นวิ!าต้�องการขี�อม ลล%กษณะใด้ เพราะเม�)อเราใช้�ปลายต้%วิช้��อย !ในต้'าแหน!งขีอง terminal ใด้ terminal น%�นจะแสำด้ง Tip และล%กษณะขีองปลายลวิด้ท�)จะเช้�)อมต้!อ การสำ%งเกต้ท�)ปลายสำาย โด้ยด้ จากสำ� ขีนาด้ และล%กษณะขีองสำายจะช้!วิยบอกเราได้�วิ!า terminal น%�นต้�องการขี�อม ลประเภทใด้ เพ�)อช้!วิยในการต้!อสำายให�ถึ กต้�อง นอกเหน�อจากน%�นถึ�าท�)ปลายสำายขีอง terminal ม�จ-ด้อย !แสำด้งวิ!า terminal น%�นเป0น input ขีอง node น%�น และถึ�าหากท�)ปลายสำายขีอง terminal ไม!ม�จ-ด้ แสำด้งวิ!าเป0น output ขีอง node น%�น

การใช้� Help Windows ในการเช้�)อมสำาย จะเป0นอ�กวิ�ธี�หน�)งท�)จะสำามารถึผ่ �เร�)มต้�นใช้�งานในการต้!อสำายเขี�าก%บ object ท�)เราย%งไม!ค-�นเคย เพราะใน Help

Windows จะบอกล%กษณะขีองขี�อม ลท�)แต้!ละ terminal ต้�องการ นอกจากน%�นย%งจะบอกถึ�งวิ!า Input ใด้ เป0นค!าท�)จ'าเป0น (Required) หร�อแนะน'า(Recommended)

ห ร� อ เ ป0 น ต้% วิ เ ล� อ ก (Optional)

Basic LabVIEW Programming3-22

Page 23: CH 3 LabVIEW Programing

ส า ย เ ส� ยหากวิ!าเราต้!อสำายผ่�ด้พลาด้ เราจะพบวิ!าสำายต้!อจะปรากฏเป0นเสำ�นประสำ�ด้'า

แทนท�)จะเป0นเสำ�นสำ�เหม�อนสำายปกต้�อ�) นๆ และเราจะพบวิ!าในขีณะน%�น VI จะไม!สำามารถึท'างานได้� จนกวิ!าการต้!อสำายจะเป0นไปอย!างถึ กต้�อง เราสำามารถึลบสำายเสำ�ย (Bad Wire) ได้�โด้ยการใช้�ค'าสำ%)ง Remove Bad Wires จาก Edit menu หร�อ ก ด้ <Ctrl> - B แ ล� วิ พ ย า ย า ม ต้! อ สำ า ย ใ ห ม! ใ ห� ถึ ก ต้� อ ง

ถึ�าหากไม!ทราบสำาเหต้-วิ!าท'าไม!สำายต้!อจ�งกลายเป0นสำายเสำ�ย ให�กด้เมาสำ.ท�)ป-5ม Run (ซ้�)งขีณะน��เป0นร ปล กศรห%กอย !) หร�อ Pop-up ท�)สำายเสำ�ยน%�นแล�วิเล�อก List

Errors เราจะเห*น Dialog Box ท�)แสำด้งควิามผ่�ด้พลาด้ท�)ท'า ให�สำายเก�นขี��น

NOTE

ไม!วิ!าด้�วิยกรณ�ใด้ๆ ก*ต้าม LabVIEW จะไม!ท'างานหากวิ!าม�สำายเสำ�ยหลงเหล�ออย !ใน Block Diagram แม�วิ!าเราทราบด้�วิ!าเราไม!ม�ควิามต้�องการจะใช้�สำายน%�น อย!าล�มวิ!า LabVIEW เป0นเพ�ยงโปรแกรมคอมพ�วิเต้อร.นะคร%บ ม%นไม!สำ า ม า ร ถึ ท�) จ ะ อ! า น ใ จ ผ่ � ใ ช้� อ อ ก ท- ก ก ร ณ� !!!

ก า ร เ ค ล�� อ น ย� า ย Object

ปกต้�เม�)อเราต้!อสำายระหวิ!าง object ค !ใด้เขี�าด้�วิยก%นแล�วิ เม�)อเราเล�)อน object หน�)งท�)อย !บน Block Diagram สำายท�)ต้!อไวิ�ก!อนหน�าน��จะย�ด้ต้ามหร�อหด้เขี�าไปด้�วิยโด้ยอ%ต้โนม%ต้� เราจ�งไม!จ'าเป0นต้�องต้!อสำายใหม! ยกเวิ�นในกรณ�ท�)เราย�าย object เขี�าไปใน Structure

สำายต้!อจะไม!ต้ามเขี�าไปใน Structure น%�นด้�วิย และสำายท�)เราต้!อไวิ�เด้�มก*จะกลายเป0นสำายเสำ�ย เราจะกล!าวิถึ�ง Structure ในภายหล%ง

ก า ร ส ร� า ง Object โ ด ย อ� ต้ โ น ม� ต้�นอกเหน�อจากการสำร�าง Object ไม!วิ!าจะเป0นค!าคงท�) ค!า

Control หร�อ Indicator บน Front Panel แล�วิต้!อสำายด้�วิยต้นเองภายใน Block Diagram เราอาจจะสำร�าง Object บน Front Panel จากภายใน Block Diagram ได้� โด้ยท�) terminal

ขีอง node ท�)ต้�องการ Input/Output ให�ใช้� Pop-up menu ขีอง

Basic LabVIEW Programming3-23

Page 24: CH 3 LabVIEW Programing

terminal น%�นแล�วิเล�อก Create Constant หร�อ Create

Control หร�อ Create Indicator เพ�)อสำร�าง Input/Output

ให�ก%บ terminal น%�นโด้ยอ%ต้โนม%ต้� และ object ท�)สำร�างขี��นจะเช้�)อมสำายเขี�าก%บ terminal น%�นโด้ยอ%ต้โนม%ต้�ด้�วิย โด้ย LabVIEW จะเล�อกล%กษณะขี�อม ลท�)เหมาะสำมท�)สำ-ด้เช้�)อมต้!อเขี�าก%บ terminal น%�น

การใช้�วิ�ธี�การน��จะม�ประโยช้น.มากโด้ยเฉพาะกรณ�ท�)เราจะต้�องต้!อสำายหลายๆสำายเขี�าสำ ! node หร�อ subVI ซ้�)งอาจม� input เป0นค!าขี� อ ม ล ล% ก ษ ณ ะ ต้! า ง ๆ ก% น ห ล า ย แ บ บ

ACTIVITY 3.2

20 น า ที่�

ก�จกรรมน��จะเป0นการฝึ3กห%ด้ให�เราได้�ทด้ลองการเขี�ยน VI เสำม�อนก%บวิ!าเราได้�ม�การอ!านขี�อม ลจากภายนอกเขี�าสำ !คอมพ�วิเต้อร.โด้ยเราจะใช้� VI สำ'าเร*จร ปต้%วิหน�)งแทนการวิ%ด้ขี�อม ลจร�ง VI น��ช้�) อ Demo Voltage Read.VI ซ้�)งเป0น VI ท�)สำมม-ต้�การอ!านค!า Voltage จาก DAQ Board โด้ย Output ขีองฟ:งก.ช้%นน��จะเป0นค!า Voltage ท�ละ 1 ค!าท�)ได้�จากขี�อม ลท�)ม�การบ%นท�กไวิ�ล!วิงหน�า สำ'าหร%บ Input ขีอง VI น��ไม!ม�ผ่ลต้!อการประเม�นค!าเป0นเพ�ยงสำร�างสำภาวิะให�ผ่ �ใช้�ได้�ม�ควิามร �สำ�กเหม�อนก%บใช้� DAQ Board จร�งๆ อย !เท!าน%�น เราจ�งไม!จ'า เป0นต้�องต้!อ input ในท�)น��

Basic LabVIEW Programming3-24

Page 25: CH 3 LabVIEW Programing

เราสำามารถึหา VI น��จะอย !ภายใต้� Tutorial subpalette ขีอง Function Palette ขี%�นต้ อ น ขี อ ง ก� จ ก ร ร ม น�� ม� ด้% ง น��1. สำ ร� า ง front panel ด้% ง แ สำ ด้ ง ใ น ร ป

2. สำ'าหร%บขี%�นต้อนการเปล�)ยนแปลงต้%วิเลขีท�)ระด้%บน'�าในถึ%ง ซ้�)งเด้�มค!าเร�)มต้�นเป0น 0 ถึ�ง 10 เราสำามารถึเปล�)ยนแปลงได้� โด้ยใช้� Operating Tool เล�)อนไปบร�เวิณต้%วิเลขีท�)ต้�องการเปล�)ยน เช้!นในกรณ�น��เล�) อนไปท�)เลขี 10 แล�วิกด้เมาสำ.ป-5มซ้�าย การแสำด้งต้%วิเลขีจะเปล�)ยนไปอย !ในล%กษณะท�)พร�อมจะสำามารถึแก�ไขีได้� ใสำ!ต้%วิเลขีท�)ต้�องการ เช้!นในท�)น��เราใสำ! 100 และเม�)อแก�ไขีแล�วิกด้ Enter ต้%วิเลขีท%�งหมด้จะเปล�)ยนและปร%บค!ามาอย !ในช้!วิง 0-100 โด้ยอ%ต้โนม%ต้�

3. ลองใช้� Pop-Up menu ขีองสำ!วินเฉพาะท�)เป0นต้%วิเลขี ค�อเล�)อนเมาสำ.ไปบร�เวิณต้%วิเลขีแล�วิกด้เมาสำ.ป-5มขีวิาเพ�)อด้ Pop-Up menu และเล�อกร ปแบบการจ%ด้วิางมาต้รแบบต้!างๆ โด้ยใช้�ค'าสำ%)ง Style หร�ออาจลองใช้�ค'าสำ%)งอ�) นๆ เช้!น Marker Spacing ห ร� อ อ�) น ๆ ก* ไ ด้�

Basic LabVIEW Programming3-25

Page 26: CH 3 LabVIEW Programing

4. ไปท�) Block Diagram วิาง function ช้�) อ Demo Voltage Read.VI และฟ:งก.ช้%นการค ณลงไปใน Block Diagram จากน%�นเล�อก Wiring Tool แล�วิกล%บมาท�) input terminal ขีอง Demo Voltage Read.VI แล�วิลองใช้�ค'าสำ%)ง Create Constant จาก Pop-up menu ขีองแต้!ละ terminal เพ�)อสำร�าง input

ใ ห� ก% บ terminal ท%� ง สำ อ ง

5. สำ ร� า ง Block Diagram ต้ า ม ร ป

6. โด้ย node ช้�)อ Volt Read น%�นหาได้�จาก Function-Tutorial ซ้�)ง Node น�� ในขีณะน��เราสำมม-ต้�วิ!าเป0นค!าท�)ได้�ออกมาจากเคร�)องม�อวิ%ด้ โด้ยจะม�ค!าอย !

Basic LabVIEW Programming3-26

Page 27: CH 3 LabVIEW Programing

ระหวิ!าง 0 ถึ�ง 1 สำ'าหร%บค!าต้%วิเลขี 1 และ String 0 น%�น เป0นการสำมม-ต้�วิ!าให�อ!านขี�อม ลจาก Analog input charnel 0 โด้ยใช้�อ-ปกรณ. 1 เป0นต้%วิอ!าน แม�วิ!าในควิามเป0นจร�ง ในต้%วิอย!างน��เราไม!จ'าเป0นต้�องต้!อเช้�)อม input ท�)เป0นค!าคงท�)และ String ก*ได้� เพราะ node น��เป0นเพ�ยงการสำมม-ต้�การอ!านค!าจาก DAQ Card แต้!เพ�)อให�เราค-�นเคยก%บการก'าหนด้การอ!านค!าจาก DAQ Card

จ� ง ไ ด้� ก'า ห น ด้ input ไ วิ� อ ย! า ง น��

7. ลอง Run VI น��อย!างต้!อเน�) อง สำ%งเกต้ด้ การเปล�)ยนแปลงขีอง Indicator

8. ลองปร%บแต้!ง Front Panel ให�เป0นไปต้ามท�)ค-ณช้อบ โด้ยใช้�ค'า สำ%)ง หร�อ Control ต้! า ง ๆ ท�) ไ ด้� ก ล! า วิ ม า แ ล� วิ

9. เราอยากให�ค-ณลองใช้� Coloring Tool เพ�) อปร%บแต้!งสำ�ต้!างๆ บน Front Panel

10. เ ล� ก ก า ร ท'า ง า น ค- ณ ไ ม! จ'า เ ป0 น ต้� อ ง Save VI น�� ก* ไ ด้�

จะเห*นวิ!าก�จกรรมน��จะพยายามลด้ควิามละเอ�ยด้ขีองการอธี�บายการท'าต้%วิอย!างต้!างๆลง เพราะเราคงจะเร�)มค-�นเคยก%บสำ!วินต้!างๆ มากขี�� น ซ้�) ง ก� จ ก ร ร ม ต้! อ ๆ ไ ป ก* จ ะ เ ป0 น ไ ป ใ น ท'า น อ ง เ ด้� ย วิ ก% น น��

5. Debugging

Bug หร�อแมลง ในภาษาคอมพ�วิเต้อร.หมายถึ�งการเก�ด้ขี�อผ่�ด้พลาด้ขี��นในโปรแกรม ค'าน��มาจากคอมพ�วิเต้อร.ในย-คแรกๆ ท�)ย%งม�ขีนาด้ใหญ!และใช้�วิงจรไฟฟ=าจ'านวินมากอย ! ในการเขี�ยนโปรแกรมคร%�งหน�)งปรากฏวิ!าเก�ด้ควิามผ่�ด้พลาด้ในการท'างานขีองโปรแกรมขี��น หล%งจากต้รวิจสำอบรายละเอ�ยด้ท%�งในสำ!วินขีองโปรแกรมและเคร�)องคอมพ�วิเต้อร.แล�วิพบวิ!าม�แมลงเขี�าไปอย !ในเคร�)อง จ�งท'าให�เก�ด้ไฟฟ=าล%ด้วิงจร อ%นเป0นเหต้-ให�การท'างานขีองโปรแกรมผ่�ด้พลาด้ไป เราจ�งได้�ใช้�ค'า วิ! า Bug แทนการ เก�ด้ควิามผ่�ด้พลาด้ขี�� น ในโปรแกรม

Basic LabVIEW Programming3-27

Page 28: CH 3 LabVIEW Programing

คอมพ�วิเต้อร.ต้!อมาจนถึ�งป:จจ-บ%น แม�วิ!าค'าน��ในป:จจ-บ%นจะหมายถึ�งควิามผ่�ด้พลาด้ท�)เก�ด้ขี��นภายในโปรแกรมท�)เขี�ยนขี��นมาเท!าน%�น และค'าวิ!า Debug จะหมายถึ�ง การแก�ไขีควิามผ่�ด้พลาด้ขีองโปรแกรมน%�น

เน�)องจากการเขี�ยนโปรแกรมคอมพ�วิเต้อร.สำามารถึเก�ด้ขี�อผ่�ด้พลาด้ได้�ท-กขี%�นต้อน ด้%งน%�นโปรแกรมต้!างๆ ม%กจะม� Debugging

Tool ต้�องมาด้�วิยเสำมอ LabVIEW ก*เช้!นก%น จะม� Debugging

Tool หาพร�อมก%น โปรแกรม ในห%วิขี�อน�� เ ร าจ ะอธี�บายการ ใช้� Debugging Tool เ ห ล! า น%� น

แ ก� ไ ขี Broken VI

Broken VI เป0นค'าท�)ใช้�เร�ยก VI ท�)ไม!สำามารถึท'างานได้� ซ้�)งขีณะน%�นป-5ม Run จะเป0นร ปล กศรห%ก ซ้�)งหมายควิามวิ!าในขีณะน�� VI

ขีองเราม�ป:ญหาหร�อขี�อผ่�ด้พลาด้อย!างใด้อย!างหน�)ง ซ้�)งเหต้-การณ.น��ถึ�อเป0นเร�)องปกต้�เพราะ VI จะอย !ในสำภาพท�)เป0น Broken VI ถึ�าหากวิ!าเราอย !ในระหวิ!างขี%�นต้อนการต้!อสำายอย ! และเม�)อเราต้!อสำายเสำร*จและไม!ม�ขี�อผ่�ด้พลาด้เก�ด้ขี��นแล�วิ VI ก*จะกล%บเขี�าสำ !สำภาพพร�อมท'างานปกต้�ได้� สำ'าหร%บในกรณ�ท�)เราได้�ต้!อสำายผ่�ด้ไวิ�และม�สำายเสำ�ยเก�ด้ขี��น เราจะต้�องแก�ไขีหร�อก'าจ%ด้สำายเสำ�ยออกไปจาก Block Diagrams เสำ�ยก!อน เพ�)อก'าจ%ด้สำายท�)ไม!ต้�องการออกไป เพราะ LabVIEW จะไม!ยอมให�ม�สำายท�)ต้!อผ่�ด้หร�อต้!อสำายไม!ครบ (ค�อไม!ม�จ-ด้เร�)มต้�นหร�อจ-ด้สำ��นสำ-ด้ท�)แน!นอน) อย !ภายใน Block Diagram แม�วิ!าเราจะไม!ต้�องการให�ขี�อม ลไหลไปต้ามสำายเหล!าน%�นก*ต้าม ขี%�นต้อนการลบสำายเสำ�ยออกท�)ง!ายท�) สำ-ด้ค�อ ใช้�ค'า สำ%)ง Remove Bad Wires จากภายใต้� Edit

Menu ห ร� อ ใ ช้� <Ctrl>-B

นอกเหน�อจากการลบสำายต้!อท�)เสำ�ยออกจาก Block Diagram

แล�วิ ย%งอาจเก�ด้ควิามผ่�ด้พลาด้ได้�จากกรณ�อ�)นๆ ได้�อ�ก ซ้�)งเราสำามารถึจะมองหาจ-ด้ผ่�ด้พลาด้เหล!าน%�นได้�ด้�วิยการใช้�ค'าสำ%)งให�แสำด้งขี�อผ่�ด้

Basic LabVIEW Programming3-28

Page 29: CH 3 LabVIEW Programing

พลาด้ท%�งหมด้ท�)เก�ด้ขี��น หน�าต้!างท�)แสำด้งควิามผ่�ด้พลาด้น��เร�ยก Error

List การท�)จะให�หน�าต้!าง Error List แสำด้งขี��นมาน%�นท'าได้�โด้ยเล�อกค'าสำ%)ง Show Error List จาก Windows Menu หร�อใช้�เมาสำ.กด้บร�เวิณป-5มร ปล กศรห%กท�)อย !บน Tool Bar ก*ได้� จากน%�นหน�าต้!าง Error List จะปรากฏขี��นและแสำด้งควิามผ่�ด้พลาด้ท%�งหมด้ท�)ม�อย !ภายใน Block Diagram ต้%วิอย!างขีองหน�าต้! างน��แสำด้งในร ป

ถึ�าหากเราต้�องการจะทราบวิ!า การเก�ด้ควิามผ่�ด้พลาด้แต้!ละห%วิขี�อม�สำาเหต้-มาจากเร�)องใด้ เราสำามารถึเล�อกห%วิขี�อน%�นภายใน Error

List เพ�)อให�หน�าต้!างด้�านล!างอธี�บายควิามเป0นไปได้�ท�)ท'าให�เก�ด้ควิามผ่�ด้พลาด้น%�นขี��น สำ'าหร%บการท�)จะหาต้'าแหน!งขีองควิามผ่�ด้พลาด้บน Block Diagram สำามารถึท'าได้�โด้ยใช้�เมาสำ.กด้ท�)รายการผ่�ด้พลาด้ 2 คร%�ง (double click) หร�อใช้�เมาสำ.กด้ป-5ม Find บนหน�าต้!าง Error List จะท'า ให� LabVIEW กล%บไปแสำด้ง Block Diagram

และแสำด้งต้'าแหน!งขีองควิามผ่�ด้พลาด้ด้�วิยการเน�นต้'าแหน!งน%�นด้�วิยเ สำ� น เ ป0 น ก ร อ บ ร อ บ สำ! วิ น น%� น ไ วิ�

ก า ร แ จั� ง เ ต้� อ นการแจ�งเต้�อนหร�อ Warning เป0นเคร�)องม�ออ�กช้น�ด้หน�)งท�)

ช้!วิยการแก�ไขีขี�อผ่�ด้พลาด้ท�)เก�ด้ขี��นใน VI เราสำามารถึให� LabVIEW

Basic LabVIEW Programming3-29

Page 30: CH 3 LabVIEW Programing

แสำด้งค'าเต้�อนได้� โด้ยการเล�อก Show Warnings บนหน�าต้!าง Error List การเต้�อนขีอง LabVIEW ไม!ได้�หมายควิามวิ!าเก�ด้ควิามผ่�ด้พลาด้ขี��นใน VI เพ�ยงแต้!ได้�เก�ด้ม�สำ�)งท�)ไม!ม�เหต้-ผ่ลท�) LabVIEW

เขี�าใจเก�ด้ขี��นใน VI เท!าน%�น ต้%วิอย!างเช้!น อาจม� Control Terminal

ท�) ไม!ได้�ต้!อเขี�าก%บสำ!วินใด้เลย แม�วิ!าจะไม!เป0นควิามผ่�ด้พลาด้ แต้! LabVIEW ก* สำ ง สำ% ย วิ! า จ ะ ม� object น%� น อ ย ! เ พ�) อ เ ห ต้- ผ่ ล อ ะ ไ ร

ถึ� าหากเรา เล� อก Show Warnings แล� วิ เก�ด้สำ�) งท�) ท'า ให� LabVIEW เต้�อน เราจะเห*นวิ!าม� ป-5มเต้�อน (Warning Button)

เก�ด้ขี��นบน Toolbar หากเราต้�องการทราบวิ!า LabVIEW เต้�อนอย ! เ ร า ก* สำ า ม า ร ถึ ก ด้ ท�) ป-5 ม น%� น เ พ�) อ ด้ ร า ย ก า ร เ ต้� อ น ไ ด้�

นอกจากน%�นเราย%งสำามารถึเล�อกให�แสำด้งการเต้�อนได้� โด้ยบน Menu Bar เล�อก Edit Preferences... และบน dialog

box ก า ร เ ล� อ ก Show Warning In Error Box By

Default เพ�)อให�ม�การแสำด้งการเต้�อนท-กคร%�งท�)ม�ควิามไม!สำมบ รณ.เ ก� ด้ ขี�� น ก% บ VI ขี อ ง เ ร า

NOTE

การท�) LabVIEW แสำด้งการเต้�อนน%�น ไม!ได้�หมายควิามวิ!าม�สำ�)งผ่�ด้พลาด้เก�ด้ขี��นใน VI ขีองเรา เพ�ยงแต้! VI ขีองเราอาจไม!สำมบ รณ. เช้!นเราไม!ได้�ต้!อสำายเขี�าก%บจ-ด้ท�)แนะน'าให�ต้!อ แต้!ไม!ใช้!จ-ด้ท�)ต้�องถึ กต้!อสำาย เป0นต้�น ซ้�)งการท�)ม�ค'าเต้�อนแสำด้งมาน%�นเราอาจเพ�กเฉยต้!อค'า เต้�อนท%�งหมด้เลยก*ได้� และให� VI ขีองเราท'า ง า น ต้! อ ไ ป

ก า ร เ ขี� า ส!" VI ที่� ล ะ ขี�� นเน�) องจาก LabVIEW เป0นโปรแกรมท�)ใช้�การเด้�นทางขีองขี�อม ลในการ

ควิบค-มการประมวิลผ่ลขีองโปรแกรม ซ้�)งต้!างจากการท'างานท�ละบรรท%ด้ขีองโปรแกรมต้%วิหน%งสำ�อท%)วิๆ ไป ด้%งน%�นการด้ การท'างานท�ละล'าด้%บอาจจะไม!เหม�อนก% บ โ ป ร แ ก ร ม ท�) ท'า ง า น ท� ล ะ บ ร ร ท% ด้

Basic LabVIEW Programming3-30

Page 31: CH 3 LabVIEW Programing

การท�) เราก'า หนด้ให� LabVIEW ท'า งานท�)ละขี%�น เป0นการก'า หนด้ให� LabVIEW ประมวิลผ่ลบน Block Diagram ท�ละ node ได้� ค'าวิ!า node ในท�)น��รวิมถึ� ง subVI, Structure, Code Interface Node (CIN), Formula Nodes แ ล ะ Attribute nodes ซ้�)ง object เหล!าน��เราจะกล!าวิถึ�งต้!อไป สำ'าหร%บการก'าหนด้ให� VI

ท'า ง า น ท� ล ะ node สำ า ม า ร ถึ ท'า ไ ด้� ห ล า ย วิ� ธี� ด้% ง ต้! อ ไ ป น��

ใช้�ค'าสำ%)งใด้ค'าสำ%)งหน�)งขีองการท'างานท�ละขี%�นแทนท�)จะใช้�ค'าสำ%)ง Run การท'า ง า น ท� ล ะ ขี%� น ป ร ะ ก อ บ ด้� วิ ย

Step Into จะท'างานล'าด้%บแรกขีอง node, subVI หร�อขีอง Structure

แล�วิหย-ด้รอ (pause) เพ�)อจะท'าขี%�นต้!อไปขีอง subVI หร�อ Structure น%�น

Step Over จะท'า งานขีอง subVI หร�อ Structure จากขี%�นแรกจนกระท%)งเสำร*จการท'างานท�) node, subVI หร�อ Structure น%�นแล�วิหย-ด้รอก! อ น ท�) จ ะ เ ขี� า สำ ! node ต้! อ ไ ป

Step Out ให� โปรแกรมเสำร*จสำ�� นการประม วิ ล Block Diagram,

Structure ห ร� อ VI ใ น ขี ณ ะ น%� น แ ล� วิ จ า ก น%� น จ� ง ห ย- ด้ ร อ

ก า ร ใ สำ! Breakpoints

ใ น ร ะ ห วิ! า งก า ร ไ หล ขี อง ขี�อม ล การ ใสำ! Breakpoints ไม! ได้�หมายควิามวิ!า ให�ยกเล�กการท'างานขีอง VI แต้!หมายถึ�งได้� VI หย-ด้รอการประมวิลผ่ลท�)ต้'าแหน!งน%�นเพ�)อเราจะสำามารถึแก�ไขีการท'างานโปรแกรมได้� Breakpoint จะม�ประโยช้น.เม�)อเราต้�องการจะต้รวิจด้ input ท�)เขี�าสำ ! VI, node หร�อ สำายต้!อในระหวิ!างการประมวิลผ่ล เม�)อขี�อม ลเด้�นทางมาถึ�ง Breakpoint ป-5ม Pause จะท'างาน เราอาจจะต้รวิจสำอบขี�อม ลด้�วิย Probe, อาจจะใช้� Single-Step ในการประมวิลผ่ลต้!อไป VI เพ�) อสำ%งเกต้การเปล�)ยนแปลงค!าบน Front

Panel หร�อถึ�าท-กอย!างเป0นปกต้� เราอาจเปล�)ยนให� LabVIEW

ท'า ง า น ต้! อ ไ ป โ ด้ ย ก ด้ ท�) ป-5 ม Pause ห ร� อ ป-5 ม Runวิ�ธี�การต้%�งจ-ด้ brake ท'าได้�โด้ยเล�อก Breakpoint tool จาก Tools palette

จากน%�นเล�)อนไปบน block diagram เม�)อได้�ต้'าแหน!งท�)ต้�องการจะวิางแล�วิให�กด้

Basic LabVIEW Programming3-31

Page 32: CH 3 LabVIEW Programing

เมาสำ. breakpoint จะปรากฏขี��นบน Block Diagram แต้!ถึ�าหากเรากด้ซ้'�าในจ-ด้ท�)ม� breakpoint อ ย ! แ ล� วิ breakpoint น%� น จ ะ ห า ย ไ ป

การท'างานขีอง Breakpoint จะแต้กต้!างไปต้ามช้น�ด้ขีองวิ%ต้ถึ-ต้'าแหน!งท�)วิ า ง Breakpoint ล ง ไ ป ก ล! า วิ ค� อ

ถึ�าวิาง Breakpoint ลงบน Block Diagram จะม�กรอบสำ�แด้งขี��นรอบ Diagram และการหย-ด้รอจะเก�ด้ขี��นเม�)อการท'างานขีอง Diagram น%�นสำ�� น สำ- ด้ ล ง

ถึ�าวิาง Breakpoint ลงบน Node จะเก�ด้กรอบสำ�แด้งรอบ Node น%�น และการท'างานจะหย-ด้รอก!อนท�)ขี�อม ลจะเขี�าไปประมวิลผ่ลใน Node

น%� น ถึ�าวิาง Breakpoint ลงบนสำายต้!อ จะเก�ด้วิงกลมสำ�แด้งขี��นบนสำายต้!อ

ท�)ต้'าแหน!งน%�น และถึ�าหากม� Probe ต้!ออย !ก%บสำายน%�น จะเก�ด้การรอบแด้งขี��นรอบกรอบขีอง Probe น%�น การประมวิลขี�อม ลจะหย-ด้รอเม�)อม�ขี� อ ม ล วิ�) ง ผ่! า น เ ขี� า ม า ท�) สำ า ย ต้! อ น%� น

เม�)อ VI ถึ กระง%บการท'างานเน�) องจาก breakpoint หน�าต้!างขีอง Block

Diagram จะ Active ขี��นมาอย !บนสำ-ด้ ขีณะท�)ต้'าแหน!งท�)ขี�อม ลก'าล%งหย-ด้รออย !น% �นจะม�การเน�นสำ�และเล�)อนกระพร�บ เพ�)อให�เราเห*นได้�อย!างช้%ด้เจนวิ!าขีณะน�� VI หย-ด้ร อ ท�) ต้'า แ ห น! ง ใ ด้

ก า ร ใ ช� Probe

Probe เปร�ยบเหม�อนก%บเคร�)องม�อวิ%ด้ขี�อม ล ท�)ใช้�จ-!มลงไปบนสำายต้!อเพ�)อแสำด้งค!าขี�อม ลท�)ก'าล%งไหลผ่!าน โด้ยปกต้�เราจะใช้�เพ�)อต้รวิจสำอบควิามถึ กต้�องในการประมวิลผ่ลใน VI วิ!าม�ค!าเป0นอย!างไร เม�)อเราวิาง Probe ลงไปบนสำายต้!อจะท'าให�เก�ด้หน�าต้!างขีอง Probe น%�นขี��น และเม�)อ VI อย !ในโหมด้การท'างาน เม�)อขี�อม ลเด้�นทางผ่!านสำายต้!อท�)วิาง Probe ไวิ� ค!าขีองขี�อม ลจะแสำด้งบนหน�าต้!างแสำด้งผ่ลขีอง Probe น%�น จะเปล�)ยนไปต้ามค!าขีองขี�อม ลท�)เด้�นทางผ่!านสำายต้!อน%�น ต้ า ม ต้% วิ อ ย! า ง ท�) แ สำ ด้ ง ใ น ร ป

Basic LabVIEW Programming3-32

Page 33: CH 3 LabVIEW Programing

วิ�ธี�การวิาง Probe ลงบนสำายต้!อ ท'า ได้�โด้ย เล�อก Probe

Tool จาก Tools Palette จากน%�นเล�อกกด้เมาสำ.ลงบนสำายต้!อเสำ�นท�)ต้�องการภายใน Block Diagram จากน%�น LabVIEW จะแสำด้งเคร�)องหมาย Probe เป0นร ปสำ�)เหล�)ยม และหมายเลขีขีอง Probe อย !ต้รงกลาง พร�อมปรากฏหน�าต้!างแสำด้งค!าขีอง Probe น%�น เราสำามารถึวิาง Probe ไวิ�บน Block Diagram ได้�เป0นจ'านวินมากเ ท! า ใ ด้ ก* ไ ด้� เ ท! า ท�) เ ร า ต้� อ ง ก า ร

ขี� อ ม ล ท�) แ สำ ด้ ง บ น Probe Windows ไ ม! สำ า ม า ร ถึ จ ะเปล�)ยนแปลงได้� แต้!เราสำามารถึเปล�)ยนล%กษณะขีองการแสำด้งได้� เช้!นจะให�แสำด้งเป0นต้%วิเลขี กราฟ หร�ออ�)นวิ�ธี�การค�อการใช้�ค'าสำ%)ง Custom

Probe จ า ก Pop-up menu ขี อ ง สำ า ย ต้! อ ท�) probe วิ า ง อ ย !การลบื้ Probe ท'าได้�โด้ยป7ด้หน�าต้!างแสำด้งผ่ลขีอง Probe

น%�น และเคร�)องหมายขีอง Probe บน Block Diagram ก*จะหายไปอ ย! า ง อ% ต้ โ น ม% ต้�

Basic LabVIEW Programming3-33

Page 34: CH 3 LabVIEW Programing

การใช้� Probe ในการต้รวิจสำอบการท'างานขีอง VI เป0นสำ�)งท�)ม�ประโยช้น.มาก โด้ยเฉพาะการใช้� Probe ท�)ออกมาจาก subVI เพราะจะท'า ให�เราทราบได้�วิ!าค!าท�)ออกมาจาก subVI น%�นเหมาะสำมหร�อสำมควิรจะเป0นไปต้ามน%�นหร�อไม! เพราะการผ่�ด้พลาด้ขีองการเขี�ยนโปรแกรมสำ!วินหน�) งจะมาจากการเขี�ยน subVI ผ่�ด้พลาด้ด้�วิย ก า ร เ น� น เ ส� น ที่ า ง ขี� อ ม! ล

เราสำามารถึด้ เสำ�นทางการเด้�นทางขีองขี�อม ลบน Block

Diagram เพ�)อสำ%งเกต้ด้ การเปล�)ยนแปลงค!าขีองขี�อม ลในระหวิ!างท�)ผ่!านไปต้าม node ต้!างๆ และเสำ�นทางการเด้�นทางขีองขี�อม ลต้ามสำายต้!อต้!างๆวิ!าม�ล'าด้%บเป0นอย!างไร การใช้�ค'าสำ%)งให�การประมวิลขี�อม ลเป0นไ ป ใ น ล% ก ษ ณ ะ น�� ใ น LabVIEW เ ร า เ ร� ย ก วิ! า Execution

Highlighting และสำามารถึสำ%)งให� LabVIEW ท'าการประเม�นผ่ลเ ช้! น น�� ไ ด้� โ ด้ ย ใ ช้� เ ม า สำ. ก ด้ ป-5 ม ด้% ง ก ล! า วิ บ น Toolbar

เม�)อเราให� LabVIEW ประมวิลผ่ลด้�วิยวิ�ธี�การน�� การเด้�นทางขีองขี�อม ล โด้ยจะแทนด้�วิย ร ปฟองอากาศเล*กๆ เคล�)อนท�)ไปต้ามสำายต้!อต้!างๆ เราจะพบวิ!าการประมวิลผ่ลด้�วิยวิ�ธี�น�� จะลด้ควิามเร*วิในการป ร ะ ม วิ ล ผ่ ล ไ ป อ ย! า ง ม า ก

ค!าต้!างๆ บน node จะม�การแสำด้งผ่ลโด้ยอ%ต้โนม%ต้�ได้� หากเราเ ล� อ ก ต้% วิ เ ล� อ ก Auto Probe During Execution

Highlighting ภายใต้� Preference… จาก Debugging

Menu เม�)อเราเล�อกต้%วิเล�อกน�� จะเก�ด้ Probe อ%ต้โนม%ต้�ขี��นท�) Node

แ ล ะ จ ะ แ สำ ด้ ง ค! า เ ม�) อ ขี� อ ม ล ใ ห ม! เ ด้� น ท า ง ม า ถึ� ง

เราสำามารถึยกเล�กการท'างานในล%กษณะเช้!นน��ได้�โด้ยใช้�เมาสำ.กด้ป-5 ม Execution Highlighting บ น Toolbar อ� ก ค ร%� ง ห น�) ง

Basic LabVIEW Programming3-34

Page 35: CH 3 LabVIEW Programing

6. Creating SubVI

สำ!วินท�)ม�ประโยช้น.อย!างมากสำ!วินหน�)งขีอง LabVIEW ก*ค�อโปรแกรมหร�อ VI ใด้ๆ สำามารถึสำร�างขี��นแล�วิเร�ยกใช้�จาก VI อ�)นๆ ได้� VI ท�)ถึ กเร�ยกใช้�จะกลายเป0น subVI ไป และใน Block Diagram ขีอง VI หน�)ง สำามารถึเร�ยกใช้� subVI ได้�หลายช้-ด้ และสำามารถึจะเร�ยก subVI หน�)งๆ มาใช้�ก�)คร%�งก*ได้�บน VI หล%กเด้�ยวิก%นน%� น

เราสำามารถึท'าให� VI ใด้ๆ ท'าหน�าท�)เป0น subVI ใน Block Diagram ขีอง VI อ�)นได้� เพ�ยงแต้!เราต้�องจ%ด้การสำร�าง Icon และ Connector ให�ก%บ subVI น%�นให�เหมาะสำมเสำ�ยก!อน อย!างไรก*ต้าม VI ไม!สำามารถึเร�ยกต้%วิม%นเองเป0น subVI ได้�

เม�)อเราจะเล�อกใช้� subVI ขีองเรา สำามารถึท'าโด้ยเล�อก Select a VI... จาก Functions palette จากการเล�อกต้%วิเล�อกน�� เราจะได้� File dialog box ซ้�)งเราสำามารถึเล�อก VI ใด้ๆ ท�)ได้�ร%บการเก*บอย !ภายในเคร�)องมาใช้� เม�)อเราเล�อกแล�วิ Icon ขี อ ง subVI จ ะ ป ร า ก ฏ ใ น Block Diagram

ก า ร ส ร� า ง subVI จั า ก VI

การสำร�าง subVI จาก VI ท�)ม�อย !จะประกอบด้�วิย 2 สำ!วินค�อการสำร�าง Icon

และการสำร�าง Connector สำ'าหร%บการท�)เราจะสำร�าง subVI จาก VI น%�นม�ขี�อควิรค'าน�งอย !อย!างหน�)งค�อเราควิรจะสำร�างและทด้สำอบการท'างานขีอง VI ให�ถึ กต้�องเร�ยบร�อยเสำ�ยก!อน แล�วิจ�งสำร�างเป0น subVI ขี��นมากเพราะจะลด้ป:ญหาในการ Debug ในสำ!วินขีอง VI หล%กท�) เร�ยก subVI น�� ไปใช้�งานได้� เป0นอย!างมาก

ก า ร ส ร� า ง icon

ท-ก subVI จะต้�องม� Icon เพ�)อน'า ไปใช้�ใน block diagram ขีอง VI ท�)จะเร�ยก subVI น��ไปใช้�งาน โด้ย Icon น��หมายถึ�งร ปภาพเล*กๆท�)ม�สำ%ญล%กษณ.ท�)ผ่ �สำ ร� า ง อ อ ก แ บ บ ขี�� น

โด้ยปกต้�ในการสำร�าง VI ใหม!ท-กคร%�ง LabVIEW ได้�สำร�าง icon ให�ก%บ VI

น%�นๆ อย !แล�วิ ผ่ �ใช้�อาจน'าไปใช้�ได้�เลย อย!างไรก*ต้ามร ปขีอง icon ท�) LabVIEW

สำร�างให�จะม�ล%กษณะเป0นมาต้รฐาน ถึ�าหากเราไม!แก�ไขีสำ!วินใด้เลย อาจจะท'าให�เก�ด้ร ปซ้'�าก%บ icon อ�)นๆ ได้� และเม�) อเราใช้� subVI จ'านวินมากใน VI หล%กขีองเรา

ร ปขีอง Icon จะปรากฏท�)ม-มขีวิาบนขีองหน�าต้!าง Front Panel ซ้�)งล%กษณะร ปขีอง Icon เร�)มต้�นจะเป0นสำ%ญล%กษณ.ขีอง LabVIEW และม�ต้%วิเลขีประกอบ

Basic LabVIEW Programming3-35

Page 36: CH 3 LabVIEW Programing

โด้ยต้%วิเลขีจะเป0นล'าด้%บการสำร�าง VI ต้ามช้�)อ Untitled 1, Untitled 2 ต้ามล'าด้%บ ด้% ง ม� ต้% วิ อ ย! า ง ใ น ร ป

การแก�ไขี Icon ท�)เป0นร ปเร�)มต้�น ขี%�นแรกเราต้�องอย !ในโหมด้การแก�ไขี (Edit Mode) จากน%�นใช้�เมาสำ.ขีวิากด้ท�) Icon เพ�)อเร�ยก Pop-

up menu ขี��นมาก แล�วิเล�อก Edit Icon... หร�อเราอาจกด้เมาสำ. 2 ต้%วิบน Icon น%�นก*ได้� ซ้�)งหล%งจากค'าสำ%)งน�� LabVIEW จะน'า เราเ ขี� า ไ ป สำ ! Icon Editor

หน�าต้!าง Icon Editor จะม�ล%กษณะคล�ายก%บโปรแกรมวิาด้ร ปท%)วิๆ ไปค�อจะม�เคร�)องม�อ วิาด้ร ปต้!างๆ เขี�ยน ลากเสำ�น ด้ ด้สำ� แสำงสำ�พ��น เขี�ยนสำ�)เหล�)ยม ต้%วิอ%กษร และเล�อกสำ� เป0นต้�น สำ'าหร%บเคร�)องม�อลบเสำ�นไม!ม� ในท�) น�� เพราะการลบก*ค�อการ เขี�ยนท%บด้�วิยสำ�พ�� นน%)น เอง

Basic LabVIEW Programming3-36

Page 37: CH 3 LabVIEW Programing

นอกจากน%�นเราย%งสำามารถึสำร�าง Icon ต้!างก%นในโหมด้สำ�ต้!างก%นค�อ สำ�ขีาวิด้'า (B&W), 16 สำ� หร�อ 256 เพ�)อใช้�แสำด้งผ่ลต้ามโหมด้ขีองจอ ในการแก�ไขีคร%�งแรก Icon จะสำร�างขี��นในโหมด้สำ�ขีาวิด้'า เท!าน%�น จะไม!ม�การสำร�างในโหมด้สำ�อ�)น อย!างไรก*ต้ามเราสำามารถึค%ด้ลอก Icon แล�วิน'ามาเปล�)ยนสำ�ให�อย !ในโหมด้ท�)ต้�องการได้� โด้ยใช้�ค'าสำ%)ง Copy From... บนหน�าต้!างน�� เช้!นถึ�าหากวิ!าเราม�ร ปในโหมด้สำ� ขีาวิด้'าอย !ก!อนแล�วิต้�องการจะสำร�าง Icon สำ'าหร%บโหมด้ 16 สำ� อ%นด้%บแรกให�เล�อกเขี�ามาอย ! ในโหมด้ 16 สำ�ก!อนจากน%�นจ�งใช้�ค'า สำ%)ง Copy

From… Black & White เราจะได้�ร ปขีาวิด้'าในโหมด้ 16 สำ� จากน%� น เ ร า จ� ง แ ก� ไ ขี เ พ�) ม เ ต้� ม ใ ห� ม� สำ� ต้! อ ไ ป

สำ'าหร%บ Icon ท�)ออกแบบในแต้!ละโหมด้สำ�จะได้�ร%บการเล�อกใช้�ในแต้!ละ โหมด้ขีองการแสำด้งผ่ลขีองจอในขีณะน%�น ไม!วิ! าจะ เป0น monochrome, 16-สำ�, หร�อ 256-สำ� อย!างไรก*ต้ามเราจะต้�องม� icon ในโหมด้ขีาวิ-ด้'า เพราะโหมด้สำ�อ�)นจะไม!แสำด้ง Icon ในโหมด้สำ�อ�)นบน Palette Menu และถึ� าหากไม!ม� Icon ใน โหมด้สำ�ขี าวิด้'า LabVIEW จะแสำด้งเป0น Icon วิ!างใน Palette Menu ต้!างๆ

หล%งจากสำร�างและแก�ไขี Icon ได้�ต้ามต้�องการ แล�วิให�กด้ป-5ม OK เ พ�) อ เ สำ ร* จ สำ�� น ก า ร สำ ร� า ง Icon

ก า ร ก�า ห น ด Connector

ก!อนท�)เราจะใช้� VI ให�เป0น subVI เราจะต้�องม�การก'าหนด้ Connector

Terminal ขีอง subVI น%�นเสำ�ยก!อน หน�าท�)ขีอง Connector น��จะเป0นการก'าหนด้ให�ขี�อม ลเขี�าและออกจาก subVI โด้ยเร�)มต้�น LabVIEW จะก'าหนด้ให�สำ!วินท�)เป0น Control ใน VI จะได้�ร%บการก'าหนด้ให�เป0น Input Terminal ขีอง subVI และสำ!วินท�) เป0น Indicator จะ ไ ด้� ถึ กก'า หน ด้ ให� เป0น Output Terminal ขีอง subVI

ในการก'าหนด้ Connector ใช้� Pop-up menu บน icon แล�วิเล�อก Show

Connector จากน%�นร ปขีอง Icon จะเปล�)ยนเป0น Connector

Basic LabVIEW Programming3-37

Page 38: CH 3 LabVIEW Programing

สำ'า หร%บจ'า นวินขีอง terminal เร�)มต้�นท�)ปรากฏขี��นน%�น LabVIEW จะค'านวิณจากจ'านวินขีอง Control และ Indicator ท%�งหมด้บน Front Panel โด้ย Input Terminal จะวิางอย !ทางซ้�ายม�อและ Output Terminal จะวิางอย !ทางขีวิาม�อ อย!างไรก*ต้ามถึ�าหากเราต้�องการร ปแบบท�)แต้กต้!างออกไป เราจะสำามารถึเล�อกได้�โด้ยจาก Pop-up menu บน Connector แล�วิเล�อกใช้�ค'าสำ%)ง Patterns นอกเหน�อจากน%�นเราสำามารถึหม-นกล%บต้'าแหน!งขีอง Connector ได้�ถึ�าหากวิ!าค!าเร�)มต้� น ท�) LabVIEW เ ล� อ ก ใ ห� ไ ม! เ ป0 น ไ ป ต้ า ม ท�) เ ร า ต้� อ ง ก า ร

หล%งจากสำร�าง Connector เสำร*จเร�ยบร�อยแล�วิ ขี%�นต้อนต้!อไปจะเป0นการก'าหนด้ terminal ต้!างๆ วิ!าจะหมายถึ�ง Control หร�อ Indicator ต้%วิใด้บน Front

Panel ขี%� น ต้ อ น ก า ร ก'า ห น ด้ Connector ม� ด้% ง ต้! อ ไ ป น��

1. ท'า ใ ห� Front Panel อ ย ! ใ น สำ ภ า พ พ ร� อ ม ท'า ง า น2. กด้เมาสำ.บน terminal ใน Connector เราจะพบวิ!าต้%วิช้��จะเปล�)ยนเป0นร ป

Wiring Tool และ terminal จะเปล�)ยนเป0นสำ�เทาแด้ง (สำ�อ!านเปล�)ยนไปต้ามร- ! น ขี อ ง เ ค ร�) อ ง ค อ ม พ� วิ เ ต้ อ ร. ท�) ใ ช้� อ ย ! )

Basic LabVIEW Programming3-38

Page 39: CH 3 LabVIEW Programing

3. กด้เมาสำ.บน Control หร�อ Indicator ท�)เราต้�องการให� terminal น%�นจะเช้�)อมต้!อเขี�าเม�)อเรากด้เมาสำ.แล�วิ จะเก�ด้เสำ�นประเคล�)อนท�)รอบกรอบขีอง Control

หร�อ Indicator น%�น4. กด้เมาสำ.ลงบนท�)วิ!างบน front panel เสำ�นประจะหายไป สำ!วินสำ�เทาแด้งบน

connector จะกลายเป0นสำ�สำ�มซ้�)งหมายควิามวิ!าเราก'า หนด้ control ให� terminal เ ร� ย บ ร� อ ย แ ล� วิ

5. ถึ�าหาก terminal ย%งเป0นสำ�ขีาวิ แสำด้งวิ!าเราย%งไม!ได้�ก'าหนด้ Connection ได้�ถึ กต้�อง สำ!วินการก'าหนด้ terminal อ�) นก*ให�ท'าซ้'�าขี%�นต้อนท�)ผ่!านมา แต้!ละ subVI จ ะ ม� terminal ไ ด้� ถึ� ง 28 ช้! อ ง

6. ถึ�าหากเราต้!อช้!องผ่�ด้พลาด้ เราสำามารถึแก�ไขีได้�โด้ยการใช้�ค'าสำ%)งจาก Pop-

up menu แล�วิเล�อก Disconnect สำ'าหร%บ terminal น%�นๆ หร�อ Disconnect

All เ พ�) อ ย ก เ ล� อ ก ท%� ง ห ม ด้เม�) อก'าหนด้ object ให�ก%บ Connector เสำร*จเร�ยบร�อยแล�วิเราสำามารถึให� Connector กล%บไปแสำด้งร ป Icon ได้�อ�กโด้ยการใช้�ค'าสำ%) ง Show Icon จ า ก Pop-up menu ขี อ ง Connector

ก า ร ส ร� า ง subVI จั า ก ก า ร เ ล� อ ก จั า ก บื้ า ง ส" ว น ขี อ ง VI

บางคร%�งเม�)อเราสำร�าง VI ไปแล�วิปรากฏวิ!า VI ขีองเราม�ขีนาด้ใหญ!ขี��นเร�)อยๆ หร�อม�สำ!วินท�)ม�ล%กษณะซ้'�าๆ ก%นอย !หลายจ-ด้ ท'าให�เราค�ด้ค!าเราน!าจะใช้�

Basic LabVIEW Programming3-39

Page 40: CH 3 LabVIEW Programing

subVI แทน ซ้�)ง LabVIEW ยอมให�เราสำามารถึท�)จะท'าเช้!นน��ได้� แม�วิ!าค!อนขี�างจะย-! ง ย า ก บ� า ง ก* ต้ า ม

ขี%�นต้อนการเปล�)ยนบางสำ!วินใน Block Diagram เป0น subVI ก*ค�อ ด้�วิย Positioning Tool เล�อกสำ!วินขีอง VI ท�)ต้�องการจะสำร�างเป0น subVI วิ�ธี�เล�อกใช้�กด้เมาสำ.ค�างไวิ�แล�วิลากเมาสำ.ไปเร�)อยๆ ขีนาด้ขีองกรอบสำ�)เหล�)ยมจะขียายไปเร�)อยๆ เม�)อเล�อกสำ!วินขีอง VI ท�)จะท'าเป0น subVI ได้�ต้ามท�)ต้�องการแล�วิ จาก Edit menu

เล�อก SubVI From Selection เราจะเห*นวิ!า LabVIEW เปล�)ยนสำ!วินน%�นให�เป0น Icon และต้!อสำายให�เร�ยบร�อยเหม�อนเด้�ม หากเรากด้เมาสำ. 2 คร%�ง บน icon เป0น LabVIEW จ ะ แ สำ ด้ ง Front Panel ขี อ ง subVI ท'า ใ ห� เ ร า สำ า ม า ร ถึ แ ก� ไ ขีเปล�)ยนแปลง Icon และ Connector ต้!างๆ ได้� นอกเหน�อจากน%�นเราสำามารถึ Save subVI น�� ภ า ย ใ ต้� ช้�) อ อ�) น ไ ด้� อ� ก ด้� วิ ย

อย!างไรก*ต้ามการใช้� subVI From Selection จะต้�องใช้�ด้� วิยควิามระม%ด้ระวิ%ง เพราะอาจจะเก�ด้ป:ญหาท�)ไม!ได้�คาด้ค�ด้หลายประการ เราแนะน'าวิ!าหากจะสำร�าง subVI ขีอให�สำร�างจาก VI ปกต้�แล�วิท'า การทด้สำอบการท'า งานให�เ ร� ย บ ร� อ ย ก! อ น ท�) จ ะ น'า ม า ใ ช้� ง า น

SubVI Help : Recommended, Required แ ล ะ Optional Inputs

เม�) อเราเร�ยก Help Windows ขี��นมาใช้�ก%บ subVI หร�อ node ใน block

diagram ค'าอธี�บายและการต้!อสำายจะปรากฏขี��นโด้ยช้�)อขีอง input จะอย !ด้�านซ้�าย และ output จะอย !ด้�านขีวิา ในการต้!อเช้�)อมสำายน%�นเราจะต้�องน'าขี�อม ลท�)ม�ล%กษณะเด้�ยวิก%นต้!อเขี�าด้�วิยก%น และเราควิรจะก'าหนด้วิ!า terminal แต้!ละช้!องม�ควิามจ'า เ ป0 น ใ น ก า ร ต้! อ เ ช้�) อม ม า ก น� อย เ พ�ยง ใ ด้ โ ด้ ยแ บ! ง เ ป0 น 3 ร ะ ด้% บ ค� อ

1. Required ผ่ � ใช้�จ'า เป0นต้�องต้!อ terminal น�� ไม! เช้!นน%�น VI จะเป0น broken VI

2. Recommended แนะน'าให�ต้!อถึ�าไม!ต้!อ terminal น�� VI จะสำามารถึ Run

ได้� แต้!จะปรากฏใน Warning ขีอง LabVIEW เพ�)อเต้�อนวิ!าเราไม!ได้�ต้!อสำ า ย เ ขี� า ก% บ ช้! อ ง น��

3. Optional ช้! อ ง น�� จ ะ ต้! อ ก* ไ ด้� ห ร� อ ไ ม! ต้! อ ก* ไ ด้�

การเล�อกล'าด้%บควิามสำ'าค%ญในการเช้�)อมสำายน�� สำามารถึท'าได้�โด้ย Pop-up ท�) terminal น%�นๆ แล�วิใช้�ค'าสำ%)ง This Connection is แล�วิเล�อก Required, เม�)อเราเล�อกต้%วิเล�อกใด้จะปรากฏเคร�)องหมายถึ กอย !หน�าต้%วิเล�อกน%�น สำ'าหร%บ

Basic LabVIEW Programming3-40

Page 41: CH 3 LabVIEW Programing

Connection ท�)ต้!อออกจาก Indicator น%�นเราไม!สำามารถึก'าหนด้ให�เป0น Required

ไ ด้� แ ต้! อ า จ เ ล� อ ก เ ป0 น Recommended ห ร� อ Optional ไ ด้�

7. Description

เม�)อเราสำร�าง VI ขี��นมา เราอาจต้�องสำ!งให�ผ่ �อ�)นน'าไปใช้�งานต้!อ เราม�ควิามจ'าเป0นท�)จะต้�องบอกให�ผ่ �ใช้�ทราบวิ!าค!าต้!างท�)เราสำร�างขี��นมาน%�นม�จ-ด้ประสำงค.ใด้หร�อม�ขี�อจ'าก%ด้อะไรอย !บ�าง นอกเหน�อจากน%�นเม�)อผ่ �อ�)นน'า VI ขีองเราไปใช้�เป0น subVI เขีาคงม�ควิามต้�องการท�)จะทราบวิ!า VI ขีองเราม�จ-ด้ต้!อต้!างๆ เป0นอย!างไร และในหลายๆกรณ�หากเราต้�องน'า VI ท�)เราสำร�างขี��นเองมาใช้�งาน ก*ม�โอกาสำเป0นไปได้�วิ!าเราล�มไปแล�วิวิ!า VI ขีองเราน%�นสำร�างมาด้�วิยจ-ด้ม-!งหมายหล%กใด้และม�ขี�อจ'าก%ด้ใด้ ด้%งน%�นจะเป0นการด้�ถึ�าหากวิ!าเราจะแสำด้งค'าอธี�บายไวิ�ก%บ VI ท�)เราสำร�างเสำร*จเร�ยบร�อยแล�วิบ�าง เพราะผ่ �ใช้�จะได้�ม�ควิามเขี�าใจการท'างานขีอง VI ได้�ง!ายขี��น ในห%วิขี�อน��จะกล!าวิถึ�งวิ�ธี�การสำร�างค'าอธี�บายต้!างๆ ให�ก%บ VI ท�) เ ร า สำ ร� า ง เ สำ ร* จ เ ร� ย บ ร� อ ย แ ล� วิ

ก า ร ส ร� า ง ค�า อ ธี� บื้ า ย ส�า ห ร� บื้ VI

ในการสำร�าง VI ขี��นมาน%�น เราจะสำามารถึสำร�างค'าอธี�บายได้� 2 แบบค�อสำร�างค'าอธี�บายให�ก%บแต้!ละ object ท�)อย !บน Front Panel และอ�กกรณ�หน�)งค�อสำร�างค'าอธี�บายให�ก%บ VI ท%�งหมด้ ขี%�นต้อนการสำร�างค'าอธี�บายท%�งสำองแบบสำามารถึท'าได้�ด้% ง น�� ก า ร ส ร� า ง ค�า อ ธี� บื้ า ย ส�า ห ร� บื้ แ ต้" ล ะ Object

ถึ�าหากเราต้�องการจะสำร�าง ค'าอธี�บายให�ก%บแต้!ละ object ขีอง LabVIEW เช้!น Control, Indicator, หร�อ Function ให�เล�อก Pop-up menu ขีอง object จากน%�นเล�อก Data Operation

Description... จากน%�น LabVIEW จะแสำด้ง Dialog Box

ขี��นเพ�)อให�เราพ�มพ.ค'าอธี�บายท�)ต้�องการลงไป เม�)อเราใสำ!ขี�อควิามโด้ยสำมบ รณ.ต้ามต้�องการแล�วิ กด้ OK เราสำามารถึแสำด้งและแก�ไขีขี�อควิามเหล!าน%�นได้�เม�)อเร�ยกหน�าต้!าง Description ขี��นมา ขี�อควิาม

Basic LabVIEW Programming3-41

Page 42: CH 3 LabVIEW Programing

อธี�บายน��จะแสำด้งบน Help Windows ท-กคร%�งท�) เมาสำ.ลากผ่!าน Control ห ร� อ Indicator ท�) เ ร า ใ สำ! ขี� อ ค วิ า ม ไ วิ�

อย!างไรก*ต้ามเม�) อเมาสำ.ลากผ่!าน subVI หร�อ Function จะไม!ม�ค'าอธี�บายท�)เราใสำ!เขี�าไปใน Description ปรากฏอย !บน Help

Windows เพราะวิ!าเราท'าการบ%นท�กขี�อม ลไวิ�คนละระด้%บ ถึ�าหากเราต้�องการด้ ค'า อธี�บายใน Help ขีอง subVI และ Function เราจ'า เป0นต้�องเป7ด้หน� าต้! างขีอง Description ขี�� นมาเพ�) อด้ เอง

ก า ร ส ร� า ง ค" า อ ธี� บื้ า ย ใ ห� VI

เราสำามารถึท'าค'าอธี�บายให�ก%บ VI ท%�งหมด้ได้�ด้�วิยวิ�ธี�ง!ายๆ เช้!นก% น ค� อ เ ล� อ ก Show VI Info... จ า ก Windows Menu ซ้�) ง LabVIEW จ ะ แ สำ ด้ ง ขี� อ ม ล ขี อ ง VI น%� น ด้% ง ท�) แ สำ ด้ ง ใ น ร ป

เราสำามารถึใช้�หน�าต้!าง VI Information น��ท'า หน�าท�) ได้�หลายๆ แบบต้ามน��

Basic LabVIEW Programming3-42

Page 43: CH 3 LabVIEW Programing

ใสำ!ค'าอธี�บายการท'างานขีอง VI น��เพ�)อให�ผ่ �อ�)นเขี�าใจและถึ�าหาก VI น�� น'า ไปใช้�เป0น subVI เม�) อเมาสำ.ผ่!าน Icon ขีอง subVI

ขี� อ ค วิ า ม ท�) เ ร า ใ สำ! เ ขี� า ไ ป น�� จ ะ ป ร า ก ฏ ใ น Help window

ด้ รายการการเปล�)ยนแปลง VI ท�)เก�ด้ขี��นน%บจากการบ%นท�กคร%�งสำ- ด้ ท� า ย

ด้ Path ห ร� อ ต้'า แ ห น! ง ท�) VI น�� เ ก* บ อ ย ! บ น disk

ด้ การใช้�หน!วิยควิามจ'าขีอง VI น�� ท%�งท�)ใช้�ใน disk และ หน!วิยค วิ า ม จ'า ขี อ ง เ ค ร�) อ ง

8. Save and Load VIเม�)อเราสำร�าง VI ขี��นมาใช้�แล�วิ เป0นท�)แน!นอนวิ!าเราจ'าเป0นต้�องบ%นท�กขี�อม ล

(save) และน'าขี�อม ลหร�อ VI น��กล%บมาใช้�ใหม! (Load) สำ'าหร%บการ Save และ Load ขีอง VI ใน LabVIEW ก*จะเหม�อนก%บโปรแกรมอ�)นๆใน Windows ซ้�)งเราคงทราบถึ�งวิ�ธี�การก%นด้�อย !แล�วิ อย!างไรก*ต้ามม�กรณ�การ Save และ Load ท�)เป0นกรณ�การเล�อกเฉพาะขีอง LabVIEW อย !หลายกรณ�ซ้�)งอาจจะแต้กต้!างจากโ ป ร แ ก ร ม อ�) น ใ น ห% วิ ขี� อ น�� เ ร า จ ะ อ ธี� บ า ย ใ ห� เ ขี� า ใ จ ถึ� ง ต้% วิ เ ล� อ ก น%� น ๆ

คร%�งแรกท�)เราเร�ยก VI ใหม! ขี��นมาสำร�าง LabVIEW จะสำร�างช้�)อให�เป0น Untitled 1 ซ้�)งช้�)อน��ก*จะปรากฏใน Title bar เราจะสำ%งเกต้วิ!าม�เคร�)องหมายด้อกจ%นทร. (*) ขี��นต้!อท�ายช้�)อในกรณ�น��หมายควิามวิ!า VI น��ย%งไม! Save หล%งจากเก�ด้การแก�ไขีใน VI คร%�งล!าสำ-ด้ เพ�)อเต้�อนให�เรา Save VI ขีองเรา อย!าล�มวิ!าในการท'างานก%บคอมพ�วิเต้อร.น%�นควิรจะ Save งานค-ณอย !บ!อยๆ เพราะเราไม!ทราบวิ!าจะเก�ด้เหต้-ขี%ด้ขี�องขีองโปรแกรมหร�อกระแสำไฟฟ=าขี��นมาเม�) อใด้ และขีอเต้�อนวิ!า LabVIEW ไ ม! ม� ฟ: ง ก. ช้% น ท�) Save ขี� อ ม ล ใ ห� โ ด้ ย อ% ต้ โ น ม% ต้�

Save Optionsในการบ%นท�กขี�อม ลลงสำ !แผ่!น disk เราม�ต้%วิเล�อกในการเก*บขี�อม ลหลายๆแบบด้% ง น��

1. เล�อก Save เพ�)อจะบ%นท�ก VI ใหม! เพ�)อจะก'าหนด้ต้'าแหน!งบน disk และต้%�งช้�)อ VI หร�อต้�องการบ%นท�ก VI เก!าซ้'�าในช้�)อเด้�มและท�)ต้'าแหน!งเด้�ม

2. เล�อก Save As... เพ�)อใช้�บ%นท�ก VI เด้�มด้�วิยช้�)อใหม!หร�อในต้'าแหน!งใหม! โด้ยไม!เปล�)ยนแปลง VI เก!า ในขีณะเด้�ยวิก%น ท-ก VI ท�)อย !ในหน!วิย

Basic LabVIEW Programming3-43

Page 44: CH 3 LabVIEW Programing

ควิามจ'าขีองเคร�)องในขีณะน%�นท�)เร�ยก VI ต้%วิเก!าจะเปล�)ยนมาเร�ยก VI

ต้% วิ ใ ห ม! น��3. เล�อก Save A Copy As... ใช้�ในการบ%นท�ก VI เด้�มด้�วิยช้�)อใหม!หร�อ

ต้'าแหน!งใหม! โด้ยไม!เปล�)ยนแปลง VI เก!า แต้!ท�)แต้กต้!างจาก Save As

ค� อ VI ต้% วิ อ�) น ท�) อ ย ! ใ น ห น! วิ ย ค วิ า ม จ'า จ ะ ช้�� ไ ป ท�) VI ต้% วิ เ ด้� ม4. เล�อก Save With Option… เม�)อเราต้�องการจะบ%นท�ก VI ในกรณ�พ�เศษ

เช้!น บ%นท�ก VI โด้ยไม!บ%นท�ก block diagram เพ�)อไม!ให�ผ่ �อ�)นแก�ไขีได้� ด้ รายละเอ�ยด้ขีองการบ%นท�กในล%กษณะน��ใน Online Help เพ�)อเขี�าใจต้%วิเ ล� อ ก ต้! า ง ๆ

5. ในกล-!มน��จะม�ค'าสำ%)งอ�กค'าสำ%)งหน�)งค�อ Revert… โด้ยเราจะเล�อกใช้�ต้%วิเล�อกน�� เม�) อต้�องการน'า VI ท�)เป0น Version ท�)ได้�ร%บการ Save คร%�งสำ- ด้ ท� า ย ก ล% บ ม า ใ ช้�

VI LibrariesVI Libraries ก*ค�อการบร�หารการจ%ด้เก*บ VI ในกรณ�ท�)เราสำร�าง VI

หลายๆ VI แล�วิจ%ด้เก*บรวิมไวิ�ใน Library เด้�ยวิก%นเพ�)อควิามสำะด้วิกในการเล�อกใช้� นอกเหน�อจากน%�นระบบปฏ�บ%ต้�การขีอง Windows จะมองเห*น VI ท%�งหมด้ภายใน VI Libraries เป0น file เพ�ยง file เด้�ยวิไม!ได้�เป0นกล-!มขีอง file ท�)บรรจ- VI

หลายๆ ช้-ด้ แต้!เฉพาะ LabVIEW เท!าน%�นจะมองออกวิ!าเป0นกล-!มขีองไฟล. ประโยช้น.ค�อจะสำะด้วิกและง!ายในการเคล�)อนย�ายท%�งหมด้ file เพราะ file ท�)จ%ด้เก*บอ ย ! ใ น Library จ ะ ไ ด้� ร%บ ก า ร อ% ด้ เ ก* บ (compress) เ ม�) อ ไ ด้� ร%บ ก า ร บ% น ท� ก

อย!างไรก*ต้าม ถึ�าหากเราไม!ม�ควิามจ'าเป0นในกรณ�ด้%งกล!าวิการเก*บ VI

เป0น file ย!อยก*จะม�ควิามสำะด้วิกในการเคล�)อนย�าย VI ท�ละสำ!วิน และการ Load

แ ล ะ Save file ท�) จ% ด้ เ ก* บ แ ต้! ล ะ VI จ ะ ร วิ ด้ เ ร*วิ ก วิ! า file ท�) อ ย ! ร วิ ม ก% นการสำร�าง Library ท'าได้�โด้ยใน dialog box ขีอง Save…,

Save As… , หร�อ Save A Copy… จะม�ป-5ม New VI Library

ให�เล�อก เม�)อกด้ป-5มน��แล�วิ เราจะได้� dialog ขีอง New Vi Library

ขี��นมาพ�มพ.ช้�)อท�)ต้�องการ แล�วิกด้ VI Library สำ'าหร%บรายละเอ�ยด้ในการจ%ด้เก*บ file ในล%กษณะน��ศ�กษาได้�จากค !ม�อขีอง LabVIEW

ACTIVITY 3.2

10 น า ที่�

Basic LabVIEW Programming3-44

Page 45: CH 3 LabVIEW Programing

ในก�จกรรมน��เราจะทด้สำอบควิามเขี�าใจขีองค-ณในการเขี�ยน VI

เ บ�� อ ง ต้� น โ ด้ ย ขี%� น ต้ อ น ม� ด้% ง น��1. จงเขี�ยน VI ให�ม�ล%กษณะขีอง Front Panel ต้ามร ป โด้ยถึ�า

หากวิ!าเลขีสำองจ'านวินท�)ก'าหนด้ขี��นด้�วิย Control ท%�งสำองม�ค!าเท!าก% น ไ ฟ ท�) แ สำ ด้ ง ผ่ ล จ ะ ต้� ด้ แ สำ ด้ ง วิ! า ค! า ท%� ง สำ อ ง เ ท! า ก% น

2. Function ท�)จะใช้�ใน Block Diagram ค�อฟ:งก.ช้%น Equal

To? ซ้�)งเป0นการเปร�ยบเท�ยบเลขีสำองจ'านวินวิ!าเท!าก%นหร�อไม! หาไ ด้� จ า ก Comparison Subpalette ภ า ย ใ ต้� Functions Palette

3. ลองใช้� Continuous Run เพ�)อทด้สำอบการท'างานขีอง VI โด้ยล อ ง เ ป ล�) ย น เ ล ขี ท%� ง สำ อ ง จ'า น วิ น ไ ป เ ร�) อ ย ๆ

ACTIVITY 3.3

15 น า ที่�ก�จกรรมน��จะเป0นการฝึ3กห%ด้การใช้�ฟ:งก.ช้%นพ��นฐานใน LabVIEW และ

เป0นการทด้สำอบควิามเขี�าใจในการสำร�าง Icon และ Connector ขีองค-ณด้�วิยขี%� น ต้ อ น ขี อ ง ก� จ ก ร ร ม น�� ม� ด้% ง น��

1. จงสำร�าง VI ท�)ม�ล%กษณะขีอง Front Panel ด้%งร ป เพ�)อใช้�หาค!าเฉล�)ยขีองเลขีสำามจ'านวิน โด้ยเลขีท%�งสำามก'าหนด้ด้�วิย Control ท%�งสำามท�)ปรากฏบน Front Panel

Basic LabVIEW Programming3-45

Page 46: CH 3 LabVIEW Programing

2. เ ขี� ย น Block Diagram เ พ�) อ ใ ห� VI น�� ท'า ง า น ไ ด้� อ ย! า ง ถึ ก ต้� อ ง3. สำ ร�า ง VI น�� ใ ห� เ ป0 น subVI ด้� วิ ยก า ร ก'า ห น ด้ Icon แ ล ะ Connector

สำ'าหร%บ Block Diagram ขีองก�จกรรมน��ไม!ควิรจะม�ฟ:งก.ช้%นท�)เราไม!เคยพบมาก!อน และสำ'าหร%บในขี�อ 3 น%�นเป0นการทด้สำอบควิามเขี�าในในการเขี�ยน subVI ขีองค-ณ เราอยากให�ค-ณให�เวิลาก%บการออกแบบ Icon ขีองค-ณสำ%กเล*กน�อย ค-ณคงจะย%งไม!เห*นควิามสำ'าค%ญขีองร ป Icon ขีองค-ณจนกระท%)งค-ณต้�องน'าม%นไปใช้�เป0น subVI

ACTIVITY 3.4

15 น า ที่�จงเขี�ยน VI เพ�)อหาผ่ลหารขีองเลขีสำองจ'านวิน ซ้�)งท%�งสำองจ'านวินน�� ม�

จ'านวินหน�)งได้�มาจากการสำ-!ม ซ้�)งจะสำามารถึใช้�ฟ:งก.ช้%น Random ภายใต้� Numeric Subpalette ขี อ ง Functions Palette

Basic LabVIEW Programming3-46

Page 47: CH 3 LabVIEW Programing

ฟ:งก.ช้%น Random Number (0-1) เราจะน'าไปใช้�ในก�จกรรมในบทต้!อไป เพ�) อยกต้%วิอย!างและแทนการวิ%ด้ขีองเคร�)องม�อวิ%ด้จร�ง

สำ'าหร%บบทน��เป0นบทท�)ยาวิและม�รายละเอ�ยด้ค!อนขี�างมาก เม�)อจบบทน��แล�วิเราอยากจะให�ค-ณลองทบทวินและฝึ3กฝึนการใช้�เคร�)องม�อบน Tools Palette และฟ:งก.ช้%นการท'างานต้!างๆ โด้ยคร!าวิอ�กสำ%กคร%�ง อย!างไรก*ต้ามเราหวิ%งวิ!าในขีณะน��ค-ณคงม�ควิามเขี�าใจในหล%กการท'างานขีอง Data Flow Programming มากขี��น รวิมถึ�งได้�เร�ยนร �ก า ร ท'า ง า น ขี อ ง LabVIEW ม า ก ขี�� น

ในบทต้!อไปเราจะเร�ยนร �ถึ�งวิ�ธี�การควิบค-มการเด้�นทางขีองขี�อม ลให�และการท'างานขีอง VI เป0นไปต้ามท�)เราก'าหนด้ เพ�)อท'าให�เราสำร�าง VI ท�) ม� ค วิ า ม อ! อ น ต้% วิ ม า ก ขี�� น ก วิ! า น��

Basic LabVIEW Programming3-47


Top Related