查了下资料,国内基本没什么资料.
通过谷歌找了好久,
终于找到了 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?