C# 通过RS-232 读取 34401A万用表电压

最近老板叫我弄个软件读取34401A万用表电压

查了下资料,国内基本没什么资料.

通过谷歌找了好久,

终于找到了 34401A的使用手册

下面是使用C#写的一个与 34401A 万用表通讯的程序代码



首先需要设置万用表的串口为RS-232,以及波特率9600,数据位8


SerialPort serial= new SerialPort();

 //设置参数与万用表一致的参数
                        serial.BaudRate = 9600;
                        serial.DataBits = 8;
                        serial.Parity = Parity.None;
                        serial.DtrEnable = true;
                        serial.StopBits = StopBits.One;
                        serial.ReadTimeout = 10000;
                        serial.Open();

 //电脑遥控万用表之前要发送的指令
                        serial.WriteLine("SYST:REM");
                        Thread.Sleep(30);
                        //清除万用表显示板信息
                        serial.WriteLine("*CLS");
                        Thread.Sleep(30);
                        serial.WriteLine("TRIG:SOUR IMM");
                        Thread.Sleep(30);


 //读取万用表电压指令
                         serial.WriteLine("MEAS:VOLT?");
                         Thread.Sleep(1000);
                          //读取万用表电压
                          float viResult = float.Parse(serial.ReadLine());
                          //保留三位小数
                          viResult = (float)Math.Round(viResult, 3);



附一些其他指令(必须先设置遥控万用表):

MEAS:VOLT?  取电源输出的电压

MEAS:CURR?  读取电源的输出电流

MEAS:POW?   读取电源的输出功率

MEAS:DVM?   读取电压表的输入电压

MEAS:RES?   读取毫欧表的电阻值


*STB?      用来读取状态位寄存来的值,该命令执行后,寄存器被清零

CALibration:CURRent 返回给电源当前标定点的实际输出电流值


STATus:QUEStionable:CONDition?    用来读取查询条件寄存器的值

STATus:QUEStionable:ENABle    用来读取查询时间寄存器中的值

STATus:OPERation:ENABle  用来读取操作时间寄存器的值

ONPut:STATe?   用来控制电源输出的开启和关闭


IDN?  
必须是命令字符串中的最后一个查询命令 IDN?:SYST:VERS?



评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值