Home
IOTech Personal488 Windows 95/98/Me/NT/2000 User Manual
Contents
1. Personal488 User s Manual for Windows95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Table of Contents 1 Personal488 Overview 1 1 2 CD ROM Driver 488 Software Packages 2 1 3 Installation 3 1 Windows 95 Users 3 3 Windows 98 Users 3 9 Windows Me Users 3 15 Windows NT Users 3 21 Windows 2000 Users 3 23 4 Hardware Configuration Reference 4 1 PCI488 Users Automatic Configuration 4 1 AT488pnp Users Automatic Configuration 4 1 CARD488 Users Automatic Configuration 4 1 AT488 Configurations 4 3 GP488B Configurations 4 6 GP488B MM Configurations 4 9 5 Using IEEE488 5 1 IEEE488 Configuration Utility 5 1 WinTest Driver488 WorkShop 5 4 Differences between 32 bit and 16 Bit Driver488 Software 5 10 Programming Language Support 5 10 Microsoft Visual C 5 10 Borland C 5 11 Microsoft Visual BASIC 5 12 Borland Delphi 5 13 Support for Other Languages 5 13 16 Bit Driver488 W95 Compatibility Layer 5 13 6 API Reference 6 1 Appendices A API Error Codes A 1 B IEEE488 ASCII Code Map B 1 C Troubleshooting C 1 The IEEE 488 Bus Standard C 1 Analyzing the IEEE Bus C 2 Common Problems
2. GP488 boards with serial numbers of 036731 or lower are not supported by Drivers for Windows 9x or WindowsNT Note Items pictured are not shown to the same scale Personal488 for Windows 95 98 Me NT 2000 04 10 01 Personal488 Overview 1 1 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Hardware Products The family of Personal488 PC IEEE 488 controller interfaces includes the six 6 interfaces which are discussed in this manual All of them are IEEE 488 2 compatible and are supported by 32 bit Driver488 software for Windows 95 98 Me 2000 and NT These interfaces are discussed in the following Personal488 packages Hardware Configurations Plug and Play Devices Non plug and play Devices e Personal488 PCI PCI488 e Personal488 AT AT488 e Personal488 ATpnp A T488pnp e Personal488 GP488B e Personal488 Card Card488 e Personal488 MM ZN Reference Note QA e Refer to Chapter 4 Hardware Configuration Reference for information concerning jumpers and switches e Refer to Appendix D for hardware specifications Software Installation The installation process consists of running an installation setup program and for non plug and play products running the Add New Hardware program found in the Windows Control Panel The installation setup program will automatically determine the version of Windows e g Windows 9
3. Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Windows 95 Add New Hardware Procedure non plug and play users only It is only necessary for users of non plug and play boards to follow the Add New Hardware Procedure If your device is a plug and play device skip this procedure esl evel eet reat Ward 1 The Add New Hardware Wizard displays an introductory message and prompts you to click Next 2 Windows 95 will automatically search for hardware Click Next Add New Hardware Wizard 3 Click No the device isn t in the list Add New Hardware Wizard 4 Select the option No I want to select the hardware from a list then click Next 3 4 Installation 04 10 01 Personal488 for Windows 95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Windows 95 Add New Hardware Wizard 5 Choose IEEE488 2 Controllers from the list of hardware types and click Next Display adapters Floppy disk controllers Global positioning devices Hard disk controllers Add New Hardware Wizard 6 Windows will now display a F list of devices to install Select your specific Personal488 interface product After making the selection click Next Windows will now display the default resource settings for your interface Personal488 for Window
4. A rtisan Artisan Technology Group is your source for quality TecmoogyGroup new and certified used pre owned equipment FAST SHIPPING AND SERVICE CENTER REPAIRS WE BUY USED EQUIPMENT DELIVERY Experienced engineers and technicians on staff Sell your excess underutilized and idle used equipment TENS OF THOUSANDS OF at our full service in house repair center We also offer credit for buy backs and trade ins IN STOCK ITEMS www artisantg com WeBuyEquipment 7 EQUIPMENT DEMOS HUNDREDS OF InstraV ea REMOTE INSPECTION LOOKING FOR MORE INFORMATION MANUFACTURERS Remotely inspect equipment before purchasing with Visit us on the web at www artisantg com 7 for more our interactive website at www instraview com information on price quotations drivers technical LEASING MONTHLY specifications manuals and documentation RENTALS ITAR CERTIFIED D a gaa tia Contact us 888 88 SOURCE sales artisantg com www artisantg com Personal488 user s Manual For Windows 95 98 Me NT 2000 the smart approach to instrumentation 1Otech Inc 25971 Cannon Road Cleveland OH 44146 1833 Phone 440 439 4091 Fax 440 439 4093 E mail sales iotech com Internet www iotech com Personal488 User s Manual For Windows 95 98 Me NT 2000 p n 495 0903 Rev 3 0 2000 2001 by lOtech Inc April 2001 Printed in the United States of America Artisan Technology Group Quality Instrumentation Guaranteed 888 8
5. Program Requirements E 1 Installation E 2 Upgrading from a Previous Version E 2 Miscellaneous Hints and Tips E 2 File Structure E 2 National Instruments Driver488 NI 32 2 0 Overview This package is installed automatically by the Windows 95 98 Me NT 2000 setup program Driver488 NI 32 will allow applications developed for use with National Instruments 32 bit IEEE488 interface driver GPIB 32 dll to communicate through the IOtech Personal488 line of interfaces 32 bit Windows programming languages including LabView for Windows are supported The following Personal488 interfaces are supported IOtech Personal488 IOtech Personal488 AT IOtech Personal488 ATpnp IOtech Personal488 CARD IOtech Personal488 MM IOtech Personal488 PCI The hardware I O settings port interrupt etc are stored in the registry The Control Panel Applet takes care of all configuration information Program Requirements The following software is required e Microsoft Windows 95 98 Me NT 2000 Operating Systems e Driver488 W95 or WNT e Application written to communicate through Gpib 32 dll Personal488 for Windows 95 98 Me NT 2000 03 16 01 National Instruments Compatible Drivers E 1 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Installation The IOtech hardware and standard 32 bit windows drivers must first be correctly installed and configu
6. 1 0L 0 0L The Enter function passes the device handle and a pointer to the data buffer to the Enterx function It determines the size of the data buffer that you provided and passes that value as the count parameter It specifies forceAddr is TRUE causing Driver488 to re address the device The default terminators are chosen by specifying a 0 as the term parameter Asynchronous transfer is turned off by sending 0 for the async parameter and the completion status value is ignored by sending 0 for the compStat parameter EnterN LONG WINAPI EnterN DevHandleT devHandle LPBYTE data int count EnterN is equivalent to the following call to Enterx EnterxX devHandle data count 1 0L 0 0L The EnterN function passes the device handle the pointer to the data buffer and the size of the data buffer to the Enterx function It specifies forceAddr is TRUE causing Driver488 to re address the device The default terminators are chosen by specifying a 0 pointer as the term parameter Asynchronous transfer is turned off by sending 0 for the async parameter and the completion status value is ignored by sending 0 for the compStat parameter EnterMore LONG WINAPI EnterMore DevHandleT devHandle LPBYTE data EnterMore is equivalent to the following call to Enterx EnterxX devHandle data sizeof data 0 0L 0 0L The EnterMore function passes the device handle and the pointer to the data buffer to the Enterx function It determines the size
7. GetError Status The GetErrorList command is user called after another function identifying a list of device handles returns an error indication The device handle list sent to the function that returned the error indication is sent to GetErrorList GetErrorList finds the device that returned the error indication returning the handle through errHand_1e and returns the error code associated with that error If a non null error text pointer is passed GetError also fills in up to 247 bytes in the string The application must ensure that sufficient space is available Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 21 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Hello INT WINAPI Hello DevHandleT devHandle LPSTR message devHand1e refers to either an IEEE 488 interface or an external device If devHandle refers to an external device the Hello command acts on the hardware interface to which the external device is attached message is a character pointer that contains the returned message which is the version of the Dynamic Link Library DLL and the version of the device driver 1 if error otherwise the length in bytes of the message string The returned byte count will never exceed 247 bytes Bus States None char message 247 result Hello ieee message printf s n message Status OpenName GetError The Hello command
8. record the new DMA channel being used Direct Memory Access DMA is a high speed method of transferring data from or to a peripheral such as a digitizing oscilloscope to or from the PC s memory The PC has four DMA channels but Channel 0 Disabled is used for memory refresh and is not available for peripheral data transfer Channel 2 is usually used by the floppy disk controller and is also unavailable Channel 3 is often used by the hard disk controller in PCs XTs and the PS 2 with the ISA bus but is usually not used in ATs So depending on your hardware DMA Channels and possibly Channel 3 are available Under some rare conditions it is possible for high speed transfers on DMA Channel 1 to demand so much of the available bus bandwidth that simultaneous access of a floppy controller will be starved for data due to the relative priorities of the two channels Personal488 for Windows 95 98 Me NT 2000 04 09 01 Hardware Configuration Reference 4 9 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Note 4 10 Hardware Configuration Reference 04 09 01 Personal488 for Windows 95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com GP488B MM PC104 Configurations swi We GP488B MM PC104 Interface Board Base
9. 1 Verify that Windows 95 has properly shutdown 2 Remove power from the PC 3 Physically configure the device s jumpers and switches to match the resource settings Windows reported during the driver installation Non plug and play board users physically configure your board s jumpers and switches to match the resource settings Windows reported If these settings conflict with other hardware change the jumpers switches and Windows Resource settings to available resources Reference Note Refer to Chapter 4 Hardware Configuration Reference for further information concerning jumpers and switches 4 Physically install your interface 5 Return power to the PC This completes the installation procedure ZN Reference Note aS See page 5 5 for instructions on running WinTest to verify proper installation Personal488 for Windows 95 98 Me NT 2000 04 06 01 Installation 3 7 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Windows 95 Note 3 8 Installation 04 10 01 Personal488 for Windows 95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Windows 98 Users Software Installation e For best results install the interface after the software installation e If installing a second non plug and play interface skip step 1 e If installing a second plug and play interface go to Hardware
10. Address 02E1 SW1 Interrupt No Wait Level 5 States JP2 JP3 o o re ORO O o o Cal o 00 O O DMA Interrupt Channeli Level5 GP488B MM PC104 Default Settings JP1 On board 8 MHz Clock The I O base address IRQ and DMA settings are switch jumper selectable via the following locations on the GP488B MM interface board One 8 microswitch DIP switch labelled SW1 two 12 pin headers labeled JP2 and JP3 and one 3 pin header labeled JP1 The DIP switch settings and the arrangement of the jumpers on the headers set the hardware configuration For the next steps make sure that the I O address IRQ and DMA set on the interface board are different from any existing ports in your system A conflict results when two I O addresses IRQs or DMAs are the same As the exception additional GP488B MM interfaces may share the same IRQ and DMA values If there is a conflict reconfigure the switch jumper settings Refer to the following figures as needed Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Selected I O Base Register Address 02E1 22E1 42E1 62E1 Automatic Offset Addresses Read Register Write Register 02E1 22E1 42E1 62E1 Data In Data Out 06E1 26E1 46E1 66E1 Interrupt Status 1 Interrupt Mask 1 OAE1 2AE1 4AE1 6AE1 Interrupt Status 2 Interrupt Mask 2 OEE1 2EE1 4EE1 6EE1 Serial
11. Bus States User defined char data w0x errorcode SendData ieee data strlen data SendCmd SendEoi The SendData command provides byte by byte control of data transfers and gives greater flexibility than the other commands This command can specify exactly which operations Driver488 executes Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 50 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com SendEoi INT WINAPI SendEoi DevHandleT devHandle LPBYTE data DWORD count DevHand1e refers to an interface handle data points to a string of data bytes to be sent Count is the length of the data string Retums Arenor Mos av Bus States User defined char data w0x errorcode SendEoi ieee data strlen data SendCmd SendData The SendEoi command provides byte by byte control of data transfers and gives greater flexibility than the other commands This command can specify exactly which operations Driver488 executes Driver488 asserts EOI during the transfer of the final byte Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 51 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com SPoll INT WINAPI SPoll DevHandleT devHandle DevHand1e refers to either an interface or a specific external device 1 if error otherwise 0 or 64 hardware inter
12. File menu 3 Ifusing Delphi support from an existing example navigate to the Delphi project examples If the default settings were accepted during installation the project examples will be located in C ProgramFiles IEEE488 Programming Language Support Example Programs Delphi 4 Select the desired example To add IEEE 488 support to a new or existing Delphi project 1 Launch Delphi 2 Include the IOTIEEE PAS file by selecting Project Add to Project 3 Navigate to the IEEE 488 Delphi project folder If the default settings were accepted during installation the project examples will be located in C Program Files IEEE488 Programming Language Support Example Programs Delphi Support for Other Languages Any language capable of dynamically linking to a DLL may be used with this product Although the IOTSLPIB DLL was built using Microsoft Visual C the DLL may be dynamically linked to any application that can dynamically link to a DLL The same is true for languages supported under Windows3 1 but not included with the Driver488 WIN product If the desired language is a 16 bit language that can dynamically link to a 16 bit DLL then the 16 Bit Driver488 W95 Compatibility Layer DRVR488 DLL may be used as discussed shortly If using a 32 bit C language other than those mentioned in this chapter it may be possible to statically link to the IOTSLPIB DLL However you may not be able to link using the IOTSLPIB LIB in its original Mi
13. Here is a list of common symptoms and their suggested solutions I get a time out error whenever I try to send device dependent commands to my instrument The first thing you should check is the setting of IEEE addresses Every device on the bus must have a unique address between 0 and 30 When sending Device Dependent Commands DDCs to an instrument to change its state or operating mode the device will first be addressed to listen then the data will be sent If the device has TALK and LISTEN indicators on its front panel you can tell immediately if the address used by the controller matches the actual address of the instrument If the LISTEN indicator does not come on when sending commands to the device you are probably using the wrong address for that device As we mentioned in the tutorial section of this note when the ATN line is asserted by the controller all of the instruments on the bus will handshake with and accept data from the controller After the time out is received step through the transactions recorded by the Analyzer488 If no instrument addressing commands such as Listen Address Group 16 LAG16 were recorded your instrument is probably off or broken or the cable is disconnected Regardless of the present state of the instrument it should handshake accept data when the ATN line is asserted If the addressing commands were successfully recorded on the analyzer step through the transactions until the ATN line is unas
14. Insert the IEEE488 Software CD The CD has an auto run program that will automatically start the setup program when the CD is inserted into the CD ROM driver If auto run is disabled use Explorer to launch the Setup exe found in the root directory of the CD Follow the screen prompts to install the software Then if non plug and play hardware is being installed proceed to step 2 otherwise proceed to hardware installation on page 3 29 Step 2 Use the Add New Hardware program found in the Control Panel to notify Windows 2000 that you are installing new hardware Refer to the following steps that demonstrate the typical Windows panels encountered during the Add New Hardware program execution Start Settings Control Panel Add New Hardware Add New Hardware Procedure non plug and play users only Add Remove Hardware Wizard 1 After the Add Remove Hardware Wizard appears click Next Welcome to the Add Remove Hardware Wizard This wizard helps you add remove unplug and troubleshoot your hardware To continue click Next carea Personal488 for Windows 95 98 Me NT 2000 04 10 01 Installation 3 23 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Windows 2000 Add Remove Hardware Wizard Choose a Hardware Task Which hardware task do you want to perform Add Remove Hardware Wizard New Hardware Detection The wizard automatical
15. Reference 6 11 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com DigRead AT488pnp and PCI488 Only Syntax INT WINAPI DigRead DevHandleT devHandle devHand_1e refers to an interface handle 1 if no part of the port is configured for input or other error otherwise integer between 0 and 255 if the entire digital I O port is configured for input or integer between 0 and 15 if only one nibble either low or high is configured for input Bus States int i DigRead devHandle Returns the current value of the digital I O port per the current configuration The DigRead command reads the current value of the digital IO port per the input output configuration of the port If the entire port is configured for input a value between 0 and 255 is returned If either the upper or lower nibble is configured for input and the other for output a value between 0 and 15 is returned Note This function does not configure the digital I O port for input The caller must use DigSetup to configure the port for input before performing any reads If neither nibble is configured for input the function returns 1 and sets the error code to IOT_ BAD VALUE2 Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 12 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com DigSetup AT488pnp and PCI488 Only Syntax INT WINAPI Dig
16. an external device If devHandle refers to an external device the Lol command acts on the hardware interface to which the external device is attached Returns tiferor o O Bus States ATNeLLO errorcode Lol ieee See Also Local LocalList Remote RemoteList The Lol command causes Driver488 to issue an IEEE 488 LocalLockout LLO bus command Bus devices that support this command are thereby inhibited from being controlled manually from their front panels Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 27 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com MakeDevice INT WINAPI MakeDevice DevHandleT devHandle LPSTR name devHand_1e refers to an existing external device name is the device name of the device that is to be made and takes the configuration of the device given by devHand1e 1 if error otherwise the DevHand1eT of the new device Note that the new device is an exact copy except for the name of the specified device as it currently sets in memory and not in the Registry Bus State Example dmm MakeDevice scope DMM Create a device named DMM attached to BusAddress dmm 16 1 the same I O adapter as scope and set its IEEE 488 bus address to 16 MakeNewDevice KeepDevice RemoveDevice OpenName Close The MakeDevice command creates a new temporary Driver488 device that is an identical copy of an already existing Dr
17. bit integers expressed in hexadecimal INVALID BUS ADDRESS IEEE 488 bus addresses must be in the range of 0 to 30 BAD DMA CHAN NO OR DMA NOT ENABLED This error message is obsolete in Driver488 Rev 4 0 NOT AVAILABLE TO A PERIPHERAL In Peripheral mode Driver488 cannot send bus commands such as device addresses IEEE 488 bus addresses must be in the range of 0 to 30 INVALID SECONDARY ADDRESS IEEE 488 bus secondary addresses must be in the range of 0 to 31 INVALID TRANSFER OF ZERO BYTES A count of zero bytes is not valid NOT ADDRESSED TO LISTEN In Controller mode ENTER without specifying a bus address is not valid unless Driver488 is already addressed to listen 41 COMMAND SYNTAX ERROR Error in specifying command UNABLE TO CHANGE MODE AFTER BOOTUP This error message is obsolete in Driver488 Rev 4 0 TIME OUT WAITING FOR ATTENTION As a Peripheral executing an ENTER command Attention did not become unasserted within the TIME OUT period commands per session instrument at one IEEE 488 bus address i between 1 and 8 CONTROL UNABLE TO ADDRESS SELF TO TALK OR LISTEN A TALK or LISTEN subcommand in a SEND command specified the controller s own address Use MTA or MLA instead UNABLE TO ALLOCATE DYNAMIC MEMORY FOR Internal system error Report to factory INT d SHARED INTERRUPT d CHAIN CORRUPTED Internal system error Report to factory TOO MANY ACTIVE TIMEOUTS Internal system error Report to factory INVAL
18. device named Wave Each device handle is a means of maintaining a record of the following three configurable parameters e IEEE 488 address e IEEE 488 bus terminators EOS characters e associated time out period To easily create named devices you can use the IEEE 488 configuration utility An alternative is to use API function calls to configure devices within an application itself Using the API function calls to make and configure external devices eliminates the need to run the IEEE 488 configuration utility every time the application program is installed onto a different PC The IEEE 488 program is located in the Fie Edt Miete 488 Properties i Windows Control Panel IEEE 488 Pe Bus Configuration control buttons consist of the following Address E Computer Properties launches the properties rr F Sra is panel for the selected device Accessibility Options amp DAC488 amp Digtalses Add Device Adds a new generic KO r D ee device IEEE 488 eb Wave g gt IEEE Remove Removes any external devices Ws IEEE2 ea cy IEEE IEEE interfaces cannot be removed eer gery Rename Allows renaming of external pg devices Typically external devices are p K named after their manufacture model or sal function Changes IEEE 4 Properties Add Device Configuration Parameters Name External device names are used to convey the configuration information about
19. event generation mechanism to be a window notification message replacing any previously defined event notification mechanism Only one event notification mechanism can be used at one time Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 32 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com OnDigEventVDM AT488pnp and PCI488 Only Windows9x Only INT WINAPI OnDigEventVDM DevHandleT devHandle DigEventFuncT func OpaqueP 1Param devHand_1e refers to an interface handle func is a user defined function to be called when the digital match event is triggered 1Param value will be passed in the notification message Bus States None OnDigEventVDM devHandle Sets the event notification to be via a function call to MyFunc 0x10L the specified callback function The value 0x10 will be passed to the function DigArm OnDigEventVDM OnEventVDM The OnDigEventVDM command sets the address of a C style __ stdeal1 function to be called when a digital match event occurs This function uses a similar mechanism as the OnEventVDM command The prototype of the callback function for OnDigEventVDM is void DigEventFunc DevHandleT devHandle LPARAM IParam The 1Param value that is passed to OnDigEventVDM is passed on to the callback function when the event occurs For details see the description of OnEventVDM Note This function sets the event generation
20. existing example then add the example to the project in the same manner Otherwise use existing or new C files by placing include IOTIEEE H and include IOTERROR H statements before any references to IEEE 488 functions in the file 8 Under the Build menu select Build or Build All The project should now be built 9 Save your project by selecting File menu then selecting Save Workspace This section is based on use with 32 bit Borland C V6 0 The procedure may need modified for other versions of Borland C If this is the case refer to Borland C documentation for the required changes Though the project build procedures may be different earlier 32 bit versions of Borland C 4 0 or later should function as well as version 6 0 If using versions earlier than V4 0 such as V3 11 support can only be attained by using the 16 Bit Driver488 W95 Compatibility Layer see section below This is because these versions of Borland C are only 16 bit In this case the Borland C support from the Driver488 W31 should be used to develop and build the application The IOTSLPIB DLL has been developed and built using Microsoft Visual C However a Borland C compatible export library IOTSLPIB LIB is available Borland C IOTSLPIB LIB and other language support files and examples are located in lt InstallDirectory gt IEEE488 Programming Language Support Example Programs C To begin your first project perform the following 1 Launch Bor
21. gt include lt stdio h gt include iotieee h For debugging define qsk v x v x printf x returned d n v void srqHandler DevHandleT devHandle UINT mask LONG xfered printf 007 n nEVENT FUNCTION on d mask 0x 04x n devHandle mask qsk xfered Spoll devHandle printf n n void main void LONG result xfered int ioStatus x DevHandleT ieeeO wavel4 wavel6 TermT myTerm UCHAR buffer 500 printf n nSRQTEST program PID d n GetCurrentProcessld qsk ieee0 OpenName ieee0 qsk wavel4 OpenName Wave14 qsk wavel6 OpenName Wave16 qsk result Abort wavel4 qsk result Abort wave16 qsk x Hello ieee0 buffer printf n s n n buffer myTerm EOI 1 myTerm nChar 0 myTerm termChar 0 r myTerm termChar 1 n Arm SRQ detection and set up SRQ function handler qsk x Arm ieee0 acSRQ qsk x OnEventVDM ieee0 srqHandler Tell the Wave to assert SRQ in 3 seconds qsk xfered Output wave16 t3000x 6L 1 0 amp myTerm 0 amp ioStatus printf Completion code 0x 04x n ioStatus Normally your program would be off doing other work for this example we will just hold here for a short time For result 0 result 30000 result printf Result is 06d r result Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 35 Artisan Technology Group Quality Instrumen
22. handle 5 6 Using IEEE 488 04 09 01 Personal488 for Windows 95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com What is a device handle In its simplest form a handle is merely a reference or pointer to a specific device on the IEEE 488 bus One might ask why not use the IEEE 488 address instead of handles Drivers of the past did indeed work this way however when issues such as devices with different EOS terminators or time out setting arose control became difficult Hence handles are method of conveying not just an address but also EOS and time out information for each device In addition it is valid to have multiple handles for one device For example a device might use EOS terminators for setup commands but when data is downloaded specifically binary it might be more convenient to have a handle where EOS is set to none If you have not already done so select your device from the devHandle drop down box and press the OpenName button For the sake of discussion we chose our device called Wave i JDriver488 Workshop Device Enter Output Send Query Error Events Bus Digital Config r Device Name devHandle ERE r Function call result Clear 0 The Name devHandle combo box lists all the available pre configured devices 0 devHandle Opi 0 result Clear 0 Personal488 PCI Windows 2000 Driver Release 1 0 6 F
23. ieee Talk UnListen SendCmd Status The UnTalk command unaddresses an external device that was addressed to Talk Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 63 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Q Note Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 64 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Appendix A API Error Codes Error Number and Message Text Description S has cccurned SSCSCS S SCS 01 TIME OUT NOT ADDRESSED TO LISTEN ENTER as a Peripheral did not receive data within the TIME OUT period 02 AUTOINITIALIZE MODE NOT ALLOWED This error message is obsolete in Driver488 Rev 3 0 SYSTEM ERROR BUFFER MODE NOT SUPPORTED Internal system error Report to factory ee TIME OUT ERROR ON DATA READ Expected bus data was not received within the TIME OUT period o5 SYSTEM ERROR INVALID INTERNAL MODE Internal system error Report to factory o6 INVALID CHANNEL FOR DMA This error message is obsolete in Driver488 Rev 4 0 TIME OUT ON DMA TRANSFER This error message is obsolete in Driver488 Rev 4 0 TIME OUT NOT ADDRESSED TO TALK OUTPUT as a Peripheral was not possible within the TIME OUT period TIME OUT OR BUS ERROR ON WRITE Error occurred transferring a data byte to a bus service SEQUENCE NO DATA AVAILABLE The user s
24. mechanism to be a callback function replacing any previously defined event notification mechanism Only one event notification mechanism can be used at one time Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 33 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com OnEvent Windows9x and Windows2000 Only INT WINAPI OnEvent DevHandleT devHandle HWND hWnd OpaqueP 1Param devHand_1e refers to either an interface or an external device hWnd is the window handle to receive the event notification 1Param value will be passed in the notification message a Bus States None ieee OpenName ieee OnEvent ieee hWnd OpaqueP 12345678L Arm ieee acSRQ acError break OnEventVDM Arm Disarm The OnEvent command causes the event handling mechanism to issue a message upon occurrence of an Armed event The message will have a type of WM_IEEE488EVENT whose value is retrieved via RegisterWindowMessage LPSTR WM_IEEE488EVENT The associated wParam is an event mask indicating which Armed event s caused the notification and the lParam is the value passed to OnEvent Note that although there is a macro for WM_IEEE488EVENT in the header file for each language this macro resolves to a function call and therefore cannot be used as a case label The preferred implementation is to include a default case in the message handling case state
25. of the data buffer that you provided and passes that value as the count parameter It specifies forceAddr is FALSE therefore Driver488 does not address the device if it is the same device as previously used The default terminators are chosen by specifying a 0 as the term parameter Asynchronous transfer is turned off by sending 0 for the async parameter and the completion status value is ignored by sending 0 for the compStat parameter EnterNMore LONG WINAPI EnterNMore DevHandleT devHandle LPBYTE data int count EnterNMore is equivalent to the following call to Enterx EnterxX devHandle data count 0 0L 0 0L The EnterNMore function passes the device handle the pointer to the data buffer and the size of the data buffer to the Enterx function It specifies forceAddr is FALSE therefore Driver488 does not address the device if it is the same device as previously used The default terminators are chosen by specifying a 0 as the term parameter Asynchronous transfer is turned off by sending 0 for the async parameter and the completion status value is ignored by sending 0 for the compStat parameter Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 17 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Error Syntax INT WINAPI Error DevHandleT devHandle BOOL display devHand_1e refers to either an IEEE 488 interface or an external device display indicates
26. on the Line Feed lt LF gt character however older instruments were free to use any character or character combination When in doubt refer to the instrument s programming manual or contact the manufacturer 5 2 Using IEEE 488 04 09 01 Personal488 for Windows 95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Each device name is a means of maintaining a record of three configurable parameters e IEEE 488 address e time out period e EOS terminators i ge DAC488 S Digital488 S HP34401 S K199 E Wave IEEE1 H t IEEE2 H IEEES ADC488 Properties 0D mniine Pa 10000 Mica P forur i fien foe Personal488 for Windows 95 98 Me NT 2000 04 09 01 Using IEEE 488 5 3 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com WinTest Driver488 Workshop This section pertains to the Wintest utility program After reviewing the material you should be able to use Wintest to verify your Driver488 installation and to perform simple communication with your IEEE 488 instruments What is Wintest Wintest is a utility program included with the Personal488 packages Its primary application is to exercise the driver by communicating with instruments on the IEEE 488 bus Communication is accomplished using API function calls which are accessible via the menu bar Every API functi
27. powers up Windows 2000 will detect your new hardware This completes the installation procedure Non plug and play Devices Personal488 AT AT488 Personal488 GP488B Personal488 MM 1 If you have not already done so shutdown Windows 2000 after the IEEE 488 software has been successfully installed 2 Remove power from the PC 3 Physically configure the device s jumpers and switches to match the resource settings Windows 2000 reported during the driver installation Non plug and play board users physically configure your board s jumpers and switches to match the resource settings Windows reported If these settings conflict with other hardware change the jumpers switches and Windows Resource settings to available resources Reference Note Refer to Chapter 4 Hardware Configuration Reference for further information concerning jumpers and switches 4 Return power to the PC This completes the installation procedure Personal488 for Windows 95 98 Me NT 2000 04 06 01 Installation 3 29 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Windows 2000 Note 3 30 Installation 04 10 01 Personal488 for Windows 95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Hardware Configuration Reference 4 AT488 Configurations 4 3 GP488B Configurations 4 7 GP488B MM Con
28. then execute them all simultaneously within the instrument If the EXECUTE DDC is not sent the state of the instrument will not change It will react as if the commands were never received When I ask for data nothing is returned This could be an address or terminator problem like the ones discussed above See the previous sections to diagnose these problems Not all instruments are ready to supply data whenever you ask Some instruments have nothing to say until they are commanded to acquire or generate data Some data acquisition instruments have triggering features which allow the instrument to collect and transmit data only after a specified event has occurred A typical multimeter might have a default trigger of TRIGGER ON TALK which would enable the multimeter to take a reading every time the controller addressed it to Talk If the same multimeter was set to TRIGGER ON GET no reading would be available until the controller issued a Group Execute Trigger If the device has no data to give the Analyzer488 will show that the controller has been addressed to Listen and the device was addressed to Talk and then the process stopped The handshake indicators show that Not Ready For Data NRFD was unasserted by the controller but the instrument never asserted Data Valid DAV Make certain that your device has data to transmit before you ask it for some IOtech s Driver488 has the capability of assigning a time out value to the system
29. to Hardware Installation Step 1 Insert the IEEE488 Software CD The CD has an auto run program that will automatically start the setup program when the CD is inserted into the CD ROM driver If auto run is disabled use Explorer to launch the Setup exe found in the root directory of the CD Follow the screen prompts to install the software Then if non plug and play hardware is being installed proceed to step 2 otherwise proceed to Hardware Installation for Windows Me Users on page 3 19 Step 2 Use the Add New Hardware program found in the Control Panel to notify Windows Me that you are installing new hardware Refer to the following steps that demonstrate the typical Windows panels encountered during the Add New Hardware program execution Start Settings Control Panel Add New Hardware Add New Hardware Procedure non plug and play users only Add New Hardware Wizard 1 The Add New Hardware Wizard displays an introductory message and prompts you to click Next This wizard installs the software for a new hardware device Before continuing close any open programs To begin installing the software for your new device click Next Personal488 for Windows 95 98 Me NT 2000 04 10 01 Installation 3 15 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Windows Me Add New Hardware Wizard 2 Click Next Windows will now search f
30. whether the error message display should be ON or OFF Rems rrer SSCS Example errorcode Error ieee OFF OnEvent GetError GetErrorList Status The Error command enables or disables automatic on screen display of Driver488 error messages Specifying ON enables the error message display while specifying OFF disables the error message display Error ON is the default condition Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 18 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com FindListeners INT WINAPI FindListeners DevHandleT devHandle BYTE primary LPWORD listener DWORD limit devHand1e refers to either an IEEE 488 interface or an external device If devHandle refers to an external device then the FindListeners command acts on the hardware interface to which the external device is attached primary is the primary IEEE 488 bus address to check listener is a pointer to a list that contains all Listeners found on the specified interface board You must allocate enough memory to accommodate all of the possible Listeners up to the limit that he specified limit is the maximum number of Listeners to be entered into the Listener list o E otherwise the number of Listeners found on the interface Bus States ATNeMTA UNL LAG Example WORD listeners 5 errorcode FindListeners ieee 10 listeners 5 See Also CheckListener BusAddre
31. your instruments or failing to connect the IEEE488 cable can also cause this error What is the meaning of the following error message Time Out On Data Read The most common cause for this time out error is incorrectly configured EOS terminators If Personal488 is expecting a Line Feed LF when a Carriage Return CR is used then the transmission will never terminate and a time out error will occur To correct this problem review your instrument s documentation to determine the correct EOS terminator Another cause for this time out error is an incorrectly programmed instrument If an instrument does not have data to send or is not in the proper mode for transmitting data a time out error will occur To correct this problem refer to the instrument s documentation for the correct programming procedures What are IEEE4S88 terminators IEEE488 terminators sometimes referred to as the EOS characters are special characters used to signal the end of a data transfer Typical terminating characters are carriage return lt CR gt and line feed lt LF gt and problems will occur when terminators are mismatched For example if Personal488 sends lt CR gt lt LF gt when an instrument expects lt LF gt an error typically happens Why does my program run once then post the error message Driver Not Loaded This error message is typically encountered within the Visual Basic environment Within a Visual Basic application all active devi
32. 0 the drivers e Support Otech s AT488 GP488B GP488B MM PCI488 series boards e Integrate IEEE 488 2 control into Microsoft Windows applications e Provide true multi tasking device locking e Were specifically designed for the 32 bit Windows environment 2 2 CD ROM Driver 488 Software Packages 04 10 01 Personal488 for Windows 95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Installation 3 Insert the IEEE 488 CD ROM Install the Software What Operating System are you using IEEE 488 Installation Flowchart WindowsNT Use Add New Hardware in Windows95 98 the Windows Control Panel Me 2000 and follow the screen prompts to add your board card Physically configure the board card Shutdown Windows Remove power from the PC Physically install the board card Is your Interface PnP Plug and Play Windows 95 Users 3 3 Windows 98 Users 3 9 Windows Me Users 3 15 Retum power to the PC Windows NT Users 3 21 Windows 2000 Users 3 23 Launch the IEEE 488 Configuration Program from the Control Panel and e Select the Interface Typically IEEE 488 e Select Properties e Select System Resources Use WinTest to verify proper installation Personal488 for Windows 95 98 Me NT 2000 04 10 01 Installation 3 1 Artisan Technology Group Quality Instrum
33. 488 2 DOS Device Driver Software e Supports IOtech s AT488 GP488B CARD488 NB488 GP488B MM MP488 MP488CT series boards e Includes ON SRQ program vectoring for Basic C Pascal e Compatible with all popular programming languages and spreadsheets e Automatically loads into high memory when available Driver488 SUB IEEE 488 2 DOS Subroutine Driver e Supports IOtech s AT488 GP488B CARD488 NB488 GP488B MM MP488 MP488CT series boards e Includes ON SRQ program vectoring for Basic C Pascal e Compatible with popular programming languages and spreadsheets such as C Pascal and QuickBasic Driver488 W31 IEEE 488 2 Microsoft Windows Dynamic Link Library e Supports IOtech s AT488 GP488B CARD488 NB488 GP488B MM MP488 MP488CT series boards Offers HP style commands for high amp low level control Designed for Windows message passing multi tasking architecture Includes language interfaces for Microsoft C Visual C Visual Basic Turbo C Borland C Includes an interactive control application for exercising instruments and generating code On Line Help provides complete command reference as well as examples Win9x_WinNT Folder This folder includes IEEE 488 2 drivers for the following operating systems Windows 9x Windows Me Windows 2000 and Windows NT The setup program automatically detects the operating system and installs the correct drivers In regard to Windows 9x Windows Me and Windows 200
34. 5 98 Me NT or 2000 and copy all the necessary drivers and support files to the appropriate destinations Install the software before installing the hardware Since the installation setup program installs driver and INF files plug and play boards will be automatically configured upon first startup thus eliminating the need to insert the CD and browse for support files For non plug and play devices all that is required to complete the installation is to run Add New Hardware This will notify Windows that a new device exists dg G H Acrobat a Drv Driver488 DRV I manuals 3 43 Ni 7 Dos Driver488 NI G w31 Sub Test gt w31 J Winds WinNT Driver488 W31 CD Structure Note The CD structure is subject to change without notice 1 2 Personal488 Overview 04 10 01 Personal488 for Windows 95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com CD ROM Driver 488 Software Packages 2 lOtech Inc IEEE 488 2 Software Products Personal488 PCI 1 Mbyte s PCI IEEE 488 2 Board with Plug amp Play Digital I O amp Software for PCs Personal488 Atpnp 1 Mbyte s PCI IEEE 488 2 Board with Plug amp Play Digital I O amp Software for PCs Personal488 AT 1 Mbyte s IEEE 488 2 Board amp Software for PC Ats Personal488 IEEE 488 2 Board amp Software for PCs Personal488 CARD IEEE 488 2 PC Card Interface Cable amp Softwa
35. 8 SOURCE www artisantg com Personal488 User s Manual for Windows95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Warranty Information Your JOtech warranty is as stated on the product warranty card You may contact IOtech by phone fax machine or e mail in regard to warranty related issues Phone 440 439 4091 fax 440 439 4093 e mail sales iotech com Limitation of Liability 1Otech Inc cannot be held liable for any damages resulting from the use or misuse of this product Copyright Trademark and Licensing Notice All IOtech documentation software and hardware are copyright with all rights reserved No part of this product may be copied reproduced or transmitted by any mechanical photographic electronic or other method without IOtech s prior written consent Otech product names are trademarked other product names as applicable are trademarks of their respective holders All supplied IOtech software including miscellaneous support files drivers and sample programs may only be used on one installation You may make archival backup copies FCC Statement IOtech devices emit radio frequency energy in levels compliant with Federal Communications Commission rules Part 15 for Class A devices If necessary refer to the FCC booklet How To Identify and Resolve Radio TV Interference Problems stock 004 000 00345 4 which is available from the U S Gove
36. 9 25 29 41133 ael 2 32 ig ig TIEAN 213A sejt 745A 38 6 33 133 eo ors reife me PP Pr PP 21 2B 59 48 wre 14 114 134 BT 7 rooie re al tae tele 12 1C 6 4C 1 817C 15 115 135 155 175 110 peg Salg ap al m 61 4D 1 9 7 e s 116 os 156 Ds FEE CH RIL i Bil Wi lt ae cn 82 ts 137 157 Hog iis 126 chile im Pe Ee oe E iS 1F 1111 7 127 SECONDARI o ADDRESSES ADDRESSES COMMANDS octal PPU Message Mnemonic NAK ASCII ISO character hex 15 21 decimal ASCII 7 bit Code Chart Personal488 for Windows 95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation 03 16 01 IEEE488 ASCII Code Maps Guaranteed 888 88 SOURCE www artisantg com B 1 SS Note B 2 IEEE488 ASCII Code Maps 03 16 01 Personal488 for Windows 95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Appendix C The IEEE 488 Bus Standard C 1 Analyzing the IEEE Bus C 2 Common Problems and Solutions C 3 New Standards Simplify Programming C 6 Frequently Asked Personal 488 Questions C 7 Troubleshooting IEEE 488 Systems and Software To efficiently diagnose troubleshoot and verify IEEE 488 systems you should first have some basic knowledge of the IEEE bus Since the hardware portion of the IEEE standard is rigorous and stable most of the problems you will encounter during the system integration process will be in the ap
37. API Abort DevHandleT devHandle devHandle refers to either an IEEE 488 hardware interface or an external device If devHandle refers to an external device the Abort command will act on the hardware interface to which the external device is attached Bus States IFC IFC if SC ATNeMTA if SCeCA Example errorflag Abort ieee MyTalkAddr Talk UnTalk As the System Controller Sc whether Driver488 is the Active Controller or not the Abort command causes the Interface Clear IFC bus management line to be asserted for at least 100 microseconds By asserting IFC Driver488 regains control of the bus even if one of the devices has locked it up during a data transfer Asserting IFC also makes Driver488 the Active Controller If a Non System Controller was the Active Controller it is forced to relinquish control to Driver488 Abort forces all IEEE 488 device interfaces into a quiescent state If Driver488 is a Non System Controller in the Active Controller state SCeCA it asserts Attention ATN which stops any bus transactions and then sends its My Talk Address MTA to Untalk any other Talkers on the bus It does not and cannot assert IFC Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 1 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Arm INT WINAPI Arm DevHandleT devHandle ArmCondT condition devHand1e refers to either an IEE
38. E 488 hardware interface or an external device If devHand_1e refers to an external device the Arm command acts on the hardware interface to which the external device is attached condition is one of the following acSRQ acDigMatch otherwise the current state of the event trigger flag Bus States Example errorflag Arm ieee acSRQ See Also Disarm OnEvent DigArmSetup DigSetup a 1 if DevHand1eT is an illegal device or interface The Arm command allows Driver488 to signal to the user specified function when one or more of the specified conditions occurs Arm sets a flag for each implementation of the conditions that are user indicated Arm conditions may be combined using the bitwise OR operator The following Arm conditions are supported The Service Request bus line is asserted acDigMatch The digital port match condition has occurred See notes Notes 1 The acDigMatch event is only available with the Personal488 ATpnp and the Personal488 PCI 2 The use of the acDigMatch event requires configuration of the digital port via DigSetup and setting a match value via DigArmSetup Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 2 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com AutoRemote INT WINAPI AutoRemote DevHandleT devHandle BOOL flag devHand1e refers to either an IEEE 488 hardware interface or an external device If de
39. EEE 488 Software CD Cut Shift Deletel Copy Ctr nsert Paste Shift4nsert Step 4 Connect an IEEE 488 instrument to the Personal488 interface Wave488 Personal483 Personal488 for Windows 95 98 Me NT 2000 04 09 01 Using IEEE 488 5 5 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Jaz Step 5 Device Enter Output Send Query Error Events Bus Digital Config Abort Ctrl A From the Bus menu select Clear Device Name devHandle wave 0 E Function call devHandle OpenNamef wave 0 devHandle OpenName Wave TriggerList PPoll Control gt Personal488 PCI Windows 2000 Driver Release TU Personal488 Driver Library Release 2 6 6 Mar 5 2001 Cut Shift Delete Copy Ctrl Insert Paste Shift Insert Step 6 Verify that 0 result Clear 0 appears i JDriver488 Workshop Ioj x Device Enter Output Send Query Error Events Bus Digital Config Device Name devHande wave 0 E in the function display as shown m Function call N F result Clear 0 If Wintest hangs for a brief period and then returns J result Clear 0 then the interface test has failed 0 devHandle OpeyNa 0 result Clear 0 The Clear command verifies two levels of communication First it verifies that your instrument will accept a series of commands from the IEEE 488 Cont
40. Guaranteed 888 88 SOURCE www artisantg com 5 xj Upon opening the first device a Hello Device Enter Output Send Query Error Events Bus Digital Config response window appears m Device Name devHandle Wave 0 _OpenName Close _ it The response window displays data p Function call information devHandle OpenName Wave 0 devHandle OpenName Wave Personal488 PCI Windows 2000 Driver Release 1 0 6 Feb 21 2001 Personal488 Driver Library Release 2 6 6 Mar 5 2001 Cut Shift Deletel Copy Ctr Insert Paste Shift Insert To write data or device dependent setup commands to an instrument use the Output function The Output function is a general purpose write function However passing the handle to Output temporarily converts it to a write command specific to one instrument When selecting the Output function Wintest will automatically use the most current handle Higixj Select the Output command An ee Entar NE a a Ol Aog options panel will open where the only m Device Output Name eee Cose us enable option is the data string to write In this example we will enter W1X in the Output Dialog box not show 0 devHandle OpenName Wave WIX programs our device to generate a specific wave form type Keep in mind that the string of characters xj 7 B 2 Personal488 PCI Windows 2000 Driver Release 1 0 6 Feb 21 2001 WIX isa device dependent co
41. I expansion slot Personal488 ATpnp installs into a 16 bit ISA expansion slot and Personal488 Card installs into a PC card slot 4 Return power to the PC After the computer powers up Windows Me will detect your new hardware This completes the installation procedure Non plug and play Devices Personal488 AT AT488 Personal488 GP488B Personal488 MM 1 If you have not already done so shutdown Windows Me after the IEEE 488 software has been successfully installed 2 Remove power from the PC 3 Physically configure the device s jumpers and switches to match the resource settings Windows Me reported during the driver installation Non plug and play board users physically configure your board s jumpers and switches to match the resource settings Windows reported If these settings conflict with other hardware change the jumpers switches and Windows Resource settings to available resources Reference Note Refer to Chapter 4 Hardware Configuration Reference for further information concerning jumpers and switches 4 Return power to the PC This completes the installation procedure Personal488 for Windows 95 98 Me NT 2000 04 06 01 Installation 3 19 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Windows Me Note 3 20 Installation 04 10 01 Personal488 for Windows 95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Gu
42. ID DEVICE HANDLE d Device handle was not opened Must first open device and assign handle OUT OF DEVICE HANDLES Too many device handles opened Must close unused handles 67 A 2 API Error Codes 04 10 01 Personal488 for Windows 95 98 Me NT 2000 31 32 33 34 35 36 37 38 39 43 5 5 1 3 57 61 3 6 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Specified DMA channel does not exist Check hardware settings Specified DMA channel is not available for use by Driver Choose another channel DMA CHANNEL d ALREADY IN USE Specified DMA channel is already being used by another device Choose another channel UNABLE TO ALLOCATE MEMORY FOR Internal system error Report to factory ASYNCHRONOUS I O UNKNOWN DOS DEVICE NAME Driver488 DOS device name not known Must create Driver488 DOS device name with the Make Dos Name command UNABLE TO ALLOCATE MEMORY FOR NEW DEVICE Ran out of memory Remove some devices to restore memory Internal system error Report to factory Corrupt initialization file Run the Install program Internal system error Report to factory Corrupt initialization file Run the Install program ATTEMPTED TO REMOVE SLAVE DEVICE Attempt to remove device which is required for operation by another device DATA OVERRUN erial input overflow None FRAMING ERROR Serial data corrupt Possible incorrect Serial port configuration TI
43. If an instrument does not respond within the specified time out the process is aborted In some instances an instrument may be unable to respond within the specified time out period and the time out period will have to be increased C 4 Troubleshooting 03 16 01 Personal488 for Windows 95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com When I ask for data bad data is returned Many times the variability of data formats of an instrument will cause problems Devices can transmit data in binary ASCII BCD packed BCD or anything else that will fit into 8 bits Data terminators can be EOI a byte count or imbedded characters like CR LF Data can be sent with prefixes suffixes or full headers IOtech s Driver488 can account for all of these parameters but some other drivers may not allow this level of flexibility When using higher level software packages the problem of data formats may be impossible to overcome Usually menu driven and turnkey packages go to great lengths to hide the IEEE bus from the operator The documentation therefore makes no attempt to inform the operator of what is actually happening on the bus You may encounter a problem if your instrument transmits data in a format that is not recognized by your software package Check your instrument manual for data format characteristics Does your instrument transmit non numeric prefixes or suffi
44. Installation page 3 13 Step 1 Insert the IEEE488 Software CD The CD has an auto run program that will automatically start the setup program when the CD is inserted into the CD ROM driver If auto run is disabled use Explorer to launch the Setup exe found in the root directory of the CD Follow the screen prompts to install the software Then if non plug and play hardware is being installed proceed to step 2 otherwise proceed to hardware installation on page 3 13 Step 2 Use the Add New Hardware program found in the Control Panel to notify Windows 98 that you are installing new hardware Refer to the following steps that demonstrate the typical Windows panels encountered during the Add New Hardware program execution Start Settings Control Panel Add New Hardware Add New Hardware Procedure non plug and play users only Add New Hardware Wizard 1 The Add New Hardware Wizard displays an introductory message and prompts you to click Next This wizard installs the software for a new hardware device Before continuing close any open programs To begin installing the software for your new device click Next Personal488 for Windows 95 98 Me NT 2000 04 10 01 Installation 3 9 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Windows 98 2 Click Next Windows will now search for any new Plug and Play devices on your system You
45. Instrumentation Guaranteed 888 88 SOURCE www artisantg com TimeOut Syntax INT WINAPI TimeOut DevHandleT devHandle DWORD millisec devHand_1e refers to either an IEEE 488 interface or an external device millisec is a numeric value given in milliseconds Reus aro SSCS Example errorcode TimeOut ieee 100 Sets the timeout value to 100 msec TimeOutQuery Reset The TimeOut command sets the number of milliseconds that Driver488 waits for a transfer before declaring a timeout error The timeout value sets a limit on the total time allowed for an operation For example when using the Enter command all expected data must be received within the specified timeout period or a timeout error will occur Timeout checking may be suppressed by specifying a timeout value of zero seconds The zero seconds specification results in a timeout period of about 49 days Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 58 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com TimeOutQuery INT WINAPI TimeOutQuery DevHandleT devHandle DWORD millisec devHand_1e refers to either an IEEE 488 interface or an external device millisec is a pointer to a buffer that is to receive the timeout value given in milliseconds Reus aro SOS Example None proved SSS This is a new function in Driver488 W95 The TimeOutQuery function queries the timeout settin
46. ME OUT ON SERIAL COMMUNICATION Serial device did not respond UNKNOWN PARAMETER OF TYPE d SPECIFIED Internal system error Report to factory n S BUS ERROR NO LISTENERS No Listeners found on bus TIME OUT ON MONITOR DATA Expected terminator was not received INVALID VALUE SPECIFIED Specified value is invalid for application See command for proper value types NO TERMINATOR SPECIFIED Terminator must be specified Check terminator value NOT AVAILABLE IN 8 BIT SLOT Specified option is not available when the I O adapter is fitted into an 8 bit slot TOO MANY PENDING EVENTS Internal system error Report to factory BREAK ERROR Serial receiver detected break UNEXPECTED CHANGE OF CONTROL LINES Handshake lines changed during transmission Hardware handshake not satisfied within time out Check cabling and connected device Hardware handshake not satisfied within time out Check cabling and connected device Hardware handshake not satisfied within time out Check cabling and connected device 97 Transmission of EOI was requested when no data was available to send ADDRESS STATUS CHANGE DURING TRANSFER Talker Listener mode changed during data transfer possibly due to activity of some other device on the IEEE 488 bus UNABLE TO MAKE NEW DEVICE MakeDevice or CreateDevice was unable to create a new device possibly due to the number of devices which already existed 100 None 101 COMMAND SYNTAX ERROR Command interpre
47. Poll Status Serial Poll Mode 12E1 32E1 52E1 72E1 Address Status Address Mode 16E1 36E1 56E1 76E1 CMD Pass Through Auxiliary Mode 1AE1 3AE1 5AE1 7AE1 Address 0 Address 0 1 1EE1 3EE1 5EE1 7EE1 Address 1 End of String Personal488 for Windows 95 98 Me NT 2000 04 09 01 Hardware Configuration Reference 4 11 Configuring the GP488B MM PC104 Interface I O Base Address Swi 6a o ool co N N N N W Ol O col Om ZF Oa Gf om af oe S wa l ee ee ap op mi ise NI N NI NI x aml Dl 02E1 22E1 42E1 62E1 GP488B I O Base Address Selections The factory default I O base address is 02E1 If this creates a conflict reset SW1 microswitches 4 and 5 according to the figure and following table The register addresses will be automatically relocated at fixed offsets from the base address If reset record the new Input Output I O address being used The I O base address sets the addresses used by the computer to communicate with the IEEE 488 interface hardware on the board The address is normally specified in hexadecimal and can be 02E1 22E1 42E1 or 62E1 The registers of the IOT7210 IEEE 488 controller chip and other auxiliary registers are then located at fixed offsets from the ba
48. Setup DevHandleT devHandle bHighOut devHand_1e refers to an interface handle bLowOut refers to the lower nibble setup TRUE output FALSE bHighOut refers to the upper nibble setup TRUE output FALSE Bus States None DigSetup devHandle DigSetup devHandle DigSetup devHandle DigSetup devHandle TRUE FALSE TRUE TRUE FALSE FALSE All 8 bits output Lower 4 bits input upper 4 output Lower 4 bits output upper 4 input All 8 bits input BOOL bLowOut BOOL input The DigSetup command configures the digital I O port for input and output on a per nibble basis Each of the two nibbles can be set for input or output All combinations are supported Once DigSetup is called the configuration of the digital I O port does not change until the next call to DigSetup The port may be read and written many times without affecting the port setup Note The digital I O port must be configured every time the driver is opened The configuration is not stored between sessions Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com 6 13 DigWrite AT488pnp and PCI488 Only Syntax INT WINAPI DigWrite DevHandleT devHandle BYTE byDigData devHand_1e refers to an interface handle byDigData refers to a value to write to the digital output port where the integer range is betw
49. a device on the IEEE 488 bus at the specified address Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 5 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Clear Syntax INT WINAPI Clear DevHandleT devHandle devHand_1e refers to either an IEEE 488 hardware interface or an external device If devHand_1e refers to a hardware interface then a Device Clear DCL is sent If devHandle refers to an external device a Selected Device Clear SDC is sent ems foame OOOO o yO Bus States ATNeDCL all devices ATNeUNL MTA LAG SDC selected device errorcode Clear ieee Sends the Device Clear DCL command to the IEEE interface board errorcode Clear wave Sends the Selected Device Clear SDC command to the WAVE device errorcode Clear dmm Sends the Selected Device Clear SDC command to the DMM device The Clear command causes the Device Clear DCL bus command to be issued to an interface or a Selected Device Clear SDC command to be issued to an external device IEEE 488 bus devices that receive a Device Clear or Selected Device Clear command normally reset to their power on state Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 6 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com ClearList Syntax INT WINAPI ClearList DevHandlePT devHandleList devHandleList is
50. a pointer to a list of device handles that refer to external devices Ifa hardware interface is in the list DCL is sent instead of SDC Reus tier OOS Bus States ATNeDCL all devices ATNeUNL MTA LAG SDC selected device deviceList 0 wave Sends the Selected Device Clear deviceList 1 scope SDC command to a list of deviceList 2 dmm devices deviceList 3 NODEVICE errorcode ClearList deviceList The ClearList command causes the Selected Device Clear SDC command to be issued to a list of external devices IEEE 488 bus devices that receive a Selected Device Clear command normally reset to their power on state Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 7 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Close Syntax INT WINAPI Close DevHandleT devHandle devHand1e refers to either an IEEE 488 interface or an external device ems fane OOOO SyS Bus States Completion of any pending I O activities Example errorcode Close wave OpenName MakeDevice Wait The Close command waits for I O to complete flushes any buffers associated with the device that is being closed and then invalidates the handle associated with the device Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 8 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Contro
51. able REN bus management line If external devices are specified then RemoteList will also address those devices to Listen placing them in the Remote state Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 46 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com RemoveDevice Syntax INT WINAPI RemoveDevice DevHandleT devHandle devHand1e specifies an interface or an external device to remove i Bus States Example errorcode RemoveDevice dmm MakeDevice KeepDevice The RemoveDevice command removes the specific temporary or permanent Driver488 device that was created with either the MakeDevice command or the startup configuration This command also removes a device that was made permanent through a KeepDevice command Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 47 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Reset INT WINAPI Reset DevHandleT devHandle devHand1e refers to either an interface or an external device If devHand1e refers to an external device the Reset command acts on the hardware interface to which the external device is attached Reums aree OOOO Bus States errorcode Reset ieee See Also Abort Term TimeOut The Reset command provides a warm start of the interface Using Reset is equivalent to issuing the following command proce
52. and Solutions C 3 New Standards Simplify Programming C 6 Frequently Asked Personal 488 Questions C 7 D Specifications D 1 PCI488 Specifications D 1 AT488pnp Specifications D 1 CARD488 Specifications D 1 AT488 Specifications D 2 GP488B Specifications D 2 GP488B MM Specifications D 2 E National Instruments Compatible Drivers E 1 Overview E 1 Program Requirements Eal Installation E 2 Upgrading from a Previous Version E 2 Miscellaneous Hints and Tips E2 File Structure E 2 Personal488 User s Manual for Windows95 98 Me NT 2000 04 10 01 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com vi 04 10 01 Personal488 User s Manual for Windows95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Personal488 Overview 1 Personal488 Hardware Plug and Play Bus Type and Transfer Rate Personal488 PCI with PCI488 a Yes 32 bit PCI Bus 1 Mbyte s Personal488 ATpnp he with AT488pnp Yes 16 bit ISA Bus f 1 Mbyte s Personal488 CARD Yes hot swapping with CARD488 PC Card PCMCIA ex 1 Mbyte s Personal488 AT with AT488 No 16 bit ISA bus 1 Mbyte s No 8 bit ISA bus 330 Kbyte s Personal488 MM No 8 bit PC 104 with GP488B MM 330 Kbyte s
53. and device models 11 12 13 Select IOtech Inc Select your specific Personal488 interface product Click Next Personal488 for Windows 95 98 Me NT 2000 04 06 01 Installation 3 25 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Windows 2000 14 Click Next Start Hardware Installation Windows 2000 will install software Windows is ready to install drivers for your new hardware f for the device Add Remove Hardware Wizard If Windows could not detect any N hardware settings for the device a message box informs you that hardware settings must be entered see the following figure Add New Hardware Wizard Properties 15 If Windows could not detect any hardware settings as indicated by the message in step 14 enter the settings Refer to Hardware Configuration Reference chapter 4 for setting information f USE automatic settings Add Remove Hardware Wizard 16 When prompted that Windows is Start Hardware Installation ready to install drivers for your new Windows is ready to install drivers for your new hardware C hardware click Next 3 26 Installation 04 10 01 Personal488 for Windows 95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Windows 2000 Add Remove Hardware Wizard Windows will inform you that the Completing th
54. aranteed 888 88 SOURCE www artisantg com Windows NT Users Software Installation Step 1 Insert the IEEE488 Software CD The CD has an auto run program that will automatically start the setup program when the CD is inserted into the CD ROM driver If auto run is disabled use Explorer to launch the Setup exe found in the root directory of the CD Step 2 Follow the screen prompts to install the software then proceed to hardware installation Hardware Installation All Devices Personal488 AT AT488 Personal488 GP488Bplus Personal488 MM Personal488 PCI 1 Access the Windows Control Panel and launch the JEEE488 configuration program 2 Highlight your interface typically IEEEO and select Properties as shown below lt Bus Configuration Timeout ms 10000 r Terminators EO EOS Term1 Term2 Input CR_LF gt fis fio Output IV CR_LF z fis fic m Interface Hardware Types Personal488 4T z M System Controller hos sesos 4 OK Cancel Apply b Properties am Add Device Rename OK Cancel Selecting Properties and System Resources Remove 3 Click the Systems Resources button If Personal488 PCI is selected then the System Resources button is not available Windows NT is not a plug and play operating system and thus changing resources on a Plug and Play interface is not possible Perso
55. ardware interface to which the external device is attached result is a pointer to a Status structure Bus States None result Status ieee amp StatusResult if StatusResult sRQ printf We have a serial poll request else printf There is no serial poll request The Status command returns various items detailing the current state of Driver488 They are returned in a data structure based on the following table Status Item Structure Values and Description Menber Primary Bus Address 0 to 30 Two digit decimal number Service Request SRQ TRUE SRQ is asserted FALSE SRQ is not asserted The Primary Bus Address Primaddr is the IEEE 488 bus device primary address assigned to Driver488 or the specified device This will be an integer from 0 to 30 The Service Request field SRQ as an active controller reflects the IEEE 488 bus SRQ line signal As a peripheral this status reflects the rsv bit that can be set by the Request command and is cleared when the Driver488 is Serial Polled For more details refer to the SPo11 command in this chapter Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 54 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Talk INT WINAPI Talk DevHandleT devHandle BYTE primary BYTE secondary devHand1e refers to either an interface or an external device If devHand1le refers to an exte
56. atically relocated at fixed offsets from the base address If reset record the new Input Output I O address being used Selected I O Base Register Address 02E1 22E1 42E1 62E1 Automatic Offset Addresses Read Register Write Register 02E1 22E1 42E1 62E1 Data In Data Out 06E1 26E1 46E1 66E1 Interrupt Status 1 Interrupt Mask 1 0AE1 2AE1 4AE1 6AE1 Interrupt Status 2 Interrupt Mask 2 OEE1 2EE1 4EE1 6EE1 Serial Poll Status Serial Poll Mode 12E1 32E1 52E1 72E1 Address Status Address Mode 16E1 36E1 56E1 76E1 CMD Pass Through Auxiliary Mode 1AE1 3AE1 5AE1 7AE1 Address 0 Address 0 1 1EE1 3EE1 5EE1 7EE1 Address 1 End of String The I O base address sets the addresses used by the computer to communicate with the IEEE 488 interface hardware on the board The address is normally specified in hexadecimal and can be 02E1 22E1 42E1 or 62E1 The registers of the IOT7210 IEEE 488 controller chip and other auxiliary registers are then located at fixed offsets from the base address Most versions of Driver488 are capable of managing as many as four IEEE 488 interfaces To do so the interface configurations must be arranged to avoid conflict amongst themselves No two boards may have the same I O address but they may and usually should have the same DMA channel and interrupt level Personal488 for Windows 95 98 Me NT 2000 04 09 01 Hardware Configuration Reference 4 3 Artisan Technology Group Q
57. ccess 05 Input Output Range 02E1 Interrupt Request 05 Windows Me 5 Select EEE 488 2 Controllers and click Next Windows will now display a list of devices to install Select your specific Personal488 interface product After making the selection click Next Windows will now display the default resource settings for your interface Make note of the displayed settings as you must configure the jumpers and switch settings before installing an AT488 or GP488B Personal488 for Windows 95 98 Me NT 2000 Installation 3 17 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Windows Me Add New Hardware Wizard 9 Click Finish System Settings Change E 10 Click Yes and shut down the Q computer At this point proceed to the next section Hardware Installation for Windows Me Users 3 18 Installation 04 10 01 Personal488 for Windows 95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Windows Me Hardware Installation for Windows Me Users Plug and Play Devices Personal488 PCI Personal488 ATpnp Personal488 Card 1 If you have not already done so shutdown Windows Me after the IEEE 488 software has been successfully installed 2 Remove power from the PC 3 Physically install your interface As a quick reference Personal488 PCI installs into a 32 bit PC
58. ce handles must be closed before the application exits and returns to the Visual Basic environment If any device handles are left then upon restarting the program Driver488 will report Driver Not Loaded indicating that the handle is unavailable To recover from this error exit and restart Visual Basic Restarting Visual Basic will force Driver488 to close all the handles and unload from memory To avoid this error use the Close function on all the open handles before stopping the application When running WinTest why do I get the message Driver Not Loaded The most common cause for this condition is an incorrect installation or incorrectly configured hardware Refer to the section Driver and Support Software Installation or Installation Verification Personal488 for Windows 95 98 Me NT 2000 03 16 01 Troubleshooting C 7 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com My program has been running on an older PC for many years without any problems Now I have installed Personal488 on my new PC and verified that the installation is working correctly When I run my program it stops and reports the message Time out on data read Why With today s fast PC timing problems often occur when an application migrates from a slow PC to a fast PC This is due to programmers sprinkling delays throughout their code in order to wait for instruments to perform tasks Some pr
59. crosoft Visual C format Many C language compilers have import facilities that allow importing of Microsoft library LIB files into a library file format native to the particular compiler Consult your compiler s documentation for further information on importing Microsoft Visual C library files 16 Bit Driver488 W95 Compatibility Layer Unlike Driver488 WNT Driver488 W95 supports backward compatibility for applications written in the 16 bit environment of the Driver488 W31 formerly named Driver488 WIN product Support is provided through a Dynamic Link Library DRVR488 DLL and through various language specific header files that will allow recompilation of 16 bit applications If Driver488 W31 has been previously installed on your Windows 9x system the setup program will automatically replace the 16 bit version DLL in the WINDOWS SYSTEM directory Personal488 for Windows 95 98 Me NT 2000 04 09 01 Using IEEE 488 5 13 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Note 5 14 Using IEEE 488 04 09 01 Personal488 for Windows 95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com API Reference 6 This chapter contains the API command reference for Driver488 W95 and Driver488 WNT using the C language The following commands are presented in alphabetical order for ease of use Abort Syntax INT WIN
60. d returns the data to the calling application The terminators never appear in the data transferred to or from the calling application The default terminators for both input and output are set by the startup configuration and are normally CR LF EOI which is appropriate for most bus devices End Or Identify EOT has a different meaning when it is specified for input than when it is specified for output During input EOI specifies that input is terminated on detection of the EOI bus signal regardless of which characters have been received During output EOI specifies that the EOI bus signal is to be asserted during the last byte transferred Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 56 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com TermQuery Syntax INT TermQuery DevHandleT devHandle TermT term INT termFlag devHand_1e refers to either an interface or an external device terminator is a pointer to the terminator structure termF lag can be either TERMIN TERMOUT or TERMIN TERMOUT specifying whether input output or both are being set Reus are OOOO Bus States None Example None proved This is a new function in Driver488 W95 The TermQuery function queries the terminators setting Terminators are defined by the Termt structure Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 57 Artisan Technology Group Quality
61. ds it is valid to arm an event when only one nibble of the port is configured for input In this case the other nibble is ignored when detecting the match condition Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 10 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com DigArmSetup AT488pnp and PCI488 Only Syntax INT WINAPI DigArmSetup DevHandleT devHandle BYTE byMatchValue devHand1e refers to an interface handle byMatchValue refers to a value that is compared against the digital I O inputs Reus areo SSCS Example DigArmSetup devHandle 0xA5 Sets the match value to 0xA5 The DigArmSetup command sets the match condition value This value will be compared against the digital I O port inputs to detect when an event occurs The event must be armed via DigArm for event notification to take place The comparison operation depends on the current digital port configuration If both nibbles are configured for input then the match value is compared to the entire byte value of the digital port If only one of the nibbles is configured for input then the value is compared against just that nibble If no nibbles are configured for input then the match value is ignored The DigArm function will not allow event generation to be armed unless at least one of the nibbles is configured for input Personal488 for Windows 95 98 Me NT 2000 04 10 01 API
62. e Add Remove p g hardware was installed Hardware Wizard The following hardware was installed Personal488 AT 17 Click Finish Check your hardware documentation to see whether you have to manually configure your new hardware For the hardware to work you will have to restart the computer At this point proceed to the next section Hardware Installation for To view or change the resources for this Resources Windows 2000 Users device click Resources To close this wizard click Finish Personal488 for Windows 95 98 Me NT 2000 04 06 01 Installation 3 27 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Windows 2000 Note 3 28 Installation 04 10 01 Personal488 for Windows 95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Windows 2000 Hardware Installation for Windows 2000 Users Plug and Play Devices Personal488 PCI Personal488 ATpnp Personal488 Card 1 If you have not already done so shutdown Windows 2000 after the IEEE 488 software has been successfully installed 2 Remove power from the PC 3 Physically install your interface As a quick reference Personal488 PCI installs into a 32 bit PCI expansion slot Personal488 ATpnp installs into a 16 bit ISA expansion slot and Personal488 Card installs into a PC card slot 4 Return power to the PC After the computer
63. e DevHandleT devHandle LPBYTE data OutputMore is equivalent to the following call to OutputxX OutputX devHandle data strlen data 1 0 0L 0 0L The OutputMore function passes the device handle and data buffer to the Outputx function It determines the size of the data buffer that you provided and passes that value as the count parameter It specifies that the forceAddr flag is set FALSE so Driver488 does not re address the device if it is the same device as that previously used The default terminators are chosen by specifying a 0 pointer as the terminator parameter Synchronous transmission is specified by sending 0 for the async parameter and the completion status value is ignored by sending a 0 pointer for the compStat pointer OutputNMore Syntax LONG WINAPI OutputNMore DevHandleT devHandle LPBYTE data DWORD count OutputNMore is equivalent to the following call to Outputx OutputX devHandle data 0 0 0L 0 0L The OutputNMore function passes the device handle and a pointer to the data buffer to the output x function It specifies that the forceAddr flag is set FALSE so Driver488 does not re address the device if it is the same device as that previously used The default terminators are chosen by specifying a 0 pointer as the terminator parameter Synchronous transmission is specified by sending 0 for the async parameter and the completion status value is ignored by sending a 0 pointer for the compStat pointer Pe
64. e PC on the occurrence of certain hardware conditions The main board interrupt may be set to IRQ level 3 through 7 9 through 12 14 or 15 Interrupts 10 through 15 are only available in a 16 bit slot on an AT class machine Interrupt 9 becomes synonymous with Interrupt 2 when used in a PC XT bus The selected interrupt may be shared among several AT488s in the same PC AT chassis The AT488 adheres to the AT style interrupt sharing conventions When the AT488 requires service the IRQ jumper determines which PC interrupt level is triggered When an interrupt occurs the interrupting device must be reset by writing to an I O address which is different for each interrupt level The switch settings determine the I O address to which the board s interrupt rearm circuitry responds 4 4 Hardware Configuration Reference 04 09 01 Personal488 for Windows 95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Configuring the AT488 Interface DMA Channel DACK DRQ 567012 3 567012 3 567012 3 56701 2 3 DMA 16 Bit Channel 5 DMA 8 Bit Channel 0 DMA 8 Bit Channel 1 DMA 8 Bit Channel 2 DACK e eo 8 DRQ O O e e 56701 2 3 56701 2 3 567012 3 DMA 8 Bit Channel 3 DMA 16 Bit Channel6 DMA 16 Bit Channel 7 AT488 DMA Channel Selections The factory default DMA channel is 5 I
65. e without notice IEEE 488 Controller Device IOT7210 Maximum Transfer Rate 32 bit 1 Mbyte s reads and writes Dimensions Half size board occupies one PCI slot IEEE 488 Connector Accepts standard IEEE 488 connector with metric studs Digital I O Connector Standard 9 pin female DSUB connector Power 500 mA max 5 V from PC Environment 0 to 70 C 0 to 95 RH non condensing Digital I O Each signal can source 2 mA 3 7 V 6 mA 3 2 V and sink 2 mA 0 4 V 6 mA 0 9 V Multiple Boards Up to four PCI488 boards can be installed into one PC AT488pnp Specifications Note These specifications are subject to change without notice IEEE 488 Controller Device IOT7210 Maximum Transfer Rates 16 bit DMA 1 Mbyte s reads 800 Kbyte s writes Dimensions Full size board two card edges occupies one ISA slot IEEE 488 Connector Accepts standard IEEE 488 connector with metric studs Digital I O Connector Standard 9 pin female DSUB connector Power 1 0 A max 5 V from PC Environment 0 to 70 C 0 to 95 RH non condensing DMA 16 bit DMA on channels 5 6 and 7 Interrupts IRQ 3 4 5 7 10 11 12 or 15 Digital I O Each signal can source 2 mA 3 7 V 6 mA 3 2 V and sink 2 mA 0 4 V 6 mA 0 9 V Multiple Boards Up to three AT488pnp boards can be installed into one PC CARD488 Specifications Note These specifications are subject to change without notice IEEE 488 Controller Device IOT7210 Maximum Transfer Rate 1 Mbyte s r
66. each device The name is used to obtain a handle to that device which will be used by all the API function calls External device names can consist of 1 to 32 characters and the first character must be a letter The remaining characters may be letters numbers or underscores _ External device names are NOT case sensitive IEEE Bus Address This is the setting for the IEEE 488 bus address of the board The IEEE 488 address consists of a primary address from 00 to 30 and an optional secondary address from 00 to 31 When a device has multiple secondary addresses it may be useful to have several different external device names defined for such a device In this case an array of handles could be maintained for easy access to different IEEE 488 addresses throughout the application Timeout ms The time out period is the amount of time data transfers wait before reporting a time out error If the time out period elapses while waiting for data to be transferred or while transferring data an error is generated The default value for the time out period is 10 seconds 10000 milliseconds Bus Terminators The IEEE 488 bus terminators specify the characters and or End or Identify EOI signal that is to be appended to data that is sent to the external device or mark the end of data that is received from the external device Incorrectly configured bus terminators often cause many subtle problems Many newer IEEE 488 2 instruments have standardized
67. eads and writes Dimensions Type II 5 mm PCMCIA card Bus Interface PCMCIA PC Card Standard 2 1 IEEE 488 Connector Accepts standard IEEE 488 connector with metric studs via custom cable Cable PCMCIA to IEEE 488 CA 137 included Personal488 for Windows 95 98 Me NT 2000 03 16 01 Hardware Specifications D 1 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com AT488 Specifications Note These specifications are subject to change without notice IEEE 488 Controller Device OT7210 Maximum Transfer Rates 16 bit DMA 1 Mbyte s reads 800 Kbyte s writes 8 bit DMA 330 Kbyte s reads 220 Kbyte s writes Dimensions Full size board two card edges occupies one ISA slot IEEE 488 Connector Accepts standard IEEE 488 connector with metric studs Power 1 0 A max 5 V from PC Environment 0 to 70 C 0 to 95 RH non condensing DMA 16 bit DMA on channels 5 6 and 7 8 bit DMA on channels 0 1 2 and 3 jumper selectable Interrupts IRQ 2 3 4 5 6 or 7 8 bit slot IRQ 3 7 9 12 14 or 15 16 bit slot IEEE 488 I O Base Address amp HO2E1 amp H22E1 amp H42E1 or amp H62E1 Multiple Boards Up to four AT488 boards can be installed sharing a single DMA channel and interrupt line GP488B Specifications Note These specifications are subject to change without notice IEEE 488 Controller Device IOT7210 Maximum Transfer Rate 8 bit DMA 330 Kbyte s reads and wri
68. eb 21 2001 Personal488 Driver Library Release 2 6 6 Mar 5 2001 I Cut Shift Delete Copy Ctrl Insert Paste Shift4nsert When the OpenName button is pressed the function OpenName is actually called The parameter that OpenName accepts is a string that represents a name of a pre configured device If the string name does not exist a handle is not created For this example we see that the device Wave is now open and the function display area shows the actual function call with parameters In the function display area the left hand number in parenthesis is the value returned by the function call during execution Generally if the command is successfully completed the number is zero 0 and if an error occurred it is minus one 1 Other functions such as Output Enter and Spoll return more meaningful values such as the number of characters transferred or the serial poll status byte Refer to the API reference section for more detailed meanings of function return values A typical communication sequence consists of e opening a device e sending setup commands e reading data The following screen shots demonstrate this sequence Note that opening a device returns a handle that is used in all subsequent calls The handle is merely an instrument descriptor containing address terminator and time out information Personal488 for Windows 95 98 Me NT 2000 04 09 01 Using IEEE 488 5 7 Artisan Technology Group Quality Instrumentation
69. ed at fixed ffsets from the base address If reset record the new Input Output I O address being used The I O base address sets the addresses used by the computer to communicate with the IEEE 488 interface hardware on the board The address is normally specified in hexadecimal and can be 02E1 22E1 42E1 or 62E1 The registers of the IOT7210 IEEE 488 controller chip and other auxiliary registers are then located at fixed offsets from the base address Most versions of Driver488 are capable of managing as many as four IEEE 488 interfaces To do so the interface configurations must be arranged to avoid conflict amongst themselves No two boards may have the same I O address but they may and usually should have the same DMA channel and interrupt level Configuring the GP488B Interface Interrupt IRQ Swi ool ool ool N N N col O lt o ive T ive T ive A lt 5 lt lt 5 lop PN ioe og Ni NI N mN J4 IRQ2 Le o 0 0 ome ole one IRQ3 ere lone o o gt o IRQ4 o e s Le o o e IRQ5 eo CEC Cad e IRQ6 2 0 gt s o o Le o o IRQ7 o w e e e nterrupt nterrupt Interrupt Int
70. een 0 and 255 if the entire digital I O port is configured for output or between 0 and 15 if only one nibble either low or high is configured for output Returns 1 if no part of the digital I O port is configured for output Bus States DigRead devHandle 0x0A Writes the given value to the digital I O port per the current configuration The DigWrite command writes the given value to the digital I O port per the input output configuration of the port If the entire port is configured for output then the data value with a range from 0 to 255 is written to the port If either the upper or lower nibble is configured for input and the other for output then the data value is truncated to the range from 0 to 15 and it is written to the appropriate nibble per the current configuration Notes 1 This function does not configure the digital I O port for output The caller must use DigSetup to configure the port before performing any reads or writes If neither nibble is configured for output the function returns 1 and sets the error code to IOT_BAD VALUE2 2 Outputs do not persist after an interface is closed At that time all digital I O lines are configured for input Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 14 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Disarm INT WINAPI Disarm DevHandleT devHandle ArmCondT condition devHand1e
71. een made obsolete for the 32 bit driver ClockFrequency IOAddress DmaChannel LightPen IntLevel SysController Functions Supported by 32 bit Drivers The following functions are supported by 32 bit drivers but not by 16 bit drivers MakeNewDevice TermQuery OnEventVvDM Console mode applications TimeOutQuery Functions that are Enhanced in the 32 bit Drivers These are updated functions ControlLine KeepDevice Hello Programming Language Support Driver488 W95 and Driver488 WNT both provide native language support for Microsoft Visual C Visual Basic Borland C and Borland Delphi The following sections describe support for these 32 bit languages In some cases instructions are provided for particular versions of the language Although instructions are provided compiler manufacturers may change their methods thereby making the instructions obsolete for a particular compiler This does not mean that the language and version lack support It does however indicate that modifications may be needed as directed by the manufacturer of the compiler Microsoft Visual C This section is based on use with 32 bit Microsoft Visual C V6 0 The procedure may need modified for other versions of Visual C If this is the case refer to Microsoft documentation for the required changes Although the project build procedures may differ earlier 32 bit versions of Visual C V2 0 or later should function well If using versions earlie
72. el for correct operation with interrupts If reset record the new Interrupt IRQ being used 4 12 Hardware Configuration Reference 04 09 01 Personal488 for Windows 95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com The GP488B MM interface board may be set to interrupt the PC on the occurrence of certain hardware conditions The level of the interrupt generated is set by JP3 The GP488B MM adheres to the AT style interrupt sharing conventions When an interrupt occurs the interrupting device must be reset by writing to T O address 02FxX where X is the interrupt level from 0 to 7 This interrupt response level is set by switches 1 2 and 3 of SW1 which must be set to correspond to the JP3 interrupt level setting Configuring the GP488B MM PC104 Interface DMA Channel JP2 e oO e gt o o a o o e ORO gt o o 0 ome gt w E gt Channel 1 Channel 2 Channel 3 GP488B MM PC104 DMA Channel Selections The factory default DMA channel is 1 If this creates a conflict reset jumper JP2 according to the figure If reset record the new DMA channel being used Direct Memory Access DMA is a high speed method of transferring data from or to a peripheral such as a digitizing oscilloscope to or from the PC s memory The PC has four DMA channels but Channel 0 Disabled is used for memory refresh and is not available fo
73. electing Project gt Add Module 4 Select the Existing tab and navigate to the IEEE 488 Visual Basic project folder If the default settings were accepted during installation the folder should be located at C Program Files IEEE488 Programming Language Support Example Programs VB 5 12 Using IEEE 488 04 09 01 Personal488 for Windows 95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Borland Delphi This section is based on 32 bit Borland Delphi V4 0 The procedure may need modified for other versions of Borland Delphi If this is the case refer to Borland documentation for the required changes Although the project build procedures may differ earlier 32 bit versions of Borland Delphi V2 0 or later should function well If using versions earlier than V2 0 such as V1 0 or V1 56 support can only be attained by using the 16 Bit Driver488 W95 Compatibility Layer see section below This is because these versions of Visual C are only 16 bit In this case the Visual C support from the Driver488 W31 should be used to develop and build the application The location for the Borland Delphi language support files 32 bit and examples is lt InstallDirectory gt IEEE488 Programming Language Support Example Programs Delphi To use Delphi V4 0 with a supplied example 1 Launch Delphi 2 If starting from one of the supplied examples select Open Project from the
74. entation Guaranteed 888 88 SOURCE www artisantg com 3 2 Installation 04 10 01 Personal488 for Windows 95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Windows 95 Users Software Installation e For best results install the interface after the software installation e Due to differences in Windows 95 Add New Hardware panels the following description may vary slightly e If installing a second non plug and play interface skip step 1 e If installing a second plug and play interface go to Hardware Installation Step 1 Insert the IEEE488 Software CD The CD has an auto run program that will automatically start the setup program when the CD is inserted into the CD ROM driver If auto run is disabled use Explorer to launch the Setup exe found in the root directory of the CD Follow the screen prompts to install the software If non plug and play hardware is being installed proceed to step 2 otherwise proceed to Hardware Installation on page 3 7 Step 2 Use the Add New Hardware program found in the Control Panel to notify Windows 95 that you are installing new hardware Refer to the following steps that demonstrate the typical Windows panels encountered during the Add New Hardware program execution Start Settings Control Panel Add New Hardware Personal488 for Windows 95 98 Me NT 2000 04 10 01 Installation 3 3
75. errupt Interrupt Interrupt Level 2 Level 3 Level 4 Level 5 Level 6 Level 7 GP488B Interrupt Selections The factory default Interrupt IRQ is 5 If this creates a conflict reset SW 1 microswitches 1 2 and 3 and jumper J4 according to the figure The switch and jumper settings must both indicate the same interrupt level for correct operation with interrupts If reset record the new Interrupt IRQ being used 4 8 Hardware Configuration Reference 04 09 01 Personal488 for Windows 95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com The GP488B interface board may be set to interrupt the PC on the occurrence of certain hardware conditions The level of the interrupt generated is set by J4 The GP488B adheres to the AT style interrupt sharing conventions When an interrupt occurs the interrupting device must be reset by writing to T O address 02FxX where X is the interrupt level from 0 to 7 This interrupt response level is set by switches 1 2 and 3 of SW1 which must be set to correspond to the J4 interrupt level setting Configuring the GP488B Interface DMA Channel J3 o o e Cad o o o o o o Cad Kad o a w o o Lee o o OHO Lee Channel 1 Channel 2 Channel 3 GP488B DMA Channel Selections The factory default DMA channel is 1 If this creates a conflict reset jumper J3 according to the figure If reset
76. esource settings for your interface Add New Hardware Wizard 8 Make note of the displayed settings as you must configure the jumpers and switch settings before installing an AT488 or GP488B Direct Memory Access 06 Input Output Range 42E1 Interrupt Request 03 Personal488 for Windows 95 98 Me NT 2000 04 06 01 Installation 3 11 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Windows 98 Add New Hardware Wizard 9 Click Finish Synem enas Onena 10 Click Yes and shut down the Q computer then proceed to the next step 3 12 Installation 04 10 01 Personal488 for Windows 95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Windows 98 Hardware Installation for Windows 98 Users Plug and Play Devices Personal488 PCI Personal488 ATpnp Personal488 Card 1 If you have not already done so shutdown Windows 98 after the IEEE 488 software has been successfully installed 2 Remove power from the PC 3 Physically install your interface As a quick reference Personal488 PCI installs into a 32 bit PCI expansion slot Personal488 ATpnp installs into a 16 bit ISA expansion slot and Personal488 Card installs into a PC card slot 4 Return power to the PC Windows will detect your new hardware when the computer powers up This completes the installation procedure Non p
77. evice has an internal individual status ist The Parallel Poll response is asserted when this ist equals the Sense bit value s The ist is normally a logic 1 when the device requires attention so the S bit should normally also be a logic 1 If the s bit is 0 then the device asserts its Parallel Poll response when its ist is a logic 0 That is it does not require attention However the meaning of ist can vary between devices so refer to your IEEE 488 bus device documentation The remaining 3 bits of response P2 P1 and PO specify which DIO bus data line is asserted by the device in response to a Parallel Poll These bits form a binary number with a decimal value from 0 through 7 specifying data lines DIO1 through DIO8 respectively Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 41 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com PPollDisable Syntax INT WINAPI PPollDisable DevHandleT devHandle devHand_1e is either an interface or an external device that is to have its Parallel Poll response disabled ems fame OOOO O Bus States ATNeUNL MTA LAG PPC PPD Example errorcode PPollDisable dmm Disables Parallel Poll of device DMM PPoll PPollConfig PPollUnconfig The PPollDisable command disables the Parallel Poll response of a selected bus device Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 42 Artisan Tec
78. ex however it will still consist of e opening a device name e programming a device e reading data from the device In this example we only discussed a small subset of the available API commands You can use WinTest to explore other API function calls Refer to the API Reference section of this manual for additional information regarding each command Personal488 for Windows 95 98 Me NT 2000 04 09 01 Using IEEE 488 5 9 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Differences Between 32 bit and 16 bit Driver488 Software General Differences The following bulleted items are the general differences between the 32 bit Driver488 software for Windows 9x and Windows NT and the16 bit Driver488 software for Windows 3 X With the 32 bit driver e There is no RS 232 serial support e The function Hello now returns two lines of ID One for the Dynamic Link Library DLL and one for the device driver e The library function prototypes have changed to reflect standard Windows types e The include file has been renamed to IOTIEEE H Specific Differences The following highlight the specific differences in the API command functions between the 32 bit Driver488 software and the16 bit Driver488 software Functions Obsolete for 32 bit Drivers The parameters that these functions set are now set by a provided Windows Control Panel configuration utility and have therefore b
79. explicitly used EOI must accompany any termination characters on data reads File Structure Windows System directory GPIB 32 DLL driver installed National Instruments Compatible Drivers 03 16 01 Personal488 for Windows 95 98 Me NT 2000 E 2 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com A rtisan Artisan Technology Group is your source for quality TecmoogyGroup new and certified used pre owned equipment FAST SHIPPING AND SERVICE CENTER REPAIRS WE BUY USED EQUIPMENT DELIVERY Experienced engineers and technicians on staff Sell your excess underutilized and idle used equipment TENS OF THOUSANDS OF at our full service in house repair center We also offer credit for buy backs and trade ins IN STOCK ITEMS www artisantg com WeBuyEquipment 7 EQUIPMENT DEMOS HUNDREDS OF InstraV ea REMOTE INSPECTION LOOKING FOR MORE INFORMATION MANUFACTURERS Remotely inspect equipment before purchasing with Visit us on the web at www artisantg com 7 for more our interactive website at www instraview com information on price quotations drivers technical LEASING MONTHLY specifications manuals and documentation RENTALS ITAR CERTIFIED D a gaa tia Contact us 888 88 SOURCE sales artisantg com www artisantg com
80. extensions to older standards are now becoming available that may significantly simplify IEEE system integration Although supported by only a few instruments presently standards like IEEE 488 2 and SCPI Standard Commands for Programmable Instruments are changing the way instruments are controlled The IEEE 488 2 standard is for the most part an extension to the present standard IEEE 488 1 There are only a few hardware differences between the new and old standards assuring that older instruments conforming to IEEE 488 1 can still be used alongside newer IEEE 488 2 instruments The major difference between the two standards lies in the software protocol Previously non standard elements of bus communication such as terminators and data types have now been included in the standard These standards will eliminate some of the variables encountered when integrating instrumentation systems making debugging simpler C 6 Troubleshooting 03 16 01 Personal488 for Windows 95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Frequently Asked Personal488 Questions Why does the driver return the error message Time Out on Command The most common cause for Time Out on Command error is an improperly installed Personal488 interface Hardware conflicts defective interfaces and miss configured software all lend this type of time out errors In addition failing to power
81. f this creates a conflict reset jumpers DACK and DRQ according to the figure Both the DRQ and DACK jumpers must be set to the desired DMA channel for proper operation If reset record the new DMA channel being used Direct Memory Access DMA is a high speed method of transferring data from or to a peripheral such as a digitizing oscilloscope to or from the PC s memory The AT class machine has seven DMA channels Channels 0 to 3 8 bit 5 6 and 7 16 bit are available only in a 16 bit slot on a PC AT class machine Channel 2 is usually used by the floppy disk controller and is unavailable Channel 3 is often used by the hard disk controller in PCs XTs and the PS 2 with the ISA bus but is usually not used in ATs Channels 5 to 7 are 16 bit DMA channels and offer the highest throughput up to 1 Megabyte per second Channels 0 to 3 are 8 bit DMA channels and although slower they offer compatibility with existing GP488B and GP488B MM applications that only made use of 8 bit DMA channels Under some rare conditions it is possible for high speed transfers on DMA Channel 1 to demand so much of the available bus bandwidth that simultaneous access of a floppy controller will be starved for data due to the relative priorities of the two channels Personal488 for Windows 95 98 Me NT 2000 04 09 01 Hardware Configuration Reference 4 5 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Q N
82. face in the range 0 to 255 external device Bus States ATNeUNL MLA UNT TAG SPE ATN ATNeSPD UNT errorcode SPoll ieee Returns the internal SRQ status errorcode SPoll dmm Returns the Serial Poll response of the specified device SPollList PPoll In Active Controller mode the SPo11 Serial Poll command performs a Serial Poll of the bus device specified and responds with a number from 0 to 255 representing the decimal equivalent of the eight bit device response If rsv DIO7 decimal value 64 is set then that device is signaling that it requires service The meanings of the other bits are device specific Serial Polls are normally performed in response to assertion of the Service Request SRQ bus signal by some bus device In Active Controller mode with the interface device specified the SPo11 command returns the internal SRQ status If the internal SRQ status is set it usually indicates that the SRQ line is asserted Driver488 then returns a 64 If it is not set indicating that SRQ is not asserted then Driver488 returns a 0 With an external device specified SPo11 returns the Serial Poll status of the specified external device In Peripheral mode the SPo11 command is issued only to the interface and returns the Serial Poll status If rsv DIO7 decimal value 64 is set then Driver488 has not been Serial Polled since the issuing last Request command The rsv is reset whenever Driver488 is Serial Polled by the Contro
83. fer to the following figures as needed Selected I O Base Register Address 02E1 22E1 42E1 62E1 Automatic Offset Addresses Read Register Write Register 02E1 22E1 42E1 62E1 Data In Data Out 06E1 26E1 46E1 66E1 Interrupt Status 1 Interrupt Mask 1 0AE1 2AE1 4AE1 6AE1 Interrupt Status 2 Interrupt Mask 2 OEE1 2EE1 4EE1 6EE1 Serial Poll Status Serial Poll Mode 12E1 32E1 52E1 72E1 Address Status Address Mode 16E1 36E1 56E1 76E1 CMD Pass Through Auxiliary Mode 1AE1 3AE1 5AE1 7AE1 Address 0 Address 0 1 1EE1 3EE1 5EE1 7EE1 Address 1 End of String Personal488 for Windows 95 98 Me NT 2000 04 09 01 Hardware Configuration Reference 4 7 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Configuring the GP488B Interface I O Base Address swi OPEN X OPEN OPEN A OPEN 12345678 12345678 12345678 12345678 02E1 22E1 42E1 62E1 GP488B I O Base Address Selections he factory default I O base address is 02E1 If this creates a conflict reset SW1 microswitches 4 and 5 ccording to the figure and following table The register addresses will be automatically relocat
84. figurations 4 11 Hardware Configuration Plug and Play Devices Plug and play devices require no physical configuration of hardware After installing your software and hardware as described in Chapters 2 and 3 the configuration is performed automatically Note that the plug and play devices are listed in the following table as a product reference only This chapter contains no useful information concerning plug and play devices Non Plug and Play Devices The I O base address IRQ and DMA settings of non plug and play devices are determined by the physical settings of jumpers and DIP switches This chapter provides the information necessary to Non Plug and Play Devices configure these devices Plug and Play Devices PCl488 AT488 Automatic Configuration See page 4 3 AT488pnp Automatic Configuration See page 4 7 GP488B MM Automatic J See page 4 11 Configuration Note The device images are not shown to the same scale Personal488 for Windows 95 98 Me NT 2000 04 09 01 Hardware Configuration Reference 4 1 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Note 4 2 Hardware Configuration Reference 04 09 01 Personal488 for Windows 95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com AT488 Configurations The I O base address IRQ and DMA settings are swi
85. g given in milliseconds Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 59 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Trigger Syntax INT WINAPI Trigger DevHandleT devHandle devHand_1e refers to either an IEEE 488 interface or an external device Bus States With interface handle ATNeGET With external device handle ATNeUNL MTA LAG GET errorcode Issues a Group Execute Trigger GET bus command to those Trigger ieee devices that are already in the Listen state as the result of a previous Output or Send command errorcode Issues a Group Execute Trigger GET bus command to the Trigger dmm device specified TriggerList Status SendCmd The Trigger command issues a Group Execute Trigger GET bus command to the specified device If no interface devices are specified then the GET only affects those devices that are already in the Listen state as a result of a previous Output or Send command Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 60 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com TriggerList Syntax INT WINAPI TriggerList DevHandlePT devHandleList ae devHandleList is a pointer to a list of external devices Reums aree deviceList 0 wave Issues a Group Execute Trigger deviceList 1 timer GET bus command to a deviceList 2 dmm lis
86. he digital I O port the event callback mechanism and the match condition prior to arming the event generation The following code snippet illustrates this sequence DigSetup devHandle FALSE FALSE Configure both nibbles for input OnDigEventVDM devHandle MyFunc 0 On event call function MyFunc DigArmSetup devHandle 0x0A5 Trigger when inputs equals 0xA5 DigArm devHandle TRUE Enable event generation Event generation is automatically disarmed when an event is triggered The event generation configuration however remains intact so event generation can be re armed just by calling DigArm The other steps shown in the above code snippet do not need to be repeated unless the event configuration is to be changed Event generation may be disarmed bArm FALSE at any time Notes 1 This function does not configure the digital I O port for input The caller must use DigSetup to configure the port for input before performing arming event generation If neither nibble is configured for input the function returns 1 and sets the error code to IOT_BAD VALUE2 2 Event generation may be re armed from within the event handler to provide continuous detection of match condition events However this is not guaranteed to catch every event if the digital input values are rapidly changing 3 Any digital I O port bits configured for output are treated as don t care bits for the purposes of event generation In other wor
87. hnology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com PPollDisableList Syntax INT WINAPI PPollDisableList DevHandlePT devHandleList devHandleList is a pointer to a list of external devices that are to have their Parallel Poll response disabled Rems aner OOOO O Bus States ATNeUNL MTA LAG PPC PPD deviceList 0 wave deviceList 1 timer deviceList 2 dmm deviceList 3 NODEVICE errorcode PPollDisableList deviceList PPoll PPollConfig PPollUnconfig The PPollDisableList command disables the Parallel Poll response of selected bus devices Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 43 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com PPollUnconfig INT WINAPI PPollUnconfig DevHandleT devHandle devHand1e refers to a hardware interface If devHand1e refers to an external device then the PPol1Unconfig command acts on the hardware interface to which the external device is attached PRewms are OOO Bus States ATNePPU errorcode PPollUnconfig ieee See Also PPoll PPollConfig PPollDisable The PPol1Unconfig command disables the Parallel Poll response of all bus devices Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 44 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Remote Syntax INT WINAPI Re
88. ified number of events can be captured before and after the occurrence of an SRQ The Analyzer488 also has comprehensive search features allowing the capture buffer to be scanned for all of the occurrences of any event including an SRQ Some instruments have the capability of generating an SRQ for any of several internal events Usually an SRQ mask is sent to the instrument to instruct it to generate an SRQ for only a selected subset of those events Some instruments by default will interrupt the controller with an SRQ when an internal error is encountered and not respond to any further bus transactions until the interrupt is serviced The next time your application program requests data from that instrument your system will fail By inspecting the Analyzer488 transaction recording working backward from the end it will be obvious that an SRQ was asserted by someone on the bus and that it remained without service Personal488 for Windows 95 98 Me NT 2000 03 16 01 Troubleshooting C 5 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com My system occasionally locks up This is another of those intermittent problems that can take a long time to troubleshoot especially if the mean time between failures is several hours days or months As before the best way to approach the problem is to allow the Analyzer488 to record all of the transactions occurring on the bus When the number of tran
89. is used to verify communication with Driver488 and to read the software revision number If a non null string pointer is passed Hello fills in up to 247 bytes in the string The application must ensure that sufficient space is available When the command is sent Driver488 returns a string similar to the following Driver488 Revision X X C 199X where X is the appropriate revision or year number Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 22 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com KeepDevice Syntax INT WINAPI KeepDevice DevHandleT devHandle devHand_1e refers to an external device a Bus States Example errorcode KeepDevice scope MakeDevice MakeNewDevice RemoveDevice OpenName Note KeepDevice will update an existing device or will create a new device in the Registry This update feature is new and useful For example if you wish to change the bus address of the device and make it a permanent change The KeepDevice command changes the indicated temporary Driver488 device to a permanent device visible to all applications Permanent Driver488 devices are not removed when Driver488 is closed Driver488 devices are created by MakeDevice and are initially temporary Unless KeepDevice is used all temporary Driver488 devices are forgotten when Driver488 is closed The only way to remove the permanent device once it has bee
90. issued to an interface device causes Driver488 to unassert the Remote Enable REN line This causes devices on the bus to return to manual operation A Local command addressed to an external device places the device in the local mode via the Go To Local GTL bus command Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 25 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com LocalList Syntax INT WINAPI LocalList DevHandlePT devHandleList ae devHandleList refers to a pointer to a list of external devices Rems amer O OO deviceList 0 wave Sends the Go To Local GTO bus deviceList 1 timer command to a list of external deviceList 2 dmm devices deviceList 3 NODEVICE errorcode LocalList deviceList Local Remote RemoteList AutoRemote In the System Controller mode the LocalList command issued to an interface device causes Driver488 to unassert the Remote Enable REN line This causes devices on the bus to return to manual operation A LocalList command addressed to an external device places the device in the local mode via the Go To Local GTL bus command Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 26 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Lol INT WINAPI Lol DevHandleT devHandle devHand1e refers to either an IEEE 488 interface or
91. iver488 external device The new device is attached to the same I O adapter of the existing device and has the same bus address terminators timeouts and other characteristics The newly created device is temporary and is removed when Driver488 is closed KeepDevice may be used to make the device permanent To change the default values assigned to the device it is necessary to call the appropriate configuration functions such as BusAddress IOAddress and TimeOut Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 28 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com MakeNewDevice DevHandleT WINAPI MakeNewDevice LPSTR iName LPSTR aName BYTE primary BYTE secondary TermPT In TermPT Out DWORD timeout devHand1e refers to the new external device iName is the user name of the interface on which the device is to be created aName is the user name of the device primary and secondary are the secondary and primary bus addresses to be specified For no secondary address a 1 must be specified output terminators of the device otherwise the DevHand1leT of the new device based on the parameters specified Bus State None Example DevHandleT anotherDevice Specifies parameters for Pointer to the interface anotherDevice pointer to the device name primary and MakeNewDevice IEEEO secondary addresses pointers to the term Scope 13 1 NULL In and O
92. lLine INT WINAPI ControlLine DevHandleT devHandle ControlLine returns a bit mapped number devHand_1e refers to the I O adapter If devHand1e refers to an external device the ControlLine command acts on the hardware interface to which the external device is attached Response 1 if error software serial interfaces are no longer supported result ControlLine ieee aa printf The response is X n result The ControlLine command may be used only on IEEE 488 devices Under 32 bit Driver488 software serial interfaces are no longer supported This command returns the status of the IEEE 488 bus control lines as an 8 bit unsigned value bits 2 and 1 are reserved for future use as indicated below Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 9 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com DigArm AT488pnp and PCI488 Only Syntax INT WINAPI DigArm DevHandleT devHandle BOOL bArm devHand1e refers to an interface handle bArm refers to a value that arms or disarms event generation TRUE Arm FALSE Disarm Returns 1 if neither nibble is set for input or other error Bus States DigArm devHandle TRUE Arms digital input event generation DigArmSetup DigSetup OnDigEvent OnDigEventVDM The DigArm command arms or disarms the event generation due to a digital I O port match condition The caller should configure t
93. land C IDE Start a new project Add IOTSLPIB LIB to the project Add an existing example program or create a new cpp file Oy Be ek If creating a new cpp file place include statements for IOTIEEE H and IOTERROR H before any references to the IEEE 488 functions Set the Pre compiled header option to None Om Set the Treat enum types as ints option 8 Save the project As of the writing of this manual these options are located on the Compiler tab on the Program Options dialog in the Borland C IDE However these settings are subject to change by the compiler manufacturer Personal488 for Windows 95 98 Me NT 2000 04 09 01 Using IEEE 488 5 11 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Microsoft Visual Basic This section is based on 32 bit Microsoft Visual Basic V4 0 V5 0 and V6 0 The procedure may need modified for other versions of Visual Basic If this is the case refer to Microsoft documentation for the required changes If using earlier versions such as V1 0 V2 0 or V3 0 then support can only be attained by using the 16 Bit Driver488 W95 Compatibility Layer see section below since these versions of Visual Basic are 16 bit only In this case the Visual Basic support from the Driver488 W31 should be used to develop and build the application Visual Basic language support files and examples are located in lt InstallDirector
94. ller Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 52 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com SPollList Syntax INT WINAPI SPollList DevHandlePT devHandleList LPBYTE resultList BYTE SPollFlag devHandleList is a pointer to a list of external devices resultList is an array that is filled in with the Serial Poll results of the corresponding external devices SPol11Flag refers to either ALL WHILE SRQ or UNTIL RSV ewms fame SOS Bus States ATNeUNL MLA TAG SPE ATN ATNeSPD UNT deviceList 0 wave Returns the Serial Poll response for a list of deviceList 1 timer device handles deviceList 2 dmm deviceList 3 NODEVICE result SPollList deviceList resultList ALL In Active Controller mode the SPo11List Serial Poll command performs a Serial Poll of the bus devices specified and responds with a number from 0 to 255 representing the decimal equivalent of the eight bit device response for each device on the list If rsv D107 decimal value 64 is set then that device is signaling that it requires service The meanings of the other bits are device specific Serial Polls are normally performed in response to assertion of the Service Request SRQ bus signal by some bus device In Active Controller mode with the interface device specified the SPol1lList command returns the internal SRQ status for each device If the inter
95. lug and play Devices Personal488 AT AT488 Personal488 GP488B Personal488 MM 1 If you have not already done so shutdown Windows 98 after the IEEE 488 software has been successfully installed 2 Remove power from the PC 3 Physically configure the device s jumpers and switches to match the resource settings Windows reported during the driver installation Non plug and play board users physically configure your board s jumpers and switches to match the resource settings Windows reported If these settings conflict with other hardware change the jumpers switches and Windows Resource settings to available resources Reference Note Refer to Chapter 4 Hardware Configuration Reference for further information concerning jumpers and switches 4 Return power to the PC This completes the installation procedure Personal488 for Windows 95 98 Me NT 2000 04 06 01 Installation 3 13 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Windows 98 Note 3 14 Installation 04 10 01 Personal488 for Windows 95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Windows Me Users Software Installation e For best results install the interface after the software installation e If installing a second non plug and play interface skip step 1 e If installing a second plug and play interface go
96. ly locates new Plug and Play hardware Add Remove Hardware Wizard Choose a Hardware Device Which hardware device do you want to troubleshoot 2 Select 3 Add Troubleshoot a device Click Next The Add Remove Hardware Wizard searches for new plug and play hardware After new hardware is located a screen similar to that at the left appears 4 Select 5 Add a new device Click Next 3 24 Installation 04 10 01 Personal488 for Windows 95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Add Remove Hardware Wizard Find New Hardware Windows can also detect hardware that is not Plug and Play compatible Add Remove Hardware Wizard Hardware Type What type of hardware do you want to install 5 Multi port serial adapters EF Network adapters rey NT Apm Legacy Support 92 7 Add Remove Hardware Wizard Select a Device Driver Which driver do you want to install for this device Intel Corporation Personal498 Interlink Electronics i Intertex Personal488 AT pnp lIwatsu Windows 2000 When prompted by the question Do you want Windows to search for your new hardware Select No I want to select the hardware from a list Click Next When asked what type of hardware you want to install select Other devices Click Next Windows will display a list of manufacturers
97. mber of bytes to send last is a flag that forces the device output terminator to be sent with the data forceAddr is used to specify whether the addressing control bytes are to be issued for each OutputxX command term is a pointer to a terminator structure that is used to set up the input terminators If term is set to 0 the default terminator is used reserved this value is ignored compStat is a pointer to an integer containing completion status information 1 if error otherwise the number of characters transferred Bus States With interface handle REN if SC and AutoRemote ATN ATN With external device handle REN if SC and AutoRemote ATNeMTA UNL LAG ATN ATN term EOI TRUE term nChar 1 term EightBits TRUE term termChar 0 r data UOX count strlen data bytecnt Output timer data count 1 0 amp term 0 amp stat EnterxX Term TimeOut Buffered The OutputX command sends data to an interface or external device The Remote Enable REN line is first asserted if Driver488 is the System Controller and AutoRemote is enabled Then if a device address with optional secondary address is specified Driver488 is addressed to Talk and the specified device is addressed to Listen If no address is specified then Driver488 must already be configured to send data either as a result of a preceding OutputxX command or as the result of a Send command Terminators are automatically a
98. ment and directly compare the message ID with WM_IEEE488EVENT The following is an example of an event handler LONG FAR WINAPI export WndProc HWND hWnd unsigned iMessage WORD wParam LONG lParam HANDLE ieee switch iMessage case WM_CREATE ieee OpenName ieee OnEvent ieee hWnd OpaqueP 12345678L Arm ieee acSRQ acError break default if Message WM_IEEE488EVENT char buff 80 wsprintf buff Condition 04X Param 081X wParam lParam MessageBox hWnd LPSTR buff LPSTR Event Noted MB OK return TRUE Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 34 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com OnEventVDM Windows9x and Windows2000 Only Syntax INT WINAPI OnEventVDM DevHandleT devHandle EventFuncT func devHand1e refers to either an interface or an external device func is a user specified interrupt handler function that is to perform some user defined function when one of the Armed conditions occur Reus areo SyS Arm ieee0 acsRQ Arms SRQ detection and sets up SRQ OnEventVDM ieee0 srqHandler function handler OnEvent Arm Disarm This function is new in Driver488 W95 The OnEventVDM allows a call back to a user specified function in an application The following is a full example of a console mode program using the OnEvent VDM function include lt windows h
99. milar process is used for the Talk Address Group TAG Most IEEE drivers including IOtech s Driver488 for our line of IEEE controllers have high level commands that perform several elemental IEEE 488 operations In the IOtech Driver488 manual every command explanation contains a field called BUS STATES In BUS STATES a complete explanation of what is happening on the bus is displayed For example let s examine IOtech s Driver488 command ENTER which simply gets one reading from a specified device BUS STATES ATN UNL MLA TAG ATN data ATN First this indicates that ATN is asserted Next the multiline command UNListen UNL instructs all devices that were in the listen state to exit that state The controller then issues My Listen Address MLA its own address in the listen address group and issues the Talk Address Group TAG for the specified device Next it unasserts ATN which notifies the addressed device that it may now transmit its data Finally after the data has been sent perhaps ending with an EOD the controller once again asserts ATN Analyzing the IEEE Bus The simplest way to decipher the controller s operations and the response of the instruments regardless of what software or hardware you are using is with an IEEE analyzer Analyzer488 from Otech allows the programmer to view all of the transactions on the bus in real time or to record them into its 32K non volatile transaction buffer for later inspecti
100. mmand Personal488 Driver Library Release 2 6 6 Mar 5 2001 z exclusive to our Wave device You may have an instrument with a different command set OutputMore OutputMore r Function call Cut Shift Delete Copy CtrHnsert Paste ShiftInsert Refer to the API reference for additional information regarding Output commands To read data from an instrument use the Enter functions The Enter function is a general purpose read function However passing the handle to Enter temporarily converts it from general purpose to a read function specific to one instrument When selecting the Enter function Wintest will automatically use the most current handle jDriver488 Workshop lol x Select a command from the Enter Device Enter Output Send Query Error Events Bus Digital Config menu Devi M Nan EnterN Cose tis EnterMore Funct entermore byte Enterx 0 devHandle OpenName Wave 3 bytecount Qutput 0 wx x Personal488 PCI Windows 2000 Driver Release 1 0 6 Feb 21 2001 Personal488 Driver Library Release 2 6 6 Mar 5 2001 Z Cut Shift Delete Copy Ctr insert Paste Shift Insert 5 8 Using IEEE 488 04 09 01 Personal488 for Windows 95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Driver488 Workshop Device Enter Output Send Query Error Events Bus Digital Co
101. mote DevHandleT devHandle devHand_1e refers to either an interface or an external device If devHand1e refers to an interface then the Remote Enable REN line is asserted If devHand1e refers to an external device then that device is addressed to Listen and placed into the Remote state a fane OOOO o O Bus States With interface REN With external device REN ATNeUNL MTA LAG errorcode Remote ieee Asserts the REN bus line errorcode Remote scope Asserts the REN bus line and addresses the scope device specified to Listen to place it in the Remote state Local LocalList RemoteList The Remote command asserts the Remote Enable REN bus management line If an external device is specified then Remote will also address that device to Listen placing it in the Remote state Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 45 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com RemoteList Syntax INT WINAPI RemoteList DevHandlePT devHandleList ae devHandleList is a pointer to a list of devices Reums aree deviceList 0 wave Asserts the REN bus line and deviceList 1 timer addresses a list of specified deviceList 2 dmm devices to Listen to place these deviceList 3 NODEVICE specified devices in the Remote errorcode RemoteList deviceList state Remote Local LocalList The RemoteList command asserts the Remote En
102. n ATN is asserted by the controller the bits on the data bus are actually multiline commands being issued to all of the devices on the bus End Or Identify EOI can be issued by any device talking on the bus Talkers use EOI to notify listeners that the end of the transmission has taken place Service Request SRQ can be issued by any device on the bus It allows devices on the bus to interrupt or alert the controller to an internal situation that needs servicing e g my buffer is full T ve encountered an error my trigger has been satisfied Personal488 for Windows 95 98 Me NT 2000 03 16 01 Troubleshooting C 1 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Multiline Commands Now that you have seen the uniline commands and have a sense for their application we ll discuss multiline commands Remember multiline commands are transmitted from the controller to the devices on the data bus The devices know that they are not data because the ATN line is asserted When ATN is asserted by the controller all of the devices must listen to the commands Multiline commands serve several functions most notably to address instruments to talk or listen To address a device to listen the controller will assert ATN and place the listen address of the selected device on the data bus There are 31 listen addresses These are called the Listen Address Group LAG A si
103. n made permanent by the KeepDevice command is to use the RemoveDevice command Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 23 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Listen INT WINAPI Listen DevHandleT devHandle BYTE primary BYTE secondary devHand1e refers to either an IEEE 488 interface or an external device If devHandle refers to an external device the Listen command acts on the associated interface primary and secondary specify the primary and secondary addresses of the device which is to be addressed to listen PRewms are OOOO Bus States ATN LAG Example errorcode Listen ieee 12 1 See Also Talk SendCmd SendData SendEoi FindListener The Listen command addresses an external device to Listen Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 24 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Local Syntax INT WINAPI Local DevHandleT devHandle devHand1e refers to either an IEEE 488 interface or an external device 1 if error Bus States errorcode Local ieee To unassert the Remote Enable REN line the IEEE 488 interface is specified errorcode Local wave To send the Go To Local GTL command an external device is specified LocalList Remote AutoRemote In the System Controller mode the Local command
104. nal SRQ status is set it usually indicates that the SRQ line is asserted Driver488 then returns a 64 If it is not set indicating that SRQ is not asserted then Driver488 returns a 0 With an external device specified SPo11List returns the Serial Poll status of the specified external device In Peripheral mode the SPo11List command is issued only to the interface and returns the Serial Poll status If rsv DIO7 decimal value 64 is set then Driver488 has not been Serial Polled since the last Request command was issued The rsv is reset whenever Driver488 is Serial Polled by the Controller The SPol1Flag refers to either ALL WHILE_SRQ or UNTIL_RSV If ALL is chosen all the devices are Serial Polled and their results placed into the result array If SPo11Flag is WHILE_SRQ Driver488 Serial Polls the devices until the SRQ bus signal becomes unasserted and the results are put into the result array If SPol1lFlag is UNTIL_RSV Driver488 Serial Polls the devices until the first device whose rsv bit is set is found and the results are put into the result array Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 53 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Status Syntax INT WINAPI Status DevHandleT devHandle IeeeStatusPT result devHand1e refers to either an IEEE 488 interface or an external device If devHandle refers to an external device Status acts on the h
105. nal488 for Windows 95 98 Me NT 2000 04 10 01 Installation 3 21 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Windows NT Change System Resources EG Interface Name IEEEO Device Type AT488 Settings Input Output 1 0 foze1 z Interrupt Request IRQ 5 Direct Memory Access DMA 5 q MV None Set Defaults Cancel 4 Physically configure the device s jumpers and switches to match the resource settings Windows is reporting during the driver installation If these settings conflict with other hardware change the jumpers switches and Windows Resource settings to available resources Reference Note Refer to Chapter 4 Hardware Configuration Reference for more information regarding jumpers and switches 5 Shutdown Windows and remove power from your PC 6 Insert the interface board securing it appropriately 7 Return power to the PC This completes the installation procedure 3 22 Installation 04 10 01 Personal488 for Windows 95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Windows 2000 Users Software Installation e For best results install the interface after the software installation e If installing a second non plug and play interface skip step 1 e If installing a second plug and play interface go to Hardware Installation page 3 29 Step 1
106. nd sets the IEEE 488 bus address of the IEEE 488 hardware interface or an external device Every IEEE 488 bus device has an address that must be unique within any single IEEE 488 bus system The default IEEE 488 bus address for Driver488 is 21 but this may be changed if it conflicts with some other device Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 4 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com CheckListener Syntax INT WINAPI CheckListener DevHandleT devHandle BYTE primary BYTE secondary devHandle refers to either an IEEE 488 hardware interface or an external device If devHand_1le refers to an external device the CheckListener command acts on the hardware interface to which the external device is attached primary is the primary bus address to check for a Listener 00 to 30 secondary is the secondary bus address to check for a Listener 00 to 31 For no secondary address a 1 must be specified 1 if error otherwise it returns a 1 if a listener was found at the specified address or a 0 if a listener was not found at the specified address Bus States ATNeUNL LAG check for NDAC asserted result CheckListener ieee 15 4 if result 1 LE PETE found at specified address n result 0 prints Device not found at specified address n FindListener BusAddress The CheckListener command checks for the existence of
107. nfig 15 x Device Name devHandle Wave 0 7 OpenName Close List devHandle OpenName Wave bytecount Output 0 Wx 56 bytecount Enter 0 LPSTR data 0 636 0 041 0 635 41 254 41 715 41 952 41 989 41 831 41 551 I Cut 44 222 aaa 0 512 0 674 0 539 40 512 0 579 0710 0 870 1 025 JDriver488 Workshop Device Enter Output Send Query Error Events Bus Digital Config Elx Device Name devHandle wave 1 7 _OpenName tiy result Closef0 devHandle OpenNamef wave bytecount Output O w1x 56 bytecount Enter 0 LPSTR data result Close 0 Function call Cut Shift Delete Copy Ctrl Insert Paste Shift nsert For this example we select the Enter command The Enter command returns the number of characters actually read In this example the return is 256 The Close command is used to close an open device handle Close should be called before ending a program For the most part all handles will be forcibly closed when a program terminates However in some instances handles can remain active due to the driver remaining in memory after program termination If a handle remains open no other programs will be able to access it including the program that left the handle open This completes a simple transaction Your application will no doubt be more compl
108. ograms originally written on slow PCs did not use delays because code execution was slow Some programmers even used For Next loops as delays All of these scenarios become problems when faster PCs are used For example inherent delays in slow code disappear For Next loop delays become shorter And programs stop running These issues can be avoided by polling instruments for status before sending or receiving data If time delays must be used then make sure the delay reads the system clock for timing information I am programming in Visual Basic My interface is installed correctly but the Enter function returns immediately with no data Why The most common trap Visual Basic programmers fall into is not allocating space in a string variable Dimensioning the string variable is not enough Adequate space must be allocated in the string for the expected data For example MyString Space 10 allocates enough space for 10 characters in MyString C 8 Troubleshooting 03 16 01 Personal488 for Windows 95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Appendix D PCI488 Specifications D 1 AT488pnp Specifications D 1 CARD488 Specifications D 1 AT488 Specifications D 2 GP488B Specifications D 2 GP488B MM Specifications D 2 Hardware Specifications PCI488 Specifications Note These specifications are subject to chang
109. on The following example problems are all diagnosed using the Analyzer488 Analyzer488 can be operated as a portable bench top analyzer from its easy to use keypad or from the included Analyst488 PC software Analyzer488 allows the events on the IEEE bus to be monitored stored and analyzed It can also be used to control devices on the bus for exercising and verifying instrument operation The Analyzer488 will automatically translate the state of the data bus and control lines into easy to read IEEE messages or ASCII equivalents like SPE TAG16 CR and LF Along with its large capture buffer Analyzer488 contains a comprehensive set of trigger features that allow the desired group of transactions to be easily pinpointed and identified C 2 Troubleshooting 03 16 01 Personal488 for Windows 95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Common Problems and Solutions Occasionally systems will encounter problems due to the interaction of several devices in the system These are among the most difficult problems to debug You should connect an Analyzer488 and let it run while the application is processing Recording the bus transactions as they occur and inspecting the transactions one at a time will usually allow you to diagnose these types of problems rather quickly Often the problems encountered in a system are due to interactions between one device and the controller
110. on can be exercised using Wintest Under the menu items of the Wintest application are all of the API functions calls Each menu item represents a category which are further described below Menu Item Group Description Device Commands dealing with accessing and configuring instruments Enter Used to read data from an instrument Output Used to write data or device dependent setup commands to an instrument Send Low level IEEE 488 commands LAG TAG UNL UNT etc Query Status polling commands Error Driver query and error handling commands Events Commands dealing with enabling and disabling bus events Bus Bus and instrument management commands Config Driver configuration commands Why use Wintest Wintest can be used to exercise and test every available API command In addition since Wintest displays the command s function call it is useful for example purposes Who uses Wintest The Wintest is an interactive utility intended for individuals e New to IOtech s Personal488 IEEE 488 controllers New to IEEE 488 control Getting familiar with IEEE 488 instruments Performing quick communication tests on instruments Performing installation verification Where is Wintest located Wintest is located in the Applications folder found under the installation directory If you choose the default directory Wintest will be located in C Program Files EEE488 A pplications The installation process
111. or any new Plug and Play devices on your system Your screen may go blank during this process This is normal To continue click Next lt Back Cancel Add New Hardware Wizard 3 Select No the device isn t in the list and click Next Is the device that you want to install listed below o the device isn t in the list Yes the device is in the list JEVICe tet YoU Wont to istell andthen CICK THE Devices SF PCI Card lt Back Cancel Add New Hardware Wizard 4 Select No I want to select the oer Windows can now search for hardware thatis not Plug and hardware from a list and click Play compatible or you can select your hardware from a list Next When Windows detects new hardware it automatically determines the current settings for the device and installs the correct driver For this reason itis strongly recommended that you have Windows search for your new hardware Do you want Windows to search for your new hardware C Yes Recommended lt Back Cancel 3 16 Installation 04 10 01 Personal488 for Windows 95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Add New Hardware Wizard Monitors Mouse Add New Hardware Wizard Sx N Personal488 CARD Personal488 MM Personal488 PCI Add New Hardware Wizard s Direct Memory A
112. or characters if any are stripped from the received data before the Enterx command returns to the calling application The forceAddr flag is used to specify whether the addressing control bytes are to be issued for each EnterX command If the device handle refers to an I O adapter then forceAddr has no effect and command bytes are not sent For an external device if forceAddr is TRUE then Driver488 always sends the UNL MLA and TAG command bytes If forceAddr is FALSE then Driver488 compares the current device with the previous device that used that interface adapter board for an EnterX command If they are the same then no command bytes are sent If they are different then Enterx acts as if the forceAddr flag were TRUE and sends the command bytes The forceAddr flag is usually set TRUE for the first transfer of data from a device and then set FALSE for additional transfers from the same block of data from that device Additional Enter Functions Driver488 provides additional Enter routines that are short form versions of the Enterx function The following Enter functions are already defined in your header file Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 16 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Enter LONG WINAPI Enter DevHandleT devHandle LPBYTE data Enter is equivalent to the following call to Enterx EnterxX devHandle data sizeof data
113. ote 4 6 Hardware Configuration Reference 04 09 01 Personal488 for Windows 95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com GP488B Configurations iam OPEN PENSE wn l IEEE 488 Connector 1 8 Bit One Card Edge swi BA No Wait States Base Address 02E1 Interrupt Level 5 OPEN On board 8 MHz Clock e o o OECHEORO O O o DMA Interrupt GP488B Interface Board GP488B Default Settings Level 5 Channel 1 The I O base address IRQ and DMA settings are switch jumper selectable via the following locations on the GP488B interface board One 8 microswitch DIP switch labelled SW1 two 12 pin headers labelled J3 and J4 and one 3 pin header labelled J5 The DIP switch settings and the arrangement of the jumpers on the headers set the hardware configuration For the next steps make sure that the I O address IRQ and DMA set on the interface board are different from any existing ports in your system A conflict results when two I O addresses IRQs or DMAs are the same As the exception additional GP488B interfaces may share the same IRQ and DMA values If there is a conflict reconfigure the switch jumper settings Re
114. plication software This note contains a brief IEEE tutorial followed by troubleshooting techniques The IEEE 488 Bus Standard Addresses Commands Each device on the IEEE 488 bus has a unique address even the controller The addresses range from 0 to 30 Addresses are the means by which controllers select specific instruments To send data to a device the controller must both address itself to talk and address the device to listen IEEE 488 recognizes two types of commands Device Dependent Commands DDCs and IEEE 488 specific commands DDC s such as ROFOT2X are simply data sent from one device to another in this instance from the controller to an instrument IEEE 488 specific commands come in two forms multiline commands and uniline commands Multiline commands are sent on the data bus lines uniline commands are individual signals on the bus The uniline signals are the easiest to decipher because each signal has one specific purpose All but two of these signals are issued exclusively by the controller Uniline Commands Interface Clear IFC is the most dramatic uniline command It stops all activities on the bus and returns the interface of every device to a quiescent state Remote Enable REN informs the devices on the bus that the IEEE interface is active It does not lock out an instrument s front panel Attention ATN is the signal that differentiates data from multiline commands on the data bus Whe
115. ppended to the output data as specified The forceAddr flag is used to specify whether the addressing control bytes are to be issued for each OutputX command If the device handle refers to an interface forceAddr has no effect and command bytes are not sent If the device handle refers to an external device and forceAddr is TRUE Driver488 addresses the interface to Talk and the external device to Listen If forceAddr is FALSE Driver488 compares the current device with the most recently addressed device on that interface If the addressing information is the same no command bytes are sent If they are different outputX acts as if the forceAddr flag were TRUE and sends the addressing information term is a pointer to a terminator structure that is used to set up the input terminators This pointer may be a null pointer requesting use of the default terminators for the device or it may point to a terminator structure requesting no terminators The compStat is a pointer to an integer containing completion status information A null pointer indicates that completion status is not requested Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 38 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Additional Output Functions Driver488 provides additional Output functions that are short form versions of the Outputx function The following Output functions are already defined in yo
116. program attempted to read from Driver488 when no response or data was available SEQUENCE DATA HAS NOT BEEN READ The user s program attempted to write data or commands to Driver488 without reading back the response to a previous command BOARD DOES NOT RESPOND AT SPECIFIED Driver488 is unable to communicate with the IEEE ADDRESS interface board Check the board address configuration and the software installation TIME OUT ON COMMAND MTA MyTalkAddress could not be sent within the TIME OUT E T re TIME OUT ON COMMAND MLA MyListenAddress could not be sent within the TIME OUT eee ene el TIME OUT ON COMMAND LAG Listen address es could not be sent within the TIME OUT ee Oe a period UnListen could not be sent within the TIME OUT period UnTalk could not be sent within the TIME OUT period ONLY AVAILABLE TO SYSTEM CONTROLLER Driver488 could not execute a command because it was not the System Controller RESPONSE MUST BE 0 THROUGH 15 The RESPONSE parameter of the PPOLL CONFIG command must be within the range of 0 to 15 The REQUEST command is only valid when Driver488 is in the Peripheral CA mode 27 30 Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Error Codes A 1 10 1 1 12 13 14 5 1 a5 21 22 17 18 19 21 3 2 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Driver488 is already addressed to talk by MTA must be 8
117. r peripheral data transfer Channel 2 is usually used by the floppy disk controller and is also unavailable Channel 3 is often used by the hard disk controller in PCs XTs and the PS 2 with the ISA bus but is usually not used in ATs So depending on your hardware DMA Channels and possibly Channel 3 are available Under some rare conditions it is possible for high speed transfers on DMA Channel 1 to demand so much of the available bus bandwidth that simultaneous access of a floppy controller will be starved for data due to the relative priorities of the two channels Personal488 for Windows 95 98 Me NT 2000 04 09 01 Hardware Configuration Reference 4 13 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Note 4 14 Hardware Configuration Reference 04 09 01 Personal488 for Windows 95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Using IEEE 488 5 IEEE 488 Configuration Utility 5 1 WinTest Driver488 WorkShop 5 4 Differences Between 32 bit and 16 bit Driver488 Software 5 10 Programming Language Support 5 10 Microsoft Visual C 5 10 Borland C 5 11 Microsoft Visual BASIC 512 Borland Delphi 5 13 Support for Other Languages 5 13 16 Bit Driver488 W95 Compatibility Layer 5 13 IEEE 488 Configuration Utility The IEEE 488 configu
118. r screen may go blank during this process This is normal To continue click Next lt Back Cancel 3 Select No the device isn t in the list and click Next ls the device that you want to install listed below C Yes the device is in the list Devices I Advanced Power Management support lt Back Cancel 4 Select No I want to select the P Windows can now search for hardware that is not Plug and hardware from a list and click Play compatible or you can select your hardware from a list Next When Windows detects new hardware it automatically determines the current settings for the device and installs the correct driver For this reason itis strongly recommended that you have Windows search for your new hardware Do you want Windows to search for your new hardware C Yes Recommended lt Back Cancel 3 10 Installation 04 10 01 Personal488 for Windows 95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Windows 98 Add New Hardware Wizard 5 Select EEE 488 2 Controllers and click Next a Hard disk controllers Add New Hardware Wizard 6 Windows will now display a list of devices to install Select your specific Personal488 interface product AN 7 After making the selection lOtech Inc click Next Manufacturer Windows will now display the default r
119. r than V2 0 e g V1 0 or V1 56 support can only be attained by using the 16 Bit Driver488 W95 Compatibility Layer see section below since these versions of Visual C are 16 bit only In this case the Visual C support from the Driver488 W31 should be used to develop and build the application 5 10 Using IEEE 488 04 09 01 Personal488 for Windows 95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Borland C The IOTSLPIB DLL and corresponding export library IOTSLPIB LIB were developed and built using Microsoft Visual C Therefore all that is needed is to include the IOTIEEE H file into the source code include statements and link to the IOTSLPIB LIB export library file located By default all language support files and examples are located in lt InstallDirectory gt IEEE488 Programming Language Support Example Programs C To begin your first project perform the following 1 Launch Microsoft Visual C from Developers Studio 2 Under the File menu select New then select Project 3 If using an existing example then select Console Mode Application otherwise select a project type which best serves your needs Follow the project wizard instructions 5 Under the Project menu select Add to Project then select Files 6 Add the IOTIEEE H IOTERROR H IOTSLPIB LIB files to the project by browsing to the language support described above 7 Ifusing an
120. rX command term is a pointer to a terminator structure that is used to set up the input terminators If term is set to 0 the default terminator is used reserved this value is ignored compStat is a pointer to an integer containing completion status information 1 if error otherwise the actual count of bytes transferred The memory buffer pointed to by the data parameter is filled in with the information read from the device Note that the actual count does not include terminating characters if term characters are specified by the term in function In addition term characters are not returned but are discarded Bus States With interface handle ATN data With external device handle ATNeUNL MLA TAG ATN data term EOI TRUE term nChar 1 term EightBits TRUE term termChar 0 r bytecount Enterx timer data 1024 0 amp term 1 amp stat Outputx Term Buffered The EnterxX command reads data from the I O adapter If an external device is specified then Driver488 is addressed to Listen and that device is addressed to Talk If an interface is specified then Driver488 must already be configured to receive data and the external device must be configured to Talk either as a result of an immediately preceding EnterX command or as a result of one of the Send commands EnterxX terminates reception on either the specified count of bytes transferred or the specified or default terminator being detected Terminat
121. ration utility is located in Windows Control Panel The configuration utility is primarily used to setup the Interfaces and External Devices As seen in the following figure it is similar to the Device Manager Note By default the configuration utility always shows four interfaces IEEEO IEEE 1 IEEE 2 amp IEEE 3 even when only one interface is actually installed Interfaces The minimum requirement for configuring your system is to make certain the IEEE 488 2 interface is properly selected and configured lt d x Bus Configuration D Primary Address 21 x z EET kw timary Address EEEO i ae Timeout ms froooo E KA IEEE2 r Terminators H IEEES EOI Eos Tem1 Tem2 Input M crir fio fio Output IV CR_LF x fiz fic r Interface Hardware p The Interface Hardware box lists all the PCI PCI bus 0 device 9 functiorfig available interfaces In the figure IEEEO M Enable Block Mode is assigned to a Personal488 PCI interface Properties Add Device Cancel Apply Personal488 for Windows 95 98 Me NT 2000 04 09 01 Using IEEE 488 5 1 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com External Devices Within your IEEE 488 2 application program a handle accesses devices on the bus Accessing named devices creates these handles For example the following function call handle OpenName Wave returns a handle for a
122. re for Notebook amp Desktop PCs This CD contains several driver software packages for DOS and Windows The following table shows which Driver488 packages can be used with each IEEE 488 Controllers product type Folder In CD Root Directory gt Win9x_WinNT W31 DRV SUB NI Supported Operating System gt 2000 9x amp Me NT 3x DOS DOS Pan Personal488 ISA v v v v v v v Personal488AT ISA vA v vA v v v V Personal488 Atpnp ISA pnp s vA No No No No v Personal488PCl PCI vA vA Y No No No v Personal488CARD PC CARD vA v No vA v v v Personal 488MM PC104 v v v y v v v Reference Note Refer to Appendix E for National Instruments information The CD contains all of the Driver488 packages available for current IEEE 488 Controller products The various driver packages are organized according to the directory tree structure shown below The location of each package is shown below along with the name of the installation program in each directory Before running any of the installation programs please look for a read me file in the same directory as the install program When present it may contain important installation instructions Personal488 for Windows 95 98 Me NT 2000 04 10 01 CD ROM Driver 488 Software Packages 2 1 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Driver488 Packages Driver488 DRV IEEE
123. red for use with Driver488 NI 372 If it is not follow these steps 1 Install Driver488 W95 or WNT and the Personal488 hardware as described in the User Manual You must have a working software and hardware installation before proceeding to the next step The Driver488 W95 installation copies the Driver488 NI files to your computer in a directory called Driver488 NI under Programming Language Support Compatibility under the installation directory 2 Copy the file Gpib 32 DLL into the Windows System directory normally C Windows System over the existing file You may want to make a backup copy of the existing Gpib 32 DLL before performing this step Upgrading from a Previous Version If you have been using the 16 bit version communication was through Gpib dll The 32 bit version uses Gpib 32 dll Follow the instructions in step 2 Miscellaneous Hints and Tips This driver is a direct replacement of National Instruments GPIB 32 DLL No program modifications are required IBDIAG IBTEST IBIC amp GPIBINFO are not supported Asynchronous I O is not explicitly supported and will be treated as synchronous The interface IEEEO must be defined in the TIEEE488 control panel applet The interface hardware selected for TEEEO0 will be used The interface name GPIBO is inferred and does not have to be defined Any additional device names ex DEV 1 should be defined in the TIEEE488 control panel applet if they are to be
124. refers to either an IEEE 488 interface or an external device If devHandle refers to an external device then the Disarm command acts on the hardware interface to which the external device is attached condition specifies which of the conditions are no longer to be monitored If condition is 0 then all conditions are Disarmed otherwise the current bit map of the event condition mask Bus States None errorcode Disarm ieee acTalk acListen l acChange errorcode Disarm ieee 0 The Disarm command prevents Driver488 from invoking an event handler and interrupting the PC even when the specified condition occurs Your program can still check for the condition by using the Status command If the Disarm command is invoked without specifying any conditions then all conditions are disabled The Arm command may be used to re enable interrupt detection Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 15 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com EnterxX Syntax LONG WINAPI EnterX DevHandleT devHandle LPBYTE data DWORD count BOOL forceAddr TermT term BOOL reserved LPDWORD compStat devHand_1e refers to either an IEEE 488 interface or an external device data is a pointer to the buffer into which the data is read count is the number of characters to read forceAddr is used to specify whether the addressing control bytes are to be issued for each Ente
125. rnal device the Talk command acts on the associated interface primary and secondary specify the primary and secondary addresses of the device which is to be addressed to Talk Rems are OOOO o Example errorcode Talk ieee 12 1 The Talk command addresses an external device to Talk Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 55 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Term Syntax INT WINAPI Term DevHandleT devHandle TermT term DWORD termFlag devHand_1e refers to either an interface or an external device term is a pointer to the terminator structure termF lag can be either TERMIN TERMOUT or TERMIN TERMOUT specifying whether input output or both are being set cn fame OOOO S SO Bus States None term EOI TRUE term nChar 1 term EightBits TRUE term termChar 0 13 errorcode Term ieee amp term TERMIN TermQuery EnterX OutputX Status The Term command sets the end of line EOL terminators for input from and output to I O adapter devices These terminators are sent at the end of output data and expected at the end of input data in the manner of CR LF as used with printer data During output Term appends the bus output terminator to the data before sending it to the I O adapter device Conversely when Driver488 receives the bus input terminator it recognizes the end of a transfer an
126. rnment Printing Office Washington D C 20402 CE Notice Many IOtech products carry the CE marker indicating they comply with the safety and emissions standards of the European Community As applicable we ship these products with a Declaration of Conformity stating which specifications and operating conditions apply Warnings Cautions Notes and Tips Refer all service to qualified personnel This caution symbol warns of possible personal injury or equipment damage under noted conditions Follow all safety standards of professional practice and the recommendations in this manual Using this equipment in ways other than described in this manual can present serious safety hazards or cause equipment damage 4 This warning symbol is used in this manual or on the equipment to warn of possible injury or death from electrical f shock under noted conditions This ESD caution symbol urges proper handling of equipment or components sensitive to damage from electrostatic discharge Proper handling guidelines include the use of grounded anti static mats and wrist straps ESD protective bags and cartons and related procedures This symbol indicates the message is important but is not of a Warning or Caution category These notes can be of great benefit to the user and should be read In this manual the book symbol always precedes the words Reference Note This type of note identifies the location of additional information tha
127. roller Second it verifies that Driver488 was able to receive confirmation of command execution IRQ from the interface Personal488 PCI Windows 2000 Driver Release 1 0 6 Feb 21 2001 Personal488 Driver Library Release 2 6 6 Mar 5 2001 Cut Shift Delete Paste Shift Insert Copy Ctr Insert The Clear command is an ideal test command since it writes only low level commands to the IEEE 488 bus No data is transferred during the execution of the Clear command Because all standard IEEE 488 devices read and evaluate low level commands the Clear command test avoids issues such as the instrument s IEEE 488 address device dependent commands and EOS characters that would otherwise be necessary to know in advance How do communicate with my instrument With the exception of transferring binary data or uploading large amounts of data to devices Wintest can be used to thoroughly exercise IEEE 488 devices Start Wintest and click the devHandle field which lists your pre configured devices For more information regarding pre configured devices refer to the section IEEE 488 Configuration Utility If no changes were made to the factory default the table should include a device called Wave Select the device Wave then click the OpenName button The number 1 in brackets will change to a positive number greater than 1 indicating that the device handle has been assigned This positive number is the device s
128. rror command is user called after another function returns an error indication The device handle sent to the function that returned the error indication is sent to GetError as its devHandle parameter GetError finds the error associated with that device and returns the error code associated with that error If a non null error text pointer is passed GetError also fills in up to 247 bytes in the string The application must ensure that sufficient space is available Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 20 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com GetErrorList Syntax ErrorCodeT WINAPI GetErrorList DevHandlePT devHandleList LPSTR errText DevHandlePT errHand1le DevHandleList is a pointer to a list of external devices that was returned from a function due to an error associated with one of the external devices in the list errText is the text string that contains the error message You must ensure that the string length is at least 247 bytes errHand_1e is a pointer to the device handle that caused the error 1 if error otherwise it returns the error number associated with the given list of devices Bus States char errText 329 int errHandle int errnum result ClearList list if result 1 errnum GetErrorList list errText amp errHandle printf Error d s at handle d n errnum errText errHandle Error
129. rsonal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 39 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com PPoll INT WINAPI PPoll DevHandleT devHandle devHand1e refers to either an interface or an external device If devHand1le refers to an external device then the PPo11 command acts on the hardware interface to which the external device is attached D e otherwise a number in the range 0 to 255 Bus States ATNeEOI EOI Example errorcode PPoll ieee PPollConfig PPollUnconfig PPollDisable SPoll The PPol1 Parallel Poll command is used to request status information from many bus devices simultaneously If a device requires service then it responds to a Parallel Poll by asserting one of the eight IEEE 488 bus data lines DIO1 through DIO8 with DIO1 being the least significant In this manner up to eight devices may simultaneously be polled by the controller More than one device can share any particular DIO line In this case it is necessary to perform further Serial Polling SPo11 to determine which device actually requires service Parallel Polling is often used upon detection of a Service Request SRQ though it may also be performed periodically by the controller In either case PPo11 responds with a number from 0 to 255 corresponding to the eight binary DIO lines Not every device supports Parallel Polling Refer to the manufacturer s doc
130. s 95 98 Me NT 2000 04 06 01 Installation 3 5 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Windows 95 Add New Hardware Wizard 7 Make note of the displayed settings as you must configure the jumpers and switch settings before installing an AT488 or GP488B Direct Memory Access 07 Input Output Range Interrupt Request Add New Hardware Wizard 8 Click Finish System Settings Change PBJ 9 Click Yes proceed with Windows 95 Hardware Installation 3 6 Installation 04 10 01 Personal488 for Windows 95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Windows 95 Hardware Installation for Windows 95 Users Plug and Play Devices Personal488 PCI Personal488 ATpnp Personal488 Card 1 If you have not already done so shutdown Windows 95 after the IEEE 488 software has been successfully installed 2 Remove power from the PC 3 Physically install your interface As a quick reference Personal488 PCI installs into a 32 bit PCI expansion slot Personal488 ATpnp installs into a 16 bit ISA expansion slot and Personal488 Card installs into a PC card slot 4 Return power to the PC After the computer powers up Windows will detect your new hardware This completes the installation procedure Non plug and play Devices Personal488 AT AT488 Personal488 GP488Bplus Personal488 MM
131. sactions goes beyond 32 767 the capture pointer will wrap around and continue to record The last 32 767 transactions will always be stored in memory When the system crashes the processing of IEEE bus transactions will probably end also With the last 32K transactions captured in memory it is easy to step back through the capture buffer and decipher the sequence of operations that caused the crash One possible cause for an intermittent crash problem is the asynchronous occurrence of SRQs as discussed above There may be areas in your application program that do not react well to being interrupted Since the SRQ can happen at any time it may or may not occur during the processing of this sensitive area But the longer the system runs the probability that the SRQ will happen at exactly the wrong time increases A sensitive area may be a part of your code that uses a group of closely related variables that are modified by the SRQ handler For example three IEEE 488 counters are used to take readings from three motion encoders Each counter is programmed to generate an SRQ when its count reaches 256 The SRQ handler reads all three counters and stores them into three separate variables used later by the main program The main program has a loop that reads the three variables combines them with some calculation and sends commands to a motor controller If the main program was in the process of using the variables and an SRQ occurred which modifies all
132. se address Most versions of Driver488 are capable of managing as many as four IEEE 488 interfaces To do so the interface configurations must be arranged to avoid conflict No two boards may have the same I O address but they may and usually should have the same DMA channel and interrupt level Configuring the GP488B MM PC104 Interface Interrupt IRQ Swi ool ool l o ol oo o o o Te lt oy ol ol oF ot 5 oo gt oD ca lop fap isp CN Ce N NI a A NI o N z mn BA e eo JP3 IRQ2 e e e o o IRQ3 Lee e e IRQ4 e o gt al 2 IRQ5 s e ome e IRQ6 o o 90 o o Cad 9 0 IRQ7 e 0 e o o OEC o o e nterrupt Interrupt Interrupt Interrupt nterrupt Interrupt Level 2 Level 3 Level 4 Level 5 Level 6 Level 7 GP488B MM PC104 Interrupt Selections The factory default Interrupt IRQ is 5 If this creates a conflict reset SW1 microswitches 1 2 and 3 and jumper JP3 according to the figure The switch and jumper settings must both indicate the same interrupt lev
133. serted If there are no more recorded transactions then no instrument was placed in the Listen mode The controller had no one to handshake with so it timed out Your instrument is probably set to the wrong address At certain points in my program the system stops and I receive a time out error If portions of your program are operating correctly then you can be certain that your addresses are set correctly If you encounter a time out error in your program after other instrument tasks have been completed successfully you may have encountered an instrument readiness problem IEEE interfaces and software like IOtech s Personal488 operate very rapidly and can sometimes out run the instrument they are controlling For most instruments data requests are performed in two steps sending the necessary setup or inquiry commands via DDCs then addressing the device to Talk It is possible to issue the necessary commands to request the data from the instrument and then address it to Talk long before it is prepared to supply the requested data Many instruments will simply pause the bus until they have prepared the data to send However other instruments react poorly by hanging up To check for this outracing condition place the Analyzer488 into the Slow Handshake mode This will effectively slow the transaction speed of the bus to a rate set by the Analyzer488 If the data request takes place successfully it is probably an ou
134. sets up a shortcut to Wintest This shortcut is found under Start gt Programs gt IOtech Driver488 gt Wintest The shortcut can be used to easily start Wintest 5 4 Using IEEE 488 04 09 01 Personal488 for Windows 95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com How can verify that my Personal488 interface is installed and working This section consists of a 6 step walk through in which Wintest is used to verify instrument communication aax Step 1 Device Enter Output Send Query Error Events Bus Digital Config Device Launch Wintest from the Programs Name devHandle ENG menu Step 2 Select Wave 1 from the devHandle drop down box Cut Shift Delete Copy Ctrnsert Paste Shift4nsert x Step 3 Device Enter Output Send Query Error Events Bus Digital Config Dae Press the OpenName button Name devHandle wave 0 z OpenName Close List A Hello window will open and display m Function call i devHandle OpenName Wave driver revisions 0 devHandle OpenName Wave Note If an error occurred and the Hello window did not appear then the installation failed and Wintest did not access the drivers If this occurs run Personal488 PCI Windows 2000 Driver Release 1 0 6 Feb 21 2001 a the installation progranm found om the Personal488 Driver Library Release 2 6 6 Mar 5 2001 a I
135. ss Status The FindListeners command finds all of the devices configured to Listen at the specified primary address on the IEFE 488 bus The command first identifies the primary address to check and returns the number of Listeners found and their addresses Then it fills the user supplied array with the addresses of the Listeners found The number of Listeners found is the value returned by the function The returned values include the secondary address in the upper byte and the primary address in the lower byte If there is no secondary address then the upper byte is set to 255 hence a device with only a primary address of 16 and no secondary address is represented as OxFF10 or 240 decimal Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 19 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com GetError ErrorCodeT WINAPI GetError DevHandleT devHandle LPSTR errText devHand1e refers to either the IEEE 488 interface or the external device that has the associated error errText is the string that will contain the error message If errText is non null the string must contain at least 247 bytes O ___ otherwise it returns the error code number associated with the error for the specified device Bus States Example errnum GetError ieee errText printf Error number d s n errnum errText See Also Error GetErrorList Status The GetE
136. ss including clearing all error conditions Disarm Reset hardware resets to Peripheral if not System Controller Abort if System Controller Error ON Local Request 0 if Peripheral Clear Change Trigger and Clear status Reset I O adapter settings to installed values BusAddress TimeOut IntLevel and DmaChannel Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 48 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com SendCmd INT WINAPI SendCmd DevHandleT devHandle LPBYTE commands DWORD count DevHand_1e refers to an interface handle Commands points to a string of command bytes to be sent count is the length of the command string Retums tiferor Bus States User defined char command U 0 errorcode SendCmd ieee amp command sizeof command SendData SendEoi The Sendcmd command sends a specified string of bytes with Attention ATN asserted causing the data to be interpreted as IEEE 488 command bytes Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 49 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com SendData INT WINAPI SendData DevHandleT devHandle LPBYTE data DWORD count DevHand1e refers to an interface handle data points to a string of data bytes to be sent count is the length of the data string Returns 4 if error S y O
137. t may prove helpful References may be made to other chapters or other documentation Tips provide advice that may save time during a procedure or help to clarify an issue Tips may include additional reference Specifications and Calibration Specifications are subject to change without notice Significant changes will be addressed in an addendum or revision to the manual As applicable IOtech calibrates its hardware to published specifications Periodic hardware calibration is not covered under the warranty and must be performed by qualified personnel as specified in this manual Improper calibration procedures may void the warranty Quality Notice D IOtech has maintained ISO 9001 certification since 1996 Prior to shipment we thoroughly test our products and review our documentation to assure the highest quality in all aspects In a spirit of continuous improvement IOtech welcomes your suggestions Personal488 User s Manual for Windows95 98 Me NT 2000 iii Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Your order was carefully inspected prior to shipment When you receive your system carefully unpack all items from the shipping carton and check for physical signs of damage that may have occurred during shipment Promptly report any damage to the shipping agent and your sales representative Retain all shipping materials in case the unit needs to be returned to the factory
138. t of specified devices deviceList 3 NODEVICE errorcode TriggerList deviceList Trigger SendCmd Status The TriggerList command issues a Group Execute Trigger GET bus command to the specified devices If no interface devices are specified then the GET affects those devices that are already in the Listen state as a result of a previous Output or Send command Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 61 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com UnListen Syntax INT WINAPI UnListen DevHandleT devHandle devHand1e refers to either an interface or an external device If devHand1le refers to an external device the UnListen command acts on the associated interface Rems ameo O SS Bus States ATN UNL Example errorcode UnListen ieee Listen UnTalk SendCmd Status The UnListen command unaddresses an external device that was addressed to Listen Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 62 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com UnTalk Syntax INT WINAPI UnTalk DevHandleT devHandle devHand1e refers to either an interface or an external device If devHand1e refers to an external device the UnTalk command acts on the associated interface Rems amer S Bus States ATN UNT Example errorcode UnTalk
139. tation Guaranteed 888 88 SOURCE www artisantg com printf n n qsk xfered Spoll wave1l6 qsk x Close wavel4 qsk x Close wavel6 qsk x Close ieee0 Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 36 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com OpenName DevHandleT WINAPI OpenName LPSTR name name is the name of an interface or external device 1 if error otherwise the device handle associated with the given name Bus State None dmm OpenName DMM Opens the external device DMM dmm OpenName IEEE DMM Specifies the interface to which the external device is connected MakeDevice Close The OpenName command opens the specified interface or external device and returns a device handle for use in accessing that device Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 37 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Outputx LONG WINAPI OutputX DevHandleT devHandle LPBYTE data DWORD count BOOL last BOOL forceAddr TermT term BOOL reserved LPDWORD compStat devHand1e refers to either an interface or an external device If devHand1le refers to an external device the OutputX command acts on the hardware interface to which the external device is attached data is a string of bytes to send count is the nu
140. tch jumper selectable via the following locations on the AT488 interface board One 2 microswitch DIP switch labelled S1 one 4 microswitch DIP switch labelled S2 two 14 pin headers labelled DACK and DRQ and one 22 pin header labelled IRQ The DIP switch settings and the arrangement of the jumpers on the headers set the hardware configuration For the next steps make sure that the I O address IRQ and DMA set on the interface board are different from any existing ports in your system A conflict results when two I O addresses IRQs or DMAs are the same As the exception additional AT488 interfaces may share the same IRQ and DMA values If there is a conflict reconfigure the switch jumper settings Refer to the following figures as needed Configuring the AT488 Interface I O Base Address 1 567012 3 DMA 16 Bit Channel 5 ime S2 RE s 12 Le Base Address Interrupt 02E1 Level 5 OPEN OPEN OPEN OPEN 02E1 22E1 DACK hee ee O eee E iL 2 i2 oe o ie le oe Vv K DRQ OFM OR DMDOLTNYTWO ees oe Stl Te OPEN OPEN oe we Interrupt Level 5 42E1 62E1 AT488 1 0 Base AT488 Default Settings Address Selections The factory default I O base address is 02E1 If this creates a conflict reset switch S1 according to the figure and following table The register addresses will be autom
141. ter was unable to interpret command and no other information was available 102 ERROR OPENING DEVICE s Possible loss of electrical or logical connection DEVICE s CURRENTLY LOCKED BY s Device is in use by another processor in a multiprocessing environment This does not refer to multitasking environments 70 71 72 73 74 7 7 7 7 7 n 5 6 7 8 9 81 83 87 88 91 3 9 fal 86 al hal CE 92 93 i 102 Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Error Codes A 3 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com the time out interval has subsequently been closed 106 IPX IS NOT LOADED Unable to access device via network communications 107 INTERFACE IS BUSY Remote IEEE 488 interface is busy 108 TIMER COUNTER REQUIRES INTERRUPTS TO BE Interrupts are required for proper Driver488 function of this CONFIGURED device 109 INVALID INTERRUPT LEVEL Request interrupt level is not supported by this hardware 1 MUST REMOVE DOS NAME FIRST Attempted to remove a Driver488 device underlying a DOS device NO WINDOWS TIMERS AVAILABLE Driver488 W31 requires use of a Windows timer that was unavailable Close other applications using Windows timers and retry OBSOLETE LIBRARY FUNCTION The called function is no longer supported UNABLE TO GET PROCEDURE ADDRESS Thunking layer internal error MEMORY ALLOCATION ERROR Thunking layer in
142. ternal error FUNCTION ARGUMENT IS BAD READ POINTER An invalid pointer argument was passed to a thunking layer function FUNCTION ARGUMENT IS BAD WRITE POINTER An invalid pointer argument was passed to a thunking layer function OTHER THUNKING LAYER ERROR Thunking layer internal error THE NAMED DEVICE IS ALREADY OPEN OpenName was called with the name of a device that is already open 1 INVALID SYSTEM RESOURCE SETTING Driver detected invalid PnP resource setting 120 INTERFACE HARDWARE IS NOT PRESENT OR OpenName was called with the name of a device that has HAS NOT BEEN SELECTED not been assigned to a hardware device 1 1 04 05 0 1 1 11 112 113 114 115 116 117 118 19 A 4 API Error Codes 04 10 01 Personal488 for Windows 95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Appendix ASCII Codes ADDRESSED UNIVERSAL COMMANDS COMMANDS KEY B7 1 1 1 1 B655 2 1 i 1 BITS CONTROL NUMBERS UPPER CASE LOWER CASE SYMBOLS B4 B3 B2 B 160 120 16 eE a re d oe et 64 56 LLO t 121 141 Va vrs felon ha ae fs 1 1 11 17121 S351 49141 65 5i 2 102 122 rez va vat ers f Ba fe fe 2 34 32 50142 66 52 82162 72 3 235 63 103 123 163 varie Boon Fa Ki 55 53 4 DCLIi4 64 4 aa 20124 2101 5 6 119 0 6 T 1 1 1 t H Pa cae ice 8 8 10417 11 SPD 68 rr fete 9 911
143. tes Dimensions Half size board one card edge occupies one ISA slot IEEE 488 Connector Accepts standard IEEE 488 connector with metric studs Power 650 mA max 5 V from PC Environment 0 to 70 C 0 to 95 RH non condensing DMA 8 bit DMA on channels 0 1 2 and 3 jumper selectable Interrupts IRQ 2 3 4 5 6 or 7 IEEE 488 I O Base Address amp H02E1 amp H22E1 amp H42E1 or amp H62E1 Multiple Boards Up to four GP488B boards can be installed sharing a single DMA channel and interrupt line GP488B MM Specifications Note 1 GP488B MM is only compatible with the Ampro PC 104 2 Only GP488B MM Revision B is discussed in this manual 3 Microswitches 6 7 and 8 on switch SW1 do not have a function on this board 4 These specifications are subject to change without notice IEEE 488 Controller Device OT7210 Maximum Transfer Rate 8 bit DMA 330 Kbyte s reads and writes Connector 26 pin header ribbon cable to IEEE 488 standard connector Power 650 mA 5 V from PC Environment 0 to 70 C 0 to 95 RH non condensing DMA 8 bit DMA on channels 0 1 2 and 3 Gumper selectable Interrupts IRQ 2 3 4 5 6 or 7 IEEE 488 Base I O Addresses amp H02E1 amp H22E1 amp H42E1 or amp H62E1 D 2 Hardware Specifications 03 16 01 Personal488 for Windows 95 98 Me NT 2000 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Appendix E Overview E 1
144. three variables the main program may end up using one old value and two new ones in its calculation One way to avoid this kind of problem is to disarm the automatic SRQ vectoring during the processing of sensitive program areas IOtech s Driver488 has several means by which to arm disarm and synchronize the servicing of SRQs to your program Another source of system malfunctions is from the instruments themselves Most of today s complex instruments are microprocessor controlled The internal processor handles the collection of data the changing of programmable states the monitoring of trigger events and the communication on the IEEE interface These instruments are actually computers prone to all of the same problems as any other computer It is possible that your instrument reacts improperly to a perfectly good application program The transaction report that Analyzer488 prints out can be used to communicate instrument problems to the manufacturer The report is easy to read and concisely describes the operation of the controller and the response of the instrument New Standards Simplify Programming Many of the difficulties encountered during the development of IEEE software are due to the non standard elements of operating the IEEE bus Terminators common command syntax and SRQ handling among others were not standardized within IEEE 488 1 and were left to the instrument and controller designers to deal with New standards and
145. tracing condition Personal488 for Windows 95 98 Me NT 2000 03 16 01 Troubleshooting C 3 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com My instrument seems unaffected by the commands send to it If you have already made certain that you are sending the commands to the right instrument address you may have left off a crucial piece of information that instructs the instrument to process the commands IEEE systems usually use data delimiters called terminators A Talker will inform a Listener that the data string has come to an end by appending a predefined terminator to the end of its data string Although terminators are issued solely by the talking device the listening device s must know what terminator to expect Usually IEEE instruments will issue a carriage return CR and a line feed LF as their terminator Some instruments will not process the incoming command string until they detect the proper terminator You should step through the transactions captured by the Analyzer488 to verify the transmission of the terminator then make certain that it agrees with the terminator expected by your instrument Some instruments have a DDC which instructs the instrument to process all of the previously received commands This EXECUTE command typically a character like X allows a programmer to send several commands to an instrument in any order over any length of time and
146. uality Instrumentation Guaranteed 888 88 SOURCE www artisantg com Configuring the AT488 Interface Interrupt IRQ S2 KK Hs ue 1234 12 3 4 1234 OPEN OPEN OPEN OPEN OPEN OPEN IRQ 3 a ae 4 e o o 5 o o OEC 6lo o O O 0 oO 7 E e e 9 O O 10 9 oO 11 19 0 e O O 12 o e 14 e o 15 oe gt e Interrupt Interrupt Interrupt Interrupt nterrupt Interrupt Level 3 Level 4 Level 5 Level6 Level 7 Level9 S2 1234 1234 1234 KRN 1234 OPEN OPEN OPEN OPEN OPEN IRQ O O Oo o e 6 e O O e o e e o e o o e o a o o e o ie Oo o o Oo o eo o oe oe 0 0 ore nterrupt Interrupt nterrupt Interrupt nterrupt Level 10 Level 11 Level 12 Level 14 Level 15 AT488 Interrupt Selections The factory default Interrupt IRQ is 5 If this creates a conflict reset switch S2 and jumper IRQ according to the figure The switch and jumper settings must both indicate the same interrupt level for correct operation with interrupts If reset record the new Interrupt IRQ being used The AT488 interface board may be set to interrupt th
147. umentation for each bus device to determine if PPo11 capabilities are supported Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 40 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com PPollConfig INT WINAPI PPollConfig DevHandleT devHandle BYTE ppresponse devHand_1e refers to either an interface or an external device to configure for the Parallel Poll ppresponse is the decimal equivalent of the four binary bits S P2 P1 and PO where S is the Sense bit and P2 P1 and PO assign the DIO bus data line used for the response Rems arer SSS i y Bus States ATNeUNL MTA LAG PPC Example errorcode Configure device DMM to assert DIO6 when it desires service PPollConfig ist 1 and it is Parallel Polled 0xOD amp HOD 1101 dmm 0x0D binary S 1 P2 1 P1 0 PO 1 101 binary 5 decimal DIO6 PPoll PPollUnconfig PPollDisable The PPollConfig command configures the Parallel Poll response of a specified bus device Not all devices support Parallel Polling and among those that do not all support the software control of their Parallel Poll response Some devices are configured by internal switches The Parallel Poll response is set by a four bit binary number response S P2 P1 and PO The most significant bit of response is the Sense S bit The Sense bit is used to determine when the device will assert its Parallel Poll response Each bus d
148. up Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com MyTalkAddr Syntax INT WINAPI MyTalkAddr DevHandleT devHandle devHand1e refers to either an interface or an external device If devHand1e refers to an external device the MyTalkAddr command acts on the associated interface Rems amer Oo S Bus States ATN MTA See Also MyListenAddr Listen SendCmd Example errorcode MyTalkAddr ieee The MyTalkAddr command addresses the interface to Talk Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 31 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com OnDigEvent AT488pnp and PCI488 Only Windows9x Only INT WINAPI OnDigEvent DevHandleT devHandle HWND hwnd OpaqueP 1Param devHand_1e refers to an interface handle hwnd is the window handle to receive event notification 1Param value will be passed in the notification message Reus tienr OOS OnDigEvent devHandle Sets the event notification to be via a window message TRUE Ox10L to the specified window handle The value 0x10 will be passed with the message DigArm OnDigEventVDM OnEvent The OnDigEvent command sets the handle of a window to receive a notification message when a digital match event is triggered This function uses the same mechanism as the OnEvent command For details see the description of OnEvent Note This function sets the
149. ur header file Output LONG WINAPI Output DevHandleT devHandle LPBYTE data Output is equivalent to the following call to Outputx OutputX devHandle data strlen data 1 1 0L 0 0L The Output function passes the device handle and data buffer to the Outputx function It determines the size of the data buffer that you provided and passes that value as the count parameter It specifies that the forceAddr flag is set TRUE which causes Driver488 to address the device if an external device is specified The default terminators are chosen by specifying a 0 pointer as the terminator parameter Synchronous transmission is specified by sending 0 for the async parameter and the completion status value is ignored by sending a 0 for the compStat pointer OutputN LONG WINAPI OutputN DevHandleT devHandle LPBYTE data DWORD count OutputN is equivalent to the following call to OutputX OutputX devHandle data count 0 1 0L 0 0L The OutputN function passes the device handle and a pointer to the data buffer to the outputX function It specifies that the forceAddr flag is set TRUE which causes Driver488 to address the device if an external device is specified The default terminators are chosen by specifying a 0 pointer as the terminator parameter Synchronous transmission is specified by sending 0 for the async parameter and the completion status value is ignored by sending a 0 for the compStat pointer OutputMore LONG WINAPI OutputMor
150. ut structures and timeout in NULL 10000 milliseconds MakeDevice KeepDevice RemoveDevice OpenName Close This is a new function in Driver488 W95 and in Driver488 WNT This function is similar to the MakeDevice function except that MakeNewDevice will create a new device based on the parameters specified instead of simply cloning an existing device The MakeNewDevice command does not save the parameters of the newly created device in the system registry To keep the device it is necessary to call the KeepDevice function Note The MakeNewDevice command will only create not save a new device Interface descriptions are created and maintained by the configuration utility and the IEEE 488 configuration applet in the Windows Control Panel Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 29 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com MyListenAddr Syntax INT WINAPI MyListenAddr DevHandleT devHandle devHand1e refers to either an interface or an external device If devHand1e refers to an external device the MyListenAddr command acts on the associated interface Rems ameo O Bus States ATN MLA See Also MyTalkAddr Talk Listen SendCmd Example errorcode MyListenAddr ieee The MyListenAddr command addresses the interface to Listen Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 30 Artisan Technology Gro
151. vHand1le refers to an external device the AutoRemote command acts on the hardware interface to which the external device is attached flag may be either OFF or ON aaa 1 if DevHand1eT is an illegal device or interface otherwise the previous state is returned Bus States errorcode AutoRemote ieee ON See Also Local Remote EnterX OutputxX The AutoRemote command enables or disables the automatic assertion of the Remote Enable REN line by Output When AutoRemote is enabled Output automatically asserts REN before transferring any data When AutoRemote is disabled there is no change to the REN line AutoRemote is on by default Personal488 for Windows 95 98 Me NT 2000 04 10 01 API Reference 6 3 Artisan Technology Group Quality Instrumentation Guaranteed 888 88 SOURCE www artisantg com BusAddress INT WINAPI BusAddress DevHandleT devHandle BYTE primary BYTE secondary devHand_1e refers to either an IEEE 488 hardware interface or an external device primary is the IEEE 488 bus primary address of the specified device secondary is the IEEE 488 bus secondary address of the specified device If the specified device is an IEEE 488 hardware interface this value must be 1 since there are no secondary addresses for the IEEE 488 hardware interface For no secondary address a 1 must be specified eums fame OOOO O y O Example errorcode Busad ress amm 14 0 O The BusAddress comma
152. xes is the data in binary or ASCII Some software drivers will automatically throw away any non numerics Others do not Even if your software throws the non numerics away you may encounter problems with instruments that transmit numbers like channel tags in their data prefix Most instruments including IOtech s ADC488 analog to digital data acquisition instrument can be programmed to adjust their data format for software compatibility Analyzer488 allows you to quickly inspect the data being transmitted by your instrument enabling you to make the proper adjustments in your software An SRQ from an instrument sometimes causes a catastrophe The asynchronous nature of instrument interrupts can sometimes cause elusive problems The best way to attack a problem like this is to start the Analyzer488 recording and just let it and the system run Analyzer488 has a large 32K transaction buffer that is configured in a circular fashion After 32K transactions have been recorded new transactions will overwrite the oldest transactions There is a very high probability that the events leading up to the system crash will still be in the recorded memory not overwritten after the system has locked up Stepping backwards in memory can usually uncover the sequence of operations that caused the problem The Analyzer488 can also be set up to trigger on the occurrence of one or several SRQs with both a post and pre trigger assigned In this way a spec
153. y gt IEEE488 Programming Language Support Example Programs VB To begin your first project perform the following To use Visual BasicV5 0 V6 0 with a supplied example 1 Launch Visual Basic 2 From the New Project dialog box select the Existing tab 3 To use Visual Basic support from an existing example then navigate to the Visual Basic project examples and select the desired project If the default settings were accepted during installation the project examples will be located in C Program Files IEEE488 Programming Language Support Example Programs VB The Visual Basic examples were created using a sub 6 0 version This results in a message during the load operation that simply states the file was created using a previous version of VB If the file is saved it will be saved in the 6 0 format To use Visual Basic V4 0 with a supplied example 1 Launch Visual Basic 2 From the File menu select Open Project 3 Add the Visual Basic header file by navigating to the IEEE 488 Visual Basic project folder If the default settings were accepted during installation the project examples will be located at C Program Files IEEE488 Programming Language Support Example Programs VB Add IOTIEEE BAS 5 Navigate to the IEEE 488 Visual Basic project folder and select the desired example To add IEEE 488 support to a new or existing Visual Basic project Launch Visual Basic 1 2 Open a new project 3 Include the IOTIEEE BAS file by s
Download Pdf Manuals
Related Search
Related Contents
User`s Manual EMI SIGNAL CAEN C111A rev0 G0USD PD785 Codeplug USER GUIDE v3.11 Galaxy ® CO2 Incubators Sony DSC-U10 User's Manual Copyright © All rights reserved.
Failed to retrieve file