使用UltraSigma和MATLAB远程监控普源DP932U直流电源
创作时间:
作者:
@小白创作中心
使用UltraSigma和MATLAB远程监控普源DP932U直流电源
引用
CSDN
1.
https://blog.csdn.net/w111222333123/article/details/143888827
本文将介绍如何使用UltraSigma软件和MATLAB实现对普源DP932U直流电源的远程监控。主要内容包括UltraSigma软件的安装和使用、SCPI命令控制以及MATLAB程序实现远程监控和上下电控制。
UltraSigma软件使用
- 软件安装注意事项
- 安装UltraSigma远程软件时,要注意该软件不支持win11系统。
- 设备信息获取
- 右键点击设备,选择"SCPI Panel Control",可打开SCPI命令控制页面。
- SCPI命令控制
- 输入SCPI命令控制直流电源,单行输入。具体命令可以参考编程手册。
- 例如,设置通道电压和电流:
:APPLy CH1,24,2
(设置通道1电压为24V,电流为2A) - 控制输出状态:
:OUTPut:STATe CH1,ON
(打开通道1输出),:OUTPut:STATe CH1,OFF
(关闭通道1输出) - 查询输出状态:
:OUTPut:STATe? CH1
- 监控电流:
:MEAS:CURR? CH1
使用MATLAB远程监控
程序初始化
- 设备信息设置
- 在
InitialtionEquip
函数中设置当前所连接设备的信息。 - 设备信息可以在UltraSigma中查看,或者直接从直流电源中获取。
上下电控制
- 设置采集参数
acquisition_time
:采集时间,以秒为单位acquisition_interval
:采集间隔,以秒为单位passage
:选择需要采集的通道- 例如,设置通道电压和电流:
:APPLy CH1,24,2
- 上下电控制
- 上电:
:OUTPut:STATe CH1,ON
- 断电:
:OUTPut:STATe CH1,OFF
- 查询输出状态:
:OUTPut:STATe? CH1
电流监控
- 监控电流
- 获取当前电流信息:
:MEAS:CURR? CH1
- 将前后两次获取的电流作对比,不一致则保存到data中
- 若电流超过设定阈值(如1.5A),则立即断电
MATLAB完整代码
clc
% ------------------------打开仪器资源--------------------------------------
InitialtionEquip; %初始化设备对象
fopen(DP932U); %打开设备
% ------------------------读取设备信息--------------------------------------
fprintf(DP932U, '*IDN?');%设置命令
pause(1);
DataBack = fscanf(DP932U);%读取数据
% ------------------------设置采集参数--------------------------------------
acquisition_time = 10; %采集时间,S
acquisition_interval = 5; %采集间隔 ,S
passage = 'CH1'; %采集通道
% 设置通道电压为24V,电流为2A
fprintf(DP932U, ':APPLy %s,5,2', passage);
pause(1); % 等待设置生效
% --------------------------上电--------------------------------------------
% 打开通道输出(上电)
fprintf(DP932U, ':OUTPut:STATe %s,ON',passage );
pause(1);
% 查询通道输出状态,并返回结果
fprintf(DP932U, ':OUTPut:STATe? %s',passage);
pause(1);
OutputStatus = fscanf(DP932U);
OutputStatus = str2num(OutputStatus); % 将读取到的字符串转换为数字
if OutputStatus == 1
disp('上电成功');
else
disp('上电失败');
end
pause(1);
% --------------------------电流监控----------------------------------------
% 初始化变量
startTime = tic; % 记录开始时间
currentReadCount = 0; % 记录当前已经读取的次数
prevCurrentValue = NaN; % 用于存储前一次获取到的电流值
% 创建用于存储数据的结构体数组
data = struct('Time', {}, 'Current', {});
index = 1; % 用于记录结构体数组中数据的索引位置
while toc(startTime) < acquisition_time %采集时间
tic;
% 获取当前时间
currentTime = datestr(now,'HH:MM:SS.FFF');
% 获取电流信息
fprintf(DP932U, ':MEAS:CURR? %s',passage);
pause(0.2); % 增加等待时间
currentValue = fscanf(DP932U);
currentValue = str2num(currentValue);
% 比对电流值(第一次读取时不做比对,直接显示)
if currentReadCount > 0
if currentValue ~= prevCurrentValue
% 将不一致的电流信息和时间保存到结构体数组
data(index).Time = currentTime;
data(index).Current = currentValue;
index = index + 1;
end
else
% 第一次读取时只显示当前时间和电流值
disp(['当前时间:', currentTime, ', 当前电流:', num2str(currentValue), 'A']);
end
% 检查电流是否大于1.5A,如果是则给设备断电
if currentValue > 1.5
fprintf(DP932U, ':OUTPut:STATe %s,OFF',passage); % 发送断电命令
disp('电流过大,已给设备断电!');
break; % 断电后跳出循环
end
prevCurrentValue = currentValue;
toc;
% 暂停一段时间后再次获取
pause(max(acquisition_interval - toc, 0));
currentReadCount = currentReadCount + 1;
end
%
% % ------------------------断电------------------------------------------
% 关闭通道输出(断电)
fprintf(DP932U, ':OUTPut:STATe %s,OFF',passage);
pause(1);
% 查询通道输出状态
fprintf(DP932U, ':OUTPut:STATe? %s',passage);
pause(1);
OutputStatus = fscanf(DP932U);
OutputStatus = str2num(OutputStatus); % 将读取到的字符串转换为数字
if OutputStatus == 0
disp('断电成功');
else
disp('断电失败');
end
%--------------------------关闭仪器资源-------------------------------------
fclose(DP932U);
%-----------------------------显示返回结果----------------------------------
% disp(DataBack);
for i = 1:length(data)
disp(['时间:', data(i).Time, ', 电流:', num2str(data(i).Current), 'A']);
end
%-----------------------------将结果写入EXCEL----------------------------------
% 将数据转换为表格形式
tableData = struct2table(data);
% 将时间列转换为文本格式
tableData.Time = cellstr(tableData.Time);
% 写入Excel
filename = '电流波动记录表.xlsx';
writetable(tableData, filename);
热门推荐
流感高发季,爸妈们如何守护宝贝?
百日咳卷土重来,疫苗接种策略全面升级
古玩遇冷文玩热,收藏市场捡漏攻略
从“开不开门”到3530万粉丝,揭秘抖音鉴宝网红的崛起
《论语》教你如何高效自我反省
突然全球大跳水!纳斯达克中国金龙指数跌3.14% 发生了什么?
西梅:源自欧洲的“通便果”,富含多重营养功效
喀什西梅干:一颗果子科学证实有效缓解便秘
西梅:富含山梨糖醇的“天然开塞露”,通便效果胜过香蕉
膳食纤维含量是苹果两倍,红桑子黑莓助你缓解便秘
全电推进+高超音速导弹,095型核潜艇将成中国水下新锐
每天一碗土豆粥,15天缓解胃窦炎不适
有机肥有多少种?哪些含氮肥、磷肥和钾肥?哪些有机肥最有效果?
户外散步,告别焦虑,拥抱阳光
甘怡群教授揭秘:积极心态如何改善心理健康?
痤疮丙酸杆菌:痘痘背后的真凶?
冬游普者黑:烤鱼火锅配雪景,三大景点全攻略
普者黑:从网红醉虾到清汤鱼,四道美食带你吃遍小镇
普者黑四道美食:从泥鳅煮酸菜到小黑药炖鸡,尽显彝族撒尼人烹饪智慧
乌镇东栅打卡:茅盾故居与江南百床馆
《莫莉的冒险》:社交恐惧症女孩的勇气之旅
警惕餐后血糖异常,三招预防糖尿病
青岛港自动化码头再创佳绩,煤炭运输迎来技术革命
氟比洛芬凝胶贴膏:止痛消炎效果好,这些人群禁用
阳明学、二程理学到经学史:中国古代哲学研究新进展
春季15度,粉嫩穿搭正当时!
深圳世界之窗的迷你埃菲尔铁塔:108米高的浪漫邂逅
深圳世界之窗亲子游全攻略:16大游乐项目详解+优惠门票指南
深圳世界之窗一日游:飞越美利坚、激流大峡谷、马丘比丘家庭矿山车必打卡!
三国人物脸谱化的背后,隐藏了什么秘密?| 文史杂谈