Kiểm soát nguồn cung cấp năng lượng DC thông qua Python Đây được dự định là một gói chung để kiểm soát các nguồn cung cấp năng lượng DC khác nhau bằng các phương thức truy cập khác nhau với API chung. Nó sử dụng PYVISA và bộ lệnh SCPI. Hiện tại, điều này chỉ hỗ trợ các nguồn cung cấp năng lượng DC sau: Những nguồn cung cấp năng lượng DC này là một phần của một loạt các sản phẩm. Tất cả các sản phẩm trong chuỗi sử dụng ngôn ngữ lập trình phổ biến nên được hỗ trợ nhưng chỉ các mô hình được chỉ định được sử dụng để phát triển và thử nghiệm. Khi nguồn cung cấp năng lượng mới được thêm vào, mỗi người nên có gói phụ riêng. Ngoài các nguồn cung cấp năng lượng truyền thống ở trên, một vài công cụ khác đã được thêm vào có một mô hình điều khiển tương tự như các nguồn hiện tại, đồng hồ đo volt và, có lẽ trong tương lai, các đồng hồ nguồn có thể cả nguồn và đo điện áp và dòng điện. Tất cả đều có thể nguồn điện áp hoặc dòng điện và/hoặc đo điện áp hoặc dòng điện. Chúng ngăn chặn các hàm không sử dụng để các tập lệnh phổ biến vẫn có thể được tạo với giao diện chung và chúng giữ lại khả năng nhắm mục tiêu vào bất kỳ công cụ nào trong số này. Những công cụ thay thế được hỗ trợ là: Bạn cần cài đặt các gói pyvisa và pyvisa-py. Để cài đặt gói DCPS, hãy chạy lệnh:DCPS
Cài đặt
Ngoài ra, có thể thêm một đường dẫn vào gói này vào biến môi trường Pythonpath hoặc thậm chí thêm đường dẫn vào nó khi bắt đầu tập lệnh Python của bạn. Sử dụng công cụ tìm kiếm web yêu thích của bạn để tìm hiểu thêm chi tiết.
Thậm chí tốt hơn, DCPS hiện đang sử dụng PYPI, vì vậy bạn có thể chỉ cần sử dụng các chất sau và các phần tử được yêu cầu sẽ được cài đặt cho bạn:
Yêu cầu
- Python [hoạt động với 2,7+ và 3+]]
- Python 2 hiện chính thức là "End of Life", vì vậy hãy nâng cấp mã của bạn lên Python 3
- Pyvisa 1.9
- Tránh 1.11.0 vì nó không hoạt động trên fedora/centos/vv.
- Pyvisa-Py 0.4.1
Với việc sử dụng Pyvisa-PY, không cần phải cài đặt trình điều khiển Visa National Cụ.
Nếu sử dụng phương thức truyền thông USB, cũng phải cài đặt:
- PYUSB 1.0.2
- Libusb
Giao diện Ethernet đến GPIB
Một số trong các thiết bị này, chẳng hạn như các mô hình Agilent và Keithley, không có giao diện Ethernet hoặc USB. Để làm cho chúng dễ dàng truy cập trong môi trường phòng thí nghiệm, có thể sử dụng giao diện Ethernet đến GPIB hoặc USB đến GPIB. Các giao diện duy nhất như vậy đã được kiểm tra cho đến nay là:
Đối với Agilent/Keysight E364XA, cả Prologix và KISS-488 đã được thử nghiệm và làm việc. Đối với Keithley 622x, 2182 và 2400, chỉ có giao diện Prologix hoạt động. Nếu chuỗi tài nguyên TCPIP0
được sử dụng cho các mô hình này, mã sẽ tự động xác định thiết bị nào được sử dụng. Xem các nhận xét mã cho các mô hình này để tìm hiểu thêm.
WARNING!
Hãy thực sự cẩn thận vì bạn đang kiểm soát nguồn điện có thể được kết nối với thứ gì đó không muốn đến 33V khi bạn có nghĩa là 3,3V và nó có thể thể hiện sự không hài lòng của nó bằng cách phát nổ khắp nơi. Vì vậy, hãy chắc chắn thực hiện tất cả các thử nghiệm mà không cần thiết bị kết nối, càng nhiều càng tốt và sử dụng các biện pháp bảo vệ được tích hợp trong nguồn điện. Ví dụ: bạn thường có thể đặt các giới hạn điện áp và hiện tại mà nguồn cung cấp sẽ tuân theo và bỏ qua các yêu cầu của các lệnh này để đi ra ngoài các phạm vi cho phép này. Thậm chí còn có các lệnh SCPI để đặt các giới hạn này, mặc dù có thể an toàn hơn khi chúng được đặt thủ công.
Cách sử dụng
Mã này là một lớp rất cơ bản để kiểm soát và truy cập các nguồn cung cấp năng lượng được hỗ trợ. Trước khi chạy bất kỳ ví dụ nào, hãy chắc chắn thêm rằng nguồn điện bị ngắt kết nối với bất kỳ thiết bị nào trong trường hợp VoltSges bất ngờ đi đến các giá trị bất ngờ.
Nếu chạy các ví dụ được nhúng trong các tệp nguồn gói riêng lẻ, hãy chắc chắn chỉnh sửa chuỗi tài nguyên hoặc bộ mô tả thị thực của thiết bị cụ thể của bạn. Đối với nhiều gói, một biến môi trường có thể được đặt và sử dụng làm chuỗi tài nguyên visa.
- Đối với RigoldP800.py, đó là
DP800_IP
- Đối với AIMTTIPLP.PY, đó là
TTIPLP_IP
- Đối với BK 9115, đó là
BK9115_USB
- Đối với Keysight E364xa, đó là
E364XA_VISA
- Đối với Keithley 622X, đó là
K622X_VISA
- Đối với Keithley 2182, đó là
K2182_VISA
- Đối với Keithley 24xx, đó là
K2400_VISA
# Lookup environment variable DP800_IP and use it as the resource # name or use the TCPIP0 string if the environment variable does # not exist from dcps import RigolDP800 from os import environ resource = environ.get['DP800_IP', 'TCPIP0::172.16.2.13::INSTR'] # create your visa instrument rigol = RigolDP800[resource] rigol.open[] # set to channel 1 rigol.channel = 1 # Query the voltage/current limits of the power supply print['Ch. {} Settings: {:6.4f} V {:6.4f} A'. format[rigol.channel, rigol.queryVoltage[], rigol.queryCurrent[]]] # Enable output of channel rigol.outputOn[] # Measure actual voltage and current print['{:6.4f} V'.format[rigol.measureVoltage[]]] print['{:6.4f} A'.format[rigol.measureCurrent[]]] # change voltage output to 2.7V rigol.setVoltage[2.7] # turn off the channel rigol.outputOff[] # return to LOCAL mode rigol.setLocal[] rigol.close[]
Đưa nó đi xa hơn
Điều này thực hiện một tập hợp con nhỏ của các lệnh có sẵn.
Để biết thông tin về những gì có thể cho Rigol DP8xx, hãy xem Hướng dẫn lập trình Rigol DP800
Để biết thông tin về những gì có thể cho các nguồn cung cấp năng lượng AIM TTI PL-P, hãy xem Hướng dẫn sử dụng sê-ri PL & PL-P mới
Để biết thông tin về những gì có thể cho nguồn cung cấp năng lượng BK Precision 9115
Để biết thông tin về những gì có thể cho nguồn cung cấp năng lượng Agilent/Keysight E364xA, xem mô hình: Keysight E364xA ĐẦU DC ĐIỆN DC ĐIỆN
Để biết thông tin về những gì có thể đối với nguồn cung cấp nguồn chính xác của Keithley/Tektronix 622x Series
Để biết thông tin về những gì có thể cho các nguồn cung cấp nanovoltmeter của Keithley/Tektronix
Để biết thông tin về những gì có thể cho các nguồn cung cấp Sourcemeter sê -ri Keithley/Tektronix 2400
Đối với những gì có thể với các nguồn cung cấp năng lượng chung tuân thủ thông số kỹ thuật SCPI của IEEE 488, như Rigol DP8xx, xem Thông số kỹ thuật SCPI 1999 và mục nhập Wikipedia SCPI.
Tiếp xúc
Vui lòng gửi báo cáo lỗi hoặc phản hồi cho Stephen Goadhouse