想用VC 6.0 工具,NI 488.2GPIB驱动程序,编写GPIB程序,用来控制仪器

tanghaili tanghaili 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
由于是新手,哪位大侠有没有GPIB API函数库,最好是有函数的详解。NI 488.2驱动程序中的函数有以下:(各函数不知道是干嘛用的)
/* NI-488 Function Prototypes */
extern int __stdcall ibfindA (LPCSTR udname);
extern int __stdcall ibbnaA (int ud, LPCSTR udname);
extern int __stdcall ibrdfA (int ud, LPCSTR filename);
extern int __stdcall ibwrtfA (int ud, LPCSTR filename);

extern int __stdcall ibfindW (LPCWSTR udname);
extern int __stdcall ibbnaW (int ud, LPCWSTR udname);
extern int __stdcall ibrdfW (int ud, LPCWSTR filename);
extern int __stdcall ibwrtfW (int ud, LPCWSTR filename);

extern int __stdcall ibask (int ud, int option, PINT v);
extern int __stdcall ibcac (int ud, int v);
extern int __stdcall ibclr (int ud);
extern int __stdcall ibcmd (int ud, PVOID buf, long cnt);
extern int __stdcall ibcmda (int ud, PVOID buf, long cnt);
extern int __stdcall ibconfig (int ud, int option, int v);
extern int __stdcall ibdev (int boardID, int pad, int sad, int tmo, int eot, int eos);
extern int __stdcall ibdiag (int ud, PVOID buf, long cnt);
extern int __stdcall ibdma (int ud, int v);
extern int __stdcall ibexpert (int ud, int option, void * Input, void * Output);
extern int __stdcall ibeos (int ud, int v);
extern int __stdcall ibeot (int ud, int v);
extern int __stdcall ibgts (int ud, int v);
extern int __stdcall ibist (int ud, int v);
extern int __stdcall iblck (int ud, int v, unsigned int LockWaitTime, void * Reserved);
extern int __stdcall iblines (int ud, PSHORT result);
extern int __stdcall ibln (int ud, int pad, int sad, PSHORT listen);
extern int __stdcall ibloc (int ud);
extern int __stdcall ibnotify (int ud, int mask, GpibNotifyCallback_t Callback, PVOID RefData);
extern int __stdcall ibonl (int ud, int v);
extern int __stdcall ibpad (int ud, int v);
extern int __stdcall ibpct (int ud);
extern int __stdcall ibpoke (int ud, long option, long v);
extern int __stdcall ibppc (int ud, int v);
extern int __stdcall ibrd (int ud, PVOID buf, long cnt);
extern int __stdcall ibrda (int ud, PVOID buf, long cnt);
extern int __stdcall ibrpp (int ud, PCHAR ppr);
extern int __stdcall ibrsc (int ud, int v);
extern int __stdcall ibrsp (int ud, PCHAR spr);
extern int __stdcall ibrsv (int ud, int v);
extern int __stdcall ibsad (int ud, int v);
extern int __stdcall ibsic (int ud);
extern int __stdcall ibsre (int ud, int v);
extern int __stdcall ibstop (int ud);
extern int __stdcall ibtmo (int ud, int v);
extern int __stdcall ibtrg (int ud);
extern int __stdcall ibwait (int ud, int mask);
extern int __stdcall ibwrt (int ud, PVOID buf, long cnt);
extern int __stdcall ibwrta (int ud, PVOID buf, long cnt);

// GPIB-ENET only functions to support locking across machines
// Deprecated - Use iblck
extern int __stdcall iblock (int ud);
extern int __stdcall ibunlock (int ud);

/**************************************************************************/
/* Functions to access Thread-Specific copies of the GPIB global vars */

extern int __stdcall ThreadIbsta (void);
extern int __stdcall ThreadIberr (void);
extern int __stdcall ThreadIbcnt (void);
extern long __stdcall ThreadIbcntl (void);


/**************************************************************************/
/* NI-488.2 Function Prototypes */

extern void __stdcall AllSpoll (int boardID, Addr4882_t * addrlist, PSHORT results);
extern void __stdcall DevClear (int boardID, Addr4882_t addr);
extern void __stdcall DevClearList (int boardID, Addr4882_t * addrlist);
extern void __stdcall EnableLocal (int boardID, Addr4882_t * addrlist);
extern void __stdcall EnableRemote (int boardID, Addr4882_t * addrlist);
extern void __stdcall FindLstn (int boardID, Addr4882_t * addrlist, Addr4882_t * results, int limit);
extern void __stdcall FindRQS (int boardID, Addr4882_t * addrlist, PSHORT dev_stat);
extern void __stdcall PPoll (int boardID, PSHORT result);
extern void __stdcall PPollConfig (int boardID, Addr4882_t addr, int dataLine, int lineSense);
extern void __stdcall PPollUnconfig (int boardID, Addr4882_t * addrlist);
extern void __stdcall PassControl (int boardID, Addr4882_t addr);
extern void __stdcall RcvRespMsg (int boardID, PVOID buffer, long cnt, int Termination);
extern void __stdcall ReadStatusByte(int boardID, Addr4882_t addr, PSHORT result);
extern void __stdcall Receive (int boardID, Addr4882_t addr, PVOID buffer, long cnt, int Termination);
extern void __stdcall ReceiveSetup (int boardID, Addr4882_t addr);
extern void __stdcall ResetSys (int boardID, Addr4882_t * addrlist);
extern void __stdcall Send (int boardID, Addr4882_t addr, PVOID databuf, long datacnt, int eotMode);
extern void __stdcall SendCmds (int boardID, PVOID buffer, long cnt);
extern void __stdcall SendDataBytes (int boardID, PVOID buffer, long cnt, int eot_mode);
extern void __stdcall SendIFC (int boardID);
extern void __stdcall SendLLO (int boardID);
extern void __stdcall SendList (int boardID, Addr4882_t * addrlist, PVOID databuf, long datacnt, int eotMode);
extern void __stdcall SendSetup (int boardID, Addr4882_t * addrlist);
extern void __stdcall SetRWLS (int boardID, Addr4882_t * addrlist);
extern void __stdcall TestSRQ (int boardID, PSHORT result);
extern void __stdcall TestSys (int boardID, Addr4882_t * addrlist, PSHORT results);
extern void __stdcall Trigger (int boardID, Addr4882_t addr);
extern void __stdcall TriggerList (int boardID, Addr4882_t * addrlist);
extern void __stdcall WaitSRQ (int boardID, PSHORT result);
...全文

相关推荐

NI GPIB通信控制详细demo,万用表、示波器、电源通信demo

2. **National Instruments (NI) GPIB库**:NI提供了全面的软件库,包括NI-488.2,这是一个支持GPIB通信的驱动程序。

oherry_yang

GPIB与IEEE-488总线通信:从gpib-32.dll到VC6上位机开发实践

在仪器控制与自动化测试领域,GPIB(IEEE-488)总线凭借其标准化的接口协议,长期连接着PC与信号源、万用表、频谱仪等测量设备。其核心价值在于通过统一的ASCII命令和寄存器接口,屏蔽底层硬件差异,使开发者能够专注于上层逻辑。VC6作为经典的上位机开发环境,配合gpib-32.dll动态链接库,可高效实现设备寻址、命令写入与数据读取。从ibdev、ibwrt到ibrd的函数调用链,构成了仪器通信的标准范式。这类技术广泛应用于实验室自动化、产线测试和科研数据采集场景。了解GPIB总线的三层角色和DLL分

慕北颖

GPIB卡控制源码详解:VB、C#、LabVIEW等七种语言实测

在自动化测试与仪器控制领域,GPIB总线凭借其稳定握手协议与高可靠性,至今仍是实验室与产线设备通信的核心接口。通过VISA抽象层,上层应用无需感知底层硬件差异,即可实现会话管理、指令下发与数据回读。基于这一原理,同一套SCPI指令逻辑可以在C#、VB.NET、LabVIEW、VB6、Delphi、BCB、VC++等不同技术栈中复用,极大降低了多平台测试系统的集成门槛。文章围绕一套覆盖七种语言的GPIB卡控制源码,梳理了各语言调用VISA驱动的典型方式、关键代码与踩坑经验,为从事自动化测试开发的工程师提供了从

是小鬏鬏啊

GPIB编程VC实现

在"VC实现GPIB接口编程,实现发送接受的demo"这个项目中,我们将探讨如何使用VC++来编写GPIB通信程序,实现数据的发送和接收功能。这通常涉及到以下关键知识点:1.

smqlucky2008

利用NI的GPIB-USB-HS控制FLUKE8508A

首先,你需要确保已经安装了NI的GPIB-USB-HS硬件驱动。这个驱动程序是连接计算机与GPIB设备的桥梁,没有它,你的计算机无法识别并通信GPIB设备。

QQyu360
评论 3
收藏 已收藏
分享
返回顶部
tanghaili
C++ 语言 65,214 成员 250,514 内容