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

news2024/10/6 10:26:35

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 pyvisa

rm = 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 time

rm = 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 time

rm = 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 time

rm = 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 time

def control_voltage_sequence():
    rm = 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?"))

# 调用函数执行电压控制序列
control_voltage_sequence()

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机器学习基本流程

Jupyter Notebook 代码连接: machine_learning_demo machine_learning_ensembles Step 1: Imports and Configuration import pandas as pd import numpy as np import copy import json import pickle import joblib import lightgbm as lgb import optuna impor…

IDEA插件:CodeGeex

前言 CodeGeeX是由清华大学和智谱AI联合开发的多语言代码生成模型。CodeGeeX是一款AI编程助手,其功能类似于Github Copilot、Codeium、CodeWhisperer、Bito等智能编程助手。CodeGeeX支持Python、C、Java、JavaScript、Go等10多种主流编程语言。它可以帮助程…

【小程序】IOS wx小程序解压获取源文件

根据自己手机的系统,获取wx小程序的缓存目录 一、微信小程序文件存放路径 安卓: /data/data/com.tencent.mm/MicroMsg/{{user哈希值}}/appbrand/pkg/iOS越狱: /User/Containers/Data/Application/{{系统UUID}}/Library/WechatPrivate/{{user…

unity学习(89)——unity塞满c盘!--删除editor下的log文件

卸了一个视频后强制续命打开详细信息: 这个再往下找也是没用的! 显示隐藏文件夹后!执行如下操作! 30个g! 其中unity占23g editer占了21g 删除C:\Users\王栋林\AppData\Local\Unity\Editor下的log文件 恢复到之前的水…

建筑楼宇VR火灾扑灭救援虚拟仿真软件厂家

在传统消防安全教育方式中,往往存在内容枯燥、参与度低和风险大等问题,使得消防安全知识难以深入人心。然而,借助VR消防安全逃生教育系统,我们可以打破这一困境,为公众带来前所未有的学习体验。 VR消防安全逃生教育系统…

【后端】Thymeleaf模板引擎学习笔记

文章目录 1. java体系模板引擎介绍2. 使用2.1 初步使用 视频地址 1. java体系模板引擎介绍 FreeMarkerThymeleafVelocity 2. 使用 2.1 初步使用 引入依赖 <dependency><groupId>org.thymeleaf</groupId><artifactId>thymeleaf</artifactId><…

SpringBoot学习之Kafka下载安装和启动(三十三)

一、Mac环境 1、下载Kafka&#xff1a;Apache Kafka 2、这里我选择的版本是kafka_2.12-3.7.0&#xff0c;下载最新版的Kafka二进制文件&#xff0c;解压到你喜欢的目录&#xff08;建议目录不要带中文&#xff09;。 3、启动ZooKeeper服务&#xff0c;Kafka需要使用ZooKeeper&…

Claude 3 Opus 效果是否真的可以超过GPT-4?

实测,不仅是超过,而且我个人感觉这个差距甚至大于GPT3.5到GPT4的距离. claude3在长篇理学论文的解析能力是非常显著的,可以扩展补完作者省略的大量运用高等数学,复变函数以及更多数理方法的计算过程,并且将中间过程补完的非常完美.不会漏符号,错符号,偏差数值之类的问题.工科许…

【网站项目】党员之家服务系统小程序

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

【BUG】前端|GET _MG_0001.JPG 404 (Not Found),hexo博客搭建过程图片路径正确却找不到图片

我的问题 我查了好多资料&#xff0c;结果原因是图片名称开头是_则该文件会被忽略。。。我注意到网上并没有提到这个问题&#xff0c;遂补了一下这篇博客并且汇总了我找到的所有解决办法。 具体检查方式&#xff1a; hexo生成一下静态资源&#xff1a; hexo g会发现这张图片…

嵌入式linux中利用QT控制蜂鸣器方法

大家好,今天给大家分享一下,如何控制开发板上的蜂鸣器。 第一:开发板原理图 从原理图中可以得出,当引脚输出低电平的时候,对应的蜂鸣器发出响声。 第二:QT代码详细实现 设置一个按钮,点击即可控制BEEP状态发生反转。 #ifndef MAINWINDOW_H #define MAINWINDOW_H#in…

专题【二分查找】刷题日记

题目列表 4. 寻找两个正序数组的中位数 33. 搜索旋转排序数组 34. 在排序数组中查找元素的第一个和最后一个位置 35. 搜索插入位置 69. x 的平方根 167. 两数之和 II - 输入有序数组 209. 长度最小的子数组 222. 完全二叉树的节点个数 287. 寻找重复数 2023.04.14 4. 寻找两…

STM32G431RBT6之时钟树配置与生成工程

默认大家都下载了蓝桥杯嵌入式资源包了哈. 首先,打开cubumx,修改RCC与SYS. 打开并观察原理图,发现晶振是24Mhz. 第一步,打开Clock Configuration. 第二步,修改晶振为原理图相对应的24Mhz. 第三步,切换到HSE. 第四步,切换到PLLCLK. 第五步,设置HCLK为80Mhz(15届真题要求为8…

【银角大王——Django课程——ORM】

Django课程——ORM框架 Django 模型使用自带的 ORMORM 解析过程:ORM 对应关系表&#xff1a;下载mysqlclient安装包创建数据库——ORM只能操作表&#xff0c;无法创建数据库。连接数据库——修改settings中的DATABASESDjango操作表&#xff0c;在models.py文件中编写——操作表…

数字接龙(蓝桥杯)

文章目录 数字接龙【问题描述】解题思路DFS 数字接龙 【问题描述】 小蓝最近迷上了一款名为《数字接龙》的迷宫游戏&#xff0c;游戏在一个大小为N N 的格子棋盘上展开&#xff0c;其中每一个格子处都有着一个 0 . . . K − 1 之间的整数。游戏规则如下&#xff1a; 从左上…

专利基础概念

专利是一种知识产权形式&#xff0c;它为发明创造提供了一种法律保护机制&#xff0c;允许发明者在一定期限内对其发明享有独占权。 1、专利类型 专利类型&#xff0c;也被称为专利的客体&#xff0c;是指符合专利授予条件的各种发明创造。根据中国专利法&#xff0c;发明创造…

【经典小游戏】猜数字

前言1. 游戏介绍2. 游戏实现3. 游戏优化结语 个人主页&#xff1a;C_GUIQU 前言 各位小伙伴大家好&#xff01; 先问大家一个问题&#xff1a;我们为什么要学习&#xff1f; 简单来说&#xff0c;就是为了实践&#xff01;只有不断学习才可以帮助我们更好地实践&#xff01; 小…

【Java网络编程】网络编程中的基本概念及实现UDP、TCP客户端服务器程序

目录 一、什么是网络编程&#xff1f; 二、网络编程中的基本概念 1. 客户端和服务器 2. 请求和响应 三、Socket套接字 UDP数据报套接字编程 1. DatagramSocket 2. DatagramPacket 3. UDP回显客户端服务器程序 4. UDP字典客户端服务器程序 TCP流套接字编程 1. Serve…

【JS】js数字转k、w结尾 | 1000 = 1k

问题 数字转k、w结尾 如&#xff1a;10001k 100001w 码 /*** 数字转k,w* param {Number} num * returns String*/ const numberTokw num > {if (num < 1000) return numlet endStr w,numVal 10000;if (num > 999 && num < 10000) {endStr knumVal …

设计模式之创建型模式详解

设计模式 创建型模式 创建型模式(Creational Pattern)对类的实例化过程进行了抽象&#xff0c;能够将软件模块中对象的创建和对象的使用分离。为了使软件的结构更加清晰&#xff0c;外界对于这些对象只需要知道它们共同的接口&#xff0c;而不清楚其具体的实现细节&#xff0…