在 LabVIEW 中读取双向直流电源(如 Keysight E36313A)的 DLOG(数据记录) 数据,需通过 SCPI 命令控制数据记录功能并解析返回的数据。以下是详细步骤和示例代码:
VISA Open 函数建立连接:plaintextVISA Resource Name: "TCPIP0::192.168.1.100::INSTR"(根据实际地址修改)
scpiDLOG:REC:TIME 1 ; 设置记录间隔为1秒DLOG:REC:ITEM UACT,IACT ; 记录实际电压和电流
DLOG:STAR ; 启动记录
VISA Write 发送配置命令:plaintextCommand: "DLOG:REC:TIME 1nDLOG:REC:ITEM UACT,IACTnDLOG:STAR"
scpiMMEM:STOR:DLOG "U:/DLOG.CSV" ; 保存为CSV文件
scpiDLOG:DATA? ; 返回二进制或ASCII格式数据
VISA Read 读取数据,并通过 Spreadsheet String To Array 解析 CSV 格式数据。"1,12.500,1.000n2,12.501,1.001"):Scan From String 或 Delimited String To Array 提取数值。scpiDLOG:STOPSYST:LOC ; 切换回本地模式(可选)
plaintextCommand: "DLOG:STOPnSYST:LOC"
VISA Open → 配置 VISA Resource Name。VISA Write 发送配置命令(如记录间隔、项目)。VISA Write 发送 DLOG:STAR。VISA Read 获取数据 → Delimited String To Array 解析 → 更新图表。VISA Write 发送 DLOG:STOP → VISA Close。plaintext1. 配置记录: VISA Write: "DLOG:REC:TIME 1nDLOG:REC:ITEM UACT,IACTnDLOG:STAR"
2. 读取数据(循环内):
VISA Write: "DLOG:DATA?"
VISA Read → 输出字符串(如 "1,12.5,1.0n2,12.6,1.1")
使用 "Delimited String To Array" 分割字符串为数组。
3. 停止记录:
VISA Write: "DLOG:STOP"
VISA Close
VISA Clear 和错误簇(Error Cluster)处理通信异常。如果设备不支持直接读取 DLOG,可通过以下方式间接实现:
MEAS:VOLT? 和 MEAS:CURR? 命令,记录数据到文件。通过以上步骤,可在 LabVIEW 中实现双向直流电源 DLOG 数据的读取与可视化。如需具体代码模板,可参考 Keysight 官方 LabVIEW 示例或 NI 社区资源。