background image

Chapter X: XXXXX

Page 1

            ADDENDUM

  IRQGEN.VXD  and  Win32IRQ.DLL

IRQGEN.VXD

Description

IRQGEN.VXD is a Virtual Device Driver, or VxD, for Windows95. Together with
Win32IRQ.DLL, it allows a program to easily respond to hardware interrupt requests, or IRQs.

Installation

To install IRQGEN.VXD, copy it to C:\Windows\System. If your hard drive has a letter other than
C, substitute the appropriate letter. It is not necessary to reboot your system prior to using
IRQGEN.VXD.

Win32IRQ.DLL

Description

Win32IRQ.DLL is a Dynamic Link Library, of DLL, for Windows95. It provides a simple interface
to IRQGEN.VXD, allowing a program to easily respond to hardware interrupts. Three functions are
exported by Win32IRQ.DLL: InitIRQ,, Detect IRQ, and SendEOI. To use these functions in a
program, they must first be inported. In Pascal, the necessary lines would be:

function InitIRQ (MyIRQ:  Byte) : Boolean; stdcall;external 'Win32IRQ.dll'

index 1;

function DetectIRQ:  Boolean; stdcall; external "Win32IRQ.dll"index 2;

function SendEOI:  Boolean; stdcall; external "Win32IRQ.dll" index 3;

In C, the library file Win32IRQ.lib must first be linked to the program. This is accomplished by
adding it to the project or editing the makefile. The following lines would then create the prototypes
for the DLL functions:

extern "c" _declspec (dllimport) bool pascal InitIRQ (unsigned char MyIRQ);

extern "c" _declspec (dllimport) bool pascal DetectIRQ (void);

extern "c" _declspec (dllimport) bool pascal SendEOI (void) ;

InitIRQ

This function performs the initialization required to detect IRQs. It must be called before
DetectIRQand SendEOI can be called, although calling those functions first will only cause them to
return a value of FALSE. The function's sole parameter is an unsigned 8-bit value containing the
IRQ number to monitor. The return result is TRUE if initialization was compledted successfully,
FALSE if not.

Addendum: 00650-010-6B
© 1998, Industrial Computer Source, 6260 Sequence Drive,  San Diego, CA 92121-2720. All rights reserved.

Summary of Contents for AOB8/16

Page 1: ...Model AOB8 16 AOB16 16 Product Manual MANUAL NUMBER 00650 010 6C...

Page 2: ...ual in our online Support Library Thank you The information in this document is provided for reference only ICS Advent does not assume any liability arising from the application or use of the informat...

Page 3: ...Page iv This page intentionally left blank...

Page 4: ...ts which are not in an as new and re saleable condition are not eligible for credit return and will be returned to the customer Limited Warranty Effective April 1 1998 all products carry a 2 year limi...

Page 5: ...made by various manufacturers in performing warranty repairs and building replacement products If ICS Advent repairs or replaces a product its warranty term is not extended ICSAdvent will normally re...

Page 6: ...Cautions and Warnings are accented with triangular symbols The exclamation symbol is used in all cautions and warnings to help alert you to the important instructions The lightning flash symbol is us...

Page 7: ...Page viii This page intentionally left blank...

Page 8: ...on Selection 5 Output Ranges 5 Analog Outputs Update 5 Chapter 4 Address Selection 7 Chapter 5 Programming 9 Chapter 6 Software 13 VisualBASIC Utility Driver 13 Chapter 7 Calibration 17 Chapter 8 Conn...

Page 9: ...x List of Figures Figure 2 1 Block Diagram 4 Figure 3 1 Option Selection Map 6 Figure 4 1 StandardAddressAssignments for PC and PC XT Computers 7 Figure 5 1 Data Format 11 Current Revision 6C December...

Page 10: ...sk To do this perform the following 1 Place the master diskette into a floppy drive 2 Change the active drive to the drive that has the master diskette installed For example if the diskette is the A d...

Page 11: ...f unsure what locations are available you can use the FINDBASE pro gram provided on our diskette to locate blocks of available addresses To install the card 1 Turn off computer power 2 Remove the comp...

Page 12: ...wn I O location The DACs have a two byte 8LSB s 8MSB s loading structure The analog outputs can be updated either independently or simultaneously Finally the AOBx 16 contain automatic reset circuits w...

Page 13: ...ACE COMPUTER BUS PRE LOAD REGISTER PRE LOAD REGISTER 12VDC COMPUTER POWER INITIALIZE DACS UPDATE DACS 16 BIT DAC 15 AOB16 16 OR DAC 7 AOB8 16 DAC OUTPUT DAC OUTPUT 16 BIT DAC 0 BIP BIP BIP BIP 5V 5V U...

Page 14: ...o 5 V Unipolar 5V 5 to 5 V Bipolar 5V 0 to 10 V Unipolar 10 V 10 to 10 V Bipolar 10 V Analog Outputs Update Analog outputs are updated under program control in either one of two ways a Eachchannelisno...

Page 15: ...Manual Number 00650 010 6 Page 6 AOB8 16 AOB16 16 Manual Figure 3 1 Option Selection Map...

Page 16: ...ocator program FINDBASE provided on diskette will assist you in selecting a base address that will avoid this conflict Hex Range Usage 000 0FF Internal System Not Usable 1F0 1FF AT Hard Disk 200 207 G...

Page 17: ...ress to binary form Then for each 1 of binary address set the corresponding DIP switch to OFF and for each 0 of binary address set the corresponding switch to ON Here s an example showing how to progr...

Page 18: ...itten to a DAC address the output does not change until an output update is com manded via a read to the BASE 8 address Alternatively a read to BASE 10 will update the DAC registers and switch the boa...

Page 19: ...yte Update all outputs and release card from Simultaneous Mode Base 11 DAC 5 High Byte Base 12 DAC 6 Low Byte Base 13 DAC 6 High Byte Base 14 DAC 7 Low Byte Set all outputs to zero Base 15 DAC 7 High...

Page 20: ...UNIPOLAR ranges For Unipolar ranges data are in true binary form 0000 0000 0000 0000 ZERO 1000 0000 0000 0000 1 2 SCALE 1111 1111 1111 1111 FULL SCALE MSB or B1 B16 or LSB For BIPOLAR ranges For Bipol...

Page 21: ...Manual Number 00650 010 6 Page 12 AOB8 16 AOB16 16 Manual This page intentionally left blank...

Page 22: ...tput channel See the preceding I O Address Map In this example we will assume analog output on channel zero AO 0 OUT BASE 0 L OUT BASE 1 H For simplicity it was assumed that the simultaneous update ca...

Page 23: ...ng the low byte from address and the high byte from address 1 Declaration function InPort byval address as integer as integer OutPortb Function Writes the lower eight bits of value to the hardware por...

Page 24: ...tb function will be 128 to 127 rather than 0 to 255 An alternative is to perform all assignments in hexadecimal rather then decimal form Before the program will execute the GBL file must be modified t...

Page 25: ...Manual Number 00650 010 6 Page 16 AOB8 16 AOB16 16 Manual This page intentionally left blank...

Page 26: ...or each channel c Adjust 5V Reference Voltage d Adjust Unipolar zero on each channel e Adjust Unipolar full scale of each channel f Adjust Bipolar zeroes of each channel g Check Bipolar negative full...

Page 27: ...Manual Number 00650 010 6 Page 18 AOB8 16 AOB16 16 Manual This page intentionally left blank...

Page 28: ...DAC 10 Output 12 D A 11 Out Analog DAC 11 Output 13 D A 12 Out Analog DAC 12 Output 14 D A 13 Out Analog DAC 13 Output 15 D A 14 Out Analog DAC 14 Output 16 D A 15 Out Analog DAC 15 Output 17 12 Vout...

Page 29: ...Manual Number 00650 010 6 Page 20 AOB8 16 AOB16 16 Manual Note The figure below shows how pins are numbered on D type connectors...

Page 30: ...ver operating temperature range Settling Time 8 usec to 0 0008 for full scale step input Linearity 1 LSB integral non linearity over rated temperature range Gain Stability 15 ppm C Output Drive Capabi...

Page 31: ...Manual Number 00650 010 6 Page 22 AOB8 16 AOB16 16 Manual This page intentionally left blank...

Page 32: ...three different waveforms sine triangle and sawtooth You have the choice of base address DAC number and the number of points per cycle The base address entered during program execution should correspo...

Page 33: ...lowbyte hibyte Each point is broken into the high byte and low byte and then written to the DAC in two separate bytes do for i 0 i counts i temp progstruct i 256 lowbyte unsigned char temp temp progst...

Page 34: ...unsigned sine clrscr printf Generating sine wave press any key to stop sendtoport end sinecurve Function trianglecurve local routine Purpose Calculate the points to create a trinagle wave Input None C...

Page 35: ...ints to create a sawtooth wave Input None Calls None Output None void sawcurve int i double slope temp if counts 0 return clrscr printf Calculating sawtooth wave points slope 4095 0 counts sawtooth sl...

Page 36: ...outine Purpose Controls program execution Input None Calls None Output None void main void char menuchoice clrscr do memset progstruct 0 sizeof int clear buffer menulist display the menu menuchoice ge...

Page 37: ...Manual Number 00650 010 6 Page 28 AOB8 16 AOB16 16 Manual This page intentionally left blank...

Page 38: ...ternal Win32IRQ dll index 1 function DetectIRQ Boolean stdcall external Win32IRQ dll index 2 function SendEOI Boolean stdcall external Win32IRQ dll index 3 In C the library file Win32IRQ lib must firs...

Page 39: ...ogram needs to continue running while waithing for DetectIRQ a separate thread should be spawned from which to call DetectIRQ The return result is TRUE if an IRQ was successfully detected on the given...

Page 40: ...4 3 1995RadiatedRFFieldImmunity EN61000 4 4 1995EFTImmunityforACandI OLines EN 60950 1992 Safety of InformationTechnology Equipment Thetechnicaldocumentationrequiredtodemonstratethisproductmeetsthere...

Reviews: