News

Hướng Dẫn Lập Trình Keysight DAQ970A/DAQ973A: SCPI, LabVIEW, Python

Keysight DAQ970A/DAQ973A là hệ thống thu thập dữ liệu hỗ trợ điều khiển từ xa qua chuẩn lệnh SCPI (Standard Commands for Programmable Instruments), cho phép kỹ sư tự động hóa việc đo và ghi dữ liệu bằng phần mềm thay vì thao tác tay trên màn hình thiết bị. Bài viết này tổng hợp 3 cách phổ biến nhất để lập trình DAQ970A/DAQ973A: SCPI trực tiếp, LabVIEW, và Python.

Keysight DAQ970A/DAQ973A là hệ thống thu thập dữ liệu hỗ trợ điều khiển và tự động hóa qua SCPI, giúp kỹ sư lập trình các thao tác đo, thu thập và ghi dữ liệu thay vì thực hiện thủ công trên thiết bị. Bài viết hướng dẫn 3 phương pháp lập trình phổ biến: SCPI, Python và LabVIEW, kèm cách kết nối và triển khai trong thực tế.

Giao tiếp qua SCPI

SCPI là gì và vì sao quan trọng với DAQ970A/DAQ973A

SCPI (Standard Commands for Programmable Instruments) là tập lệnh văn bản tiêu chuẩn dùng để cấu hình, điều khiển và đọc dữ liệu từ thiết bị đo. Với Keysight DAQ970A/DAQ973A, SCPI có thể được truyền qua USB, LAN hoặc GPIB đối với DAQ973A, giúp xây dựng các quy trình đo và thu thập dữ liệu tự động.

SCPI cũng là nền tảng giao tiếp phía dưới của nhiều giải pháp lập trình khác. Khi sử dụng Python, LabVIEW hoặc phần mềm điều khiển thiết bị, các lệnh SCPI vẫn có thể được sử dụng để gửi yêu cầu đo và nhận dữ liệu từ DAQ.

Tương thích ngược với chương trình viết cho 34970A/34972A

Một lợi thế của DAQ970A/DAQ973A là khả năng tương thích với phần lớn chương trình SCPI được phát triển cho Keysight 34970A/34972A. Điều này giúp doanh nghiệp đang sử dụng hệ thống cũ có thể chuyển sang nền tảng mới mà không phải xây dựng lại toàn bộ phần mềm điều khiển.

Tuy nhiên, mức độ tương thích còn phụ thuộc vào module và chức năng cụ thể được sử dụng. Khi nâng cấp hệ thống, nên đối chiếu Programming Guide của DAQ970A/DAQ973A để kiểm tra các lệnh và tính năng tương ứng.

Một số điểm cần lưu ý khi chuyển từ 34970A/34972A

  • DAQ970A/DAQ973A hỗ trợ thêm các lệnh và chức năng dành cho những module thế hệ mới, chẳng hạn DAQM909A digitizer, do đó chương trình cũ có thể cần bổ sung lệnh khi khai thác các tính năng này.
  • Khả năng đo và tốc độ thu thập dữ liệu của hệ thống mới có thể khác so với 34970A/34972A. Với các chương trình phụ thuộc chặt vào timing hoặc tốc độ đọc dữ liệu, cần kiểm tra lại cấu hình và tham số SCPI.
  • Khi chuyển đổi hệ thống, nên kiểm tra cả lệnh SCPI, module sử dụng, cấu hình scan và cách xử lý dữ liệu để đảm bảo chương trình hoạt động ổn định sau khi nâng cấp.

Lập trình với LabVIEW

Cài đặt LabVIEW driver từ Keysight

Keysight cung cấp driver LabVIEW chính thức cho DAQ970A/DAQ973A, hỗ trợ kết nối và điều khiển thiết bị thông qua môi trường LabVIEW. Để hệ thống nhận diện thiết bị đúng cách, nên cài đặt Keysight IO Libraries Suite và kiểm tra kết nối trước khi triển khai chương trình.

Quy trình kết nối và đọc dữ liệu cơ bản

  1. Cài đặt Keysight IO Libraries Suite, sau đó kết nối DAQ970A/DAQ973A với máy tính qua USB hoặc LAN.
  2. Mở Keysight Connection Expert để kiểm tra thiết bị đã được nhận diện và xác định VISA Resource String.
  3. Trong LabVIEW, sử dụng driver/VI tương ứng của Keysight để mở phiên giao tiếp và cấu hình các kênh đo.
  4. Thiết lập chế độ scan và các thông số đo theo yêu cầu của ứng dụng.
  5. Đọc dữ liệu trả về, sau đó hiển thị trực tiếp trên giao diện LabVIEW hoặc ghi vào file để phân tích và lưu trữ.
Lưu ý: Với hệ thống tự động hóa phức tạp, nên quản lý riêng các bước kết nối → cấu hình → đo → đọc dữ liệu → xử lý lỗi → đóng kết nối để chương trình dễ kiểm soát và bảo trì.

Điều khiển bằng Python (PyVISA)

Cài đặt PyVISA + Keysight IO Libraries Suite

PyVISA là thư viện Python phổ biến để giao tiếp với thiết bị đo lường thông qua chuẩn VISA. Khi lập trình Keysight DAQ970A/DAQ973A, nên cài đặt Keysight IO Libraries Suite trước để cung cấp VISA backend và các công cụ quản lý kết nối thiết bị.

Sau đó, cài PyVISA trong môi trường Python bằng pip: pip install pyvisa

Quy trình kết nối cơ bản

Về nguyên lý, chương trình Python điều khiển DAQ970A/DAQ973A thường gồm các bước:

  • Mở kết nối đến VISA Resource của thiết bị.
  • Gửi lệnh SCPI để cấu hình kênh và loại phép đo.
  • Thiết lập các thông số như dải đo, thời gian tích phân hoặc số kênh cần quét.
  • Gửi lệnh bắt đầu quá trình scan/measurement.
  • Đọc dữ liệu trả về từ thiết bị.
  • Xử lý, hiển thị hoặc lưu dữ liệu phục vụ phân tích.
Cú pháp SCPI cụ thể phụ thuộc vào phép đo và module đang sử dụng. Vì vậy, khi xây dựng chương trình thực tế, nên đối chiếu Programming Guide của DAQ970A/DAQ973A để sử dụng đúng lệnh và tham số.

Kiểm tra kết nối trước khi chạy Python

Trước khi kiểm tra code, nên mở Keysight Connection Expert để xác nhận DAQ970A/DAQ973A đã được nhận diện và VISA Resource String hoạt động bình thường.
Đây là bước giúp loại trừ các lỗi phổ biến như sai địa chỉ VISA, thiếu VISA backend, lỗi driver hoặc kết nối USB/LAN trước khi tiến hành kiểm tra chương trình Python.

Lỗi thường gặp khi lập trình & cách khắc phục

  • Không nhận diện được thiết bị (VISA Resource Not Found): Kiểm tra Keysight IO Libraries Suite đã được cài đặt đầy đủ, đồng thời xác nhận kết nối USB/LAN và VISA Resource String trong Keysight Connection Expert.
  • Lệnh SCPI không hợp lệ: Nếu chương trình cũ báo lỗi khi chuyển từ 34970A/34972A sang DAQ970A/DAQ973A, cần đối chiếu cú pháp lệnh và tính năng tương ứng trong Programming Guide chính thức.
  • Timeout khi đọc dữ liệu: Tăng thời gian timeout của VISA khi scan nhiều kênh hoặc thu thập lượng dữ liệu lớn. Với các module tốc độ cao như DAQM909A, cần đặc biệt lưu ý thời gian truyền và xử lý dữ liệu.
>> Xem thêm: >> Xem thêm: Nakata NJ-2099-TH vs NHP-2099-TH: Nên Chọn Nhiệt Ẩm Kế Nào?

Câu hỏi thường gặp

Chương trình SCPI viết cho 34970A có chạy được trên DAQ970A không?

Phần lớn lệnh SCPI có khả năng tương thích, nhưng một số lệnh hoặc tính năng mới có thể yêu cầu điều chỉnh. Nên kiểm tra Programming Guide trước khi triển khai chính thức.

DAQ970A/DAQ973A có hỗ trợ lập trình bằng Python không?

Có. Có thể sử dụng PyVISA kết hợp với VISA để gửi lệnh SCPI và nhận dữ liệu từ thiết bị.

Có bắt buộc phải cài Keysight IO Libraries Suite không?

Với phương án giao tiếp thông qua VISA, việc cài đặt IO Libraries Suite giúp cung cấp môi trường và công cụ cần thiết để máy tính nhận diện, kết nối và điều khiển thiết bị qua USB/LAN.

DAQ973A có cần lập trình khác DAQ970A không?

Về cơ bản, cách lập trình bằng SCPI, Python và LabVIEW tương tự nhau. Điểm khác biệt chính là DAQ973A có thêm khả năng kết nối GPIB, vì vậy chương trình cần cấu hình giao diện kết nối tương ứng khi sử dụng GPIB.

Nếu đang lựa chọn giữa DAQ970A và DAQ973A cho hệ thống đo tự động, cần cân nhắc cả giao diện kết nối, số lượng kênh, loại module và yêu cầu thu thập dữ liệu. Imall hỗ trợ tư vấn cấu hình DAQ970A/DAQ973A theo ứng dụng thực tế, lựa chọn module đo phù hợp và định hướng phương án kết nối với SCPI, Python, LabVIEW hoặc hệ thống tự động hóa hiện có. Liên hệ đội ngũ kỹ thuật để được tư vấn cấu hình và báo giá chi tiết.

Địa chỉ: 52/1A Huỳnh Văn Nghệ, P.15, Q.Tân Bình, TP.HCM
Hotline: 098 7777 209
Website: https://imall.vn/