NIMAX下载安装使用,pyvisa基本使用

NIMAX部分:

1、先在NI官网下载系统配置和NI-VISA:

系统配置:

https://www.ni.com/zh-cn/support/downloads/drivers/download.system-configuration.html#532687icon-default.png?t=N7T8https://www.ni.com/zh-cn/support/downloads/drivers/download.system-configuration.html#532687NI-VISA:

https://www.ni.com/zh-cn/support/downloads/drivers/download.ni-visa.html#521671icon-default.png?t=N7T8https://www.ni.com/zh-cn/support/downloads/drivers/download.ni-visa.html#521671

2、下载之后运行,按需求和提示安装:

3、安装后按要求重启电脑,找到NI MAX并打开

4、左侧设备与接口显示连接情况

5、打开VISA测试面板,单击Query可得到产品信息

6、举例:输入volt 7\n,单击write,将电压设置为7v

7、举例:输入SYST:VERS? ,单击write,来查询当前使用的SCPI命令的版本号(指令参考设备手册)

pyvisa部分:

1、安装所需库:

pip install pyvisa

2、参考文档:       

https://pyvisa.readthedocs.io/en/latest/introduction/communication.htmlicon-default.png?t=N7T8https://pyvisa.readthedocs.io/en/latest/introduction/communication.html

3、基础

# write()向仪器发送命令
# read()接收响应数据
# query()向仪器发送命令并接收响应数据# lock()锁定仪器,防止其他程序访问
# unlock()解锁仪器,允许其他程序访问

4、例1:设置仪器电压为5v

import pyvisarm = pyvisa.ResourceManager()
instrument = rm.open_resource('USB0::0x2EC7::0x6700::802260084767510008::INSTR')# 设置电压为5V
instrument.write("VOLT 5")# 获取电压读数
print(instrument.query("MEAS:VOLT?"))

5、例2:设置电压为5v两秒,然后电压为10v两秒,然后电压为15v两秒,然后电压为10v两秒,然后电压为5v两秒

import pyvisa
import timerm = pyvisa.ResourceManager()
instrument = rm.open_resource('USB0::0x2EC7::0x6700::802260084767510008::INSTR')# 设置电压为5V,持续两秒
instrument.write("VOLT 5")
time.sleep(2)# 设置电压为10V,持续两秒
instrument.write("VOLT 10")
time.sleep(2)# 设置电压为15V,持续两秒
instrument.write("VOLT 15")
time.sleep(2)# 设置电压为10V,持续两秒
instrument.write("VOLT 10")
time.sleep(2)# 设置电压为5V,持续两秒
instrument.write("VOLT 5")
time.sleep(2)# 获取电压读数
print(instrument.query("MEAS:VOLT?"))

6、例3:使电压在五秒内逐渐由0v上升到10v,然后维持状态两秒,然后再让其逐渐下降到0v,持续五秒(0.5s为一个单位)

import pyvisa
import timerm = pyvisa.ResourceManager()
instrument = rm.open_resource('USB0::0x2EC7::0x6700::802260084767510008::INSTR')# 逐渐增加电压值至10V
for voltage in range(0, 11):instrument.write("VOLT {}".format(voltage))time.sleep(0.5)  # 每0.5秒增加一个单位的电压# 维持电压值为10V两秒
time.sleep(2)# 逐渐减少电压值至0V
for voltage in range(10, -1, -1):instrument.write("VOLT {}".format(voltage))time.sleep(0.5)  # 每0.5秒减少一个单位的电压# 维持电压值为0V五秒
time.sleep(5)# 获取电压读数
print(instrument.query("MEAS:VOLT?"))

7、给例3添加输出状态

import pyvisa
import timerm = pyvisa.ResourceManager()
instrument = rm.open_resource('USB0::0x2EC7::0x6700::802260084767510008::INSTR')# 设置输出状态为ON
instrument.write("OUTPUT ON")# 逐渐增加电压值至10V
for voltage in range(0, 11):instrument.write("VOLT {}".format(voltage))time.sleep(0.5)  # 每0.5秒增加一个单位的电压# 维持电压值为10V两秒
time.sleep(2)# 逐渐减少电压值至0V
for voltage in range(10, -1, -1):instrument.write("VOLT {}".format(voltage))time.sleep(0.5)  # 每0.5秒减少一个单位的电压# 维持电压值为0V五秒
time.sleep(5)# 获取电压读数
print(instrument.query("MEAS:VOLT?"))# 设置输出状态为OFF
instrument.write("OUTPUT OFF")

8、把例3封装在一个方法里方便调用

import pyvisa
import timedef control_voltage_sequence():rm = pyvisa.ResourceManager()instrument = rm.open_resource('USB0::0x2EC7::0x6700::802260084767510008::INSTR')# 逐渐增加电压值至10Vfor voltage in range(0, 11):instrument.write("VOLT {}".format(voltage))time.sleep(0.5)  # 每0.5秒增加一个单位的电压# 维持电压值为10V两秒time.sleep(2)# 逐渐减少电压值至0Vfor voltage in range(10, -1, -1):instrument.write("VOLT {}".format(voltage))time.sleep(0.5)  # 每0.5秒减少一个单位的电压# 维持电压值为0V五秒time.sleep(5)# 获取电压读数print(instrument.query("MEAS:VOLT?"))# 调用函数执行电压控制序列
control_voltage_sequence()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/636973.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于springboot+vue+Mysql的社区维修平台

开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:…

C++中的继承与多态

一、继承: 1.什么是继承? 继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象…

记录:阿里云服务器网站搭建(2)

Docker安装Mysql mysql版本 查看开发环境中mysql版本 :select version();安装时版本尽量保证一致,最低要求大版本要一致 docker 拉取mysql镜像 docker pull mysql:8.0.36 docker启动mysql容器 docker run -d \ # 创建并运行一个容器&…

【Godot4.2】太极八卦图绘制

概述 作为中国传统文化符号之一,太极八卦图,无论是哲学还是玄学,都不可能避开。 之前在ShapePoints函数库实现了太极的点求取函数。当时采用的时圆弧拼接的方式,但是存在某些尺寸下多边形无法三角化的问题。 于是就有了今天的内…

Windows使用freeSSHd搭建sftp服务器

一、安装 1、运行freeSSHd.exe(最好以管理员方式运行) 2、选择安装位置 3、选择全部安装 4、是否创建开始启动栏快捷入口 5、是否创建桌面快捷方式 6、安装 7、安装完成,点击close 8、安装私钥 9、是否要安装为服务 10、全部安装完成 二、配…

不同条件累加(C语言)

一、题目&#xff1b; 二、N-S流程图&#xff1b; 三、运行结果&#xff1b; 四、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>int main() {//初始化变量值&#xff1b;int i 0;int j 0;float result1 0;float result2 0;float result…

3、MATLAB中矩阵和多维矩阵介绍

文章目录 一、矩阵二、矩阵举例三、定义变量四、定义矩阵五、获取变量值 一、矩阵 MATLAB中数据的基本格式是矩阵&#xff1b; 二维矩阵是一个带有以行和列排列的元素的矩阵表&#xff1b;如果右m行、n列&#xff0c;这个矩阵的大小就是m x n&#xff1b;多维矩阵的维数大于2…

加速产能!推荐五款制造业项目管理软件

随着技术的不断发展&#xff0c;许多制造企业开始意识到使用制造业项目管理软件的重要性。在本文中&#xff0c;我们将探讨适用于制造业的项目管理软件&#xff0c;制造业项目管理软件推荐&#xff0c;以帮助项目团队更加高效管理资源。 制造业项目管理难题 怎样正确利用工作资…

JAVA学习笔记28(常用类)

1.常用类 1.1 包装类 1.包装类的分类 ​ 1.针对八中基本数据类型相应的引用类型–包装类 ​ 2.有了类的特点&#xff0c;就可以调用类中的方法 2.包装类和基本数据类型的转换 ​ *装箱&#xff1a;基本类型 --> 包装类型 //手动装箱 int n1 100; Integer integer ne…

如何在3dMax中快速打包mzp 文件?

如何在3dMax中创建mzp 文件&#xff1f; 我喜欢将我的Maxscript脚本发布为mzp文件。这是一个为3dMax构建的自解压zip文件。在mzp文件中&#xff0c;您可以捆绑Maxscript脚本文件、图片、预设或其他文件&#xff0c;并链接安装时执行的特殊操作。 在3dMax中使用大型脚本时&…

数据结构练习-数据结构概述

----------------------------------------------------------------------------------------------------------------------------- 1. 在数据结构中&#xff0c;从逻辑上可以把数据结构分成( )。 A. 动态结构和静态结构 B. 紧凑结构和非紧凑结构 C. 线性结…

【C++】双指针算法:盛最多水的容器

1.题目 2.算法思路 有两种方法&#xff1a; 第一种&#xff1a; 暴力穷举法&#xff0c;就是用两次循环将所有的可能性算出来&#xff0c;然后求出最大值。 这种方法最容易想到&#xff0c;但时间复杂度是O(n^2)&#xff0c;一定会超时的&#xff01; 第二种&#xff1a; …