Computer Engineers

 
Home | Computer engineering other top | Fiber / Wireless / Copper Tran | Semiconductor engineering
  Position:HOME>Programming language engineeri>Article Content
controlling GPIB from VBA
Source:Internet Author:Unknow Pubdate:2008-04-14  
mustangcoupe (Electrical) 29 Apr 03 7:26
Anyone able to give me some insight on how to controll a GPIB device via VBA.  How do I Address, open, listen and talk through the port?

Todd

SteelPickn (Electrical) 29 Apr 03 8:57
Depending on what brand GPIB card you have, you have to include the code modules to provide the VB language interface to the GPIB DLL calls. For a National Instruments card, these would be NIGLOBAL.BAS and VBIB-32.BAS - just add these as code modules in the VBA project manager. Then you'll be able to make your write and read calls to instruments on the bus in your program code.

mustangcoupe (Electrical) 1 May 03 8:36
1. I am writing this code to be used by more than myself.  There are two other users.  I have a NI PCMCIA GPIB card and one of the others have a NI PCI card and the other user uses a NON NI PCI GPIB card.  If I use the  NIGLOBAL.BAS and VBIB-32.BAS this shoule work for both NI cards but not the NON NI card right?

字串3



2. I found the NIGLOBAL.BAS and VBIB-32.BAS and imported them as modules.  But the example files do not work with VBE.  How can I find out more about calling the functions in the module?  This is a first time for me trying to call and run modules.

Todd

SteelPickn (Electrical) 2 May 03 8:42
I have used the NI PCI card, never have used the PCMCIA type, but those modules will most likely work with both. For the non-NI card, you will most definitely have to obtain the correct code modules from that manufacturer.

I'm not sure exactly what you have to do, but controlling instruments from VBA usually involves only a few command calls. Here's some code that I have used recently to extract
measurements from a Yokogawa WT1600 power analyzer:

YokoAddr = 5                   ' GPIB address of WT1600
字串1

bdIndx = 0                     ' GPIB board index#

Call ibdev(bdIndx, YokoAddr, 0, T10s, 1, 0, ud%) 'Open and initialize

EL1volt = "NUMERIC:NORMAL:VALUE? 1"    'Yokogawa command string

Data = Space$(20)               'define string length
Call ibwrt(ud%, EL1volt)        'send command string
Call ibrd(ud%, Data)              'read data from a device into a user buffer

In this case, I am just providing the initialization of the communication parameters, and sending the Yokogawa command string to tell it I need a voltage reading, and then reading the value back and placing it in a variable.

National Instruments generally has excellent documentation, and non-NI cards should have similar command calls, but you'll have to obtain the correct language interface code modules.
字串2


Hope this helps.

Mike


(Click:

Previous:C++ timing question   Next:Fortran Secntd Subroutine Where can I find it?
[Add TO Favorites] [TOP] [PRINT] [CLOCE WINDOWS]  
  Hot Article
·PIC code for triac light dimme
·Connecting a Footswitch to an
·Siemens s7-200 PLC & Visua
·TETRIS source code is availabl
·XML Files and Terramodel
·LINKING MSC PATRAN WITH INTRAN
·How to interface RS-485 / Modb
·VBA WITH AB PLC
·SIEMENS: I/O, NCDDE AND DCTL
·getch() function
·Visual Basic Serial Comms To S
·Symax PLC
  Related Articles
·Fortran Secntd Subroutine Wher
·Failure 33 to set group dictio
·C automatic Documentation
·sun java cerificate is achivab
·help required in casting
·Fortran and Linux
·Calcomp or Tek
·encrypting and sending Outlook
·toolbar
·MS Chart Control in VB 5
·Windows and Linux
·WTB CVF Pro Ver 6.5
Power by DedeCms