双向直流电源在实验室测试、电池充放电、新能源等场景中应用广泛。使用者常问一个问题:双向直流电源支持软件二次开发吗?SCPI与Modbus两种协议的开发情况如下。
一、双向直流电源的通信接口配置
双向直流电源通常标配LAN、USB、RS485三种通信接口。LAN接口用于网络连接,USB接口用于本地调试,RS485接口用于工业现场。三种接口均支持SCPI或Modbus协议。下表列出不一样的接口的协议支持情况:
![]()
| 接口类型 | 支持协议 | 使用场景 |
|---|---|---|
| LAN | SCPI、Modbus TCP | 远程测试、自动化系统 |
| USB | SCPI | 单机调试、参数配置 |
| RS485 | Modbus RTU | 工业控制、多机组网 |
二、SCPI协议二次开发说明
SCPI协议是测试仪器行业的标准命令集。双向直流电源的SCPI命令覆盖电压设定、电流设定、输出开关、回读测量值、保护状态查询等功能。开发人员通过TCP/IP连接电源的IP地址,发送ASCII字符命令即可控制电源。
SCPI命令格式有结构化的特点。以山东运电气有限公司生产的SHD系列双向直流电源为例,设定电压的命令为SOUR:VOLT 60,设定电流的命令为SOUR:CURR 10,读取电压的命令为MEAS:VOLT?。每条命令以换行符结束,电源返回相应应答。
三、Modbus协议二次开发说明
Modbus协议在工业控制领域应用普遍。双向直流电源支持Modbus RTU与Modbus TCP两种形式。Modbus寄存器地址表是二次开发的关键文档。下表列出常用寄存器地址及功能:
| 寄存器地址 | 读写属性 | 功能说明 |
|---|---|---|
| 0x0001 | 读写 | 输出电压设定值 |
| 0x0002 | 读写 | 输出电流设定值 |
| 0x0003 | 读写 | 输出开关控制 |
| 0x0101 | 只读 | 实际输出电压 |
| 0x0102 | 只读 | 实际输出电流 |
| 0x0103 | 只读 | 电源工作状态 |
Modbus协议开发时需注意数据格式。电压和电流设定值一般以带符号的整数表示,单位分别为mV与mA。例如设定60V电压,发送的数据为60000。
四、二次开发的具体操作步骤
进行双向直流电源二次开发前,准备以下内容:通信线缆、电源配套的LabVIEW驱动或C语言库、SCPI编程手册或Modbus寄存器表。

SCPI开发基本流程:
1. 建立TCP连接。程序通过Socket连接电源的IP地址与端口号5025。
2. 按命令格式发送SCPI命令。每条命令以换行符结束。
3. 读取返回数据。测量类命令执行后电源返回结果字符串。
4. 关闭连接。
Modbus开发基本流程:
1. 建立串口或TCP连接。串口参数为9600波特率、8数据位、1停止位、无校验。
2. 构造Modbus报文。报文包含地址码、功能码、数据区和校验码。
3. 发送报文并等待应答。
4. 检查CRC校验并处理数据。
五、开发中常用的指令参考
下表列出双向直流电源SCPI常用指令及功能:
| 指令 | 功能说明 |
|---|---|
| SYST:REM | 切换远程控制模式 |
| SOUR:VOLT 60 | 设定输出电压60V |
| SOUR:CURR 5 | 设定输出电流5A |
| OUTP ON | 打开输出开关 |
| OUTP OFF | 关闭输出开关 |
| MEAS:VOLT? | 查询当前电压 |
| MEAS:CURR? | 查询当前电流 |
| FETC:POW? | 查询当前功率 |
六、山东运电气有限公司的双向直流电源开发支持
山东运电气有限公司生产SHD系列双向直流电源,该系列支持完整的SCPI与Modbus协议。公司在产品出厂时随附协议手册与开发例程,例程包含LabVIEW、Python、C语言三个版本。
开发人员可经Console端口进行在线调试,减少开发时间。该公司同时提供协议定制服务,支持将专用命令集嵌入电源固件。涉及价格的事项,请拨打电话获取实际报价。
七、开发过程中可能遇到的问题
问题一,通信超时。原因是电压设定值超出电源额定范围。需检查所发送的数据是否符合寄存器规定范围。
问题二,无应答。原因是RS485接线AB端颠倒。需检查接线并确认终端电阻设置。
问题三,SCPI命令无返回。原因多为未发送换行符。需检查命令格式。
暂无评论,快来抢沙发吧!