แล็บวิว
โปรแกรมเวิร์กเบนช์วิศวกรรมเครื่องมือเสมือนจริงสำหรับห้องปฏิบัติการ ( LabVIEW ) [ 1 ] : 3เป็นแพลตฟอร์มการออกแบบและพัฒนาระบบ กราฟิก ที่ผลิตและจัดจำหน่ายโดยNational Instrumentsโดยอิงตามสภาพแวดล้อมการเขียนโปรแกรมที่ใช้ภาษาการเขียนโปรแกรมแบบภาพมีการใช้งานอย่างแพร่หลายสำหรับการเก็บรวบรวมข้อมูลการควบคุมเครื่องมือและระบบอัตโนมัติ ทางอุตสาหกรรม โดยมีเครื่องมือสำหรับการออกแบบและใช้งานระบบทดสอบและการวัดที่ซับซ้อน[ 2 ]
ภาษาการเขียนโปรแกรมแบบภาพ (หรือแบบกราฟิก) เรียกว่า "G" (อย่าสับสนกับG-code ) เป็นภาษาการไหลของข้อมูลที่พัฒนาขึ้นครั้งแรกโดย National Instruments [ 3 ] LabVIEW รองรับ ระบบปฏิบัติการ (OS) หลากหลาย ระบบ รวมถึง macOS และ UnixและLinuxเวอร์ชันอื่นๆตลอดจนMicrosoft Windows
LabVIEW เวอร์ชันล่าสุดคือ LabVIEW 2024 Q3 (วางจำหน่ายในเดือนกรกฎาคม 2024) และ LabVIEW NXG 5.1 (วางจำหน่ายในเดือนมกราคม 2021) [ 4 ] National Instruments ได้วางจำหน่าย LabVIEW และ LabVIEW NXG Community edition เวอร์ชันฟรีสำหรับการใช้งานที่ไม่ใช่เชิงพาณิชย์เมื่อวันที่ 28 เมษายน 2020 [ 5 ]
การเขียนโปรแกรมการไหลของข้อมูล
รูปแบบการเขียนโปรแกรมที่ใช้ในภาษา LabVIEW "G" นั้นขึ้นอยู่กับความพร้อมใช้งานของข้อมูล หากมีข้อมูลเพียงพอสำหรับฟังก์ชัน ฟังก์ชันนั้นก็จะทำงาน การไหลของการทำงานถูกกำหนดโดยโครงสร้างของไดอะแกรมบล็อกกราฟิก (ซอร์สโค้ดของ LabVIEW) ซึ่งโปรแกรมเมอร์จะวางโหนดและเชื่อมต่อโดยการวาดเส้นโหนดอาจเป็นตัวควบคุมตัวบ่งชี้โครงสร้างฟังก์ชันหรือไดอะแกรมบล็อกอื่นแบบเรียกซ้ำตัวอย่างของไดอะแกรมบล็อกสี่โหนดอย่างง่ายคือ ตัวควบคุมสองตัวและตัวบ่งชี้ที่เชื่อมต่อกับฟังก์ชันการบวก ทำให้ตัวบ่งชี้แสดงผลรวมของตัวควบคุมทั้งสอง เส้นที่เชื่อมต่อโหนดจะส่งต่อข้อมูลเป็นตัวแปร และโหนดใดๆ ก็สามารถทำงานได้ทันทีที่ตัวแปรอินพุตทั้งหมด (ข้อมูล) พร้อมใช้งาน เนื่องจากอาจเป็นกรณีสำหรับหลายโหนดพร้อมกัน LabVIEW จึงสามารถทำงานแบบขนานได้ในเชิงแนวคิด[ 6 ] : 1–2 ฮาร์ดแวร์ มัลติโปรเซสซิ่งและมัลติเธรดดิ้งถูกใช้ประโยชน์โดยอัตโนมัติโดยตัวกำหนดตารางเวลาในตัว ซึ่ง จะ มัลติเพล็กซ์เธรดระบบปฏิบัติการหลายเธรดบนโหนดที่พร้อมสำหรับการทำงาน
การเขียนโปรแกรมเชิงกราฟิก

LabVIEW ผสานการสร้างส่วนติดต่อผู้ใช้ (เรียกว่าแผงด้านหน้า) เข้ากับวงจรการพัฒนาโปรแกรม โปรแกรม LabVIEW คือชุดของเครื่องมือเสมือน (VI) หนึ่งตัวหรือมากกว่านั้น แต่ละ VI มีสามส่วนประกอบ ได้แก่แผงด้านหน้าแผงด้านหลังและแผงเชื่อมต่อซึ่งทั้งหมดประกอบด้วยโหนดและสายไฟที่แสดงให้ผู้ใช้เห็นในรูปแบบกราฟิกแผงด้านหน้าสร้างขึ้นโดยใช้ตัวควบคุมและตัวบ่งชี้ ตัวควบคุมเป็นอินพุต ช่วยให้ผู้ใช้ป้อนข้อมูลไปยัง VI ตัวบ่งชี้เป็นเอาต์พุต แสดงผลลัพธ์ตามอินพุตที่ป้อนให้กับ VI แผงด้านหลังประกอบด้วยไดอะแกรมบล็อกที่มีซอร์สโค้ดแบบกราฟิก วัตถุทั้งหมดที่วางอยู่บนแผงด้านหน้าจะปรากฏในไดอะแกรมบล็อกของแผงด้านหลังเป็นเทอร์มินัล ไดอะแกรมบล็อกยังประกอบด้วยโครงสร้างและฟังก์ชันที่เลือกจากพาเลทฟังก์ชัน ซึ่งดำเนินการกับตัวควบคุมและป้อนข้อมูลให้กับตัวบ่งชี้ แผงเชื่อมต่อมีขั้วต่อที่สายไฟเชื่อมต่อไปยังหรือมาจากจุดต่างๆ ในแผงด้านหน้าและด้านหลัง และใช้เพื่อแสดง VI ภายในแผงด้านหลังของ VI ต้นทาง (ผู้เรียก) และ VI ปลายทาง (ผู้ถูกเรียก) ที่อาจเชื่อมต่ออยู่
มีสองวิธีในการเรียกใช้ VI วิธีแรกคือการเรียกใช้ VI ด้วยตัวเองในฐานะโปรแกรม โดยใช้แผงควบคุมด้านหน้าเป็นส่วนติดต่อผู้ใช้ หรืออีกวิธีหนึ่งคือการเรียกใช้ VI เป็นโหนดที่วางลงบนไดอะแกรมบล็อกของ VI อื่น และเชื่อมต่อกับโหนดต่างๆ ผ่านแผงเชื่อมต่อ ในกรณีนี้ VI จะทำงานเป็นซับรูทีนภายในโปรแกรมขนาดใหญ่ และแผงควบคุมด้านหน้าจะควบคุมอินพุตและเอาต์พุตของโหนด VI ดังนั้น VI แต่ละตัวจึงสามารถทดสอบได้ง่ายในฐานะโปรแกรมแบบสแตนด์อะโลนก่อนที่จะฝังเป็นซับรูทีนในโปรแกรมขนาดใหญ่
วิธีการเขียนโปรแกรมแบบกราฟิก "G" ช่วยให้ผู้ที่ไม่ใช่โปรแกรมเมอร์สามารถสร้างโปรแกรมได้ง่ายๆ โดยการลากและวางภาพจำลองอุปกรณ์ห้องปฏิบัติการเสมือนจริงที่พวกเขาคุ้นเคยอยู่แล้ว สภาพแวดล้อมการเขียนโปรแกรม LabVIEW มีตัวอย่างและเอกสารประกอบเพื่อเป็นแนวทางและทำให้การสร้างแอปพลิเคชันขนาดเล็กง่ายขึ้น เช่นเดียวกับคู่มือการเขียนโปรแกรมเบื้องต้นทั้งหมด ความง่ายในการสร้างโปรแกรม "G" ที่ใช้งานได้อาจทำให้โปรแกรมเมอร์ประเมินความเชี่ยวชาญที่จำเป็นสำหรับการเขียนโปรแกรม "G" คุณภาพสูงต่ำเกินไป สำหรับอัลกอริทึมที่ซับซ้อนหรือโค้ดขนาดใหญ่ โปรแกรมเมอร์ต้องมีความรู้มากมายเกี่ยวกับไวยากรณ์พิเศษของ LabVIEW และโครงสร้างการจัดการหน่วยความจำ ระบบการพัฒนา LabVIEW ขั้นสูงที่สุดมีคุณสมบัติในการสร้างแอปพลิเคชันแบบสแตนด์อะโลน นอกจากนี้ยังสามารถสร้างแอปพลิเคชันแบบกระจายที่สื่อสารกันโดยใช้โมเดลไคลเอ็นต์-เซิร์ฟเวอร์ แบบง่ายๆ ซึ่งใช้ประโยชน์จากลักษณะการทำงานแบบขนานโดยธรรมชาติของ "G"
รูปแบบการออกแบบแอปพลิเคชันทั่วไป
โดยทั่วไปแล้ว แอปพลิเคชันใน LabVIEW จะถูกออกแบบโดยใช้สถาปัตยกรรมที่เป็นที่รู้จักกันดีซึ่งเรียกว่ารูปแบบการออกแบบ (design patterns ) รูปแบบการออกแบบที่พบบ่อยที่สุดสำหรับแอปพลิเคชันกราฟิกใน LabVIEW แสดงอยู่ในตารางด้านล่าง
| รูปแบบการออกแบบ | วัตถุประสงค์ | รายละเอียดการดำเนินการ | กรณีศึกษา | ข้อจำกัด |
|---|---|---|---|---|
| ตัวแปรฟังก์ชันทั่วโลก | แลกเปลี่ยนข้อมูลโดยไม่ใช้ตัวแปรส่วนกลาง | รีจิสเตอร์เลื่อนของลูป whileใช้สำหรับจัดเก็บข้อมูล และลูป while จะทำงานเพียงรอบเดียวในเครื่องดนตรีเสมือน (VI) แบบ "ไม่วนซ้ำ" | แลกเปลี่ยนข้อมูลโดยใช้สายไฟน้อยลง | เครื่องดนตรีเสมือนจริง (VI) ทั้งหมดจะถูกเก็บไว้ในหน่วยความจำ |
| เครื่องสถานะ[ 7 ] | การดำเนินการที่ถูกควบคุมซึ่งขึ้นอยู่กับเหตุการณ์ในอดีต | โครงสร้าง caseภายในลูป while จะส่งค่าตัวแปรแบบแจงนับไปยังรีจิสเตอร์เลื่อน ซึ่งแสดงถึงสถานะถัดไป สามารถออกแบบเครื่องสถานะที่ซับซ้อนได้โดยใช้โมดูล Statechart | ส่วนต่อประสานผู้ใช้ ตรรกะที่ซับซ้อน โปรโตคอลการสื่อสาร | ต้องทราบสถานะที่เป็นไปได้ทั้งหมดล่วงหน้า |
| ส่วนติดต่อผู้ใช้แบบขับเคลื่อนด้วยเหตุการณ์ | การประมวลผลการกระทำของผู้ใช้โดยไม่สูญเสียข้อมูล | เหตุการณ์ GUI จะถูกดักจับโดยคิวโครงสร้างเหตุการณ์ภายในลูป while โดยลูป while จะถูกระงับโดยโครงสร้างเหตุการณ์และจะเริ่มทำงานต่อก็ต่อเมื่อดักจับเหตุการณ์ที่ต้องการได้แล้ว | ส่วนติดต่อผู้ใช้แบบกราฟิก | มีโครงสร้างเหตุการณ์เพียงหนึ่งเดียวในลูป |
| นาย-ทาส[ 8 ] | เรียกใช้กระบวนการอิสระพร้อมกัน | ลูป while หลายลูปที่ทำงานขนานกัน โดยลูปหนึ่งทำหน้าที่เป็น "ตัวหลัก" ควบคุมลูป "ตัวรอง" | ส่วนต่อประสานผู้ใช้แบบง่ายสำหรับเก็บรวบรวมและแสดงผลข้อมูล | จำเป็นต้องให้ความสนใจและป้องกันสภาวะการแข่งขัน (race conditions ) |
| ผู้ผลิต-ผู้บริโภค[ 9 ] | การประมวลผลลูปแบบอะซิงโครนัสหรือแบบมัลติเธรด | ลูปหลักจะควบคุมการทำงานของลูปย่อยสองลูป ซึ่งสื่อสารกันโดยใช้ตัวแจ้งเตือน คิว และเซมาฟอร์ ลูปที่ไม่ขึ้นกับข้อมูลจะถูกประมวลผลโดยอัตโนมัติในเธรดแยกต่างหาก | การสุ่มตัวอย่างและการแสดงภาพข้อมูล | ลำดับการดำเนินการไม่ชัดเจนสำหรับฝ่ายควบคุม |
| เครื่องสถานะแบบคิวที่มีตัวผลิต-ผู้บริโภคแบบขับเคลื่อนด้วยเหตุการณ์ | ส่วนติดต่อผู้ใช้ที่ตอบสนองได้รวดเร็วสำหรับแอปพลิเคชันแบบมัลติเธรด | ส่วนติดต่อผู้ใช้แบบขับเคลื่อนด้วยเหตุการณ์ถูกวางไว้ภายในลูปผู้ผลิต และเครื่องสถานะถูกวางไว้ภายในลูปผู้บริโภค โดยสื่อสารกันโดยใช้คิวระหว่างกันเองและกับ VI อื่นๆ ที่ทำงานขนานกัน | แอปพลิเคชันที่ซับซ้อน |
คุณสมบัติและแหล่งข้อมูล
การเชื่อมต่อกับอุปกรณ์
LabVIEW มีการสนับสนุนอย่างครอบคลุมสำหรับการเชื่อมต่อกับเครื่องมือ กล้อง และอุปกรณ์อื่นๆ ผู้ใช้เชื่อมต่อกับฮาร์ดแวร์โดยการเขียนคำสั่งบัสโดยตรง (USB, GPIB, Serial) หรือใช้ไดรเวอร์ระดับสูงเฉพาะอุปกรณ์ที่ให้โหนดฟังก์ชัน "G" ดั้งเดิมสำหรับการควบคุมอุปกรณ์ National Instruments มีไดรเวอร์อุปกรณ์หลายพันรายการให้ดาวน์โหลดบนInstrument Driver Network (IDNet) [ 10 ]
LabVIEW มีการรองรับผลิตภัณฑ์อื่นๆ ของ National Instruments ในตัว เช่นแพลตฟอร์มฮาร์ดแวร์CompactDAQและCompactRIO รวมถึงชุดเครื่องมือ Measurement and Automation eXplorer (MAX) และVirtual Instrument Software Architecture (VISA)
การคอมไพล์และการรันโค้ด
LabVIEW มีคอมไพเลอร์ที่แปลงโค้ด "G" เป็นโค้ดเนทีฟสำหรับแพลตฟอร์ม CPU ที่รองรับ โค้ดกราฟิกจะถูกแปลงเป็น Dataflow Intermediate Representation (DTI) จากนั้นจะถูกแปลงเป็นส่วนของโค้ดเครื่อง ที่สามารถเรียกใช้งานได้ โดยคอมไพเลอร์ที่ใช้LLVMส่วนของโค้ดเหล่านี้จะถูกเรียกใช้โดย เอนจิน รันไทม์ "G" ทำให้สามารถเรียกใช้โค้ดกราฟิกได้อย่างรวดเร็วและมีประสิทธิภาพสูง ไวยากรณ์ของ LabVIEW จะถูกบังคับใช้อย่างเคร่งครัดในระหว่างกระบวนการแก้ไข และเมื่อเรียกใช้หรือบันทึกโค้ด "G" คอมไพเลอร์จะถูกเรียกใช้งานโดยอัตโนมัติ โค้ด "G" จะถูกบันทึกไว้ในไฟล์ไบนารีไฟล์เดียวที่มีทั้งโค้ดต้นฉบับและโค้ดที่สามารถเรียกใช้งานได้ การเรียกใช้งานจะถูกควบคุมโดยเอนจินรันไทม์ ซึ่งมีโค้ดที่คอมไพล์ไว้ล่วงหน้าบางส่วนเพื่อทำงานทั่วไปที่กำหนดไว้ในภาษา "G" เอนจินรันไทม์จัดการการไหลของการเรียกใช้งาน และมีอินเทอร์เฟซที่สม่ำเสมอสำหรับระบบปฏิบัติการ ระบบกราฟิก และส่วนประกอบฮาร์ดแวร์ที่รองรับ การใช้สภาพแวดล้อมรันไทม์แบบพกพาทำให้ไฟล์โค้ดต้นฉบับสามารถพกพาได้ข้ามแพลตฟอร์มที่รองรับ โปรแกรม LabVIEW ทำงานช้ากว่าโค้ด C ที่คอมไพล์แล้วเทียบเท่ากัน แม้ว่าโดยทั่วไปแล้วจะสามารถบรรเทาปัญหาเรื่องความเร็วได้ด้วยการเพิ่มประสิทธิภาพโปรแกรม[ 11 ]
ห้องสมุดขนาดใหญ่
LabVIEW ประกอบด้วย ไลบรารีจำนวนมากที่มีฟังก์ชันสำหรับการได้มาซึ่งข้อมูล การสร้างสัญญาณ คณิตศาสตร์ สถิติ การปรับสภาพสัญญาณ การวิเคราะห์ การบูรณาการ การกรอง และความสามารถเฉพาะทางอื่นๆ เช่น การจับข้อมูลจากเซ็นเซอร์ฮาร์ดแวร์ นอกจากนี้ ยังมีMathScript ซึ่งเป็น ส่วนประกอบการเขียนโปรแกรมแบบข้อความที่มีฟังก์ชันในตัวสำหรับการประมวลผลสัญญาณ การวิเคราะห์ และคณิตศาสตร์ MathScript สามารถบูรณาการกับการเขียนโปรแกรมแบบกราฟิกโดยใช้โหนดสคริปต์และใช้ไวยากรณ์ที่เข้ากันได้กับMATLAB โดย ทั่วไป [ 12 ]
การเขียนโปรแกรมแบบขนาน
LabVIEW เป็นภาษาที่รองรับการทำงานแบบขนาน โดยธรรมชาติ ดังนั้นจึงง่ายมากที่จะเขียนโปรแกรมงานหลายอย่างที่ทำงานพร้อมกันผ่านมัลติเธรดดิ้ง ตัวอย่างเช่น โดยการวาดลูป while สองลูปขึ้นไปแบบขนานกันและเชื่อมต่อเข้ากับโหนดสองโหนดที่แยกจากกัน ซึ่งเป็นประโยชน์อย่างมากสำหรับการทำงานอัตโนมัติของระบบทดสอบ ที่ซึ่งเป็นเรื่องปกติที่จะดำเนินการกระบวนการต่างๆ เช่น การจัดลำดับการทดสอบ การบันทึกข้อมูล และการเชื่อมต่อฮาร์ดแวร์แบบขนานกัน
ระบบนิเวศ
เนื่องจากแพลตฟอร์ม LabVIEW มีอายุการใช้งานยาวนานและเป็นที่นิยม รวมถึงความสามารถของผู้ใช้ในการขยายฟังก์ชันการทำงาน ทำให้เกิดระบบนิเวศขนาดใหญ่ของส่วนเสริมจากบุคคลที่สาม ซึ่งพัฒนาขึ้นจากการมีส่วนร่วมของชุมชน ส่วนเสริมเหล่านี้ส่วนใหญ่สามารถดาวน์โหลดและติดตั้งลงใน LabVIEW ได้โดยตรงโดยใช้ VI Package Manager (VIPM) [ 13 ]ซึ่งเป็นตัวจัดการแพ็กเกจอย่างเป็นทางการสำหรับส่วนเสริมของ LabVIEW นอกจากนี้ National Instruments ยังมีตลาดสำหรับส่วนเสริม LabVIEW ทั้งแบบฟรีและแบบชำระเงิน เรียกว่าNI Tools Network
ชุมชนผู้ใช้งาน
มีโปรแกรม LabVIEW Student Edition ราคาประหยัดสำหรับสถาบันการศึกษาเพื่อใช้ในการเรียนการสอน นอกจากนี้ยังมีชุมชนผู้ใช้งาน LabVIEW ที่กระตือรือร้นซึ่งสื่อสารกันผ่านทางรายชื่ออีเมล (กลุ่มอีเมล) และ ฟอรัม บนอินเทอร์เน็ต หลายแห่ง
ชุดรวมบ้าน
National Instruments นำเสนอ LabVIEW Home Bundle Edition ราคาประหยัด[ 14 ]
รุ่นชุมชน
National Instruments มีเวอร์ชันที่ใช้งานได้ฟรีสำหรับการใช้งานที่ไม่ใช่เชิงพาณิชย์ เรียกว่า LabVIEW Community Edition [ 15 ]เวอร์ชันนี้ประกอบด้วยทุกอย่างใน LabVIEW Professional Editions ไม่มีลายน้ำ และรวมถึง LabVIEW NXG Web Module สำหรับการใช้งานที่ไม่ใช่เชิงพาณิชย์ โรงเรียนระดับ K-12 ก็สามารถใช้เวอร์ชันนี้ได้เช่นกัน[ 16 ]
การวิจารณ์
LabVIEW เป็น ผลิตภัณฑ์ ลิขสิทธิ์ของ National Instruments ซึ่งแตกต่างจากภาษาโปรแกรมทั่วไป เช่นCหรือFortran LabVIEW ไม่ได้รับการจัดการหรือกำหนดมาตรฐานโดยคณะกรรมการมาตรฐานใดๆ จากภายนอก
ไม่ใช่ข้อความ
เนื่องจากภาษา "G" ไม่ใช่ภาษาข้อความ เครื่องมือซอฟต์แวร์ทั่วไป เช่น การกำหนดเวอร์ชัน การเปรียบเทียบแบบเคียงข้างกัน (หรือ diff) และการติดตามการเปลี่ยนแปลงรหัสเวอร์ชัน จึงไม่สามารถนำมาใช้ในลักษณะเดียวกับภาษาการเขียนโปรแกรมแบบข้อความได้ อย่างไรก็ตาม มีเครื่องมือควบคุมซอร์สโค้ด (การกำหนดเวอร์ชัน) บางอย่างที่ช่วยให้สามารถเปรียบเทียบและรวมโค้ดได้ เช่น Subversion, CVS และ Perforce [ 17 ] [ 18 ] [ 19 ]
ประวัติการเผยแพร่
LabVIEW เวอร์ชันแรก 1.0 เปิดตัวในปลายเดือนตุลาคม พ.ศ. 2529 โดยเริ่มแรกมีให้ใช้งานเฉพาะบน Apple Macintosh เท่านั้น[ 20 ]เดิมทีนักพัฒนาตั้งใจจะพัฒนาสำหรับ IBM PC เนื่องจากได้รับความนิยมมากกว่า แต่ตัดสินใจว่าการพัฒนาสำหรับ Macintosh ต้นแบบแรกจะเร็วกว่า ในระหว่างการพัฒนา พวกเขาตระหนักว่าเวอร์ชันสำหรับ IBM PC นั้นไม่สามารถทำได้ จนกว่าแพลตฟอร์ม PC จะมีสภาพแวดล้อมแบบหน้าต่างที่เหมาะสม[ 20 ]
ในปี 2005 เริ่มตั้งแต่ LabVIEW 8.0 เป็นต้นไป เวอร์ชันหลักจะถูกปล่อยออกมาในช่วงสัปดาห์แรกของเดือนสิงหาคม เพื่อให้ตรงกับงานประชุมประจำปีของ National Instruments หรือ NI Week และตามด้วยเวอร์ชันแก้ไขข้อบกพร่องในเดือนกุมภาพันธ์ของปีถัดไป
ในปี 2009 บริษัท National Instruments เริ่มตั้งชื่อรุ่นซอฟต์แวร์ตามปีที่วางจำหน่าย ตัวอย่างเช่น การแก้ไขข้อผิดพลาดจะเรียกว่า Service Pack ดังนั้น Service Pack 1 ปี 2009 จึงวางจำหน่ายในเดือนกุมภาพันธ์ ปี 2010
ในปี 2017 บริษัท National Instruments ได้ย้ายการประชุมประจำปีไปจัดในเดือนพฤษภาคม และเปิดตัว LabVIEW 2017 พร้อมกับ LabVIEW NXG 1.0 ที่ได้รับการออกแบบใหม่ทั้งหมด ซึ่งสร้างขึ้นบน Windows Presentation Foundation (WPF)
| ชื่อและเวอร์ชัน | หมายเลขอาคาร | วันที่ | หมายเหตุ |
|---|---|---|---|
| โครงการ LabVIEW เริ่มต้นขึ้นแล้ว | เมษายน พ.ศ. 2526 | ||
| LabVIEW 1.0 | ตุลาคม พ.ศ. 2529 | สำหรับ Macintosh | |
| LabVIEW 2.0 | มกราคม พ.ศ. 2533 | ||
| LabVIEW 2.5 | สิงหาคม พ.ศ. 2535 | เวอร์ชันแรกสำหรับ Sun และ Windows | |
| LabVIEW 3.0 | กรกฎาคม 2536 | หลายแพลตฟอร์ม | |
| LabVIEW 3.0.1 | พ.ศ. 2537 | เวอร์ชันแรกสำหรับ Windows NT | |
| LabVIEW 3.1 | พ.ศ. 2537 | ||
| LabVIEW 3.1.1 | พ.ศ. 2538 | เวอร์ชันแรกที่มีฟังก์ชัน "ตัวสร้างแอปพลิเคชัน" | |
| LabVIEW 4.0 | เมษายน พ.ศ. 2539 | ||
| LabVIEW 4.1 | พ.ศ. 2540 | ||
| LabVIEW 5.0 | กุมภาพันธ์ พ.ศ. 2541 | ||
| LabVIEW RT | พฤษภาคม 2542 | เรียลไทม์ | |
| LabVIEW 6.0 (6i) | 6.0.0.4005 | 26 กรกฎาคม 2543 | |
| LabVIEW 6.1 | 6.1.0.4004 | 12 เมษายน 2544 | |
| LabVIEW 7.0 (Express) | 7.0.0.4000 | เมษายน พ.ศ. 2546 | |
| โมดูล LabVIEW PDA | พฤษภาคม 2546 | การเปิดตัวโมดูลครั้งแรก | |
| โมดูล LabVIEW FPGA | มิถุนายน พ.ศ. 2546 | วางจำหน่ายครั้งแรก | |
| LabVIEW 7.1 | 7.1.0.4000 | 2004 | |
| โมดูลฝังตัว LabVIEW | พฤษภาคม 2548 | วางจำหน่ายครั้งแรก | |
| LabVIEW 8.0 | 8.0.0.4005 | กันยายน 2548 | |
| LabVIEW 8.20 | สิงหาคม 2549 | การเขียนโปรแกรมเชิงวัตถุแบบเนทีฟ | |
| LabVIEW 8.2.1 | 8.2.1.4002 | 21 กุมภาพันธ์ 2550 | |
| LabVIEW 8.5 | 8.5.0.4002 | 2007 | |
| LabVIEW 8.6 | 8.6.0.4001 | 24 กรกฎาคม 2551 | |
| LabVIEW 8.6.1 | 8.6.0.4001 | 10 ธันวาคม พ.ศ. 2551 | |
| LabVIEW 2009 | 9.0.0.4022 | 4 สิงหาคม 2552 | 32 บิตและ 64 บิต |
| LabVIEW 2009 SP1 | 9.0.1.4011 | 8 มกราคม 2553 | |
| LabVIEW 2010 | 10.0.0.4032 | 4 สิงหาคม 2553 | |
| LabVIEW 2010 f2 | 10.0.0.4033 | 16 กันยายน 2553 | |
| LabVIEW 2010 SP1 | 10.0.1.4004 | 17 พฤษภาคม 2554 | |
| LabVIEW สำหรับ LEGO MINDSTORMS | สิงหาคม 2554 | 2010 SP1 พร้อมโมดูลบางส่วน | |
| LabVIEW 2011 | 11.0.0.4029 | 22 มิถุนายน 2554 | |
| LabVIEW 2011 SP1 | 11.0.1.4015 | 1 มีนาคม 2555 | |
| LabVIEW 2012 | 12.0.0.4029 | สิงหาคม 2555 | |
| LabVIEW 2012 SP1 | 12.0.1.4013 | ธันวาคม 2555 | |
| LabVIEW 2013 | 13.0.0.4047 | สิงหาคม 2556 | |
| LabVIEW 2013 SP1 | 13.0.1.4017 | มีนาคม 2557 [ 21 ] | |
| LabVIEW 2014 | 14.0 | สิงหาคม 2557 | |
| LabVIEW 2014 SP1 | 14.0.1.4008 | มีนาคม 2558 | |
| LabVIEW 2015 | 15.0f2 | สิงหาคม 2558 | |
| LabVIEW 2015 SP1 | 15.0.1f1 | มีนาคม 2559 | |
| LabVIEW 2016 | 16.0.0 | สิงหาคม 2559 | |
| LabVIEW 2017 | 17.0f1 | พฤษภาคม 2560 | |
| LabVIEW NXG 1.0 | 1.0.0 | พฤษภาคม 2560 | |
| LabVIEW 2017 SP1 | 17.0.1f1 | ม.ค. 2561 [ 22 ] | |
| LabVIEW NXG 2.0 | 2.0.0 | ม.ค. 2561 [ 23 ] | |
| LabVIEW 2018 | 18.0 | พฤษภาคม 2561 | |
| LabVIEW NXG 2.1 | 2.1.0 | พฤษภาคม 2561 [ 24 ] | |
| LabVIEW 2018 SP1 | 18.0.1 | กันยายน 2561 [ 25 ] | |
| LabVIEW NXG 3.0 | 3.0.0 | พฤศจิกายน 2018 [ 26 ] | |
| LabVIEW 2019 | 19.0 | พฤษภาคม 2562 | |
| LabVIEW NXG 3.1 | 3.1.0 | พฤษภาคม 2562 [ 27 ] | |
| LabVIEW 2019 SP1 | 19.0.1 | พฤศจิกายน 2019 | |
| LabVIEW NXG 4.0 | 4.0.0 | พฤศจิกายน 2019 [ 28 ] | |
| LabVIEW 2020 และLabVIEW NXG 5.0 Community Edition | เมษายน 2563 [ 29 ] | การเผยแพร่ครั้งแรก | |
| LabVIEW 2021 | 21.0 | สิงหาคม 2564 | |
| LabVIEW 2022 ไตรมาสที่ 3 | 22.3 | กรกฎาคม 2565 | |
| LabVIEW 2023 ไตรมาสที่ 1 | 23.1 | มกราคม 2566 | |
| LabVIEW 2023 ไตรมาสที่ 3 | 23.3 | กรกฎาคม 2566 | |
| LabVIEW 2024 ไตรมาสที่ 1 | 24.1 | มกราคม 2567 | |
| LabVIEW 2024 ไตรมาสที่ 3 | 24.3 | กรกฎาคม 2567 | |
| LabVIEW 2025 ไตรมาสที่ 1 | 25.1 | มกราคม 2568 |
คลังข้อมูลและห้องสมุด
OpenG และ LAVA Code Repository (LAVAcr) ทำหน้าที่เป็นแหล่งเก็บโค้ดสำหรับแอปพลิเคชันและ ไลบรารี LabVIEW แบบโอเพ นซอร์สจำนวนมากSourceForgeระบุว่า LabVIEW เป็นหนึ่งในภาษาที่สามารถเขียนโค้ดได้
VI Package Manager ได้กลายเป็นตัวจัดการแพ็กเกจ มาตรฐาน สำหรับไลบรารีของ LabVIEW มีจุดประสงค์คล้ายคลึงกับRubyGems ของ Ruby และCPAN ของ Perl แต่มีอินเทอร์เฟซผู้ใช้แบบกราฟิกที่คล้ายกับSynaptic Package Manager VI Package Manager ช่วยให้เข้าถึงคลังเก็บไลบรารี OpenG (และไลบรารีอื่นๆ) สำหรับ LabVIEW ได้
ซอฟต์แวร์ที่เกี่ยวข้อง
นอกจากนี้ National Instruments ยังมีMeasurement Studioซึ่งเป็นผลิตภัณฑ์ที่รวบรวมความสามารถในการทดสอบ การวัด และการควบคุมต่างๆ ของ LabVIEW ไว้ในรูปแบบของคลาสสำหรับใช้งานร่วมกับMicrosoft Visual Studioこれによりนักพัฒนาสามารถใช้ประโยชน์จากจุดแข็งของ LabVIEW ภายใน . NET Framework ซึ่งเป็นเฟรมเวิ ร์กแบบข้อความได้ ยิ่งไปกว่านั้นNational Instruments ยังมีLabWindows/CVIเป็นทางเลือกสำหรับโปรแกรมเมอร์ที่ใช้ภาษา ANSI C อีกด้วย
เมื่อแอปพลิเคชันต้องการการจัดลำดับขั้นตอน ผู้ใช้มักใช้ LabVIEW ร่วมกับซอฟต์แวร์จัดการการทดสอบTestStand ของ National Instruments
ตัวแปลภาษา Chเป็น ตัวแปลภาษา C / C++ที่สามารถฝังใน LabVIEW เพื่อใช้ในการเขียนสคริปต์[ 31 ]
FlowStone DSP ของ DSP Robotics ก็ใช้รูปแบบการเขียนโปรแกรมแบบกราฟิกที่คล้ายกับ LabVIEW เช่นกัน แต่จำกัดเฉพาะอุตสาหกรรมหุ่นยนต์เท่านั้น
LabVIEW มีการเชื่อมต่อโดยตรงกับmodeFRONTIERซึ่งเป็นสภาพแวดล้อมการเพิ่มประสิทธิภาพและการออกแบบแบบสหวิทยาการและหลายเป้าหมาย ที่เขียนขึ้นเพื่อให้สามารถเชื่อมต่อกับ เครื่องมือ วิศวกรรมช่วยคอมพิวเตอร์ เกือบทุกชนิด ทั้งสองสามารถเป็นส่วนหนึ่งของคำอธิบายเวิร์กโฟลว์กระบวนการเดียวกัน และสามารถขับเคลื่อนได้เสมือนจริงด้วยเทคโนโลยีการเพิ่มประสิทธิภาพที่มีอยู่ใน modeFRONTIER
ดูเพิ่มเติม
- ภาษาโปรแกรมรุ่นที่สี่
- การออกแบบระบบกราฟิก
- Lego Mindstorms NXTซึ่งมีสภาพแวดล้อมการเขียนโปรแกรม NXT-G ที่ใช้ LabVIEW เป็นพื้นฐาน และสามารถเขียนโปรแกรมได้ภายใน LabVIEW
- 20-ซิม
- ไซมูลิงค์
- เครื่องมือวัดเสมือนจริง
- ทอมวิว
- DRAKONเป็นซอฟต์แวร์สาธารณะที่มีส่วนประกอบโอเพนซอร์สบางส่วน
อ่านเพิ่มเติม
- Bress, Thomas J. (2013). การเขียนโปรแกรม LabVIEW อย่างมีประสิทธิภาพ [Sl]: NTS Press. ISBN 978-1-934891-08-7.
- Blume, Peter A. (2007). The LabVIEW Style Book . Upper Saddle River, NJ: Prentice Hall. ISBN 978-0-13-145835-2.
- Travis, Jeffrey; Kring, Jim (2006). LabVIEW สำหรับทุกคน : การเขียนโปรแกรมแบบกราฟิกที่ง่ายและสนุก ( ฉบับที่ 3). Upper Saddle River, NJ: Prentice Hall. ISBN 0-13-185672-3.
- Conway, Jon; Watts, Steve (2003). แนวทางการวิศวกรรมซอฟต์แวร์สำหรับ LabVIEW . Upper Saddle River, NJ: Prentice Hall PTR. ISBN 0-13-009365-3.
- Olansen, Jon B.; Rosow, Eric (2002). เครื่องมือวัดทางชีวภาพเสมือนจริง : การประยุกต์ใช้งานด้านชีวการแพทย์ คลินิก และการดูแลสุขภาพใน LabVIEW . Upper Saddle River, NJ: Prentice Hall PTR. ISBN 0-13-065216-4.
- Beyon, Jeffrey Y. (2001). การเขียนโปรแกรม LabVIEW, การรับและวิเคราะห์ข้อมูล . Upper Saddle River, NJ: Prentice Hall PTR. ISBN 0-13-030367-4.
- Travis, Jeffrey (2000). แอปพลิเคชันอินเทอร์เน็ตใน LabVIEW . Upper Saddle River, NJ: Prentice Hall PTR. ISBN 0-13-014144-5.
- Essick, John (1999). ห้องปฏิบัติการ LabVIEW ขั้นสูง . Upper Saddle River, NJ: Prentice Hall. ISBN 0-13-833949-X.
บทความเกี่ยวกับการใช้งานเฉพาะด้าน
- Desnica, Vladan; Schreiner, Manfred (ตุลาคม 2549). "เครื่องสเปกโตรมิเตอร์เอกซเรย์ฟลูออเรสเซนซ์แบบพกพาที่ควบคุมด้วย LabVIEW สำหรับการวิเคราะห์วัตถุศิลปะ" . X-Ray Spectrometry . 35 (5): 280– 286. Bibcode : 2006XRS....35..280D . doi : 10.1002/xrs.906 . เก็บถาวรจากต้นฉบับเมื่อ 2010-08-18.
- Keleshis, C.; Ionita, C.; Rudin, S. (มิถุนายน 2549). "ส่วนต่อประสานผู้ใช้แบบกราฟิก Labview สำหรับเครื่องตรวจจับความละเอียดสูงของไมโครแองจิโอฟลูออโรสโคปิก" . ฟิสิกส์การแพทย์ . 33 (6): 2550. doi : 10.1118/1.2240285 .
- Fedak, W.; Bord, D.; Smith, C.; Gawrych, D.; Lindeman, K. (พฤษภาคม 2546). "การทำให้การทดลอง Franck-Hertz และเครื่องเอ็กซ์เรย์ Tel-X-Ometer ทำงานโดยอัตโนมัติโดยใช้ LABVIEW" . American Journal of Physics . 71 (5). AAPT: 501– 506. Bibcode : 2003AmJPh..71..501F . doi : 10.1119/1.1527949 .
บทความเกี่ยวกับการใช้งานด้านการศึกษา
- Belletti, A.; Borromei, R.; Ingletto, G. (กันยายน 2549). "การสอนการทดลองเคมีเชิงกายภาพด้วยการจำลองด้วยคอมพิวเตอร์โดยใช้ LabVIEW". Journal of Chemical Education . 83 (9). ACS: 1353– 1355. Bibcode : 2006JChEd..83.1353B . doi : 10.1021/ed083p1353 .
- Moriarty, PJ; Gallagher, BL; Mellor, CJ; Baines, RR (ตุลาคม 2546). "การคำนวณกราฟิกในห้องปฏิบัติการระดับปริญญาตรี: การสอนและการเชื่อมต่อกับ LabVIEW" . American Journal of Physics . 71 (10). AAPT: 1062– 1074. Bibcode : 2003AmJPh..71.1062M . doi : 10.1119/1.1582189 .
- Lauterburg, Urs (มิถุนายน 2001). "LabVIEW ในการศึกษาฟิสิกส์" (PDF)เอกสารวิจัยเกี่ยวกับการใช้ LabVIEW ในการสาธิตฟิสิกส์ การทดลองในห้องปฏิบัติการ และการจำลองสถานการณ์
- Drew, Steven M. (ธันวาคม 1996). "การบูรณาการซอฟต์แวร์ LabVIEW ของ National Instruments เข้ากับหลักสูตรเคมี". Journal of Chemical Education . 73 (12). ACS: 1107– 1111. Bibcode : 1996JChEd..73.1107D . doi : 10.1021/ed073p1107 .
- Muyskens, Mark A.; Glass, Samuel V.; Wietsma, Thomas W.; Gray, Terry M. (ธันวาคม 1996). "การได้มาซึ่งข้อมูลในห้องปฏิบัติการเคมีโดยใช้ซอฟต์แวร์ LabVIEW". Journal of Chemical Education . 73 (12). ACS: 1112– 1114. Bibcode : 1996JChEd..73.1112M . doi : 10.1021/ed073p1112 .
- Ogren, Paul J.; Jones, Thomas P. (ธันวาคม 1996). "การเชื่อมต่อห้องปฏิบัติการโดยใช้แพ็คเกจซอฟต์แวร์ LabVIEW". Journal of Chemical Education . 73 (12). ACS: 1115– 1116. Bibcode : 1996JChEd..73.1115O . doi : 10.1021/ed073p1115 .
- Trevelyan, JP (มิถุนายน 2547). "ประสบการณ์ 10 ปีกับห้องปฏิบัติการระยะไกล" (PDF) . การประชุมวิจัยการศึกษาด้านวิศวกรรมนานาชาติ . ACS.
ลิงก์ภายนอก
- เว็บไซต์อย่างเป็นทางการ