浅谈仪器控制【1.Python与Labview/Labwindows】
(一) Python
Python是一种易于学习的脚本语言,开发周期短。它有专门控制仪器的库函数Pyvisa,代码简洁且支持各种科学计算。一般情况下,我们可以使用SCPI命令控制仪器,也可以加载仪器函数包(一般仪器的用户手册里会提供)来控制仪器.
1. PyVISA库 / PyVISA Library
PyVISA是Python的一个包,使Python能够独立于接口(如GPIB,RS232,USB,Ethernet)控制各种测量设备。PyVISA极大的简化了对仪器的控制方式,仅仅需要几行代码即可以实现对仪器的操作。控制仪器的代码参见博文:Python控制仪器【2 ,控制矢量网络分析仪】
下面介绍以下pyvisa用于仪器控制的基本使用方式,详细信息可参见Pyvisa官网
- 导入visa模块,定义基本信息,包括visa.dll的位置以及仪器控制方式及其信息,如TCP/IP的IP地址,GPIB的端口号信息等,按照指定格式进行填充。
- 利用visadll文件创建一个visa的实例对象,有了实例对象就可以连接仪器。与仪器进行通信的接口函数主要有以下3种,write() /read() /query(),具体使用哪一种需要根据每种仪器的通信协议命令集查询命令的属性,为写/读/读写等。
- 有了接口函数以后就可以利用对应的命令集进行命令的发送,而具体的命令则可以通过相应的仪器手册进行查询。
2. VISA简介 / VISA Introduction
VISA(Virtual Instrument Software Architecture,简称为VISA),即虚拟仪器软件结构,是VXI plug&play联盟制定的I/O接口软件标准及其规范的总称。VISA提供用于仪器编程的标准I/O函数库,称为VISA库。VISA函数库驻留在计算机系统内,是计算机与仪器的标准软件通信接口,计算机通过它来控制仪器。
作为通用I/O标准,VISA提供了统一的设备资源管理、操作和使用机制,它独立于硬件设备、接口、操作系统和编程语言,具有与硬件结构无关的特点。VISA的这一特性使之适用于各种仪器接口,无论仪器使用的串口还是其他任何一种总线,诸如GPIB、VXI、PXI和LXI等,都具有相同的操作函数,从而实现了控制操作上的统一。
Visa基于自底向上的结构模型,创造了一个统一形式的I/O控制函数集。一方面,对初学者或是简单任务的设计者来说,Visa提供了简单易用的控制函数集,在应用形式上相当简单;另一方面,对复杂系统的组建者来说,Visa提供了非常强大的仪器控制功能与资源管理。
(二) Labview
Labview是可视化的图形编程平台。它以独特的图像方式展现出各个函数的关系,编写时只需要附上各个函数图标即可。
一般情况下厂商会提供仪器的驱动,需要注意的是labview的版本需要与驱动兼容。Labview官网
(三) Labwindows
LaWindows/CVI是基于文本式编程语言的软件,是一种基于C语言的虚拟仪器开发平台。它将C语言与测控技术领域专业工具有机结合,可以实现数据采集、分析和显示。
应用:
LabWindows/CVI主要应用在各种测试、控制、故障分析及信息处理软件的开发中,与NI公司开发的另一个虚拟仪器开发工具LabVIEW相比,其更适合中、大型复杂测试软件的开发。基于LabWindows/CVI设计的虚拟仪器在无损检测、电力仪表系统、温控系统、流程控制系统、故障诊断和医疗等领域中发挥着重要作用。
浅谈仪器控制【1.Python与Labview/Labwindows】相关推荐
- 智能车浅谈——方向控制篇
文章目录 前言 自动控制理论 人工控制系统 自动控制 方向控制 典型环节对应 典型环节分析 给定环节与给定量 比较环节与偏差量 控制环节与控制量 执行机构 舵机 PWM技术 舵机中值及限幅 转向控制 ...
- 智能车浅谈——电机控制篇
文章目录 前言 运动控制系统 被控对象 执行机构 控制器 反馈环节 M法测速: T法测速 小结 直流调速系统 桥式可逆PWM变换器 (1)正向运行 (2)反向运行 总结 智能车系列文章汇总 前言 之前 ...
- python实例编程_浅谈如何编程Python3——Python实例(3)
浅谈如何编程Python3--Python实例(3) # 测试实例一 print("测试实例一") str= "runoob.com"print(str.isa ...
- 零基础python入门书籍-浅谈零基础自学python入门书
作为一个计算机初级爱好者,还是比较喜欢Python,因为Python干净利索,简单直接. Python编写代码的速度非常的快,而且非常注重代码的可读性,非常适合多人参与的项目. 它具备了比以前传统的脚 ...
- 【Python】浅谈 字节码 + 虚拟机 (Python 解释器)
目录 一.绪论 二.说明 2.1 字节码编译 2.2 Python 虚拟机 (PVM) 2.3 性能意义 ☆ 2.4 开发意义 三.小结 一.绪论 Python 通常被描述为一种 解释型语言,在这类语 ...
- 浅谈面试阿里外包python开发工程师
本人也是抱着不成功则成仁的想法去的 先说一下肯定有干货 反正不管过不过 总的榨点他身上的东西 对吧! 抓到了总要一顿乱问 晚上7点半接到面试邀请电话 请先简单的自我介绍一下自己 吧啦吧啦说了有两三分钟 ...
- 智能车浅谈——控制规律篇
文章目录 前言 计算机控制系统 常用控制规律 PID控制 比例(P)控制器 比例积分(PI)控制器 比例积分微分(PID)控制 位置式PID 增量式PID 数字PID控制算法的改进 PID参数整定 小 ...
- 智能车浅谈——手把手让车跑起来(电磁篇)
文章目录 前言 材料准备 备赛组 车模 硬件 练习组 车模 硬件方案 整车原理 赛道信息获取及转向原理 工字电感 运放模块 转向原理 元素判断 电机及舵机控制原理 代码实现 效果欣赏 总结 17届完赛 ...
- 智能车浅谈——硬件篇
目录 初识小车 硬件系统 1.电源系统 线性电源 开关电源 2.人机交互系统 3.MCU最小系统 4.传感器系统 摄像头 电感 编码器 5.驱动系统 机械结构 17届完赛代码 智能车系列文章汇总 前言 ...
最新文章
- 好理解的Java内存虚假共享(False Sharing)性能损耗以及解决方案
- html视频资源加载出错处理,如何处理前端异常
- linux tar压缩解压命令
- cmd code page
- vue 实现数据滚动显示_vue 滚动加载数据
- uni-app微信获取手机号,第一次解密总是失败
- DIV Scroll属性
- Python实现中英文分词
- jquery 固定导航
- 打开的文件过多问题排查思路及解决过程
- java双向链表结构_【Java数据结构】2.3双向链表的迭代实现
- xml格式转json
- C语言实验:输入任意一个日期的年、月、日的值,求出从公元1年1月1日到这一天总共有多少天,并求出这一天是星期几。
- Python模块之Pandas模块学习笔记
- 苹果历代产品中的8大亮点设计(上)
- 【SpringBoot】:j2cache入门案例
- 微信开通检测软件的使用方法(入门教程)
- Render函数详解
- 可编程计数器/定时器8253和8254
- [美文]你懂得这些,才可能比别人更优秀!
热门文章
- Linux网络-网络配置命令
- 全差分运算放大器ADA4930的分析(1)
- 同一局域网内的其他电脑访问我的电脑本地的网站
- 【matlab郭彦甫课程答案】
- BP神经网络能做什么?
- NodeJS C++ Addons之C++类实例包装与异步操作
- 前端框架系列之(eslint入门)
- 用username.github.io在github创建一个个人空间
- 如何在SM30维护表时自动写入表字段的默认值-事件(EVENT)
- 互联网概述, 分组交换, 网络类别, 网络拓扑结构