356 lines
15 KiB
Markdown
356 lines
15 KiB
Markdown
|
---
|
||
|
title: NI-VISA通信的调用 - aardio学习笔记-上位机开发
|
||
|
updated: 2022-01-14 05:47:42Z
|
||
|
created: 2022-01-08 15:08:03Z
|
||
|
source: https://htmlayout.cn/t/474
|
||
|
tags:
|
||
|
- aardio
|
||
|
- visa
|
||
|
- 代码块
|
||
|
- 自动测试
|
||
|
---
|
||
|
|
||
|
NI-VISA通信的调用
|
||
|
|
||
|
#visa
|
||
|
#aardio
|
||
|
#代码块
|
||
|
#自动测试
|
||
|
# 简介
|
||
|
VISA是一种用来与各种仪器总线进行通信的高级应用编程接口,可用来对USB、GPIB、串口、VXI、PXI和以太网系统进行配置、编程和调试
|
||
|
# 资料
|
||
|
下面是一些资料:
|
||
|
|
||
|
1.NI-VISATM Programmer Reference Manual
|
||
|
2.NI-VISA™ User Manual
|
||
|
|
||
|
原版rsVISA用到的dll和h头文件
|
||
|
|
||
|
|
||
|
|
||
|
[res.zip](../_resources/res.zip)
|
||
|
|
||
|
|
||
|
# 封装库
|
||
|
简单的封装了下, 完整库代码和调用示例, 请看楼下8楼.
|
||
|
封装了个简单的库 [visaLIB.zip](../_resources/visaLIB.zip) , 下面是库代码和调用示例:
|
||
|
# 源码、示例
|
||
|
VISADllEx.aardio
|
||
|
```js
|
||
|
//VISA通信库
|
||
|
class VISADllEx{
|
||
|
ctor( ){
|
||
|
..table.gc(this,"close");
|
||
|
};
|
||
|
|
||
|
FindRsc = function(){
|
||
|
var stringList={};
|
||
|
var count = VisaFindRsrc();
|
||
|
if(count!=0){
|
||
|
for(i=0;count-1;1){
|
||
|
var str = VisaGetRsrcString(i);
|
||
|
..table.push(stringList,str);
|
||
|
}
|
||
|
return stringList;
|
||
|
}
|
||
|
return null;
|
||
|
};
|
||
|
|
||
|
open = function(deviceName){
|
||
|
return VisaInit(deviceName);
|
||
|
};
|
||
|
|
||
|
writeString = function(str){
|
||
|
return VisaWrite(str);
|
||
|
};
|
||
|
|
||
|
readString = function(len){
|
||
|
if(len!=null){
|
||
|
return VisaRead(len);
|
||
|
}
|
||
|
return VisaRead(0);
|
||
|
};
|
||
|
|
||
|
setAttr = function(k,v){
|
||
|
return VisaSetAttr(k,v);
|
||
|
};
|
||
|
|
||
|
getAttr = function(k){
|
||
|
return VisaGetAttr(k);
|
||
|
};
|
||
|
|
||
|
close = function(){
|
||
|
VisaClose();
|
||
|
};
|
||
|
}
|
||
|
|
||
|
namespace VISADllEx{
|
||
|
_dll = ..raw.loadDll($"\res\VISADllEx.dll");
|
||
|
VisaFindRsrc = _dll.api("VisaRsrc","int()" );
|
||
|
VisaGetRsrcString = _dll.api("VisaGetRsrcString","string(INT)" );
|
||
|
VisaInit = _dll.api("VisaInit","bool(string)" );
|
||
|
VisaClose = _dll.api("VisaClose","bool()" );
|
||
|
VisaWrite = _dll.api("VisaWrite","bool(string)" );
|
||
|
VisaRead = _dll.api("VisaRead","string(WORD)" );
|
||
|
VisaSetAttr = _dll.api("VisaSetAttr","bool(INT,INT)" );
|
||
|
VisaGetAttr = _dll.api("VisaGetAttr","INT(INT)" );
|
||
|
VisaClear = _dll.api("VisaClear","bool()" );
|
||
|
}
|
||
|
|
||
|
/**intellisense()
|
||
|
VISADllEx = 基于RSVisa通信扩展库
|
||
|
VISADllEx() = !VISADllExLib.
|
||
|
end intellisense**/
|
||
|
|
||
|
/**intellisense(!VISADllExLib)
|
||
|
FindRsc() = 成功:返回找到的设备系列号列表,\n失败返回null
|
||
|
open(.(设备标识码) = 打开设备\n返回值 成功:true,失败:false
|
||
|
close() = 关闭设备
|
||
|
writeString(.(字符) = 写入字符码\n返回值 成功:true,失败:false
|
||
|
readString(.(字节数) = 读取字符\n返回值 成功:true,失败:false
|
||
|
setAttr(.(名称,属性值) = 设置属性\n名称:_VI_ATTR_开头 属性值:_VI_开头或者直接输入数值\n返回值 成功:true,失败:false
|
||
|
getAttr(.(名称) = 读取属性\n名称:_VI_ATTR_开头
|
||
|
end intellisense**/
|
||
|
|
||
|
// 常量提示
|
||
|
/**intellisense()
|
||
|
_VI_ATTR_RSRC_CLASS=@0xBFFF0001/*_VI_ATTR_RSRC_CLASS*/
|
||
|
_VI_ATTR_RSRC_NAME=@0xBFFF0002/*_VI_ATTR_RSRC_NAME*/
|
||
|
_VI_ATTR_RSRC_IMPL_VERSION=@0x3FFF0003/*_VI_ATTR_RSRC_IMPL_VERSION*/
|
||
|
_VI_ATTR_RSRC_LOCK_STATE=@0x3FFF0004/*_VI_ATTR_RSRC_LOCK_STATE*/
|
||
|
_VI_ATTR_MAX_QUEUE_LENGTH=@0x3FFF0005/*_VI_ATTR_MAX_QUEUE_LENGTH*/
|
||
|
_VI_ATTR_USER_DATA_32=@0x3FFF0007/*_VI_ATTR_USER_DATA_32*/
|
||
|
_VI_ATTR_FDC_CHNL=@0x3FFF000D/*_VI_ATTR_FDC_CHNL*/
|
||
|
_VI_ATTR_FDC_MODE=@0x3FFF000F/*_VI_ATTR_FDC_MODE*/
|
||
|
_VI_ATTR_FDC_GEN_SIGNAL_EN=@0x3FFF0011/*_VI_ATTR_FDC_GEN_SIGNAL_EN*/
|
||
|
_VI_ATTR_FDC_USE_PAIR=@0x3FFF0013/*_VI_ATTR_FDC_USE_PAIR*/
|
||
|
_VI_ATTR_SEND_END_EN=@0x3FFF0016/*_VI_ATTR_SEND_END_EN*/
|
||
|
_VI_ATTR_TERMCHAR=@0x3FFF0018/*_VI_ATTR_TERMCHAR*/
|
||
|
_VI_ATTR_TMO_VALUE=@0x3FFF001A/*_VI_ATTR_TMO_VALUE*/
|
||
|
_VI_ATTR_GPIB_READDR_EN=@0x3FFF001B/*_VI_ATTR_GPIB_READDR_EN*/
|
||
|
_VI_ATTR_IO_PROT=@0x3FFF001C/*_VI_ATTR_IO_PROT*/
|
||
|
_VI_ATTR_DMA_ALLOW_EN=@0x3FFF001E/*_VI_ATTR_DMA_ALLOW_EN*/
|
||
|
_VI_ATTR_ASRL_BAUD=@0x3FFF0021/*_VI_ATTR_ASRL_BAUD*/
|
||
|
_VI_ATTR_ASRL_DATA_BITS=@0x3FFF0022/*_VI_ATTR_ASRL_DATA_BITS*/
|
||
|
_VI_ATTR_ASRL_PARITY=@0x3FFF0023/*_VI_ATTR_ASRL_PARITY*/
|
||
|
_VI_ATTR_ASRL_STOP_BITS=@0x3FFF0024/*_VI_ATTR_ASRL_STOP_BITS*/
|
||
|
_VI_ATTR_ASRL_FLOW_CNTRL=@0x3FFF0025/*_VI_ATTR_ASRL_FLOW_CNTRL*/
|
||
|
_VI_ATTR_RD_BUF_OPER_MODE=@0x3FFF002A/*_VI_ATTR_RD_BUF_OPER_MODE*/
|
||
|
_VI_ATTR_RD_BUF_SIZE=@0x3FFF002B/*_VI_ATTR_RD_BUF_SIZE*/
|
||
|
_VI_ATTR_WR_BUF_OPER_MODE=@0x3FFF002D/*_VI_ATTR_WR_BUF_OPER_MODE*/
|
||
|
_VI_ATTR_WR_BUF_SIZE=@0x3FFF002E/*_VI_ATTR_WR_BUF_SIZE*/
|
||
|
_VI_ATTR_SUPPRESS_END_EN=@0x3FFF0036/*_VI_ATTR_SUPPRESS_END_EN*/
|
||
|
_VI_ATTR_TERMCHAR_EN=@0x3FFF0038/*_VI_ATTR_TERMCHAR_EN*/
|
||
|
_VI_ATTR_DEST_ACCESS_PRIV=@0x3FFF0039/*_VI_ATTR_DEST_ACCESS_PRIV*/
|
||
|
_VI_ATTR_DEST_BYTE_ORDER=@0x3FFF003A/*_VI_ATTR_DEST_BYTE_ORDER*/
|
||
|
_VI_ATTR_SRC_ACCESS_PRIV=@0x3FFF003C/*_VI_ATTR_SRC_ACCESS_PRIV*/
|
||
|
_VI_ATTR_SRC_BYTE_ORDER=@0x3FFF003D/*_VI_ATTR_SRC_BYTE_ORDER*/
|
||
|
_VI_ATTR_SRC_INCREMENT=@0x3FFF0040/*_VI_ATTR_SRC_INCREMENT*/
|
||
|
_VI_ATTR_DEST_INCREMENT=@0x3FFF0041/*_VI_ATTR_DEST_INCREMENT*/
|
||
|
_VI_ATTR_WIN_ACCESS_PRIV=@0x3FFF0045/*_VI_ATTR_WIN_ACCESS_PRIV*/
|
||
|
_VI_ATTR_WIN_BYTE_ORDER=@0x3FFF0047/*_VI_ATTR_WIN_BYTE_ORDER*/
|
||
|
_VI_ATTR_GPIB_ATN_STATE=@0x3FFF0057/*_VI_ATTR_GPIB_ATN_STATE*/
|
||
|
_VI_ATTR_GPIB_ADDR_STATE=@0x3FFF005C/*_VI_ATTR_GPIB_ADDR_STATE*/
|
||
|
_VI_ATTR_GPIB_CIC_STATE=@0x3FFF005E/*_VI_ATTR_GPIB_CIC_STATE*/
|
||
|
_VI_ATTR_GPIB_NDAC_STATE=@0x3FFF0062/*_VI_ATTR_GPIB_NDAC_STATE*/
|
||
|
_VI_ATTR_GPIB_SRQ_STATE=@0x3FFF0067/*_VI_ATTR_GPIB_SRQ_STATE*/
|
||
|
_VI_ATTR_GPIB_SYS_CNTRL_STATE=@0x3FFF0068/*_VI_ATTR_GPIB_SYS_CNTRL_STATE*/
|
||
|
_VI_ATTR_GPIB_HS488_CBL_LEN=@0x3FFF0069/*_VI_ATTR_GPIB_HS488_CBL_LEN*/
|
||
|
_VI_ATTR_CMDR_LA=@0x3FFF006B/*_VI_ATTR_CMDR_LA*/
|
||
|
_VI_ATTR_VXI_DEV_CLASS=@0x3FFF006C/*_VI_ATTR_VXI_DEV_CLASS*/
|
||
|
_VI_ATTR_MAINFRAME_LA=@0x3FFF0070/*_VI_ATTR_MAINFRAME_LA*/
|
||
|
_VI_ATTR_MANF_NAME=@0xBFFF0072/*_VI_ATTR_MANF_NAME*/
|
||
|
_VI_ATTR_MODEL_NAME=@0xBFFF0077/*_VI_ATTR_MODEL_NAME*/
|
||
|
_VI_ATTR_VXI_VME_INTR_STATUS=@0x3FFF008B/*_VI_ATTR_VXI_VME_INTR_STATUS*/
|
||
|
_VI_ATTR_VXI_TRIG_STATUS=@0x3FFF008D/*_VI_ATTR_VXI_TRIG_STATUS*/
|
||
|
_VI_ATTR_VXI_VME_SYSFAIL_STATE=@0x3FFF0094/*_VI_ATTR_VXI_VME_SYSFAIL_STATE*/
|
||
|
_VI_ATTR_WIN_BASE_ADDR_32=@0x3FFF0098/*_VI_ATTR_WIN_BASE_ADDR_32*/
|
||
|
_VI_ATTR_WIN_SIZE_32=@0x3FFF009A/*_VI_ATTR_WIN_SIZE_32*/
|
||
|
_VI_ATTR_ASRL_AVAIL_NUM=@0x3FFF00AC/*_VI_ATTR_ASRL_AVAIL_NUM*/
|
||
|
_VI_ATTR_MEM_BASE_32=@0x3FFF00AD/*_VI_ATTR_MEM_BASE_32*/
|
||
|
_VI_ATTR_ASRL_CTS_STATE=@0x3FFF00AE/*_VI_ATTR_ASRL_CTS_STATE*/
|
||
|
_VI_ATTR_ASRL_DCD_STATE=@0x3FFF00AF/*_VI_ATTR_ASRL_DCD_STATE*/
|
||
|
_VI_ATTR_ASRL_DSR_STATE=@0x3FFF00B1/*_VI_ATTR_ASRL_DSR_STATE*/
|
||
|
_VI_ATTR_ASRL_DTR_STATE=@0x3FFF00B2/*_VI_ATTR_ASRL_DTR_STATE*/
|
||
|
_VI_ATTR_ASRL_END_IN=@0x3FFF00B3/*_VI_ATTR_ASRL_END_IN*/
|
||
|
_VI_ATTR_ASRL_END_OUT=@0x3FFF00B4/*_VI_ATTR_ASRL_END_OUT*/
|
||
|
_VI_ATTR_ASRL_REPLACE_CHAR=@0x3FFF00BE/*_VI_ATTR_ASRL_REPLACE_CHAR*/
|
||
|
_VI_ATTR_ASRL_RI_STATE=@0x3FFF00BF/*_VI_ATTR_ASRL_RI_STATE*/
|
||
|
_VI_ATTR_ASRL_RTS_STATE=@0x3FFF00C0/*_VI_ATTR_ASRL_RTS_STATE*/
|
||
|
_VI_ATTR_ASRL_XON_CHAR=@0x3FFF00C1/*_VI_ATTR_ASRL_XON_CHAR*/
|
||
|
_VI_ATTR_ASRL_XOFF_CHAR=@0x3FFF00C2/*_VI_ATTR_ASRL_XOFF_CHAR*/
|
||
|
_VI_ATTR_WIN_ACCESS=@0x3FFF00C3/*_VI_ATTR_WIN_ACCESS*/
|
||
|
_VI_ATTR_RM_SESSION=@0x3FFF00C4/*_VI_ATTR_RM_SESSION*/
|
||
|
_VI_ATTR_VXI_LA=@0x3FFF00D5/*_VI_ATTR_VXI_LA*/
|
||
|
_VI_ATTR_MANF_ID=@0x3FFF00D9/*_VI_ATTR_MANF_ID*/
|
||
|
_VI_ATTR_MEM_SIZE_32=@0x3FFF00DD/*_VI_ATTR_MEM_SIZE_32*/
|
||
|
_VI_ATTR_MEM_SPACE=@0x3FFF00DE/*_VI_ATTR_MEM_SPACE*/
|
||
|
_VI_ATTR_MODEL_CODE=@0x3FFF00DF/*_VI_ATTR_MODEL_CODE*/
|
||
|
_VI_ATTR_SLOT=@0x3FFF00E8/*_VI_ATTR_SLOT*/
|
||
|
_VI_ATTR_INTF_INST_NAME=@0xBFFF00E9/*_VI_ATTR_INTF_INST_NAME*/
|
||
|
_VI_ATTR_IMMEDIATE_SERV=@0x3FFF0100/*_VI_ATTR_IMMEDIATE_SERV*/
|
||
|
_VI_ATTR_INTF_PARENT_NUM=@0x3FFF0101/*_VI_ATTR_INTF_PARENT_NUM*/
|
||
|
_VI_ATTR_RSRC_SPEC_VERSION=@0x3FFF0170/*_VI_ATTR_RSRC_SPEC_VERSION*/
|
||
|
_VI_ATTR_INTF_TYPE=@0x3FFF0171/*_VI_ATTR_INTF_TYPE*/
|
||
|
_VI_ATTR_GPIB_PRIMARY_ADDR=@0x3FFF0172/*_VI_ATTR_GPIB_PRIMARY_ADDR*/
|
||
|
_VI_ATTR_GPIB_SECONDARY_ADDR=@0x3FFF0173/*_VI_ATTR_GPIB_SECONDARY_ADDR*/
|
||
|
_VI_ATTR_RSRC_MANF_NAME=@0xBFFF0174/*_VI_ATTR_RSRC_MANF_NAME*/
|
||
|
_VI_ATTR_RSRC_MANF_ID=@0x3FFF0175/*_VI_ATTR_RSRC_MANF_ID*/
|
||
|
_VI_ATTR_INTF_NUM=@0x3FFF0176/*_VI_ATTR_INTF_NUM*/
|
||
|
_VI_ATTR_TRIG_ID=@0x3FFF0177/*_VI_ATTR_TRIG_ID*/
|
||
|
_VI_ATTR_GPIB_REN_STATE=@0x3FFF0181/*_VI_ATTR_GPIB_REN_STATE*/
|
||
|
_VI_ATTR_GPIB_UNADDR_EN=@0x3FFF0184/*_VI_ATTR_GPIB_UNADDR_EN*/
|
||
|
_VI_ATTR_DEV_STATUS_BYTE=@0x3FFF0189/*_VI_ATTR_DEV_STATUS_BYTE*/
|
||
|
_VI_ATTR_FILE_APPEND_EN=@0x3FFF0192/*_VI_ATTR_FILE_APPEND_EN*/
|
||
|
_VI_ATTR_VXI_TRIG_SUPPORT=@0x3FFF0194/*_VI_ATTR_VXI_TRIG_SUPPORT*/
|
||
|
_VI_ATTR_TCPIP_ADDR=@0xBFFF0195/*_VI_ATTR_TCPIP_ADDR*/
|
||
|
_VI_ATTR_TCPIP_HOSTNAME=@0xBFFF0196/*_VI_ATTR_TCPIP_HOSTNAME*/
|
||
|
_VI_ATTR_TCPIP_PORT=@0x3FFF0197/*_VI_ATTR_TCPIP_PORT*/
|
||
|
_VI_ATTR_TCPIP_DEVICE_NAME=@0xBFFF0199/*_VI_ATTR_TCPIP_DEVICE_NAME*/
|
||
|
_VI_ATTR_TCPIP_NODELAY=@0x3FFF019A/*_VI_ATTR_TCPIP_NODELAY*/
|
||
|
_VI_ATTR_TCPIP_KEEPALIVE=@0x3FFF019B/*_VI_ATTR_TCPIP_KEEPALIVE*/
|
||
|
_VI_ATTR_4882_COMPLIANT=@0x3FFF019F/*_VI_ATTR_4882_COMPLIANT*/
|
||
|
_VI_ATTR_USB_SERIAL_NUM=@0xBFFF01A0/*_VI_ATTR_USB_SERIAL_NUM*/
|
||
|
_VI_ATTR_USB_INTFC_NUM=@0x3FFF01A1/*_VI_ATTR_USB_INTFC_NUM*/
|
||
|
_VI_ATTR_USB_PROTOCOL=@0x3FFF01A7/*_VI_ATTR_USB_PROTOCOL*/
|
||
|
_VI_ATTR_USB_MAX_INTR_SIZE=@0x3FFF01AF/*_VI_ATTR_USB_MAX_INTR_SIZE*/
|
||
|
_VI_ATTR_PXI_DEV_NUM=@0x3FFF0201/*_VI_ATTR_PXI_DEV_NUM*/
|
||
|
_VI_ATTR_PXI_FUNC_NUM=@0x3FFF0202/*_VI_ATTR_PXI_FUNC_NUM*/
|
||
|
_VI_ATTR_PXI_BUS_NUM=@0x3FFF0205/*_VI_ATTR_PXI_BUS_NUM*/
|
||
|
_VI_ATTR_PXI_CHASSIS=@0x3FFF0206/*_VI_ATTR_PXI_CHASSIS*/
|
||
|
_VI_ATTR_PXI_SLOTPATH=@0xBFFF0207/*_VI_ATTR_PXI_SLOTPATH*/
|
||
|
_VI_ATTR_PXI_SLOT_LBUS_LEFT=@0x3FFF0208/*_VI_ATTR_PXI_SLOT_LBUS_LEFT*/
|
||
|
_VI_ATTR_PXI_SLOT_LBUS_RIGHT=@0x3FFF0209/*_VI_ATTR_PXI_SLOT_LBUS_RIGHT*/
|
||
|
_VI_ATTR_PXI_TRIG_BUS=@0x3FFF020A/*_VI_ATTR_PXI_TRIG_BUS*/
|
||
|
_VI_ATTR_PXI_STAR_TRIG_BUS=@0x3FFF020B/*_VI_ATTR_PXI_STAR_TRIG_BUS*/
|
||
|
_VI_ATTR_PXI_STAR_TRIG_LINE=@0x3FFF020C/*_VI_ATTR_PXI_STAR_TRIG_LINE*/
|
||
|
_VI_ATTR_PXI_SRC_TRIG_BUS=@0x3FFF020D/*_VI_ATTR_PXI_SRC_TRIG_BUS*/
|
||
|
_VI_ATTR_PXI_DEST_TRIG_BUS=@0x3FFF020E/*_VI_ATTR_PXI_DEST_TRIG_BUS*/
|
||
|
_VI_ATTR_PXI_IS_EXPRESS=@0x3FFF0240/*_VI_ATTR_PXI_IS_EXPRESS*/
|
||
|
_VI_ATTR_PXI_SLOT_LWIDTH=@0x3FFF0241/*_VI_ATTR_PXI_SLOT_LWIDTH*/
|
||
|
_VI_ATTR_PXI_MAX_LWIDTH=@0x3FFF0242/*_VI_ATTR_PXI_MAX_LWIDTH*/
|
||
|
_VI_ATTR_PXI_ACTUAL_LWIDTH=@0x3FFF0243/*_VI_ATTR_PXI_ACTUAL_LWIDTH*/
|
||
|
_VI_ATTR_PXI_DSTAR_BUS=@0x3FFF0244/*_VI_ATTR_PXI_DSTAR_BUS*/
|
||
|
_VI_ATTR_PXI_DSTAR_SET=@0x3FFF0245/*_VI_ATTR_PXI_DSTAR_SET*/
|
||
|
_VI_ATTR_PXI_ALLOW_WRITE_COMBINE=@0x3FFF0246/*_VI_ATTR_PXI_ALLOW_WRITE_COMBINE*/
|
||
|
_VI_ATTR_TCPIP_HISLIP_OVERLAP_EN=@0x3FFF0300/*_VI_ATTR_TCPIP_HISLIP_OVERLAP_EN*/
|
||
|
_VI_ATTR_TCPIP_HISLIP_VERSION=@0x3FFF0301/*_VI_ATTR_TCPIP_HISLIP_VERSION*/
|
||
|
_VI_ATTR_TCPIP_HISLIP_MAX_MESSAGE_KB=@0x3FFF0302/*_VI_ATTR_TCPIP_HISLIP_MAX_MESSAGE_KB*/
|
||
|
_VI_ATTR_TCPIP_IS_HISLIP=@0x3FFF0303/*_VI_ATTR_TCPIP_IS_HISLIP*/
|
||
|
_VI_ATTR_JOB_ID=@0x3FFF4006/*_VI_ATTR_JOB_ID*/
|
||
|
_VI_ATTR_EVENT_TYPE=@0x3FFF4010/*_VI_ATTR_EVENT_TYPE*/
|
||
|
_VI_ATTR_SIGP_STATUS_ID=@0x3FFF4011/*_VI_ATTR_SIGP_STATUS_ID*/
|
||
|
_VI_ATTR_RECV_TRIG_ID=@0x3FFF4012/*_VI_ATTR_RECV_TRIG_ID*/
|
||
|
_VI_ATTR_INTR_STATUS_ID=@0x3FFF4023/*_VI_ATTR_INTR_STATUS_ID*/
|
||
|
_VI_ATTR_STATUS=@0x3FFF4025/*_VI_ATTR_STATUS*/
|
||
|
_VI_ATTR_RET_COUNT_32=@0x3FFF4026/*_VI_ATTR_RET_COUNT_32*/
|
||
|
_VI_ATTR_BUFFER=@0x3FFF4027/*_VI_ATTR_BUFFER*/
|
||
|
_VI_ATTR_RECV_INTR_LEVEL=@0x3FFF4041/*_VI_ATTR_RECV_INTR_LEVEL*/
|
||
|
_VI_ATTR_OPER_NAME=@0xBFFF4042/*_VI_ATTR_OPER_NAME*/
|
||
|
_VI_ATTR_GPIB_RECV_CIC_STATE=@0x3FFF4193/*_VI_ATTR_GPIB_RECV_CIC_STATE*/
|
||
|
_VI_ATTR_RECV_TCPIP_ADDR=@0xBFFF4198/*_VI_ATTR_RECV_TCPIP_ADDR*/
|
||
|
_VI_ATTR_USB_RECV_INTR_SIZE=@0x3FFF41B0/*_VI_ATTR_USB_RECV_INTR_SIZE*/
|
||
|
_VI_ATTR_USB_RECV_INTR_DATA=@0xBFFF41B1/*_VI_ATTR_USB_RECV_INTR_DATA*/
|
||
|
_VI_ATTR_PXI_RECV_INTR_SEQ=@0x3FFF4240/*_VI_ATTR_PXI_RECV_INTR_SEQ*/
|
||
|
_VI_ATTR_PXI_RECV_INTR_DATA=@0x3FFF4241/*_VI_ATTR_PXI_RECV_INTR_DATA*/
|
||
|
|
||
|
_VI_READ_BUF=@0x1/*_VI_READ_BUF*/
|
||
|
_VI_WRITE_BUF=@0x2/*_VI_WRITE_BUF*/
|
||
|
_VI_READ_BUF_DISCARD=@0x4/*_VI_READ_BUF_DISCARD*/
|
||
|
_VI_WRITE_BUF_DISCARD=@0x8/*_VI_WRITE_BUF_DISCARD*/
|
||
|
_VI_IO_IN_BUF=@0x10/*_VI_IO_IN_BUF*/
|
||
|
_VI_IO_OUT_BUF=@0x20/*_VI_IO_OUT_BUF*/
|
||
|
_VI_IO_IN_BUF_DISCARD=@0x40/*_VI_IO_IN_BUF_DISCARD*/
|
||
|
_VI_IO_OUT_BUF_DISCARD=@0x80/*_VI_IO_OUT_BUF_DISCARD*/
|
||
|
_VI_FLUSH_ON_ACCESS=@0x1/*_VI_FLUSH_ON_ACCESS*/
|
||
|
_VI_FLUSH_WHEN_FULL=@0x2/*_VI_FLUSH_WHEN_FULL*/
|
||
|
_VI_FLUSH_DISABLE=@0x3/*_VI_FLUSH_DISABLE*/
|
||
|
_VI_TMO_IMMEDIATE=@0x0/*_VI_TMO_IMMEDIATE*/
|
||
|
_VI_TMO_INFINITE=@0xFFFFFFFF/*_VI_TMO_INFINITE*/
|
||
|
_VI_NO_LOCK=@0x0/*_VI_NO_LOCK*/
|
||
|
_VI_EXCLUSIVE_LOCK=@0x1/*_VI_EXCLUSIVE_LOCK*/
|
||
|
_VI_SHARED_LOCK=@0x2/*_VI_SHARED_LOCK*/
|
||
|
_VI_LOAD_CONFIG=@0x4/*_VI_LOAD_CONFIG*/
|
||
|
_VI_NO_SEC_ADDR=@0xFFFF/*_VI_NO_SEC_ADDR*/
|
||
|
_VI_ASRL_PAR_NONE=@0x0/*_VI_ASRL_PAR_NONE*/
|
||
|
_VI_ASRL_PAR_ODD=@0x1/*_VI_ASRL_PAR_ODD*/
|
||
|
_VI_ASRL_PAR_EVEN=@0x2/*_VI_ASRL_PAR_EVEN*/
|
||
|
_VI_ASRL_PAR_MARK=@0x3/*_VI_ASRL_PAR_MARK*/
|
||
|
_VI_ASRL_PAR_SPACE=@0x4/*_VI_ASRL_PAR_SPACE*/
|
||
|
_VI_ASRL_STOP_ONE=@0xA/*_VI_ASRL_STOP_ONE*/
|
||
|
_VI_ASRL_STOP_ONE5=@0xF/*_VI_ASRL_STOP_ONE5*/
|
||
|
_VI_ASRL_STOP_TWO=@0x14/*_VI_ASRL_STOP_TWO*/
|
||
|
_VI_ASRL_FLOW_NONE=@0x0/*_VI_ASRL_FLOW_NONE*/
|
||
|
_VI_ASRL_FLOW_XON_XOFF=@0x1/*_VI_ASRL_FLOW_XON_XOFF*/
|
||
|
_VI_ASRL_FLOW_RTS_CTS=@0x2/*_VI_ASRL_FLOW_RTS_CTS*/
|
||
|
_VI_ASRL_FLOW_DTR_DSR=@0x4/*_VI_ASRL_FLOW_DTR_DSR*/
|
||
|
_VI_ASRL_END_NONE=@0x0/*_VI_ASRL_END_NONE*/
|
||
|
_VI_ASRL_END_LAST_BIT=@0x1/*_VI_ASRL_END_LAST_BIT*/
|
||
|
_VI_ASRL_END_TERMCHAR=@0x2/*_VI_ASRL_END_TERMCHAR*/
|
||
|
_VI_ASRL_END_BREAK=@0x3/*_VI_ASRL_END_BREAK*/
|
||
|
_VI_STATE_ASSERTED=@0x1/*_VI_STATE_ASSERTED*/
|
||
|
_VI_STATE_UNASSERTED=@0x0/*_VI_STATE_UNASSERTED*/
|
||
|
_VI_STATE_UNKNOWN=@0xFFFFFFFF/*_VI_STATE_UNKNOWN*/
|
||
|
_VI_BIG_ENDIAN=@0x0/*_VI_BIG_ENDIAN*/
|
||
|
_VI_LITTLE_ENDIAN=@0x1/*_VI_LITTLE_ENDIAN*/
|
||
|
_VI_GPIB_REN_DEASSERT=@0x0/*_VI_GPIB_REN_DEASSERT*/
|
||
|
_VI_GPIB_REN_ASSERT=@0x1/*_VI_GPIB_REN_ASSERT*/
|
||
|
_VI_GPIB_REN_DEASSERT_GTL=@0x2/*_VI_GPIB_REN_DEASSERT_GTL*/
|
||
|
_VI_GPIB_REN_ASSERT_ADDRESS=@0x3/*_VI_GPIB_REN_ASSERT_ADDRESS*/
|
||
|
_VI_GPIB_REN_ASSERT_LLO=@0x4/*_VI_GPIB_REN_ASSERT_LLO*/
|
||
|
_VI_GPIB_REN_ASSERT_ADDRESS_LLO=@0x5/*_VI_GPIB_REN_ASSERT_ADDRESS_LLO*/
|
||
|
_VI_GPIB_REN_ADDRESS_GTL=@0x6/*_VI_GPIB_REN_ADDRESS_GTL*/
|
||
|
_VI_GPIB_ATN_DEASSERT=@0x0/*_VI_GPIB_ATN_DEASSERT*/
|
||
|
_VI_GPIB_ATN_ASSERT=@0x1/*_VI_GPIB_ATN_ASSERT*/
|
||
|
_VI_GPIB_ATN_DEASSERT_HANDSHAKE=@0x2/*_VI_GPIB_ATN_DEASSERT_HANDSHAKE*/
|
||
|
_VI_GPIB_ATN_ASSERT_IMMEDIATE=@0x3/*_VI_GPIB_ATN_ASSERT_IMMEDIATE*/
|
||
|
_VI_GPIB_HS488_DISABLED=@0x0/*_VI_GPIB_HS488_DISABLED*/
|
||
|
_VI_GPIB_HS488_NIMPL=@0xFFFFFFFF/*_VI_GPIB_HS488_NIMPL*/
|
||
|
_VI_GPIB_UNADDRESSED=@0x0/*_VI_GPIB_UNADDRESSED*/
|
||
|
_VI_GPIB_TALKER=@0x1/*_VI_GPIB_TALKER*/
|
||
|
_VI_GPIB_LISTENER=@0x2/*_VI_GPIB_LISTENER*/
|
||
|
|
||
|
end intellisense**/
|
||
|
```
|
||
|
|
||
|
mainform.aardio调用示例:
|
||
|
```
|
||
|
import win.ui;
|
||
|
/*DSG{{*/
|
||
|
mainForm = win.form(text="aardio工程15";right=251;bottom=375)
|
||
|
mainForm.add(
|
||
|
button={cls="button";text="write";left=28;top=26;right=209;bottom=79;z=1};
|
||
|
button2={cls="button";text="read";left=28;top=93;right=209;bottom=146;z=2};
|
||
|
button6={cls="button";text="setAttr";left=28;top=205;right=209;bottom=258;z=3};
|
||
|
button7={cls="button";text="getAttr";left=28;top=278;right=209;bottom=331;z=4}
|
||
|
)
|
||
|
/*}}*/
|
||
|
|
||
|
import console
|
||
|
console.open()
|
||
|
|
||
|
import VISADllEx;
|
||
|
var inst = VISADllEx();
|
||
|
|
||
|
console.dump( inst.FindRsc() )
|
||
|
console.log( inst.open("ASRL1::INSTR") )
|
||
|
|
||
|
mainForm.button.oncommand = function(id,event){
|
||
|
console.log( inst.writeString("123456") );
|
||
|
}
|
||
|
|
||
|
mainForm.button2.oncommand = function(id,event){
|
||
|
console.log( inst.readString() );
|
||
|
}
|
||
|
|
||
|
mainForm.button6.oncommand = function(id,event){
|
||
|
console.log( inst.setAttr(0x3FFF0021/*_VI_ATTR_ASRL_BAUD*/,115200) )
|
||
|
}
|
||
|
|
||
|
mainForm.button7.oncommand = function(id,event){
|
||
|
console.log( inst.getAttr(0x3FFF0021/*_VI_ATTR_ASRL_BAUD*/) )
|
||
|
}
|
||
|
|
||
|
mainForm.show();
|
||
|
return win.loopMessage();
|
||
|
```
|