python之SCPI程控
SCPI协议:SCPI协议建立于IEEE488.2基础上,可用于GPIB、RS232、VXIb总线,通过相同命令来控制不同仪器的相同功能,python SCPI程控,可以通过visa来进行控制。
下面是简单基本的连接命令,open_resource中的是网口通信和USB通信的通信地址,如果连接成功会有产品型号等参数值返回。不同仪器的通信地址请参考相应的官方文档。
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# author:SingWeekimport visa
rm=visa.ResourceManager()
res = rm.open_resource('TCPIP0::169.254.4.61::inst0::INSTR')#网口
res = rm.open_resource('USB0::0x0699::0x0368::c010850::INSTR')#串口
print(res.query("*IDN?"))#通用查询命令
另外在电脑上还需要安装VISA驱动才能成功,驱动地址(百度云盘):链接:
https://pan.baidu.com/s/1tNOMJiZPKB2UdrihUGTREA 提取码:tioa
python通过SCPI程控设备,一般操作也就需要用到visa中的三个函数,res.write(),res.read(),res.query()。如果不想调用python中写好的visa可以自己通过ctypes直接调用dll文件,dll=windll.LoadLibrary();然后直接对dll中的函数进行相关操作。python dll文件调用可以参考:https://blog.csdn.net/zx520113/article/details/85060765
这里简单给出一个控制数字万用表34461的电流DC和AD选择以及电流当前电流参数的控制操作。可以通过pip install visa来安装visa库。
class Multimeter:def __init__(self,TCPIP='TCPIP0::169.254.4.61::inst0::INSTR'):rm = visa.ResourceManager()self.ser=rm.open_resource(TCPIP)def Write(self,data):self.ser.write(data)def Set_DC(self,data=10):self.Write("CONF:CURR:DC "+str(data))def Set_AC(self,data=10):self.Write("CONF:CURR:AC " + str(data))def Read_IC(self):return float(self.ser.query("READ?"))def Read(self):return self.ser.read()
query()相当于write()+read(),带有?的格式命令才有效。
print(res.query("*IDN?")) res.write("*IDN?") print(res.read())
例:对应的SCPI协议参数格式:
CONFigure:CURRent:{AC|DC} [{<range>|AUTO|MIN|MAX|DEF} [, {<resolution>|MIN|MAX|DEF}]]
在TCPIP或者USB中,通过visa控制发送的命令应该为:
CONF:CURR:AC 1,0.001 设置交流测量
CONF:CURR:DC 10,0.001 设置直流测量
CONF:CURR:DC 10 默认测量精度最高
Range为测量范围,resolution为测量精度,不设置默认最大。
命令中大写字母部分必须完整,小写字母的部分可以不写。
如果是RS232接口通信,可以通过serial库通过串口来进行控制,在这里或许会出现直接通过串口助手发送过去没有发应的情况,我们要注意命令的结束标志,一般是'\n',当然不同仪器的不同控制命令结束标志不同。在RS232连接的时候要注意串口号,以及设备设置IDE波特率等相关信息。
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# author:SingWeekimport serial
ser=serial.Serial('COM16',19200,bytesize=8,parity="N",stopbits=1)
ser.write("*IDN?\n".encode())
result=ser.read(51)
print(result)#设置的电流查询命令,返回三个通道的电流值
# ser.write("APP:CURR?\n".encode())
# result=ser.read(8)
# print(result)
在通过RS232通信的时候,最好使用read读取数据,readlines(),read_all()等,在有些操作的时候不能读取返回值。
基于SCPI的程控,不管是通过TCPIP、USB、还是RS232通信等,发送的命令在数据格式定义上都是大同小异的。
python之SCPI程控相关推荐
- C语言 scpi命令解释器,基于Python的SCPI命令解释器的设计
基于Python的SCPI命令解释器的设计 目前可编程仪器标准命令(SCPI)依然被广泛使用,因此设计一个高效通用的SCPI命令解释器很重要.常用的SCPI命令解释器多以C语言开发,采用链式二叉树等存 ...
- 可编程仪器标准命令SCPI指令介绍
SCPI指令是可编程仪器标准命令(Standard Commands for Programmable Instruments)的简称,它实际定义了一套用于控制可编程测量仪器的标准语法和命令. SCP ...
- scpi指令转换c语言,SCPI指令介绍
SCPI指令是可编程仪器标准命令(Standard Commands for Programmable Instruments)的简称,它实际定义了一套用于控制可编程测量仪器的标准语法和命令. SCP ...
- matlab meas 函数_力科示波器Matlab使用指南
自定义示波器系列之一 自定义示波器系列之一 -- --力科示波器 力科示波器 MATLAB 使用指南 使用指南 美国力科公司 万力劢 基于 X-Stream 技术的力科示波器既是一个高速信号采集平台, ...
- 上位机使用python/matlab通过网线VISA/SCPI编程远程控制旧版A.06.04.32的安捷伦agilent矢量网络分析仪(VNA)采集S21参数
近日需要通过上位机连接矢网采数,但是可用的矢网只有一个零几年的矢网安捷伦 agilent e8363b.一开始想使用labview,但是使用NI MAX控制不成功(问题在instrument VISA ...
- Python GUI库TKinter子线程与主线程控件传递消息策略
TKinter GUI库没有像MFC那样的强制安全策略,在MFC中子线程无法直接控制主线程中的GUI控件,比如修改文本框或者按钮上的内容.因为如果只有2个线程,即一个主线程和一个子线程的情况下子线程直 ...
- Python实现 通过RS232 SCPI 命令控制Tektronix DMM4050
Python实现 通过RS232 SCPI 命令控制Tektronix DMM4050@TOC import serial import matplotlib.pyplot as plt import ...
- python工程控件_工程脚本插件方案 - c集成Python基础篇
序: 为什么要集成脚本,怎么在工程中集成Python脚本. 在做比较大型的工程时,一般都会分核心层和业务层.核心层要求实现高效和稳定的基础功能,并提供调用接口供业务层调用的一种标准的框架划分.在实际中 ...
- keithley电源程控软件,电源CVI SCPI二次开发软件NS-TDK Power
*主要功能:可输出任意电压波形.电流波形,波形图实时显示,支持与设定波形对比.可选择存储电源输出电压.电流值. *程控对象:TDK电源. *程控接口:被测终端可以是具有GPIB.USB.RS232.T ...
最新文章
- 使用Git管理源代码
- Five ways to maximize Java NIO and NIO.2--转
- Apache OpenWebBeans 发布适用于 Java EE 微服务的 Meecrowave 服务器 1.0
- 还没掌握Linux文件权限与目录配置命令?就这还不点进来看看干货
- Employee Assign Organization unit
- 用phpmyadmin更改root密码的方法
- 用cglib生成的代理类取不到注解的问题
- 货币基金新规将出,限制T+0提现及支付额度
- 校园卡管理系统-版本二
- centos分区方案
- android放大镜无广告,放大镜微件 | Android 开发者 | Android Developers
- 携手做大做强中国集成电路产业链
- python 对两列互补的数据合并
- MGV3000_YST_免费刷机固件包_原生设置无密码_支持外置USB无线网卡
- Oracle的sqlnet.ora文件配置
- 备份微信聊天记录为 txt 格式保存(免 root)
- access和wps哪个一样_同是办公软件,wps跟office有什么区别
- 一文读懂 协方差矩阵
- 人的大脑就是量子计算机吧,新发现!人类大脑其实就是台量子电脑
- 最详细的HIve常用函数整理及案例演示
热门文章
- 了解3dmax面片建模方式
- UE4 Slate独立引用程序(摘抄大象无形)
- HTML+CSS+JS大作业——汽车设备营销企业模板(13页) 静态HTML网页设计模板
- 在Univerisity of Houston访学一年,信用卡刷的biubiubiu,所以要找一个适合自己的记账软件
- PS地理成像插件:Avenza Geographic Imager中文版(支持ps2021)
- SAP 发出商品详解-配置与实操
- ant design vue 中Upload组件如何自定义文件列表的样式
- 关于国嵌 实验2 5 网卡驱动移植 网卡地址 的问题
- IntelliJ IDEA 2021免费激活码正规申请方法(IDEA官方激活注册码)
- Adobe Photoshop CS6安装错误代码(37),解决办法