# 本例程针对于 UDP6721\UDP6720 进行电压电流控制，其他型号可修改对应指令即可
# 使用方法：
# 执行代码前需安装 pySerial 库，搭配USB转串口为 USB-UART 的转换器
# 1. 将本代码复制到 Python 编辑器中
# 2. 修改 port 参数为你的串口名称（如 COM3）
# 3. 按需修改电压和电流值
# 4. 按需修改输出开关状态
# 5. 运行代码
# 版本号：V1.0.20240913


import serial

# 设置串口通信参数
port = 'COM3'  # 串口号
baudrate = 9600  # 波特率
timeout = 1  # 超时时间（秒）

# 打开串口
ser = serial.Serial(port, baudrate, timeout=timeout)

# 设置 SCPI 协议的命令头和尾
cmd_header = ':'
cmd_tail = '\n'

# 定义电源控制函数
def set_voltage(voltage):
    cmd = cmd_header + 'VOLT ' + str(voltage) + cmd_tail
    ser.write(cmd.encode())

    print(f'设置电压成功：{voltage} V')


def set_current(current):
    cmd = cmd_header + 'CURR ' + str(current) + cmd_tail
    ser.write(cmd.encode())

    print(f'设置电流成功：{current} A')


def output_on():
    cmd = cmd_header + 'OUTP ON' + cmd_tail
    ser.write(cmd.encode())

    print('输出开启成功')

    print('电源状态：ON')
def output_off():
    cmd = cmd_header + 'OUTP OFF' + cmd_tail
    ser.write(cmd.encode())

    print('输出关闭成功')
    print('电源状态：OFF')

# 示例使用
set_voltage(5)  # 设置电压为 5 V
set_current(4)  # 设置电流为 1 A
output_on()  # 打开输出

# 关闭串口
ser.close()