Tìm hiểu 10 chức năng trong NI-DAQmx (Phần 1)

KS Quỳnh Anh
KS Quỳnh Anh

Chỉ cần tìm hiểu 10 chức năng này trong NI-DAQmx của NI, bạn xem như đã xử lý xong 80% dữ liệu các ứng dụng về thu thập dữ liệu của bạn. Bài viết tương đối dài nên tôi chia làm 2 phần để các bạn tiện theo dõi. Chúng ta cùng tìm hiểu 10 chức năng này nhé!

Chức năng 1: NI-DAQmx: giảm thời gian phát triển và cải thiện hiệu suất

Từ khi phát hành NI-DAQmx, người dùng phần cứng thu thập dữ liệu của National Instruments đã có được toàn bộ ưu điểm của nó, một số tính năng được thiết kế cho cả việc tiết kiệm thời gian phát triển và cải thiện hiệu suất cho các ứng dụng thu thập dữ liệu của họ.

Một tính năng tiết kiệm đáng kể thời gian phát triển là giao diện lập trình ứng dụng NI-DAQmx (API). Tất cả các chức năng của một thiết bị đa năng được lập trình với cùng một bộ các chức năng (ngõ vào analog, ngõ ra analog, digital I/O và các bộ đếm). Một VI cho phép nhiều loại dữ liệu cho một hoặc nhiều terminal vào và ra. NI-DAQmx API cũng thích hợp với tất cả các môi trường lập trình ứng dụng của nó. Bạn chỉ cần tìm hiểu cách sử dụng một bộ các chức năng duy nhất để có thể lập trình hầu hết phần cứng thu thập dữ liệu của National Instruments trong nhiều môi trường lập trình.

Chức năng khác của NI-DAQmx giúp cải thiện khả năng phát triển của bạn là DAQ Assistant. Công cụ này giúp bạn tạo các ứng dụng mà không cần lập trình thông qua một giao diện đồ họa để cấu hình cả hai tác vụ thu thập dữ liệu đơn giản và phức tạp. Ngoài ra, sự đồng bộ hóa, một quá trình thường khó khăn để thực hiện do các tín hiệu trigger và xung clock phải được định tuyến bằng tay, lại dễ dàng với NI-DAQmx, nó tự động thực hiện định tuyến tín hiệu giữa các khu vực chức năng khác nhau của một thiết bị độc lập và giữa nhiều thiết bị.

Các ứng dụng thu thập dữ liệu sử dụng NI-DAQmx, một cấu trúc được thiết kế để đạt hiệu suất cao nhất. Điều này bắt đầu bằng việc loại bỏ sự tái cấu hình không cần thiết. Với việc loại bỏ này, cả cấu hình và sự thu thập được tối ưu hóa. Ngoài ra, bạn có thể đạt được tốc độ I/O cao hơn 50 kS/s. Năng suất này có thể đạt được vì thanh ghi nhớ ánh xạ.

Tính năng khác của cấu trúc NI-DAQmx là đo lường đa luồng. Bởi vì NI-DAQmx được đa luồng, nhiều quá trình thu thập dữ liệu có thể xảy ra đồng thời, cải thiện đáng kể hiệu suất cho các ứng dụng của bạn. Nó cũng lập trình rất đơn giản như lập trình các ứng dụng.

Để bắt đầu nhận thấy các ưu điểm của các lợi ích này, bạn chỉ cần học một vài chức năng. Thật ra, 10 chức năng NI-DAQmx cung cấp các tính năng để giải quyết 80% các ứng dụng thu thập dữ liệu. Các tính năng này được mô tả chi tiết để giúp bạn hiểu cả tính năng và các dạng ứng dụng của chúng.

Lưu ý: các ví dụ tham khảo trong tài liệu này đều có sẵn ở các vị trí sau:

LabVIEW Help»Find Examples»Hardware Input and Output»DAQmx

Chức năng 2: DAQ Assistant

Cac-chuc-nang-trong-NI-DAQmx-1

DAQ Assistant là một giao diện đồ họa để tạo, sửa đổi và chạy các kênh ảo và các tác vụ NI-DAQmx. Một kênh ảo NI-DAQmx bao gồm một kênh vật lý trên một thiết bị DAQ và thông tin cấu hình cho kênh vật lý này, như khoảng ngõ vào và tùy chỉnh tỷ lệ. Một tác vụ NI-DAQmx là một tập hợp các kênh ảo, thông tin định thời và trigger, và các tính năng khác liên quan đến thu thập và tạo. Trong hình dưới đây, DAQ Assistant được cấu hình để thực hiện một phép đo biến dạng.

Cac-chuc-nang-trong-NI-DAQmx-2

DAQ Assistant cũng có thể tạo mã để cấu hình hoặc thực hiện thu thập hoặc tạo cụ thể. Quá trình này trong Labview được mô tả trong DAQ Assistant Help, và trong tài liệu Using DAQ Assistant to Automotically Generate Labview Code. Hình dưới đây hiển thị một ví dụ của DAQ Assistant và kết quả cấu hình được tạo tự động và ví dụ mẫu Labview.

Cac-chuc-nang-trong-NI-DAQmx-3

Chắc chắn các ứng dụng thu thập dữ liệu yêu cầu sự linh hoạt và hiệu suất cao hơn những gì DAQ Assistant cung cấp. Các ứng dụng này yêu cầu sự đơn giản, còn mạnh mẽ hơn chức năng NI-DAQmx được mô tả bên dưới.

Chức năng 3: NI-DAQmx Create Virtual Channel

Cac-chuc-nang-trong-NI-DAQmx-4

Chức năng NI-DAQmx Create Virtual Channel tạo một kênh ảo và thêm nó vào một tác vụ. Nó cũng có thể được sử dụng để tạo nhiều kênh ảo và thêm tất cả chúng vào một tác vụ. Chức năng NI-DAQmx Create Virtual Channel có nhiều phiên bản.

Tạo một Kênh trong Labview

Hình bên dưới thể hiện bốn ví dụ của các phiên bản khác nhau của NI-DAQmx Virtual Channel VI

Cac-chuc-nang-trong-NI-DAQmx-5

Các ngõ vào của chức năng NI-DAQmx Create Virtual Channel khác nhau cho mỗi phiên bản. Tuy nhiên, các ngõ vào hiện có được sử dụng phổ biến nhất. Ví dụ, một ngõ vào các kênh vật lý (ngõ vào analog và ngõ ra analog), các đường thẳng (digital) hoặc bộ đếm mà các kênh ảo sẽ sử dụng. Ngoài ra, ngõ vào analog, ngõ ra analog và các bộ đếm sử dụng các ngõ vào giá trị nhỏ nhấtgiá trị lớn nhất để cấu hình và tối ưu hóa các phép đo được dựa trên các giá trị được xác định nhỏ nhất và lớn nhất của các tín hiệu. Ngoài ra, một sự tùy chỉnh tỷ lệ có thể được áp dụng với nhiều loại kênh ảo. Trong sơ đồ khối Labview dưới đây, NI-DAQmx Create Virtual Channel VI được sử dụng để tạo một kênh ảo thermocouple.

Cac-chuc-nang-trong-NI-DAQmx-6

Chức năng 4: NI-DAQmx Trigger

Cac-chuc-nang-trong-NI-DAQmx-7

Chức năng NI-DAQmx cấu hình một trigger để thực hiện một hành động cụ thể. Các hành động được sử dụng phổ biến nhất là start triggerreference trigger. Một start trigger bắt đầu một sự thu thập hoặc tạo. Một reference trigger thiết lập vị trí, trong một bộ các mẫu thu thập được, nơi dữ liệu pretrigger kết thúc và dữ liệu posttrigger bắt đầu. Cả hai trigger này có thể được cấu hình để xảy ra trên một cạnh digital, một cạnh analog, hoặc khi một tín hiệu analog vào hoặc rời khỏi một cửa sổ.

Tạo một Trigger trong Labview

Trong sơ đồ khối Labview dưới đây, cả start trigger và reference trigger đều được cấu hình, sử dụng NI-DAQmx Trigger VI, để xảy ra trên các cạnh digital cho một hoạt động ngõ vào analog.

Cac-chuc-nang-trong-NI-DAQmx-8

Một số ứng dụng thu thập dữ liệu yêu cầu đồng bộ hóa các khu vực chức năng khác nhau của một thiết bị đơn lẻ (ví dụ, ngõ ra analog và các bộ đếm). Những cái khác yêu cầu nhiều thiết bị để có thể đồng bộ. Để đạt được sự đồng bộ này, các tín hiệu trigger phải được định tuyến giữa các khu vực chức năng khác nhau của một thiết bị duy nhất và giữa nhiều thiết bị. NI-DAQmx tự động thực hiện sự định tuyến này. Khi sử dụng chức năng NI-DAQmx Trigger, tất cả các tín hiệu trigger có sẵn như một nguồn ngõ vào đến các chức năng. Ví dụ, trong NI-DAQmx Trigger VI dưới đây, tín hiệu start trigger cho Device 2 có sẵn như một nguồn của start trigger cho Device 1 mà không cần thực hiện bất kỳ sự định tuyến nào.

Cac-chuc-nang-trong-NI-DAQmx-9

Chức năng 5: NI-DAQmx Timing

Cac-chuc-nang-trong-NI-DAQmx-10

Chức năng NI-DAQmx Timing cấu hình sự định thời cho các hoạt động thu thập dữ liệu phần cứng được định thời. Điều này bao gồm các hoạt động sẽ được liên tục hoặc hữu hạn, lựa chọn số lượng mẫu để thu thập hoặc tạo cho quá trình hữu hạn và khởi tạo một bộ đệm khi cần.

Đối với các quá trình yêu cầu định thời mẫu (ngõ vào analog, ngõ ra analog và các bộ đếm), phiên bản Sample Clock của chức năng NI-DAQmx thiết lập cả nguồn của clock mẫu, với một nguồn bên trong hoặc bên ngoài, và tốc độ của nó. Sample clock điều khiển tốc độ mà tại đó các mẫu được thu thập hoặc tạo. Mỗi xung clock chỉ sự thu thập hoặc tạo của một mẫu cho mỗi kênh ảo được bao gồm trong tác vụ.

Cấu hình tác vụ Timing trong Labview

Sơ đồ khối Labview bên dưới giải thích cách sử dụng Sample Clock của NI-DAQmx Timing VI để cấu hình một ngõ ra analog liên tục với một clock mẫu bên ngoài.

Cac-chuc-nang-trong-NI-DAQmx-11

Để đạt sự đồng bộ hóa trong các ứng dụng thu thập dữ liệu, các tín hiệu trigger phải được định tuyến giữa các khu vực chức năng khác nhau của một thiết bị duy nhất và giữa nhiều thiết bị, các tín hiệu định thời cũng phải được định tuyến theo cách tương tự. NI-DAQmx cũng tự động thực hiện sự định tuyến này. Tất cả các tín hiệu định thời có sẵn như nguồn ngõ vào đến chức năng NI-DAQmx Timing. Ví dụ, trong DAQmx Timing VI dưới đây, ngõ ra tín hiệu sample clock analog của thiết bị có sẵn như nguồn sample clock cho các kênh ngõ vào analog, không cần thực hiện bất kỳ sự định tuyến nào.

Cac-chuc-nang-trong-NI-DAQmx-12

Tài liệu Timing and Synchronization Features of NI-DAQmx bao gồm thông tin bổ sung về cách sử dụng chức năng NI-DAQmx Timing để thực hiện đồng bộ hóa với NI-DAQmx.

Hầu hết hoạt động bộ đếm không yêu cầu định thời mẫu vì tín hiệu đo được cung cấp sự định thời. Phiên bản của chức năng NI-DAQmx nên được sử dụng cho các ứng dụng này. Trong sơ đồ khối Labview bên dưới, phiên bản của NI-DAQmx Timing VI được sử dụng để cấu hình một sự thu thập độ rộng xung đệm hữu hạn với một số lượng mẫu cụ thể.

Cac-chuc-nang-trong-NI-DAQmx-13

Xem tiếp Tìm hiểu 10 chức năng trong NI-DAQmx (Phần 2)