熟悉GPIB的进来指点下,怎么请求服务

2019-07-17 22:42发布

本帖最后由 gax125 于 2016-7-26 21:26 编辑

大家好!
我在与一以前GPIB通讯的时候遇到一个问题,仪器就绪提示 wait for start (0x41) signal
仪器就绪图片.png
通过NI I/O Trace软件监控别人写的可以通讯的软件对GPIB的操作如图
执行了ibrsc    ibpad  ibtmo  ibeot  ibeos等初始设置操作,然后执行了ibrsv(GPIB,65(0x41))  指令  指令意思是请求服务并更改串行轮询状态字节。  这时候仪器就会反馈指令,并会发信息过来。
正确发送指令1.png 正确发送指令2.png
根据NI-4882 GPIB帮助文档查询ibrsv指令全部被ibconfig替代了也就是labview里的GPIB初始化指令代替了。
但查询GPIB初始化指令并没有 服务请求等项,查看所有的GPIB VI也没发现相应的功能。用写指令编写程序发送65不行。驱动带的调试软件发送等操作也不可行。
用C# 直接调用GPIB-32.DLL文件  直接执行ibrsv指令可行。仪器有反馈可执行下一步动作。
我用labview调用DLL直接报尚未定义函数原型
尚未定义指定函数原型.png
在参数选项添加参数后
调用参数配置.png
运行直接报错。
dll错误.png
自己弄了好几天了,把能试的都试了,用labview还是没办法实现。
GPIB指令.png GPIB指令1.png
我想知道labview用GPIB里现有的VI怎么实现 ibrsv所实现的功能。
如果没有的话调用DLL怎么能正确执行这个指令!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。