Page 1
PCI-P8R8/P16R16/P16C16/P16POR16 Warranty All products manufactured by ICP DAS are warranted against defective materials for a period of one year from the date of delivery to the original purchaser. Warning ICP DAS assumes no liability for damages consequent to the use of this product.
Play". They can be used in many applications. • PCI-P16C16 The PCI-P16C16 provides 16-channel transistor outputs and 16-channel isolated digital input. The transistor can outputs up to 30Vdc / 600mA(open collector). The isolated digital input, like the PCI-P16R16, provides AC/DC input and R/C filter.
1.3. Specifications Product Channels Photo-coupler Input-Current (per channel) INPUT Input-Voltage Input Impedance Withstanding Voltage 1KV Response Time Relay Output Channels Relay Type Contact Rating OUTPUT Breakdown Voltage Operate Time Release Time Insulation Resistance Life Mechanical Electrical Input Resistance (initial) Switching Power Operating Temperature Common...
Page 7
Operating Temperature Common Storage Temperature Humidity Dimensions PCI-P8R8/P16R16/P16C16/P16POR16 User’s Manual (Ver.2.2, 2005/5/5) … PCI-P16C16 PC-814 PC-814 20 mA max (24V) 20 mA max (24V) AC/DC 5 - 24 V AC/DC 5 - 24 V (AC 50 - 1K HZ) (AC 50 - 1K HZ) 1.2 KΩ...
1.4. Hardware Configuration This chapter describes how to unpack this I/O card and how to install it to your system. Both the unpacking information and the jumper settings are described in the following text. This manual should be carefully read before installation. 1.4.1.
1.4.3. Jumper Setting • For PCI-P8R8 / P16R16 / P16C16 / P16POR16 You can change the I/O card configuration simply by setting the jumpers on this board. Each digital input channel can be jumper- configured as a single-pole, RC filter with a time constant of 1.2 ms. The table listed below shows each digital input channel and the corresponding jumper.
1.5. Pin Assignments CON 1 CON 2 PCI-P8R8/P16R16/P16C16/P16POR16 User’s Manual (Ver.2.2, 2005/5/5) … PCI-P8R8 / PCI-P16R16 Pin Assignment CON 2 Extender Cable NO: Normal Open COM: Common NC: Normal Close DIA: Digital Input (Point A) DIB: Digital Input (Point B)
Page 13
CON 1 PCI-P16C16 Pin Assignment CON 2 CON 2 External Cable Ext. Power: External Power Input GND: External Power Ground OUT: Open Collector Output DIA: Digital Input (Point A) DIB: Digital Input (Point B) PCI-P8R8/P16R16/P16C16/P16POR16 User’s Manual (Ver.2.2, 2005/5/5) …...
Page 14
CON 1 CON 2 DIA: Digital Input (Point A) DIB: Digital Input (Point B) PCI-P8R8/P16R16/P16C16/P16POR16 User’s Manual (Ver.2.2, 2005/5/5) … PCI-P16POR16 Pin Assignment External Cable CON 2...
Hardware applications Model Number PCI-P8R8 / PCI-P16R16 Relay Output PCI-P16C16 PCI-P16POR16 Relay Output • For PCI-P8R8 / PCI-P16R16 Only Whenever data is written data to the output control register, the relays will switch to NC or NO as specified by the control code. A`1'in the control register will energize the corresponding relay.
O Relay Figure 2-3. Heavy load relay circuit. Open Collector Output • For PCI-P16C16 Only The PCI-P16C16 provides 16-channel open collector outputs and 4 channels per common power. Each common power has designed fuse protection and LED indicated status. Wiring diagrams PCI-P16C16 PCI-P8R8/P16R16/P16C16/P16POR16 User’s Manual (Ver.2.2, 2005/5/5) …...
PhotoMos Relay Output • For PCI-P16POR16 Only The PCI-P16POR16 includes 16 normally open, form A, PhotoMOS relays. The board can eliminate ground-loop problems and isolate the computer from damaging voltages. Use the PCI-P16POR16 to switch loads, up to 350VAC and 130mA.
Isolated Input • For PCI-P8R8 / P16R16 / P16C16 / P16POR16 Reading the isolation input register will give the digital input state of the photo- couple (isolation input). Figures 2-3 and 2-4 show the basic circuit of the digital input. DIA 0 If Using AC Internal...
Page 19
Although the normal input voltage range is 5 to 24V AC or DC, the input can still be changed to a larger range by choosing suitable external resistors. The following figure shows how to connect to a larger input. Please note that the input current should be limited between 2mA to 20mA;...
Software Installation Guide • FOR PCI-P8R8/PCI-P16R16/PCI-P16C16/PCI-P16POR16 The software package for this card consists of CD-ROM. Please choose the exact disk for setup according to your PC platform. 3.1 Plug and Play of Windows 95/98/2000/XP Because Windows 95/98/2000/XP provides the Plug and Play, two stages must be completed to setup the I/O card.
Page 21
Figure 2. Click on the “Next >” button to search device Figure 3. Click on the “Next>” button to search drivers PCI-P8R8/P16R16/P16C16/P16POR16 User’s Manual (Ver.2.2, 2005/5/5) …...
Page 22
Figure 4. Select the second item and click “Next >” Figure 5. Select the item “Other devices” and click “Next>” PCI-P8R8/P16R16/P16C16/P16POR16 User’s Manual (Ver.2.2, 2005/5/5) …...
Page 23
Figure 6. Click the “Have Disk button…” Figure 7. Click “Browse” to select driver PCI-P8R8/P16R16/P16C16/P16POR16 User’s Manual (Ver.2.2, 2005/5/5) …...
Page 24
Figure 8. Click “OK” after selecting the “P16R16.inf”driver. This folder corresponds to on the CD-ROM drive. (Note: PCI-P8R8 uses the driver P8R8.inf) Figure 9. Click “OK” (Note: PCI-P8R8 uses the driver P8R8.inf) PCI-P8R8/P16R16/P16C16/P16POR16 User’s Manual (Ver.2.2, 2005/5/5) …...
Page 26
Figure 12. Click “Finish” Figure 13. Double click the item “System” in the “Control Panel” folder PCI-P8R8/P16R16/P16C16/P16POR16 User’s Manual (Ver.2.2, 2005/5/5) …...
Page 27
Figure 14. Select the device “PCI-P16R16”(or PCI-P8R8) and click “Properties” Figure 15. Please ensure that this device has no conflicts with other devices. PCI-P8R8/P16R16/P16C16/P16POR16 User’s Manual (Ver.2.2, 2005/5/5) …...
Software Installation for DOS Here’s the DOS software installation: Refer to the install.bat in sub-directory of P16R16 with CD-ROM. After installation, the sub-directory is as follows: ...\P16R16\BC\HUGE\DEMO ...\P16R6\BC\HUGE\LIB ...\P16R6\BC\LARGE\DEMO ...\P16R6\BC\LARGE\LIB ...\P16R6\MSC\HUGE\DEMO ← huge mode demo programs..\P16R6\MSC\HUGE\LIB ...\P16R6\MSC\LARGE\DEMO ← large mode demo programs..\P16R6\MSC\LARGE\LIB ...\P16R16\TC\HUGE\DEMO ...\P16R16\TC\HUGE\LIB...
I/O Control Register The First 16 double words of a PCI device's configuration space is referred to as the device's configuration region. Within these the 16 (0-15) double words, the 04, 05, 06, 07, 08 and 09 double words are referred to as Base Address0, Base Address1, Base Address2, Base Address3, Base Address4 and Base Address5.
Page 30
Please refer to the following program code to get these six base addresses for PCI-P16R16 and PCI-P8R8. These codes are based on PCI Plug & Play mechanism 2. /******************************************************/ /* Reading PCI card's configuration address space /******************************************************/ WORD GetAddress(void) DWORD dConfigAddress,dBaseAddress; WORD HiWord,LoWord;...
Function Call in P16R16.DLL A function in P16R16.DLL(DLL for Windows 95/98/NT) will be exactly the same prototype as P16R16H.LIB(huge mode library for DOS) and P16R16L.LIB(large mode library for DOS). It is convenient to develop applications under different platforms. 4.2 P16R16.H #define EXPORTS extern "C"...
EXPORTS WORD CALLBACK PCI_GetConfigAddressSpace (WORD wBoardNo, WORD *TypeID, WORD *wAddress0, WORD *wAddress1, WORD *wAddress2, WORD *wAddress3, WORD *wAddress4, WORD *wAddress5); EXPORTS WORD CALLBACK PCI_WhichBoardActive(void); EXPORTS void CALLBACK P16R16_DO(WORD BaseAddr, WORD OutData); EXPORTS WORD CALLBACK P16R16_DI(WORD BaseAddr); EXPORTS void CALLBACK P8R8_DO(WORD BaseAddr, WORD OutData); EXPORTS BYTE CALLBACK P8R8_DI(WORD BaseAddr);...
4.4 PCI_ShortSub2 Description: Performs subtraction as (like A-B) in short data types. This function is provided for testing DLL linkage. Syntax: float PCI_ShortSub2(short nA, short nB) Input Parameters: nA :2 bytes short data type value nB :2 bytes short data type value Return Value: the value of nA-nB PCI_GetDllVersion Description: Gets the version number of P16R16.DLL...
PCI_Driverlnit Description: Initializes the device driver (napwnt.sys for Windows NT/2000XP, nappci.vxd for Windows 95/98). It is necessary to call on the function the first time you use this program. Syntax: WORD PCI_Driverlinit(WORD*wTolalBoard) Input Parameters: *wTotalBoard: address of wTotalBoard When wTotalBoard = 1: either P16R16 or P8R8 in PC. When wTotalBoard = 2: possibility of combination →...
Demo Program [VC example] LRESULT CALLBACK WndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM, lParam) static char cBuf[80]; hdc; TEXTMETRIC tm; PAINTSTRUCT ps; switch (iMsg) case WM_CREATE : // window initial /**************************************************************/ /* NOTICE: call PCI_DriverInit() to initialize the driver. */ /**************************************************************/ // Initial the device driver, and return the board number in the PC wInitialCode=PCI_DriverInit(&wTotalBoard);...
PCI_DriverClose Description: Terminates the device driver (napwnt.sys for window NT/2000/XP, nappci.vxd for Windows 95/98). In DOS version, this function is provided just for uniformity or W32 program. It can only return a NoError. Syntax: void PCI_DriverClose(void) Input Parameters: void Output Parameters: void PCI_GetDriverVersion Description: Gets the version number of device driver (nappci.vxd for windows 95/98, napwnt.sys for Windows NT/2000/XP)
PCI_GetCongfigAddressSpace Description: Reads configuration space for P16R16 and P8R8 board, then gets the content of Base Address0, Base Address1, Base Address2, Base Address3, Base Address4 and Base Address5. Syntax: WORD PCI_GetConfigAddressSpace (WORD wBoadNo, WORD *wTypeID,WORD*wAddress0,WORD*wAddress1,WORD*wAdd- ress2, WORD*wAddress3, WORD*wAddress4,WORD*wAddress5) Input Parameters: wBoardNo: The Board number for P16R16/P8R8 board.
4.10 P16R16_DO Description: Sends 16-bit data to D/O port of the P16R16. Syntax: Void P16R16_DO(WORD BaseAddr.WORD OutData) Input Parameters: BaseAddr: D/O port base address. OutData: the 16-bit data sent to D/O port Return Value: void Demo Program: 4.11 P16R16_DI Description: Reads 16-bit data from P16R16’s D/I port. Syntax: WORD P16R16_DI (WORD BaseAddr) Input Parameters: BaseAddr: D/O port base address.
Page 42
• Demo Program /******************************************************/ /* This program is developed by Turbo C 2.0 /******************************************************/ /* Demo 1: One P16R16 card demo. /******************************************************/ #include "P16R16.H" int main() i,j; WORD nVal; float fVal; WORD wBoards,wRetVal,wVal; WORD wInData; WORD wTypeID; WORD wAddress0,wAddress1,wAddress2; WORD wAddress3,wAddress4,wAddress5;...
4.12 P8R8_DO Description: Sends 8-bit data to PCI-P8R8’s D/O port. Syntax: Void P8R8_DO(WORD BaseAddr.WORD OutData) Input Parameters: BaseAddr: D/O port base address. OutData: the 8 bit data sent to D/O port Return Value: void Demo Program: • 4.13 P8R8_DI Description: Reads 8-bit data from PCI-P8R8’s D/I port. Syntax: WORD P8R8_DI (WORD wBaseAddr) Input Parameters: wBaseAddr: D/O port base address.
Page 46
Demo Program • /************************************************/ /* This program is developed by Turbo C 2.0 /***********************************************/ /* Demo 2: One P8R8 card demo. /***********************************************/ #include "P16R16.H" int main() i,j; WORD nVal; float fVal; WORD wBoards,wRetVal,wVal; WORD wInData; WORD wTypeID; WORD wAddress0,wAddress1,wAddress2; WORD wAddress3,wAddress4,wAddress5;...
Page 47
&wAddress3,&wAddress4,&wAddress5); if( !wRetVal ) switch( wTypeID ) case 0: printf("==> %02d Board Name:PCI-P16R16\n",i); P16R16_BaseAddress=wAddress2; wP16R16No++; break; case 1: printf("==> %02d Board Name:PCI-P8R8\n",i); P8R8_BaseAddress=wAddress2; wP8R8No++; break; case 2: printf("==> %02d Board Name:PCI-TMC12\n",i); break; case 3: printf("==> %02d Board Name:PCI-DA16\n",i); break; case 4: printf("==> %02d Board Name:PCI-DA8\n",i); break;...
Need help?
Do you have a question about the PCI-P16C16 and is the answer not in the manual?
Questions and answers