用EXCEL内嵌的Visual Basic for Application 编程,通过 USB-GPIB 控制器来驱动仪器34401A,并从34401A读取数据

现在市场上有很多中USB-GPIB 控制器,或叫 USB 转GPIB链接线。 每种GPIB控制器都有它的 函数库(dll库)。各种GPIB 控制器的价钱插别很大。这里以一种价钱较便宜的USB-GPIB 控制器UGSimple USB-GPIB 控制器为例,看它的VBA编程时怎么用的。UGSimple USB-GPIB 控制器在淘宝上有卖。

用EXCEL内嵌的VBA编程的好处是 仪器测试读取的数据可以同时放入EXCEL表格里,并同时进行数据处理。并且VBA 相对其它编程语言来讲,容易好学。这里用一个Office 2003的EXCEL 来说明。

拿到UGSimple 以后,首先是安装 。现将UGSimple插入电脑的USB接口。然后启动UGSimple_setup.exe,按照它的安装过程安装好UGSimple 软件。

这里用一台 安捷伦的 6位半万用表 34401A为例。安装好UGSimple 软件后,将UGSimple 的GPIB 接头 (GPIB host)插入34401A的GPIB设备接口 (GPIB device),GPIB接头插好后,硬件就连接好了。然后,打开 34401A的电源, 设置 34401A的GPIB 地址为 22。

下来该做软件的工作了。我们先看一下UGSimple是否连接正确。点电脑上的Start->All Programs->LQ Electronics->UGSimple->UGSimple (不好意思,我的电脑是用的英文界面),打开UGSimple 的主控板。在Address栏输入22,在GPIB command 栏 写入 *IDN?,然后点击 主控板上的Command Write键,这时,*IDN?指令就送到34401A里去了。然后再点击 主控板上的Data Read键, 如果读回HEWLETT-PACKARD,34401A,0,11-5-2,则所有连接正确, 见下图。

打开Office2003 的 EXCEL,在 (2, “B”) 单元格写入 “直流电压”,在(2, “D”)单元格写入“交流电压”。之后,我们将会把读到的数据写入相应的直流或交流电压下面。点击菜单 Tools->Macro->Visual Basic. 如果右边是灰色,点击左边的Sheet1(Sheet1),右边的VBA编辑器就出现了。

首先在最上面写上 UGSimple 的GPIB 指令 发送函数 Gwrite 和 读取指令Gread的函数声明, 以及用于延时的函数Sleep的函数声明。

Private Declare Function Gwrite Lib "C:\Program Files\LQElectronics\UGSimple\UGSimpleAPI\LQUGSimple_s.dll" Alias "#100" (ByVal address As Integer, ByVal SCPI As String) As Integer

Private Declare Function Gread Lib "C:\Program Files\LQElectronics\UGSimple\UGSimpleAPI\LQUGSimple_s.dll" Alias "#101" (ByVal address As Integer) As String

Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

然后在开始VBA 编程。其程序如下,

Private Sub sendread()

Dim command, data As String

Dim success, r As Integer

For r = 3 To 7                           ‘设循环

success = Gwrite(22, "MEAS:VOLT:DC?")    ‘发送直流电压读取指令

If success <> "0" Then                   ‘判断发送指令是否成功,

MsgBox ("Something Wrong!")              ‘显示出错

GoTo out                                 ‘退出

End If                                      ‘判断结束

Sleep (200)                                 ‘延时0.2秒,等34401A准备数据

data = Gread(22)                            ‘读取数据

Worksheets("Sheet1").Cells(r, "B") = CDbl(data) ‘将数据写入相应栏里

success = Gwrite(22, "MEAS:VOLT:AC?")   ‘发送交流电压读取指令

If success <> "0" Then                  ‘判断发送指令是否成功

MsgBox ("Something Wrong!")             ‘显示出错

GoTo out                                ‘退出

End If                                  ‘判断结束

Sleep (800)                             ‘延时0.8秒,等34401A准备数据

data = Gread(22)                        ‘读取数据

Worksheets("Sheet1").Cells(r, "D") = CDbl(data) ‘将数据写入相应栏里

Next r                                  ‘下一个循环

out:                                    ‘退出

End Sub

安装好的程序里也有EXCEL的例子。

时间: 2024-10-29 19:06:27

用EXCEL内嵌的Visual Basic for Application 编程,通过 USB-GPIB 控制器来驱动仪器34401A,并从34401A读取数据的相关文章

C# Dsoframer.ocx 如何在winform中嵌入Excel,内嵌Excel,word

如果你还不太清楚Dspframer.ocx怎么放到窗体上就看上一篇文章,里面详细介绍了是如何放到窗体上的. 链接:http://www.cnblogs.com/pingming/p/4182045.html 第一步 创建新窗体 创建一个新窗体,放置一个panel容器控件,我们就是要将dsoframer.ocx放到panel里面. 第二步 下面是所有调用的方法,有步骤的. public partial class ExcelForm : DevExpress.XtraEditors.XtraFor

C# 如何在winform中嵌入Excel,内嵌Excel,word

近使用.net做一个小软件遇到一个问题,就是想实现把excel表格在winform中打开,同时可以操作,不单单是打开.或者就提取数据.在网上找了好多资料,发现这方面的资料比较少,即使有,都是旧版本的使用方法.在这里分享一下自己用vs C# 在winform中嵌入excel的一些经验. 首先,本人使用的VS 版本是2010,据我所知,2010的vs是没有这个控件(就是想button控件能直接拉进去的).因此我们需要一个第三方控件来实现这个功能. 然后,那么我们需要的第三方控件叫什么呢?这个控件就是

我与Visual Basic的那些事儿

公元2000年,IEEE计算机协会的一份期刊<Computing in Science & Engineering>上,两位客座编辑Francis Sullivan和Jack Dongarra遴选出了20世纪科学与工程的实践与发展上最具影响力的十大算法[1].随后,Barry Cipra又在SIAM News上发表文章对这十大算法进行了综述[2].2016年,SIAM的主席Nick Higham对原来的十大算法列表进行了些许调整,并给出了自己的名单[3].两份名单在十大算法中的七项上基

Visual.Basic.6大学教程pdf

下载地址:网盘下载 内容简介 编辑 本书深入浅出地介绍了Visual Basic 6语言的基本概念和编程技术,包括对象.属性.方法.语句.函数.结构等基本问题,以及面向对象编程.数据库管理和网络编程等高级课题.全书共分为21章,系统地讨论了Visual Basic 6的编程技巧及应用,并且提供了大量实用和有趣的实例和习题.读者通过学习本书,可以在较短时间内掌握基本的和最新的程序设计技术.本书所配的"多媒体教室"光盘更是独具特色,通过交互式环境,使学习过程更加生动有趣. 目录 编辑 第1

Visual Basic for Applications

Visual Basic for Application(VBA) is an implementation of Microsoft’s event-driven programming language Visual Basic 6. Its associated integrated development(IDE) are built into most Microsoft Office applications. It enables building user defined fun

ABP官方文档翻译 6.5 内嵌资源文件

内嵌资源文件 介绍 创建内嵌文件 xproj/project.json形式 csproj形式 添加内嵌资源管理器 使用内嵌视图 使用内嵌资源 ASP.NET Core 配置 忽略文件 重写内嵌文件 介绍 ABP提供了一种简单的方式在web应用中使用内嵌Razor视图(.cshtml文件)和其他资源(css,js,img...files).你可以使用这个特征创建包含UI功能的plugins/modules. 创建内嵌文件 首先,我们要创建一个文件并标记它为嵌入资源.任何程序集都可以包含嵌入资源.p

友元程序集(C# 和 Visual Basic)

友元程序集(C# 和 Visual Basic) Visual Studio 2013 “友元程序集”是一种能够访问其他程序集的 Friend (Visual Basic) 或 internal (C#) 类型和成员的程序集. 如果将程序集指定为友元程序集,则不再需要将类型和成员标记为公共,以使其他程序集可以访问它们. 在以下情况下,使用友元程序集尤其方便: 在单元测试中,测试代码在另一个程序集中运行,但需要访问正在测试的标记为 Friend (Visual Basic) 或 internal 

如何:创建签名的友元程序集(C# 和 Visual Basic)

如何:创建签名的友元程序集(C# 和 Visual Basic) Visual Studio 2013 本示例演示了如何将友元程序集和具有强名称的程序集一起使用. 这两种程序集必须都使用强名称. 尽管本示例中的两种程序集使用了相同的密钥,但您可以对这两种程序集使用不同的密钥. 在 Visual Studio 中创建签名的程序集和友元程序集 打开 Visual Studio 命令提示. 使用强名称工具,通过以下命令序列生成 keyfile 并显示其公钥. 有关更多信息,请参见Sn.exe(强名称工

SAP ALV内嵌(In-place)Excel的问与答

1.问题:点击ALV工具栏的"Excel"图标后,出现空白的内嵌Excel界面,无法正常显示报表数据.可按以下思路解决:(1)检查Excel中的宏安全设置选项.访问方法:启动Excel,点击"Tools"菜单,选择 "Option"菜单项,在弹出的"Option"窗体点击"Security"标签页,再点击窗体右下角的"Macro Security..."按钮,在弹出的"Secu