ch 3 labview programing

57
Basic LabVIEW Programming ก ก ก ก ก กก ก ก ก ก ก ก ก ก LabVIEW ก ก กกก ก ก กก ใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใ ใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใ LabVIEW ใใใใใใใใใ ใใใใใใใใใใใใใใใใใใใใ Controls ใใใ Indicators ใใใใใใใใ ใใใใใใใใใใใใใใใใใใใใใ ใใใใใใใใใใใใใใใใใใใใใใใใใใใ ใใใใใใใ Controls ใใใ Indicators ใใใใใใใใ ใใใใใใใใ ใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใ ใใใใใใใใใใใใใใใ ใใใใใใใใใใใใใใใใใใใใใใใใใใใ ใใใใใใใใใใใใใใใใใใใ VI ใใใใใใใใใใใใใใใใใใใ ใใใใใใใใใใใใใใใใใใใ VI ใใใใใใใใ ใใใใใใใใใใ ใใใใใใใใใใใ ใใใใใใใใใใใใ ใใใใใใใใใใใใใใใ ใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใ กกกกกกกกก Controls กกก Indicators กกกกกกก กกกกกกกกกกกกกกกกก LabVIEW กกกกกกกกกกกกกกกกกกกกกกก object กกกกก กกกกกกกกกกกกกกกกกกกกกกกกก Tool Palette กกก กกกกก กกกกกกกกกกกกกกกกกกกกกกกกกกกก VI กกกกกกกกกกกกกกกกกกกก subVI กกก VI กกก Save VI กกกกกกกก ใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใ ใใใใใใใใใใใใใใใใใใใใใใใใใใใใใใ ใใใใใใ

Upload: mrihex

Post on 16-Nov-2014

3.428 views

Category:

Documents


7 download

DESCRIPTION

Basic LabVIEW Programing (Thai)

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