Phần mềm lập trình đồ họa LabVIEW

Phần mềm lập trình đồ họa LabVIEW

Mục lục

LabVIEW là gì?

LabVIEW ( Laboratory Virtual Instrumentation Engineering Workbench ) là một nền tảng thiết kế hệ thống và môi trường phát triển cho một ngôn ngữ lập trình trực quan từ National Instruments, Hoa Kỳ.

labview

Ngôn ngữ đồ họa được đặt tên là “G”; không bị nhầm lẫn với mã G ( Mã G, có nhiều biến thể, là tên gọi chung cho ngôn ngữ lập trình điều khiển số (NC) được sử dụng rộng rãi nhất. Nó được sử dụng chủ yếu trong sản xuất máy tính hỗ trợ để điều khiển các công cụ máy tự động.). Ban đầu được phát hành cho Apple Macintosh vào năm 1986, LabVIEW thường được sử dụng để thu thập dữ liệu, điều khiển thiết bị và tự động hóa công nghiệp trên nhiều hệ điều hành (OS), bao gồm Microsoft Windows, các phiên bản Unix, Linux và macOS khác nhau.

Các phiên bản mới nhất của LabVIEW là LabVIEW 2018 và LabVIEW NXG 2.1, được phát hành vào tháng 5 năm 2018.

Lịch sử phát hành:

Vào năm 2005, các phiên bản chính được phát hành vào khoảng tuần đầu tiên của tháng 8, với bắt đầu là LabVIEW 8.0, trùng với hội nghị National Instruments hàng năm NI Week, và sau đó là bản sửa lỗi vào tháng 2 năm sau.

Năm 2009, National Instruments bắt đầu đặt tên cho bản phát hành sau năm phát hành. Sửa lỗi được gọi là Gói dịch vụ, ví dụ, gói dịch vụ 1 năm 2009 được phát hành vào tháng 2 năm 2010.

Vào năm 2017, National Instruments đã chuyển hội nghị thường niên sang tháng 5 và phát hành LabVIEW 2017 cùng với một LabVIEW NXG 1.0 được thiết kế lại hoàn toàn được xây dựng trên Windows Presentation Foundation (WPF).

Dataflow programming

Mô hình lập trình được sử dụng trong LapVIEW đôi khi được gọi là G, nó dựa trên sự tiện ích của dữ liệu. Nếu có đủ dữ liệu tiện ích cho một subVL hoặc một hàm thì subVL hoặc hàm đó sẽ được thực hiện. Dòng thực hiện được xác định bởi cấu trúc của một sơ đồ khối graphical(mã nguồn của LabVIEW) trên đó lập trình viên kết nối các nút chức năng bằng cách vẽ dây. Các dây này truyền các biến số và bất kỳ nút nào có thể thực hiện ngay sau khi tấy cả các dữ liệu đầu vào của nó đầy đủ. Vì đây có thể là trường hợp xử lí cho nhiều nút cùng một lúc, LabVIEW có thể thực thi song song. Phần cứng đa xử lý và đa luồng được khai thác tự động bởi bộ lập lịch trình tích hợp sẵn, ghép nhiều chuỗi hệ điều hành qua các nút sẵn sàng để thực thi.

Graphical programming

LabVIEW tích hợp việc tạo các giao diện người dùng (các bảng trước mặt) vào chu kỳ khai triển. Các chương trình con của chương trình LabVIEW được gọi là các công cụ ảo (Vls). Mỗi VI có ba thành phần: sơ đồ khối, bảng mặt trước và bảng kết nối. Cuối cùng được sử dụng để đại diện cho VI trong sơ đồ khối khác, gọi VI. Bảng điều khiển phía trước được xây dựng bằng các điều khiển và các dụng cụ chỉ thị. Điều khiển là đầu vào: chúng cho phép người dùng cung cấp thông tin cho VI. Các chỉ số là kết quả đầu ra: chúng chỉ ra, hoặc hiển thị, các kết quả dựa trên các đầu vào cho VI. Bảng mặt sau, là sơ đồ khối, chứa mã nguồn đồ họa. Tất cả các đối tượng được đặt trên bảng điều khiển phía trước sẽ xuất hiện trên bảng điều khiển phía sau làm đầu cuối. Bảng mặt sau cũng chứa các cấu trúc và chức năng thực hiện các thao tác trên điều khiển và cung cấp dữ liệu cho các dụng cụ chỉ thị. Các cấu trúc và chức năng được tìm thấy trên bảng chức năng và có thể được đặt ở mặt sau của bảng. Điều khiển chung, dụng cụ chỉ thị, cấu trúc và chức năng được gọi là nút. Các nút được kết nối với nhau bằng cách sử dụng dây, ví dụ: hai nút điều khiển và chỉ báo có thể được kết nối với chức năng bổ sung để chỉ báo hiển thị tổng của hai điều khiển. Do đó, một công cụ ảo có thể chạy như một chương trình, với bảng phía trước phục vụ như một giao diện người dùng, hoặc, khi được thả thành nút trên sơ đồ khối, bảng mặt trước xác định đầu vào và đầu ra cho nút thông qua bảng kết nối. Nghĩa là mỗi VI có thể dễ dàng kiểm tra trước khi được ghi lại như một chương trình con vào một chương trình lớn hơn.

Cách tiếp cận đồ họa cũng cho phép các lập trình viên không cần xây dựng lại các chương trình mà kéo và thả các biểu diễn ảo của thiết bị phòng thí nghiệm mà chúng đã có sẵn. Môi trường lập trình LabVIEW, với các ví dụ và tài liệu đi kèm, giúp đơn giản hóa việc tạo các ứng dụng nhỏ. Đây vừa là có lợi vừa có hại, đó là làm giảm tính chuyên môn cần thiết cho lập trình G chất lượng cao. Đối với các thuật toán phức tạp hoặc mã quy mô lớn, điều quan trọng là một lập trình viên có kiến ​​thức sâu rộng về cú pháp LabVIEW đặc biệt và cấu trúc liên kết của quản lý bộ nhớ của nó. Các hệ thống phát triển LabVIEW tiên tiến nhất cung cấp khả năng xây dựng các ứng dụng độc lập. Hơn nữa, có thể tạo ra các ứng dụng phân tán, mà giao tiếp bởi một mô hình máy khách-máy chủ, và do đó dễ thực hiện hơn do bản chất vốn có song song của G.

Mẫu thiết kế được chấp nhận rộng rãi:

Các ứng dụng trong LabVIEW thường được thiết kế bằng cách sử dụng các cấu trúc nổi tiếng, được gọi là các mẫu thiết kế. Các mẫu thiết kế phổ biến nhất cho các ứng dụng LabVIEW đồ họa được liệt kê trong bảng dưới đây.

Các mẫu thiết kế phổ biến cho các ứng dụng LabVIEW
Mẫu thiết kế Mục đích Chi tiết thực hiện Trường hợp sử dụng Hạn chế
Functional Global Variable Trao đổi thông tin mà không cần sử dụng biến tổng thể. Một thanh ghi thay đổi của một vòng lặp while được sử dụng để lưu trữ dữ liệu và vòng lặp while chỉ chạy một lần lặp trong một VI “không tái tạo”. + Trao đổi thông tin với ít dây. Tất cả các VI được lưu giữ trong bộ nhớ.
State machine Thực thi được kiểm soát phụ thuộc vào các sự kiện trong quá khứ. Trường hợp structinside một vòng lặp while truyền một biến liệt kê cho một thanh ghi thay đổi, đại diện cho trạng thái tiếp theo; máy trạng thái phức tạp có thể được thiết kế bằng mô đun Statechart. + Giao diện người dung.

+ Logic phức tạp.

+ Giao thức truyền thông.

Tất cả các trạng thái có thể xảy ra phải được biết trước.
Event-driven user interface Lossless processing of user actions GUI được chụp bởi hàng đợi cấu trúc sự kiện, bên trong một vòng lặp while; vòng lặp while bị tạm dừng bởi cấu trúc sự kiện và chỉ tiếp tục khi các sự kiện mong muốn được chụp. + Giao diện người dùng đồ họa. Chỉ một cấu trúc giai đoạn trong một vòng lặp.
Master-slave Chạy đồng thời các quy trình độc lập. Một số là vòng lặp song song trong khi một trong số đó hoạt động như là ” master “, điều khiển vòng lặp “slave”. + GUI đơn giản để thu thập dữ liệu và trực quan hóa.  

Cần chú ý và phòng ngừa các điều kiện tồn tại.

Producer-consumer Không đồng bộ thực hiện đa luồng các vòng lặp. Vòng lặp chính điều khiển việc thực hiện hai vòng nô lệ, giao tiếp bằng cách sử dụng các trình thông báo, các hàng và tín hiệu; các vòng độc lập dữ liệu được tự động thực hiện trong các luồng riêng biệt. + Lấy mẫu và trực quan hóa dữ liệu. Trình tự thực hiện không rõ ràng khó kiểm soát.
Queued state machine with event-driven producer-consumer Giao diện người dùng đáp ứng cao cho các ứng dụng đa luồng. Một giao diện người dùng được đặt bên trong vòng lặp của nhà sản xuất và một máy trạng thái được đặt bên trong vòng lặp của người sử dụng, giao tiếp bằng cách sử dụng các hàng đợi giữa chúng và các VI song song khác. + Ứng dụng phức tạp.

 

Ưu điểm

Giao diện với các thiết bị

labview

LabVIEW bao gồm công cụ hỗ trợ rộng rãi để giao tiếp với các thiết bị, công cụ, máy ảnh và các thiết bị khác. Người dùng giao diện với phần cứng bằng cách viết lệnh bus trực tiếp (USB, GPIB, Serial) hoặc sử dụng trình điều khiển cao cấp, thiết bị cụ thể, cung cấp các nút chức năng LabVIEW gốc để điều khiển thiết bị.

LabVIEW bao gồm công cụ hỗ trợ tích hợp cho các nền tảng phần cứng NI như CompactDAQ và CompactRIO, với một số lượng lớn các khối thiết bị cụ thể cho phần cứng như vậy, bộ công cụ đo lường và tự động hóa eXplorer (MAX) và Virtual Instrument Software Architecture (VISA).

National Instruments làm cho hàng ngàn trình điều khiển thiết bị có sẵn để tải xuống trên NI Instrument Driver Network (IDNet).

Biên soạn mã

labview

LabVIEW bao gồm một trình biên dịch tạo mã gốc cho nền tảng CPU. Điều này hỗ trợ cho hiệu suất cao. Mã đồ họa được dịch thành mã máy thực thi bởi trình biên dịch. Cú pháp LabVIEW được thực thi nghiêm ngặt trong suốt quá trình chỉnh sửa và được biên dịch thành mã máy thực thi khi được yêu cầu chạy hoặc khi lưu. Trong trường hợp sau, mã thực thi và mã nguồn được hợp nhất thành một tệp duy nhất. Tệp thực thi chạy với sự trợ giúp của động cơ chạy thử LabVIEW, có chứa một số mã được biên dịch trước để thực hiện các tác vụ phổ biến được xác định bởi ngôn ngữ G. Công cụ chạy thời gian làm giảm thời gian biên dịch và cung cấp giao diện nhất quán cho các hệ điều hành, hệ thống đồ họa, thành phần phần cứng khác nhau, vv Môi trường thời gian chạy làm cho mã di động trên các nền tảng. Nói chung, mã LabVIEW có thể chậm hơn so với mã C được biên dịch tương đương, mặc dù sự khác biệt thường nằm nhiều hơn với tối ưu hóa chương trình hơn so với tốc độ thực thi vốn có.

Thư viện lớn

Có nhiều thư viện có số lượng lớn chức năng thu thập dữ liệu, tạo tín hiệu, toán học, thống kê, điều khiển tín hiệu, phân tích, v.v., cùng với nhiều chức năng như tích hợp, bộ lọc và các khả năng chuyên biệt khác thường liên quan đến việc thu thập dữ liệu từ cảm biến phần cứng là rất lớn. Ngoài ra, LabVIEW bao gồm một thành phần lập trình dựa trên văn bản có tên MathScript với các hàm bổ sung để xử lý tín hiệu, phân tích và toán học. MathScript có thể được tích hợp với lập trình đồ họa bằng cách sử dụng các nút script và sử dụng cú pháp tương thích với MATLAB.

Lập trình song song

LabVIEW là một ngôn ngữ vốn đã tích hợp đồng thời, vì vậy rất dễ dàng để lập trình nhiều tác vụ được thực hiện song song thông qua đa luồng. Ví dụ, điều này được thực hiện dễ dàng bằng cách vẽ hai hoặc nhiều hơn khi vòng và kết nối hai nút riêng biệt. Đây là một lợi ích lớn cho tự động hóa hệ thống kiểm tra, thực hành phổ biến để chạy các quy trình như kiểm tra trình tự, ghi dữ liệu và giao tiếp phần cứng song song.

labview

Tài nguyên

Do tuổi thọ, tính phổ biến của ngôn ngữ LabVIEW, và khả năng cho người dùng mở rộng các chức năng của nó, một tài nguyên của các tiện ích bổ sung của bên thứ ba đã phát triển thông qua các đóng góp từ cộng đồng. Tài nguyên này có sẵn trên LabVIEW Tools Network, một thị trường cho cả tiện ích LabVIEW miễn phí và trả phí.

Cộng đồng người dùng

Có một phiên bản LabVIEW Student Edition giá rẻ dành cho các cơ sở giáo dục cho mục đích học tập. Ngoài ra còn có một cộng đồng người dùng LabVIEW hoạt động giao tiếp thông qua một số danh sách gửi thư điện tử (nhóm email) và diễn đàn Internet.

Home Bundle Edition

National Instruments cung cấp một bản LabVIEW Home Bundle Edition giá rẻ.

Nhược điểm

LabVIEW là một sản phẩm độc quyền của National Instruments. Không giống như các ngôn ngữ lập trình phổ biến như C hoặc Fortran, LabVIEW không được quản lý hoặc chỉ định bởi ủy ban tiêu chuẩn của bên thứ ba như Viện Tiêu chuẩn Quốc gia Hoa Kỳ (ANSI), Viện Kỹ sư Điện và Điện tử (IEEE), Tổ chức Tiêu chuẩn Quốc tế (ISO), v.v.

Chậm

Các ứng dụng rất nhỏ vẫn phải khởi động trong thời gian dài. Điều này có xu hướng hạn chế LabVIEW cho các ứng dụng nguyên khối. Ví dụ về điều này có thể là các chương trình nhỏ để lấy một giá trị duy nhất từ ​​một số phần cứng có thể được sử dụng trong một ngôn ngữ kịch bản – các chi phí của môi trường thời gian chạy làm cho phương pháp này không thực tế với LabVIEW.

Không phải theo đúng nguyên văn

Ngôn ngữ G không theo đúng nguyên văn, các công cụ phần mềm như phiên bản so sánh song song (hoặc khác) và theo dõi thay đổi mã phiên bản không thể được áp dụng theo cách tương tự như đối với ngôn ngữ lập trình văn bản. Có một số công cụ bổ sung để so sánh và hợp nhất mã với các công cụ kiểm soát mã nguồn (phiên bản) như subversion, CVS và Perforce.

Không có chức năng thu phóng

Không có khả năng phóng to (hoặc thu nhỏ) một VI vì sẽ khó nhìn thấy trên màn hình lớn, có độ phân giải cao, mặc dù tính năng này đã được phát triển vào năm 2016.

Kho lưu trữ và thư viện

OpenG, cũng như LAVA Code Repository (LAVAcr) phục vụ như các kho lưu trữ cho một loạt các ứng dụng và thư viện mã nguồn mở LabVIEW. SourceForge có LabVIEW được liệt kê là một trong những ngôn ngữ có thể được viết mã.

VI Package Manager đã trở thành trình quản lý gói chuẩn cho các thư viện LabVIEW. Nó rất giống với RubyGems của Ruby và CPAN của Perl, mặc dù nó cung cấp một giao diện người dùng đồ họa tương tự như Synaptic Package Manager. VI Package Manager cung cấp quyền truy cập vào kho lưu trữ của OpenG (và các thư viện khác) cho LabVIEW.

Các công cụ tồn tại để chuyển đổi MathML thành mã G.

Phần mềm liên quan

National Instruments cũng ra mắt một sản phẩm mang tên Measurement Studio, nó cung cấp nhiều khả năng kiểm tra, đo lường và kiểm soát của LabVIEW, như một tập hợp các lớp để sử dụng với Microsoft Visual Studio. Điều này cho phép các nhà phát triển khai thác một số điểm mạnh của LabVIEW trong .NET Framework dựa trên văn bản. National Instruments cũng cung cấp LabWindows / CVI như một giải pháp thay thế cho các lập trình viên ANSI C.

Khi các ứng dụng cần trình tự, người dùng thường sử dụng LabVIEW với phần mềm quản lý kiểm tra TestStand, cũng từ National Instruments.

Trình thông dịch Ch là một trình thông dịch C / C ++ có thể được ghi lại trong LabVIEW để viết kiến trúc hệ thống.

Nền tảng TRIL Center Ireland BioMobius và FlowStone DSP của DSP Robotics cũng sử dụng một dạng lập trình đồ họa tương tự như LabVIEW, nhưng chỉ giới hạn ở các ngành công nghiệp y sinh học và robot tương ứng.

LabVIEW có một nút trực tiếp với modeFRONTIER, một môi trường thiết kế và tối ưu hóa đa ngành và đa mục tiêu, được viết để cho phép ghép nối với hầu như bất kỳ công cụ kỹ thuật hỗ trợ máy tính nào. Cả hai có thể là một phần của mô tả quy trình công việc tương tự và hầu như có thể được điều khiển bởi các công nghệ tối ưu hóa có sẵn trong modeFRONTIER.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *