แผนความต อเนื่องของสํานักงานขนสงจังหวัดพิจิตร บทนํา “หน วยงาน” ·
บทนํา - WordPress.com · บล็อกบูลีน...
Transcript of บทนํา - WordPress.com · บล็อกบูลีน...
1
LabVIEW กบ Digital Signal Processing ตอนท 1
พระพล ยวภษตานนท
ภาควชาวศวกรรมอเลกทรอนกส มหาวทยาลยเทคโนโลยมหานคร
บทนา การประมวลผลสญญาณดจตอล หรอ Digital Signal Processing (DSP) น )นนบเปนเร+องท+สามsารถมองไดท )งในแงวชาการและท )งในแงปฏบต โดยในเชงวชาการน )น DSP จะพดถงการศกษาหาความรความเขาใจทางทฤษฎ และ โครงสรางการทางานของหลกการตางๆ ซ+งโดยมากแลวจะอยบนพ)นฐานทางคณตศาสตร เพ+อใหมความเขาใจอยางลกซ)งและจะนาไปสการสรางอลกอรธมเพ+อประยกตใชงานไดอยางไมมขดจากด และถาจะพดถงซอฟทแวรสาหรบเรยนรทฤษฎ DSP ท+นยมใชมากท+สด ณ นาทน) กคงจะตองยกใหเปน MATLAB และ Simulink อยางแนนอน โดยหากมองในเชงความงายในการใชงานแลว Simulink น )นจะไดเปรยบกวา MATLAB อยเลกนอย เพราะ ทกๆ ฟงกชนจะอยในรป บลอกไดอะแกรม (block
diagram) รวมถงการใชบลอกเปนตวแทนของเคร+องมอแตละชนด เชน ฟงกชนเจนเนอเรเตอร สโคป เปนตน การลากสายเช+อมโยงระหวางบลอกแทนการเขยนโปรแกรมทาให Simulink มความเหมาะสมมากสาหรบการเรยนรทฤษฎทางวศวกรรมแทบทกสาขารวมถงงานจาลองระบบจรงบนคอมพวเตอรท+เรยกวากนวาการทา Simulation สวนงาน DSP ในดานปฏบต อาจจะออกมาในรปของการใชตวประมวลผล ซ+งอาจจะเปนคอมพวเตอร PC
ธรรมดาๆ กได เพ+องานเกบขอมลจากการด ( Data Acquisition), การวเคราะหสญญาณท )งทางเวลา และ ความถ+ หรอการดงลกษณะสาคญของขอมล (Feature Extraction), การเขารหส (coding) และ ถอดรหส (decoding), การลดขนาดขอมล (Compression) และ บางคร )ง กอาจจะเก+ยวของกบระบบควบคม เชน การสงขอมลท+ไดจากการประมวลผลไปส +งงานมอเตอร หรอ หนยนต ใหทางานตามท+ตองการโดยอตโนมต ดงน )นหากเปาหมายคอการพฒนาแอพพลเคชนทางดาน DSP ข)นมาใชงานจรงๆ แลว ซอฟทแวรท+จะใชพฒนาน )นกจะตองมอะไรมากไปกวาความสามารถในการทา Simulation เพยงอยางเดยว เพราะเราคงตองการความสามารถในการแสดงหนาจอท+สวยงามใหเหมอนแอพพลเคชนช )นด มเมนการตอบโตกบผใชท+เรยกวา Human Machine Interface หรอ HMI ท+สะดวกและเขาใจงาย อกท )งมฟงกชนทาง DSP อยครบครน ตวซอฟทแวรท+จะใชพฒนาน )นกจะตองสามารถเช+อมตอกบอปกรณท+มอยหลากหลายมาตรฐานไดอกท )งควรมสภาพแวดลอมในการพฒนาท+เหมาะสม เชน ภาษาท+ใชควรจะไมยงยากจนตองหลงพะวงไปกบการแกไข syntax ท+ซบซอน หรอ จะตองอาศยความชานาญช )นเลศทางโปรแกรมม+ง จนลมวาเปาประสงคท+แทจรงคอการพฒนาแอพพลเคชน หากจะมซอฟทแวรสกตวหน+งท+ตอบโจทยเหลาน)ได ซอฟทแวรตวน )นกนาจะเปน LabVIEW
2
LabVIEW เปนซอฟทแวรจากบรษท National Instruments ท+แรกเร+มน )น วางตวเปนซอฟทแวรสาหรบการพฒนาโปรแกรมควบคมเคร+องไมเคร+องมอและอปกรณทดลองในหองปฏบตการหรอในโรงงานอตสาหกรรม โดยจดเดนของ LabVIEW กคอ การเปนภาษาโปรแกรมม+งแบบกราฟฟก (Graphic
programming language) ท+สมบรณแบบ คอ ทกๆ ฟงกชนทดแทนดวยกราฟฟกท )งหมด ไมเหมอนกบชดพฒนาแอพพลเคชนอ+นๆท+ตองมภาษาโปรแกรมม+งแบบ text มารองรบ เชน Visual Studio จะเปน BASIC, C++ หรอ Delphi ท+เปน Pascal แตในปจจบนดวยความสามารถท+มากข)น LabVIEW จงถกมองวาไมใชเปนเพยงแคภาษาโปรแกรมม+งแบบกราฟฟกท+โดดเดนสาหรบเคร+องมอตางๆ เทาน )น แตกลบเปน “ชดพฒนาแอพพลเคชน” หรอ Application Tool ท+ชวยทาใหการพฒนางานซอฟทแวรสาหรบการใชงานจรงเปนไปไดอยางสะดวกรวดเรว โดยขอดของ LabVIEW ท+เดนๆ สาหรบงานปฏบตการ DSP
สามารถแยกแยะไดดงน) 1. มหนาจอ User Interface ท+งายตอการพฒนาโปรแกรม LabVIEW น )น จะมหนาจอท+ทาหนาท+ส+อสารกบผใชงานโดยเฉพาะ หนาจอน)เรยกวา Front panel โดยมกลมอปกรณท+เรยกวา “Control ” ใหเลอกใชมากมาย ซ+งจะชวยใหงานออกมาดเปนซอฟทแวรมาตรฐาน เชน ปมกดหลากหลายประเภท กราฟและชารต Ring text ท+สาคญกคอ การเลอก Control ในหนาจอ Front panel จะปรากฏบลอก Function ใน หนาจอ Block Diagram เพ�อการเขยนโปรแกรมในทนท! 2. การเขยนโปรแกรมเปนกราฟฟกสมบรณแบบและดบกงาย การเขยนโปรแกรมใน LabVIEW จะเปนแบบกราฟฟก ทาใหเขาใจงายโดยเฉพาะผท+คนเคยกบงานทางวศวกรรมท+จะอธบายระบบตางๆ ในรปของบลอกไดอะแกรมและสญลกษณอยเสมอ ขอดท+สาคญกคอ LabVIEW จะม ฟงกชนบลอกเฉพาะอยางท+ชวยรนระยะเวลาการพฒนางานลงไปไดมาก โดยฟงกชนบลอกจะทางานบนหนาจอ Block Diagram ซ+งหนาจอน)จะทางานรวมกบหนาจอ Front panel อยตลอดเวลา การทางานของโปรแกรมใน LabVIEW น )นใชหลกการท+เรยกวา การไหลของขอมลหรอ “Data Flow Programming” ทาใหการดบกโปรแกรมทาไดงายเพราะแตละข )นตอนการทางานจะแสดงเปนเสนทางเดนของลกบอลสแดงว+งไปตามเสนทางเช+อมตอระหวางบลอกเพ+อแสดง การไหลของขอมลในขณะน )น 3. การเช+อมตอกบอปกรณไดหลากหลาย LabVIEW สามารถ “ คย” กบอปกรณหลายชนดหลากย+หอไดอยางมากมาย ซ+งนบเปนจดดท+สาคญอกจดหน+งของ LabVIEW ฟงกชนบลอกท+ใหเลอกใชงานกบโปรโตคอลและมาตรฐานตางๆ มอยมากมาย เชน Serial, Parallel, GPIB, TCP/IP และ VISA กบ VXI รวมถงการใชสภาพแวดลอมท+เปน .NET,
และ ระบบฐานขอมล (Database) ดวย 4. มเคร+องมอชวยดาน DSP ใน LabVIEW ม Toolset เก+ยวของกบ DSP อยางครบครนไมวาจะเปน บลอกการสรางสญญาณ บลอกการทา Convolution, FFT, Digital Filter Design, Linear Algebra, Wavelet
3
Analysis, Joint Time-Frequency Analysis ทาใหงานท+เก+ยวกบการวเคราะหสญญาณน )นเปนไปไดอยางสะดวกรวดเรวมาก ดวยคณสมบตทกๆ ขอขางตนทาให เราสามารถใช LabVIEW มาพฒนางาน DSP ท+ใชไดจรง เชน ดงในตวอยางในรปท+ 1 ซ+งเปนตวอยางงานทาง DSP ท+ทาการสรางและวเคราะหสญญาณท+มหนาจอ HMI ท+สมบรณและสวยงาม
รปท� 1 ตวอยางของงาน DSP ท�พฒนาดวย LabVIEW
เรมตนใชงาน LabVIEW ในตอนน)จะขอแนะนาการใชงาน LabVIEW และ หนาจอตางๆ อยางพอสงเขปกอน เพ+อจะไดเขาใจพ)นฐานสาหรบผท+สนใจในรายละเอยดกคงจะตองศกษาเพ+มเตมจากเอกสารอางองทายบทความ เม+อเร+มตนใชงาน LabVIEW 8.2 เราจะพบหนาจอดงในรปท+ 2 ซ+งเม+อเสรจการ initialization แลว จะปรากฏหนาจอ Getting started ดงในรปท+ 3
5
รปท� 3 หนาจอ Getting Started
ใน LabVIEW ต )งแต เวอรชน 8.0 เปนตนมา จะสามารถคอนฟกใหสภาพแวดลอมในการทางานเปนแบบ Project ซ+งเหมาะกบการทางานพฒนางานแอพพลเคชนขนาดใหญท+มไฟลท+เก+ยวของจานวนมาก ซ+งเปนรปแบบสภาพแวดลอมแบบเดยวกบ Visual Basic, Visual C++ หรอ บรรดา Visual ท )งหลาย แตสาหรบตอนน) เราเลอกการทางานบนรปแบบของ LabVIEW ไฟลท+อยในรปของ “ เคร�องมอเสมอน”
หรอ “Virtual Instrument ” หรอ VI โดยจากหนาจอ Getting Started เม+อเลอก New >>
Blank VI จะปรากฏหนา จอ Front Panel และ Block Diagram ของ VI ดงแสดงในรปท+ 4 Front panel น )นเปนเสมอนหนาตางท+ตอบโตกบผใชงานผานทางชดอปกรณท+มใหเลอกหลากหลาย เชนอปกรณคอนโทรล (Controls) เชน ลกบด, สวทซ, สไลเดอร, เรดโอบทตอน เปนตวรบคาจากผใช หรอ อปกรณแสดงคา (Indicators) เชน หลอดไฟ, มเตอร, เกจ, text box, กราฟ, ชารท และ อ+นๆ หนาจอท+ปรากฏข)นมาดวยกคอ หนาจอ Block Diagram ดงแสดงในรปท+ 5 น )นเปนหนาจอท+เราจะใชเขยนโปรแกรมโดยอาศยบลอกการทางานตางๆ ท+เรยกวาฟงกชน ซ+งถกแบงออกเปนกลมๆ ตามลกษณะของการทางาน เชน กลมโปรแกรมม+ง ท+มกลมยอยเชน บลอกคณตศาสตร เชน บวก,ลบ,คณ,หาร กลมบลอกบลน กลมบลอกเปรยบเทยบ และกลมบลอกโครงสรางโปรแกรม เชนการ For loop, While loop หรอ กลมบลอก Signal Processing ท+ เก+ยวของกบงาน DSP การเลอกดอปกรณท )ง คอนโทรล, อนดเคเตอร หรอ ฟงกชนบลอก วามอะไรบางน )น ทาไดงายๆ เพยงคลกเมาสป มขวา เทาน )น และเม+อพบอปกรณท+ตองการแลว กเพยงแคทาลากมาวางไวในหนาจอท+ตองการเทาน )นกสามารถใชงานไดทนท
7
รปท� 5 หนาจอ Block Diagram และชด Functions
ในแงการทางาน DSP น )น LabVIEW ไดตระเตรยมเคร+องมอการทางานดาน DSP ไวอยางครบครนในรปของเคร+องมอชวยหรอ Tools ซ+งอยในบลอกฟงกชน Signal Processing ซ+งรวบรวมฟงกชนท+จาเปนท )งในดานโดเมนเวลา เชน Waveform generation ต )งแต สญญาณมาตรฐานซายน จนกระท +งสญญาณท+เปนมลตโทน (multitone), Waveform Measure เชน การวดคาเฉล+ย คาทรานเช)ยนต ของรปคล+น และ ฟงกชนในโดเมนความถ+ เชน การ หาเพาเวอรสเปคตรม, การแปลงฟรเยร การทาตวกรองดจตอลสารพดแบบ ตวอยางแสดงดงในรปท+ 6
8
รปท� 6 แสดงฟงกชนบลอก Signal Processing
แตในบทความตอนน) เรามาลองดการใชงาน LabVIEW เพ+องานทางดาน DSP ดวยตวอยางการทางานแบบงายๆ กนกอน คอการทางาน arithmetic ของตวเลขสองจานวน
การสราง VI เบ �องตน ในตวอยางงายๆ เบ)องตน สาหรบการใชงาน LabVIEW กคอตองการ VI ท+ทาหนาท+บวกเลขสองจานวนคอ A, B พรอมท )งแสดงผลลพท C ออกทางหนาจอดวย ดงน )นส+งท+เราตองการกคอ VI ท+ทาสมการ A+B =C การรบคาตวเลขจากหนาจอจะตองใช Control ท+เปน Numeric สวนการ แสดงผลจะตองใช อนดเคเตอรท+
เปน numeric เชนกน โดยเราเลอกตวคอนโทรลแบบ numeric คอ จาก Numeric >>
Numeric Control แสดงรปท+ 7
9
และเม+อวาง ลงใน Front panel แลวจะปรากฏฟงกชนบลอก ในหนาจอบลอกไดอะแกรม ดงรปท+ 8
รปท� 7 Numeric Control จาก Controls
10
รปท� 8 Front panel เม�อวาง Numeric Control และ ฟงกชนบลอกในหนาจอ Block Diagram
จากน )นทาซ)าอกคร )งสาหรบ numeric control อกหน+งตวสาหรบตวแปร B แตสาหรบผลลพท C น )นเรา
จะใช อนดเคเตอร โดยเลอกเปนบลอก หลงจากน )นกทาการเปล+ยน label ของท )ง numeric
control และ indicator ใหเปนตวอกษรท+มความหมายเชน A, B และ C เพ+อท+โปรแกรมจะทางานใหเปนตามสมการ A+B=C ซ+งทาไดโดยการคลกท+ label แลวเปล+ยนเปนตวอกษรท+ตองการ
ตอไปกเลอกฟงกชนการบวก ไดจาก Functions>> Numeric >> Add
11
รปท� 9 Numeric Control และ Indicator
รปท� 10 ฟงกชน Add จาก Programming
จากน )นนาฟงกชน ไปวางไว ในหนาจอบลอกไดอะแกรม ซ+งจะเปนสวนของการเขยนโปรแกรมของเรา จากน )นทาการลากสายเช+อมตอระหวางบลอกท )งหมด ใหดสวยงามเปนระเบยบดงในรปท+ 11
12
รปท� 11 หนาจอ Block Diagram เม�อเช�อมตอสายระหวางบลอกเรยบรอย
เทาน) เราจะได VI ท+เสรจสมบรณแลว! โดย VI ท+ไดน)คอโปรแกรมท+ทาหนาท+บวก A และ B เพ+อจะไดคา
ผลลพทเปน C การรนโปรแกรมกเพยงแตคลกปม Run หรอ ระบบกจะทาการบวกให โดยผใชสามารถเปล+ยนแปลงคาของ A และ B ได จากคอนโทรล A และ B ซ+งสามารถใสคาลงในชองไดโดยตรงหรอ การกดเล+อนคาจากปมลกศรจากตวคอนโทรล จากน )น save โดยใชช+อโปรแกรมวา “simple.vi” โดยในหนาจอ Front panel น )นเราสามารถตกแตงเพ+มเตม เพ+อใหเกดความสวยงามแตท+สาคญกคอควรตกแตงเพ+อใหเกดความงายแกการใชงาน หรอ ใหผใชงานเขาใจไดทนทวาโปรแกรมมหนาท+อะไร ตวอยาง เชน การใส “+” และ “=” ทาใหดแลวเขาใจทนทวาโปรแกรมทาหนาท+บวกเลขสองจานวน
13
รปท� 12 หนาจอ “simple.vi” ท�ตกแตงเพ�อใหสวยงามและเขาใจไดงาย
การรนโปรแกรมสามารถทาไดโดยกดปมไอคอน หรอ กด ctrl+R โดยเราสามารถทดลองรน “simple.vi”ไดทนท พรอมกบทดลองเปล+ยนคา ของ A และ B เพ+อดผลลพท C
ขณะโปรแกรมกาลงรนอย ไอคอน จะเปล+ยนรปรางเปน และหากตองการใหหยดการรน กจะตองคลกท+ปม STOP ( ) แตตอนน)การรนโปรแกรม จะเกดข)นเพยงคร )งเดยว หรอ รอบเดยว หากตองการ
ใหโปรแกรมสามารถรนไดตอเน+อง กจะตองเลอก โปรแกรมจะรนตอเน+องไดหากม การเขยนตวควบคมการรน เชนการใส While loop ดงแสดงในหวขอถดไป
เพม While loop
หากเราตองการใหโปรแกรมสามารถรนไดอยางตอเน+อง น )นเราใชบลอกท+ทาหนาท+คอนโทรลการรน โดยสวนมากเราใช While loop ซ+งมความหมายวาเปนการ “รนโปรแกรมไปจนกวาจะพบเง�อนไขการหยดท�ถกตอง” การเง+อนไขการหยดท+วาอาจจะเกดจากการทางานของโปรแกรมเอง หรอจากการรบคาส +งจากผใชงาน เชนการกดปมยกเลกการทางาน
บลอก While loop ใน LabVIEW จะใชไอคอนเปน จาก Programming >>
Structures>> While Loop ในโปรแกรมท+เปน Text ท )งหลายจะใช “While” และ “end” ครอบสวนของโปรแกรมท+ตองการ หรอ While [เง+อนไข] [โปรแกรม] end วธการใช While loop ใน
14
LabVIEW กคอการใชบลอก ครอบลงไป ในสวนบลอกท+เราตองการเชนเดยวในการเขยน
โปรแกรมแบบ Text น +นเอง ดวธการใส ใน VI ไดจากรปท+ 14
รปท� 13 การเลอก While loop
15
รปท� 14 การใส While loop
แตในรปท+ 14 สงเกตวา หากเราไมใสเง+อนไขการหยดทางาน ใหกบ While loop แลวละก จะเกด ความ
ผดพลาด หรอ Error ข)นท+แสดงดวยไอคอน ซ+งหากเราคลกเขาไปด LabVIEW จะแสดงเหตผลของ Error ท+เกดข)น โดย Error ในตอนน)กเพราะเน+องจากตวแสดงเง+อนไข Loop condition ท+แสดง
ดวย น )น ยงไมไดรบการกาหนดเง+อนไข หนาจอแสดง Error จะอยในรปท+ 15 การแกไข error น) กเพยงแคใส Control เพ+อแสดงเง+อนไขการทา While loop ซ+งเราเลอกเปนปมกดตด
ปลอยดบช+อ Stop ท+ไดมาจาก Control >> Boolean >> Stop Button ดงใน รปท+ 16
จากน )นเรากจะลากบลอก ซ+งเปน Boolean น )น ลงมาในสวนของ Front panel แลวลากสายให
เช+อมตอกบเง+อนไขยกเลกการทา While loop
Error
18
รปท� 17 simple.vi ท�ม while loop ท�มเง�อนไขการหยด
เทาน)เรากจะไดโปรแกรมการบวกท+สามารถรน เรยบรอยแลว เม+อกดปม กจะปรากฏการรนตอเน+อง
ข)น จนกวาจะยกเลกดวยการกดปมยกเลก หรอ stop บนเมน สงเกตวา ในรปท+ 17 น )น จะปรากฏวามบลอกการต )งเวลาการทางานใน while loop ดวย โดยมสญลกษณ
ของฟงกชนบลอกเปน บลอกน)ไดมาจาก Functions>> programming>> Timing
>>Wait until next ms multiple สาเหตท+ตองใชบลอกต )งเวลากคอวา ใน While loop น )นจะทางานตอเน+องจาก loop เกา ไป loop ถดไปโดยไมมชวงหยดพก ซ+งจะทาใหโปรแกรมน)จองเวลาของ
19
CPU เตมท+จนไมมเวลาไปทางานอ+นๆ ไดเลย ดงน )นจงควรจะมสวนของการต )งคาหนวงเวลาของการวนแตละ loop ดวย โดยการต )งเวลาทาไดจาก การใสอนพทเปนคาคงท+ซ+งมบลอกเปน โดยมหนวย มลลวนาท
ซ+งเขยนเปนชดบลอกท+จะเปนมาตรฐาน เชน น )นหมายความวา เราต )งคาใหมการรอเปนเวลา 200 มลลวนาท กอนท+ loop ถดไปจะเร+มทางาน
เพมตวเลอกดวย Case structure ตอนน)เราจะทาใหโปรแกรม LabVIEW ท+ช+อวา simple.vi น)สามารถทา operation ทางคณตศาสตร ไดมากกวาเพยงแคการบวกกคอใหมการลบ (subtract) และ การคณ (multiply) ดวย โดยผใชงาน หรอ user สามารถปรบเปล+ยน operation ท+ตองการ ระหวางการบวก การลบ การคณ ไดจากหนาจอโดยตรง การท+เรากาหนดใหผใชงานเปนผท+เลอกวาจะใช operation ใดน )น กคอการท+ตองมกรณการเลอกไวดวย ซ+งในท+น)เราใชการเลอก “กรณการทางาน” หรอ case structure ซ+งเปนตวเลอก วธการ operation
ระหวาง A และ B ใน LabVIEW จะใช ตว case structure เปนตวเลอกการทางาน โดยเลอกจาก Programming
>>Structures>> Case Structure การเลอกใช กทาเชนเดยวกบการทา While loop โดยเลอก ให case structure น) ครอบโปรแกรมสวนท+ตองการ ซ+งในท+น)กคอเฉพาะสวนฟงกชนการบวก
ซ+งเม+อเพ+ม case structure แลวเราจะได VI ท+มลกษณะดงรปท+ 18 สงเกตวา case structure น )น
มการรบคาเง+อนไขผานทางจดเขาของ Case structue ซ+งแสดงดวยเคร+องหมาย คาถาม โดยคาดฟอลตจะเปน Boolean ซ+งหมายถงคา True -False แตสามารถเปล+ยนให case structure น)รบเง+อนไขเปนแบบหมายเลข เชน 0, 1 ,2 … ได ข)นกบชนดของ Control
20
รปท� 18 การเพ�ม Case structure
เน+องจากโครงสรางของ Control ท+เราใชเปนการเลอก การบวก คณ และลบ เรา จะใชตวเลอกท+เรยกวา
Text ring box ซ+งใหการตอบสนองตอการเลอก ring เปน numeric จะไดจาก Control >> Moderns >> Ring & Enum >> Text Ring
เง+อนไขของ case
21
รปท� 19 หนาจอเม�อใส Text ring แสดง operation
ซ+งเม+อเราคลกขวาท+ Text Ring และเลอก Edit Items เพ+อใสคาแทนความหมายของ Ring โดยการกาหนดคาตวเลข (value) เปน 0, 1 และ 2 สาหรบ Add, Multiply และ Subtract ตามลาดบ เพ+อนาไปเปนเง+อนไขการทางานของ case structure การกาหนดพารามเตอรแสดงในรปท+ 20
เม+อกาหนดพารามเตอรให Ring แลวการลากสายจากบลอก ท+ใหเอาทพทเปน numeric เขา
ท+ case structure ณ จด จะเปล+ยนเง+อนไขการรบคาของ case structure จาก boolean
เปน numeric โดยอตโนมตดงแสดงในรปท+ 21
23
รปท� 21 การเช�อมสายของ Text ring เขากบ Case structure
สงเกตวาตอนน) Add เปน case “1” ซ+งเราสามารถจดโครงสราง case น) ใหเปน case “0” หรอ “default” ไดโดยการคลกขวาท+ case น) แลวใชเมน Make this case 0, default ตอนน)เรามการรบ operation เพยงแคกรณ operation การ Add เทาน )น เรายงตองทาการเขยนโปรแกรมเพ+มในสวนท+เปนกรณของการคณและ การลบดวย แตเน+องจากวาในขณะน) Case structure มอยเพยง 2 กรณสาหรบคาอนพทท+เปน 0 (add) และ 1 (multiply) เทาน )น เรายงตองการเพ+มอก 1 case
สาหรบการรบคา 2 (subtract) อกดวย การเพ+มจานวน case น )นกไมไดยากเยนอะไร เราจะใชการคลกขวาท+ case แลวเลอก เมน Add Case
After เทาน)กจะได case เพ+มข)นเพ+อรองรบกรณของการ subtract แลว แตเม+อคลกดใน case ท+ 1 และ 2 น )น จะพบวายงไมมการสราง operation ใดๆ เลย แตเรากสามารถสราง operation รองรบในท )งสอง
case น)ไดงายๆ โดยการเพ+มบลอก และ สาหรบ case 1 และ case 2 ตามลาดบ จากน )นทาการ
เช+อมโยงสายอนพทและเอาทพทเชนเดยวกบท+ทากบบลอก ในกรณ case 0 ดงในรปท+ 22 เพยงเทาน)โปรแกรม simple.vi กสามารถรบคาการเลอกจากผใชงานไดแลว จากน )นเราอาจจะทาการตกแตงหนาตาของโปรแกรมใหดสวยงาม โดยอาศยเคร+องมอในชด Controls>> Decorations ไดตามใจชอบ และเม+อเสรจแลวกจะได simple.vi ท+เสรจสมบรณและหลงจากรนโปรแกรม กจะเปนดงในรปท+ 23
24
(a) (b)
รปท� 22 (a) case 1 สาหรบการ multiply (b) case 2 สาหรบ การ subtract
รปท� 23 โปรแกรม “simple.vi” ท�เสรจสมบรณ
25
สรป ในบทความน) เราพบวา LabVIEW น )นเปนชดพฒนาแอพพลเคชน ท+มความสามารถในการแสดงหนาจอท+สวยงาม มเมนการตอบโตกบผใช HMI ท+สะดวกและเขาใจงาย อกท )งมฟงกชนทาง DSP อยครบครน สวนตวอยางในบทความน)เราใช LabVIEW สรางโปรแกรมพ)นฐานอยางงายๆ เพ+อใหเหนวธการใชงานเพ+อเปนพ)นฐานสาหรบการใช LabVIEW ในการทางาน DSP ท+ซบซอนมากข)นในตอนตอๆไป ผอานทานใดสนใจไฟล VI โปรแกรม LabVIEW ท+ใชในบทความน)หรอมคาถามและขอแนะนาใดๆ สามารถตดตอผเขยนไดท+ [email protected]
เอกสารอางอง 1. เอกสาร “Getting Started with LabVIEW” สามารถดาวนโหลดไดจาก http://www.ni.com/pdf/manuals/373427a.pdf