我们在做嵌入式软件开发时,会结合硬件或产品做各种各样的测试。这天我接到了一个测试需求,要求我将产品电压从9V线性升到18V,每20s升高0.1V。其实我平时是个比较懒散的人,一般如果手操作起来不费劲我也就不动脑了,但是这个实在太多了,于是我就想搞个自动化。

PC端电脑软件及操作手册下载

首先,我们打开Delta官网的产品链接 https://delta-elektronika.nl/products/sm3300-series

python程控电源编程 程序控制电源_网线


下拉进入Download界面,下载PC端软件和编程手册

python程控电源编程 程序控制电源_网络_02


但其实我们公司不允许下载软件,所以我用的是web版本

Delta电源设备配置

  1. 用以太网线连接电脑和电源设备。
  2. 在电源设备上配IP地址
    点击Menu -> Interface -> LAN -> DHCP, 选择Enable, 这样就会自动配置IP地址。

    如果选择Disable的话就需要手动配置IP,要保证跟PC在同一个网段。
  3. 在电源设备上选择控制源
    在电源设备上, 点击Menu -> Configuration -> Source
    分别设置VsettingIsetting。因为我只需要用程序控制电压,所以Vsetting我选择Seq, Isetting还是用默认的front,也就是电源设备面板控制。

创建编程序列

  1. 新建一个txt文档,然后保存为*.seq*类型。此处注意不要保存为.seq.txt。
  2. 编辑一个程序如下
1 sv=9
2 sc=50
3 w=60
increase:
4 inc sv,0.1
5 w=20
6 cjl sv,18,increase
7 w=1
8 end

注意:

a. 前面的1 2 3 4是必须的

b. sv = 9代表设置电源电压为9V。

c. sc=50代表设置电源电流为50A,这里其实用不到,我写在这里只是为了告诉大家电流设置的命令。

d. w=60是指等待60s。

e. increase:这里是一个label, : 是label的标志。.

f. inc sv,0.1是指增加电源电压0.1V

g. cjl sv,18,increase 是指如果sv<18V,则跳转到label increasecjl是compare jump lower,相应的命令还有cjg, compare jump greater。详见编程手册。

python程控电源编程 程序控制电源_网络_03


h. 最后的end表示程序结束,此处要注意end后面要有一个空行,不然一直会报error

通过网页版seq控制电源

  1. 在电源设备上查看IP地址。Menu -> Interface -> LAN -> Address
  2. 用网线连接电源和电脑。
  3. 在电源设备上选择控制源。在电源设备上, 点击Menu -> Configuration -> Source 。设置Vsetting为Seq, Isetting还是用默认的front,也就是电源设备面板控制。
  4. 打开PC的浏览器,输入IP地址,就可以控制了

控制结果

python程控电源编程 程序控制电源_python程控电源编程_04