属性表: 1、VISA资源模板: VI_ATTR_MAX_QUEUE_LENGTH 任一时间特定对话通道{zd0}事件排队长度 VI_ATTR_RM_SESSION 资源管理器对话通道 VI_ATTR_RSRC_IMPL_VERSION 资源版本 VI_ATTR_RSRC_LOCK_STATE 资源存取锁定模式(取值为表中所列三种) VI_ATTR_RSRC_MANF_ID 生产厂家标号 VI_ATTR_RSRC_MANF_NAME 生产厂家名 VI_ATTR_RSRC_NAME 资源名 VI_ATTR_RSRC_SPEC_VERSION VISA规范版本 VI_ATTR_USER_DATA 资源特定对话通道所用的私有数据 2、仪器控制资源: 通用仪器控制属性: VI_ATTR_INTF_TYPE 对话通道接口类型 VI_ATTR_INTF_NUM 接口板号 VI_ATTR_IO_PROT I/O协议 VI_ATTR_RD_BUF_OPER_MODE 读缓冲区操作模式 VI_ATTR_SEND_END_EN {zh1}一个字节是否有END字符 VI_ATTR_SUPPRESS_END_EN 是否禁止END字符 VI_ATTR_TERMCHAR 终止符 VI_ATTR_TERMCHAR_EN 是否允许终止符 VI_ATTR_TMO_VALUE 超时值 VI_ATTR_TRIG_ID 当前触发机制 VI_ATTR_WR_BUF_OPER_MODE 写缓冲区操作模式 GPIB仪器控制属性: VI_ATTR_GPIB_PRIMARY_ADDR GPIB主地址 VI_ATTR_GPIB_SECONDARY GPIB副地址 _ADDR VI_ATTR_INTF_PAERNT_NUM GPIB板号 VXI仪器控制属性: VI_ATTR_MAINFRAME_LA 主机箱地址 VI_ATTR_MANF_ID VXI器件制造厂家标识符 VI_ATTR_MEM_BASE 内存基地址 VI_ATTR_MEM_SIZE 内存大小 VI_ATTR_MEM_SPACE 内存空间类型 VI_ATTR_MODEL_CODE 器件标号 VI_ATTR_SLOT VXI器件槽位 VI_ATTR_VXI_LA VXI器件逻辑地址 VI_ATTR_CMDR_LA VXI总线控制器地址 VI_ATTR_IMMEDIATE_SERV 是否为立即从者 VI_ATTR_FDC_CHNL FDC数据传送通道 VI_ATTR_FDC_GEN_SIGNAL_EN 是否允许通过FDC传送数据 VI_ATTR_FDC_MODE FDC模式 VI_ATTR_FDC_USE_PAIR 一对或一个FDC有效 VI_ATTR_SRC_INCREMENT 源偏移量 VI_ATTR_DEST_INCREMENT 目标偏移量 VI_ATTR_WIN_ACCESS 当前窗存取模式 VI_ATTR_WIN_BASE_ADDR 总线基地址 VI_ATTR_WIN_SIZE 当前窗长度 异步串行仪器控制属性: VI_ATTR_ASRL_AVAIL_NUM 接收缓冲区字节个数 VI_ATTR_ASRL_BAUD 波特率 VI_ATTR_ASRL_DATA_BITS 数据位 VI_ATTR_ASRL_END_IN 读操作终止方式 VI_ATTR_ASRL_END_OUT 写操作终止方式 VI_ATTR_ASRL_FLOW_CNTRL 数据流控制 VI_ATTR_ASRL_PARITY 检验极性 VI_ATTR_ASRL_STOP_BITS 停止位 VI_ATTR_DEST_INCREMENT 目标偏移量 VI_ATTR_FDC_CHNL FDC数据传送通道 VI_ATTR_FDC_GEN_SIGNAL_EN 是否允许通过FDC传送数据 VI_ATTR_FDC_MODE FDC模式 VI_ATTR_FDC_USE_PAIR 一对或一个FDC有效 对于属性的操作,一般用viSetAttribute(ViSession/ViEvent/ViFindList vi, ViAttr attribute, ViAttrState attrState)及viGetAttribute(ViSession/ViEvent/ViFindList vi, ViAttr attribute, ViPAttrState attrState)来进行属性设置与获取,属性的主体可以是器件句柄类型、事件类型、资源对象类型等,应该分情况对待。如例3.6与例3.7的事件中断子程序中的属性主体即为事件类型。 事件表: VI_EVENT_SERVICE_REQ 服务请求通知事件 VI_EVENT_VXI_SIGP VXI总线信号或中断引发事件 VI_EVENT_TRIG 硬件触发产生 VI_EVENT_IO_COMPLETION 异步I/O操作已完成 事件处理方式分事件排队方式与事件回调方式,具体见例3.4~例3.7。 操作表: 1、VISA资源模板: viClose(vi):关闭特定的对话通道。 viGetAttribute(vi,attribute,attrState):获取资源属性状态值。 viSetAttribute(vi,attribute,attrState):设置资源属性状态值。 viStatusDesc(vi,status,desc):获取返回状态描述字符串。 viTerminate(vi,degree,jobId):请求VISA资源终止一个或所有对话通道的正常运行。 viLock(vi,lockType,timeout,requestId,accessKey):设置资源存取模式。 viUnlock(vi):取消资源存取模式。 viEnableEvent(vi,eventType,mechanism,context):允许特定事件通知。 viDisableEvent(vi,eventType,mechanism):不允许特定事件通知。 viDiscardEvents(vi,eventType,mechanism):刷新一个对话通道上事件发生。 viWaitOnEvent(vi,ineventTypeList,timeout,outEventType,outContext):等待特定事件的发生。 viInstallHandler(vi,eventType,handler,userHandle):安装回调事件句柄。 viUnInstallHandler(vi,eventType,handler,userHandle):卸载回调事件句柄。 2、VISA资源管理器: viOpenDefaultRM(sesn):打开缺省资源管理器资源对话通道。 viOpen(sesn,rsrcname,accessMode,timeout,vi):打开特定资源的对话通道。 viFindRsrc(sesn,expr,findList,retcnt,instrDesc):查询VISA系统进行资源定位。 viFindNext(findList,instrDesc):返回前一个查询操作查得的资源。 3、仪器控制管理: viRead(vi,buf,count,retCount):从器件同步读取数据。 viReadAsync(vi,buf,count,jobId):从器件异步读取数据。 viWrite(vi,buf,count,retCount):将数据同步写入到器件中。 viWriteAsync(vi,buf,count,jobId):将数据异步写入到器件中。 viAssertTrigger(vi,protocol):用特定协议确认硬件或软件触发。 viReadSTB(vi,status):读取服务请求状态字节。 viClear(vi):xx器件。 viSetBuf(vi,mask,size):设置格式化I/O缓冲区大小。 viFlush(vi,mask):手动刷新格式化I/O缓冲区。 viPrintf(vi,writeFmt,arg1,arg2…):按设定格式将数据传送到器件中。 viVPrintf(vi,writeFmt,params):按设定格式将数据传送到器件中。 viScanf(vi,readFmt,arg1,arg2…):按设定格式从器件中读取数据。 viVScanf(vi,readFmt,params):按设定格式从器件中读取数据。 viQuery(vi,writeFmt,readFmt,arg1,arg2…):按设定格式对器件进行数据读写。 viVQuery(vi,writeFmt,readFmt,params):按设定格式对器件进行数据读写。 viIn8(vi,space,offset,value):从接口总线读取8位(字节)单位。 viIn16(vi,space,offset,value):从接口总线读取16位(字)单位数据。 viIn32(vi,space,offset,value):从接口总线读取32位(双字)单位数据。 viOut8(vi,space,offset,value):向接口总线写入8位(字节)单位数据。 viOut16(vi,space,offset,value):向接口总线写入16位(字)单位数据。 viOut32(vi,space,offset,value):向接口总线写入32位(双字)单位数据。
|