Agilent 34401A 串口命令
第二,这就不得不吐槽一下, 也就是在使用 READ 命令之前 需要发送 SYSTEM REMOT 命令, 否则, Agilent 数字万用表不接受 READ 命令。在设备后面, 具有UART接口,接入计算机的RS232接口。通过测量接口的电压,可以看到它的第二端口的电压为 负 9V 左右,这说明它可以直接接入计算机的串口。文记录了使用 Agilent 数字万用表进行远程控制的过程, 特别是
Agilent数字万用表
Agilent数字万用表
一、前言
这款Agilent 数字万用表 34401A, 将用于实验室自动测量。 它具有RS232接口, 下面对它的远程接口功能进行测试。 最终实现能够完成自动测量的功能。
二、数字接口
根据 Agilent 34401A 的用户手册, 可以了解他的编程方法。 通过前面板设置相关参数, 前面板按钮配合 SHIFT 按键都有两个功能, 可以分别设置万用表的不同功能。 其中, 在输入输出菜单中, 可以设置串口通讯波特率以及奇偶校验等参数。 下面对此进行查看和操作。
通过SHIFT, MENU左键进入参数设置界面。 然后通过左右箭头选择菜单组。 选择 E 菜单, 设置串口参数。 使用往上箭头按键, 进入子菜单, 可以设置 波特率以及奇偶校验。 波特率为 9600, 以及没有奇偶校验。 在设备后面, 具有UART接口, 接入计算机的RS232接口。
使用直通串口延长线引出数字万用表的串口。 通过测量接口的电压, 可以看到它的第二端口的电压为 负 9V 左右, 这说明它可以直接接入计算机的串口。 将它接入计算机 USB 转串口的接头中。
三、软件编程
数字万用表在 远程见面命令参考 中 给出了测量和配置命令。 下面对此进行测试。
设备接入了计算机的 COM6, 在Python 程序中, 打开COM6, 发送 SCPI 指令, 便可以接收设备的测量命令了。 测量结果与万用表现实的结果是一致的。
▲ 图1.3.1 Agilent远程测量
这里需要强调两点。 第一, 就是每次 READ命令发送之后, 所获得的是上一次测量结果。 第二, 这就不得不吐槽一下, 也就是在使用 READ 命令之前 需要发送 SYSTEM REMOT 命令, 否则, Agilent 数字万用表不接受 READ 命令。 这一点开始并没有注意, 所以, 鼓捣了很长时间, 询问了别人之后, 方才解开了无法读取数据的谜团。
#!/usr/local/bin/python
# -*- coding: gbk -*-
#============================================================
# TEST1.PY -- by Dr. ZhuoQing 2024-03-16
#
# Note:
#============================================================
from headm import *
import serial
from _ast import Or
from serial.serialutil import SerialException
#------------------------------------------------------------
sport = serial.Serial()
sport.baudrate = 9600
sport.timeout = 0.05
try:
sport.port = 'COM6'
except:
printf('Set sport port COM6 error. ')
try:
sport.open()
except serial.serialutil.SerialException:
printf('Open sport port COM6 error.')
else:
printf('Open sport port COM6 Ok.')
#------------------------------------------------------------
sport.write(b"SYSTEM:REMOTE\n")
while True:
sport.write(b'READ?\n')
time.sleep(.1)
result = sport.read(100)
printf(result)
time.sleep(1)
#------------------------------------------------------------
# END OF FILE : TEST1.PY
#============================================================
※ 总 结 ※
本文记录了使用 Agilent 数字万用表进行远程控制的过程, 特别是在读取数据的时候, 需要预先发送 SYSTEM REMOTE 指令, 这一点我是吃了亏的。
● 相关图表链接:
更多推荐
所有评论(0)