Kỹ thuật

Góc kỹ thuật

2022.12.27
NI-LabVIEW

Sử dụng Python, phần mềm MathWorks® MATLAB® và C/C++ với LabVIEW

Giới thiệu tổng quan

Khả năng kết nối của LabVIEW với các ngôn ngữ lập trình khác là một tính năng hấp dẫn đối với các kỹ sư xây dựng hệ thống kiểm tra. Việc tích hợp các ngôn ngữ, chẳng hạn như Python, Phần mềm MathWorks® MATLAB®, C/C++ và .NET vào dataflow có dạng đồ họa của LabVIEW kết hợp những gì tốt nhất của từng ngôn ngữ để tạo ra một hệ thống kiểm tra linh hoạt được xây dựng trong thời gian ngắn hơn.

Trong bài viết này, hãy tìm hiểu cách tích hợp mã từ bốn công nghệ lập trình phổ biến với LabVIEW. Tính linh hoạt này có ý nghĩa là bạn luôn có thể chọn đúng công cụ cho công việc và thành công nhanh hơn.

Gọi Python Script từ LabVIEW

Trong những năm qua, Python đã trở nên phổ biến và được mở rộng để cung cấp hàng trăm nghìn thư viện cho nhiều ứng dụng. Việc kết hợp Python vào LabVIEW hợp nhất khả năng viết script linh hoạt của Python với các công cụ thiết kế hệ thống trong LabVIEW.

Với Python Node, LabVIEW cung cấp khả năng riêng để gọi tập lệnh Python từ màn hình Block Diagram của LabVIEW. Tính năng này cho phép khả năng tương tác giữa các ngôn ngữ với độ trễ thấp.

Hình 1: Tích hợp tập lệnh Python trong LabVIEW bằng cách gọi chúng bằng Python Node.

Với các bản cập nhật mới nhất cho chức năng Python Node trong LabVIEW, có nhiều phiên bản Python, vì vậy bạn có thể chọn từ các phiên bản cho đến Python 3.9. Bạn cũng có thể chỉ định đường dẫn đến Python khi gọi các hàm Python, cho phép truy cập Python được cài đặt trong các thư mục tùy chỉnh. Khả năng này có thể cho phép người dùng sử dụng nhiều Python Node để mở nhiều tác vụ của các phiên bản Python khác nhau hoặc file thực thi được lưu trữ trong các thư mục tùy chỉnh.

Bắt đầu từ LabVIEW 2022 Q3, LabVIEW cũng hỗ trợ truyền các đối tượng lớp Python dưới dạng tham số. Ngõ ra dạng refnum trên Python Node đại diện cho một đối tượng lớp Python, sau đó bạn có thể chuyển đối tượng này làm ngõ vào cho một Python Node khác để tác động lên đối tượng lớp.

Hình 2: LabVIEW 2022 hỗ trợ truyền các đối tượng lớp Python dưới dạng tham số.

NI đang liên tục đầu tư vào việc cải thiện khả năng tương tác Python-LabVIEW, với các bản cập nhật được lên kế hoạch đến năm 2023 và hơn thế nữa. Bạn có thể tìm hiểu thêm về những điểm mới trong LabVIEW và các kế hoạch trong tương lai của chúng tôi trên trang tổng quan về LabVIEW của chúng tôi (NI).

Tích hợp LabVIEW và phần mềm MathWorks MATLAB

Các phương pháp lập trình phổ biến để phân tích số, xử lý tín hiệu và toán học nâng cao có thể được sử dụng để gọi các file .m được phát triển trong MATLAB. Bằng cách kết hợp các tệp này trong VI với G bằng cách sử dụng MATLAB node, khả năng phân tích MATLAB có thể tích hợp hệ thống kiểm tra và đo lường của bạn.

Hình 3: Tích hợp các file .m vào LabVIEW bằng cách gọi chúng thông qua chức năng Call MATLAB từ MATLAB node.

Ngoài ra, LabVIEW hiện cho phép người dùng chọn các phiên bản MATLAB cụ thể để thực thi.

Hình 4: Với MATLAB Node, chọn một phiên bản MATLAB cụ thể để thực thi.

Khả năng gỡ lỗi mới có thể sử dụng kể từ LabVIEW 2022 Q3. Bạn có thể thêm các điểm ngắt (breakpoint) trong trình soạn thảo MATLAB, gỡ lỗi code bằng cách chuyển từng bước từ LabVIEW vào tệp .m của bạn và khởi chạy MATLAB IDE từ LabVIEW để chỉnh sửa tệp .m của bạn khi đang di chuyển.

Hình 5: Sử dụng các công cụ sửa lỗi của LabVIEW để vào tệp .m của bạn và gỡ lỗi từ LabVIEW.

LabVIEW 2022 Q3 là phiên bản cuối cùng hỗ trợ MathScript Node. Bạn có thể di chuyển sang MATLAB Node trong LabVIEW để tích hợp các tệp .m của mình với trải nghiệm gỡ lỗi MATLAB tốt hơn.

Gọi file DDL của C/C++ trong LabVIEW

Với LabVIEW, bạn có thể sử dụng lại code hiện có bằng cách gọi thư viện liên kết động (DLL) hoặc thư viện được chia sẻ.

Chẳng hạn, nếu bạn cần sử dụng lại một thư viện được chia sẻ của C/C++ hiện có trong LabVIEW, bạn có thể gọi nó bằng Call Library Function Node. Để làm cho việc nhập các thư viện bên ngoài trở nên đơn giản, LabVIEW cũng có công cụ Import Shared Library Wizard. Wizard này tự động tạo hoặc cập nhật thư viện dự án VI của LabVIEW mà bạn có thể kết hợp vào sơ đồ khối LabVIEW của mình.

Hình 6: Sử dụng Call Library Function Node để sử dụng lại các thư viện chia sẻ của C hoặc C++ hiện có phù hợp với lập trình G.

Gọi các .NET Assembly trong LabVIEW

Một cách khác để sử dụng lại code hiện có với LabVIEW là gọi các .NET Assembly.

Để truy cập một .NET Assembly, hãy sử dụng Constructor Node. Khi nó được đặt trên sơ đồ khối, một cửa sổ hộp thoại xuất hiện, cho phép người dùng chọn .NET Assembly thích hợp. LabVIEW tự động nhận ra tất cả các phương thức và thuộc tính và hiển thị chúng thông qua Method Node và Property Node.

Hình 7: Tạo một tham chiếu đến .NET assembly bằng cách sử dụng chức năng .NET Constructor Node. Sau đó, chuyển tham chiếu đến các Property Node và Invoke Node để các hàm biết chúng đang hoạt động trên cụm nào.

LabVIEW có thể tải các .NET assembly tới .NET CLR 4.0 hay các phiên bản trước. Tuy nhiên, LabVIEW tải tất cả các assembly trong .NET CLR 4.0.

Kết luận

Chúng tôi đã đề cập đến bốn cách để kết nối với các ngôn ngữ phổ biến bằng LabVIEW, nêu bật tính linh hoạt và khả năng tương tác của nó. Khả năng kết nối này giúp bạn kết hợp nhuần nhuyễn những điểm tốt nhất của từng công cụ để tạo ra hệ thống kiểm tra linh hoạt, nhanh chóng hơn.

Các thông tin liên quan