找回密码
 注册
搜索
查看: 674|回复: 8

[讨论] 求助!!!用VB通过VISA读CMU200的值为什么不行呢???

[复制链接]
发表于 2007-10-9 19:22:11 | 显示全部楼层 |阅读模式
Dim status
Dim txPower
Dim ret
status = viOpenDefaultRM(Defrm)
status = viOpen(Defrm, "GPIB0::10::2::INSTR", 0, 0, Equip)
status = viVPrintf(Equip, "READ:POWer:EPSK?" & Chr$(10), 0)
status = viVScanf(Equip, "%t", ret)
CMU已经显示出POwer的值了,但是ret却为0,我是想把功率值存在ret里
哪里有问题???
 楼主| 发表于 2007-10-9 23:08:10 | 显示全部楼层
补充一下
如果dim ret
返回ret=empty

dim ret as long
返回ret=0

我用VISA interactive control中的Viwrite和Viread可以读出数据。
如果我想用viwrite和Viread来写命令,该怎么写?
请给个example,谢谢了
点评回复

使用道具 举报

发表于 2007-10-10 00:05:45 | 显示全部楼层
你用VISA工具控制仪器的时候,其中有一个选项是可以把整句的代码列出在下面对话框的,按照它的那个去写就可以了
点评回复

使用道具 举报

 楼主| 发表于 2007-10-10 11:58:14 | 显示全部楼层
谢谢斑竹,你说的那个选项在VISA interactive control哪里能找到?
现在就卡在这了,搞不定。[em03]
点评回复

使用道具 举报

发表于 2007-10-11 13:36:43 | 显示全部楼层
我一般用:
Declare Function viRead Lib "VISA32.DLL" Alias "#256" (ByVal vi As Long, ByVal Buffer As String, ByVal count As Long, retCount As Long) As Long
Declare Function viWrite Lib "VISA32.DLL" Alias "#257" (ByVal vi As Long, ByVal Buffer As String, ByVal count As Long, retCount As Long) As Long
Declare Function viVQueryf Lib "VISA32.DLL" Alias "#280" (ByVal vi As Long, ByVal writeFmt As String, ByVal readFmt As String, params As Any) As Long
点评回复

使用道具 举报

发表于 2007-10-11 13:38:07 | 显示全部楼层
Dim temp1 As String * 500
    temp1 = ""
    cmdoutput = "READ:POW:MPR?"
    status = viWrite(testsetrmd, cmdoutput, Len(cmdoutput), temp)
    status = viRead(testsetrmd, temp1, 100, temp)

你的数据类型定义不对吧?
点评回复

使用道具 举报

发表于 2007-10-11 13:47:30 | 显示全部楼层
就可以得到字符串temp1,再从中抽出你需要的数据
点评回复

使用道具 举报

发表于 2007-10-12 08:43:35 | 显示全部楼层
斑竹,我觉得你可以做以下的尝试,你程序在逻辑上没有问题,但是你所用的仪器?老化程度怎样?我建议你没有程序延时0.1秒。这样看下,而且你写的程序不敢恭维。愿意和你交流。
hua.w@sim.com
点评回复

使用道具 举报

 楼主| 发表于 2007-10-12 09:24:41 | 显示全部楼层
我的主业是RF工程师,做程序是因为有趣,很多基本概念不明还请多包涵阿
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-9-22 11:36 , Processed in 0.046495 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表