siglent_psu_api
1.0.0
تم إنشاء هذا الرمز لجعل إمدادات الطاقة القابلة للبرمجة قابلة للاستخدام في مهام التشغيل الآلي. يوفر Siglent برامج أصلية ، ولكن لديها الكثير من التبعيات ومرهقة للاستخدام. يسمح رمز Python أيضًا بالتحكم في الأداة من أجهزة الكمبيوتر المفردة مثل Raspberry Pi!
رابط الشركة المصنعة

هذا هو ملف API الرئيسي للتفاعل مع أداة تزويد الطاقة Siglent. تم اختباره مع SPD3303x . يوفر طريقة بسيطة للثعباني لتشغيل الأدوات عن بُعد وأتمتة بعض القياسات.
على الرغم من حقيقة أن Siglent تصنع أدوات بأسعار معقولة ، هناك بعض المشكلات. لا يمكن التحدث عن إمدادات الطاقة الأخرى ، لكن SPD3303X لها عيوب مدرجة أدناه:
يوضح هذا الرمز بساطة الاستخدام.
import siglent_psu_api as siglent
s = siglent.SIGLENT_PSU("192.168.0.22")
# read instrument identification string
i = s.identify()
print(i)
# read instrument status
sys = s.system()
print(sys)
# Set output mode
#s.track(siglent.TRACK.INDEPENDENT)
# switch on CH1
s.output(siglent.CHANNEL.CH1, siglent.STATE.ON)
# set CH1 voltage to 2V
s.set(siglent.CHANNEL.CH1, siglent.PARAMETER.VOLTAGE, 2.0)
# read voltage
r = s.measure(ch = siglent.CHANNEL.CH1, parameter = siglent.PARAMETER.VOLTAGE)
print(r)
نتائج
{'manufacturer': 'Siglent Technologies', 'model': 'SPD3303X', 'sn': 'SPD3XHBX2R****', 'firmware_ver': '1.01.01.02.05', 'hadrware_ver': 'V3.0'}
{'ch1_mode': <MODE.CC: 2>, 'ch2_mode': <MODE.CC: 2>, 'mode': <TRACK.INDEPENDENT: 0>, 'ch1': <STATE.ON: 1>, 'ch2': <STATE.OFF: 0>}
2.001
import siglent_psu_api as siglent
import numpy as np
s = siglent.SIGLENT_PSU("192.168.0.22")
# read instrument identification string
i = s.identify()
print(i)
# read instrument status
sys = s.system()
print(sys)
# switch on CH1
s.output(siglent.CHANNEL.CH1, siglent.STATE.ON)
# sweep specified range
range_min = 1
range_max = 5
range_step = 0.1
ra = np.arange(range_min, range_max, range_step)
for i in ra:
s.set(siglent.CHANNEL.CH1, siglent.PARAMETER.VOLTAGE, i)
r = s.measure(ch = siglent.CHANNEL.CH1, parameter = siglent.PARAMETER.POWER)
print(r)
نتائج
{'manufacturer': 'Siglent Technologies', 'model': 'SPD3303X', 'sn': 'SPD3XHBX2R****', 'firmware_ver': '1.01.01.02.05', 'hadrware_ver': 'V3.0'}
{'ch1_mode': <MODE.CC: 2>, 'ch2_mode': <MODE.CC: 2>, 'mode': <TRACK.INDEPENDENT: 0>, 'ch1': <STATE.ON: 1>, 'ch2': <STATE.OFF: 0>}
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.672
0.698
0.652
0.632
0.527
0.629
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0