大家好,欢迎来到IT知识分享网。
GPIB
GPIB,通用接口总线,在OSI模型中属于物理层的协议。
GPIB基本特性
IEEE488规定的GPIB总线的24条总线中,16条讯号线按功能可分为:
8条数据线(DIO1-DIO8,用于传输接口信息与数据信息)、
5条接口管理线(IFC,系统控制器重置装置;ATN,指示总线的8条数据线传输的数据属于命令还是数据信息;REN,切换装置为远程控制或本地控制;EOI,装置传送数据至最后字节时,令EOI拉低表示数据传输结束,收听者在EOI被拉至低电位后,停止读取数据。EOI可与NL(NewLine)CR(Carriage Return)字符组成结束符号;SRQ,装置用来通知控制器需要服务。SRQ为低电位时表示需要服务,在被控制器轮询完成后拉高,解除服务需求)、
三条交握线(DAV数据有效线,NRFD尚未备妥接收数据线、NDAC尚未接收数据)
GPIB数据传输采用并行以比特传输数据(1byte=8bit)、采用串行以字节(位组)传输数据,双向异步传输,
标准GPIB传输速率低于1Mbit/s(用HS488协议时,数据传输速率可达8 Mbit/s),互连总线的长度不超过20米,任何两个相邻仪器间的电缆不超过4米,总线上所有仪器之间的电缆长度平均不超过两米。
总线上传输消息采用负逻辑(低电平(≤+0.8V)为1,高电平(≥+2.0)为0)
将多台仪器与电脑连接至同一GPIB总线,每台设备(包括电脑接口板)都需要有唯一的GPIB地址(单字节地址0-30,双字节地址0-960)。一般GPIB接口板的地址会设置为0.
GPIB一般用于电气干扰轻微的实验室与生产现场,可以用作多台仪器之间的平行总线。
装置分类
在GPIB标准接口总线系统中,根据装置控制总线的时机可以分为三类仪器装置:
讲者(通过总线发送仪器消息的装置(测量仪器、数据采集器、计算机)一个GPIB系统中可以存在多个讲者,但是在某一时刻,只能有一个讲者在起作用)
听者(通过总线接收由讲者发出的消息的装置(打印机、信号源)一个GPIB系统中可以存在多个听者,允许多个听者同时进行工作(最多14个))
控者(数据传输过程中的组织者和控制者(对其他设备进行寻址、运行讲者使用总线等,常为计算机)GPIB系统不允许有两个或两个以上的控者同时起作用)
对于系统中的某一台装置,它可以具有三个要素中的其中一个、两个或全部
连接方式
GPIB的连线方式有线型连接与星形连接两种。
线型连接方式是一台串接一台的方式形成一测试回路
星型连接方式是以一台装置为中心,其他的辐射连接至其他装置 (重叠数量尽量在三个以下,防止最下方连接器承受多大压力)
SCPI命令
SCPI命令为树状层次结构,包括多个子系统,每个子系统由一个关键字和一个或几个层次关键字构成,命令行通常以:开始,关键字之间以:分隔开,关键字后面跟随可选的参数设置,命令行后面添加?表示查询,命令和参数以空格分开。
SCPI符号
大括号{}(大括号中的参数是可选项,可以不进行设置,也可以设置一次或多次。如[:TRACe]:DATA[:DATA] VOLATILE, < VALUE>{,< VALUE>}命令中,{ ,< VALUE>}中的浮点电压值可以省略,也可以设置一个或多个电压值)
竖线|(竖线用于分隔多个参数选项,发送命令时必须选择其中一个参数,例如DISPlay:SAVer[:5TATe] ON|OFF命令中,可选命令参数为ON或OFF)
方括号[](方括号中的内容(参数或关键字)可省略,如果省略参数,仪器将该参数设置为默认值,如[:SOURce< n>]:MDD[:STATe]?)
三角括号<>(三角括号中的值必须用一个有效值进行替换,例如DISPlay:BRIGhtness < brightness>MINimum|MAXimum)
参数类型
布尔 ON OFF
整型 特殊说明以外,参数在有效值范围内可以取任意整数值(此时不要把参数设置为小数形式,否则将出现异常)
离散(参数只能取指定的数值,并且这些数值不是连续的)
连续实型(参数在有效值范围内按精度要求(通常默认精度为小数点后六位有效值)可以进行任意取值)
关键字 参数取值所列举的值
命令缩写
所有命令对大小写不敏感,可以全部采用大写或小写,但是在要进行缩写的时候,必须输完命令格式中的所有大写字母(:SYSTem:COMMunicate:USB:INFormation?可缩写成:SYST:COMM:USB:INF?)
命令
公用命令 | 描述 |
---|---|
*CLS | 清除状态 |
*ESE | 标准事件状态使能 |
*ESE? | 标准事件状态使能 |
*ESR? | 标准事件状态寄存器查询 |
*IDN? | 仪器标识查询 |
*OPC | 操作完成 |
*OPC? | 操作完成询问 |
*RST | 复位 |
*SRE | 服务请求使能 |
*SRE? | 服务请求使能查询 |
*STB? | 读状态字节查询 |
*TST? | 自测试查询 |
*WAI | 等操作完成 |
测量命令 | 描述 | |
---|---|---|
CONFigure | 状态 | 设置仪器,以执行相应测量 |
FETCh? | 取数 | 重新获取仪器数据,并将数据至于输出缓冲区 |
READ? | 读 | 实现对刷新数据的取数操作,数据采集和后期处理 |
MEASure? | 测量 | 设置、触发数据采集并进行后期处理 |
子系统命令 | 作用 | 描述 |
---|---|---|
CALCulate | 计算 | 完成采集后期数据处理,有16个分支 |
CALibration | 校准 | 完成系统校准,有11个分支 |
CONTrol | 控制 | 用于测量和过程控制环境条件下机电仪器的通断操作 |
DIAGnostic | 诊断 | 为仪器维护提供诊断书节点 |
DISPlay | 显示 | 控制图、文与轨信息的显示选择和表达方法 |
FORMat | 格式 | 为传送数值和矩阵信息设置数据格式 |
HCOPy | 硬拷贝 | 控制至外部仪器的绘图与打印操作的设置 |
INPut | 输入 | 控制检测器件输入口特征 |
INSTrument | 仪器 | 提供识别和选择逻辑仪器的方法 |
MEMory | 存储器 | 管理仪器存储器 |
MMEMory | 海量存储器 | 为仪器提供海量存储能力 |
OUTPut | 输出 | 控制源输出口特征 |
PROGramm | 程序 | 仪器内部程序控制和管理 |
ROUTe | 路由 | 仪器的信号路径选择 |
SENSe | 检测 | 控制与信号特征无关的仪器检测功能的特定设置 |
SOURce | 源 | 控制与信号特性无关的源功能的特定设置 |
STATus | 状态 | 控制SCPI定义的状态报告结构 |
SYSTem | 系统 | 实现仪器内务管理和设置全局组态 |
TEST | 测试 | 提供标准仪器自检程序 |
TRACe | 痕迹 | 一般用于跟踪信号, |
DATA | 数据 | 仪器存储器中命名实体,用于定义和管理记录的数据 |
TRIGger | 触发 | 用于同步仪器的动作 |
UNIT | 单位 | 。义缺省单位 |
VXI | VXI总线 | 控制与VXI总线操作相关的管理功能 |
labVIEW实现
通过VISA连接
从仪器的信息或设置里获取GPIB地址。
简历主机与仪器的连接
SCPI指令中开启连线的指令为GPIB0::GPIB 地址::INSTR
向仪器发出指令并读取返回值(每台仪器返回的信息都不一样,详细意义需要阅读指令集手册)
VISA关闭函数关闭仪器的会话句柄。
通过GPIB模块连接
通过GPIB写入函数发送”*IDN?”命令。
通过GPIB读取函数读取仪器的响应。
部分GPIB仪器可能需要在读写之前线进行初始化
一般仪器仪表都会有自己的封装库,可以搁NI搜一下,搜不到的搁官网再搜一下,Git上搜一下(自己按指令集写库的稳定性确实稳定性高点,但,不是闲的或需求高,不建议自己写。不要问我遇到了什么)。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/125510.html