Page 1
License The user can use, modify and backup this software on a single machine. The user may not reproduce, transfer or distribute this software, or any copy, in whole or in part. PISO-P8R8U/P16R16U/PEX-P8R8i/P16R16i User Manual (Ver.1.6, Mar/2010, PMH-021-16) -...
V, 5 V or 3.3 V/5 V PCI slot and support true “Plug and Play” operations. 3.3 V PCI-X Slots 5 V PCI Slots Figure 1-1: 3.3 V PCI-X slots and 5 V PCI slots. PISO-P8R8U/P16R16U/PEX-P8R8i/P16R16i User Manual (Ver.1.6, Mar/2010, PMH-021-16) -...
Page 5
16/8 channel input . it can be install in PCI-Express 1X , 4X , 8X , 16X slot . PCI-E X16 PCI-E X1 PCI-E X1 Figure 1-2: PCI-E X1 slots and PCI-E X16 slots. PISO-P8R8U/P16R16U/PEX-P8R8i/P16R16i User Manual (Ver.1.6, Mar/2010, PMH-021-16) -...
AC digital input with filter (jumper selectable) Input channel Input type Optically isolated digital input Output channel Output type Relay output Relay output Table 1-2: Features of the PISO-P8R8U/P16R16U and PEX-P8R8i/P16R16i card 1.1.2 Applications Factory automation • Laboratory automation • Communication switching •...
149 mm x 105 mm x 22 mm Power Consumption 800 mA @ +5 V Operating Temperature 0 ~ 60 °C Storage Temperature -20 ~ 70 °C Humidity 5 ~ 85% RH, non-condensing PISO-P8R8U/P16R16U/PEX-P8R8i/P16R16i User Manual (Ver.1.6, Mar/2010, PMH-021-16) -...
Dimensions (L x W x D) 149 mm x 105 mm x 22 mm Power Consumption 800 mA @ +5 V Operating Temperature 0 ~ 60 °C Storage Temperature -20 ~ 70 °C Humidity 5 ~ 85% RH, non-condensing PISO-P8R8U/P16R16U/PEX-P8R8i/P16R16i User Manual (Ver.1.6,Mar/2010, PMH-021-16)
If any of these items are missing or damaged, contact the Attention! dealer from whom you purchased the product. Save the shipping and packing materials in case you want to ship or store the product in the future. PISO-P8R8U/P16R16U/PEX-P8R8i/P16R16i User Manual (Ver.1.6, Mar/2010, PMH-021-16) -...
If the DC input signal response is less than 20 μs, set the filter to OFF. If a slow response is required (about 5 to 10 ms) in order to reject either noise or contact bouncing, short the AC FILTER (Pins 2-3). PISO-P8R8U/P16R16U/PEX-P8R8i/P16R16i User Manual (Ver.1.6,Mar/2010, PMH-021-16) -...
COM NO Load AC/ DC Power Supply Figure 2-3. Basic relay circuit. Heavy Loading Application (> 0.3 A): P16R16U Power Relay DO Relay Contact Power Relay Heavy Loading Figure 2-4. Heavy load relay circuit. PISO-P8R8U/P16R16U/PEX-P8R8i/P16R16i User Manual (Ver.1.6,Mar/2010, PMH-021-16) -...
Calculate the input voltage and current, and then replace the resistor Ri. i = 1.2 K Ω /1 W 20mA Onboard circuits External Circuit PC - 354 Figure 2-6. Isolated Digital Input Circuit PISO-P8R8U/P16R16U/PEX-P8R8i/P16R16i User Manual (Ver.1.6,Mar/2010, PMH-021-16) -...
Page 17
* 1.2KΩ = 1.2 W The power consumption is 1.2 Watts, but selecting 1.5 or 2 Watts is better. Thus, a 1.2 K / 2 W resistor can be selected to replace the resistor Ri. PISO-P8R8U/P16R16U/PEX-P8R8i/P16R16i User Manual (Ver.1.6,Mar/2010, PMH-021-16) -...
2.6. Pin Assignments CON 1 CON 2 CON 2 Extension Cable NO: Normally Open COM: Common NC: Normally Closed DIA: Digital Input (Point A) DIB: Digital Input (Point B) Figure 2-9: Pin assignments. PISO-P8R8U/P16R16U/PEX-P8R8i/P16R16i User Manual (Ver.1.6,Mar/2010, PMH-021-16) -...
• wSlotDevice: The position of hardware slot ID2 in this PC The PIO_PISO.exe utility program will detect and display the details for all PIO/PISO cards installed in the PC. Refer to Chapter 4 for more information. PISO-P8R8U/P16R16U/PEX-P8R8i/P16R16i User Manual (Ver.1.6,Mar/2010, PMH-021-16) -...
1. Remove all PIO and PISO series cards from the PC. 2. Install a single PISO-P8R8U/P16R16U or PEX-P8R8i/P16R16i into PCI_slot1 of the PC, then run PIO_PISO.EXE and record the wSlotBus1 and wSlotDevice1 information.
D/I and D/O operations. The RESET\ signal must be set to the High state before any D/I and D/O commands are sent. outportb(wBase,1); /* RESET\ = High all DI/DO channels are now enabled */ outportb(wBase,0); /* RESET\ = Low all DI/DO channels are now disabled */ PISO-P8R8U/P16R16U/PEX-P8R8i/P16R16i User Manual (Ver.1.6,Mar/2010, PMH-021-16) -...
So, by reading the Card ID users can check whether their program is accessing the correct card. Card_ID = 0x0F & (~(intportb(wBase+7) >> 2)); /* get Card ID */ PISO-P8R8U/P16R16U/PEX-P8R8i/P16R16i User Manual (Ver.1.6,Mar/2010, PMH-021-16) -...
Bit 2 Bit 1 Bit 0 DO15 DO14 DO13 DO12 DO11 DO10 Note. Refer to Sec. 3.1 for more information regarding wBase. outportb(wBase+0xc0,0xff); /* write 0xff to DO0~DO7 DI_Value=inportb(wBase+0xc0); /* read states from DI0~DI7 PISO-P8R8U/P16R16U/PEX-P8R8i/P16R16i User Manual (Ver.1.6,Mar/2010, PMH-021-16) -...
The diagnostic program also shows the following information: 1. The model number of each card. 2. The I/O address and IRQ number of each card. 3. The bus and slot numbers of each card. PISO-P8R8U/P16R16U/PEX-P8R8i/P16R16i User Manual (Ver.1.6,Mar/2010, PMH-021-16) -...
The parameter must be initialized, or have a value set before calling this function. [Out] The parameter will return a value or other data after this function is called. Note: All parameter spaces/buffers must be allocated and then freed by the user application programs. PISO-P8R8U/P16R16U/PEX-P8R8i/P16R16i User Manual (Ver.1.6,Mar/2010, PMH-021-16) -...
[In] The Sub-Device ID of the board to search for. wSubAuxID [In] The Sub-Aux ID of the board to search for. • Return: Refer to the error codes in Section 4.2 for more information. PISO-P8R8U/P16R16U/PEX-P8R8i/P16R16i User Manual (Ver.1.6,Mar/2010, PMH-021-16) -...
[Out] The Sub-Aux ID of the board. wSlotBus [Out] The Bus Number of the slot. wSlotDevice [Out] The Device Number of the slot. • Return: Refer to the error codes in Section 4.2 for more information. PISO-P8R8U/P16R16U/PEX-P8R8i/P16R16i User Manual (Ver.1.6,Mar/2010, PMH-021-16) -...
[In] The Sub-Vendor ID of the board. wSubDevice [In] The Sub-Device ID of the board. wSubAux [In] The Sub-Aux ID of the board. • Return: Refer to the error codes in Section 4.2 for more information. PISO-P8R8U/P16R16U/PEX-P8R8i/P16R16i User Manual (Ver.1.6,Mar/2010, PMH-021-16) -...
1; printf("\nThere are %d PISO-P16R16U Card(s) in this PC",wTotalBoardsFound); /*********** Get Card Information (I/O Address) *********/ printf("\n\n-------------- The Configuration Space --------------"); for(i=0; i<wTotalBoardsFound; i++) PIO_GetConfigAddressSpace(i, &wCardAddress, &wIrqNo, &wSubVendor, &wSubDevice, &wSubAux, &wSlotBus, &wSlotDevice); printf("\nCard#%d: wBase=%x,wIrq=%x,subID=[%x,%x,%x],SlotID=[%x,%x]", PISO-P8R8U/P16R16U/PEX-P8R8i/P16R16i User Manual (Ver.1.6,Mar/2010, PMH-021-16) -...
Page 31
SelectBoard( 100 ); c = ' '; break; case '2': /************* Get Card ID ************/ printf("Card-ID is %d\n",(int) ( ~(inpb(wCardAddress +7) >> 2) & 0x0F) ); break; case '3': /************ DI/DO test ************/ TestDIO(wCardAddress); break; PISO-P8R8U/P16R16U/PEX-P8R8i/P16R16i User Manual (Ver.1.6,Mar/2010, PMH-021-16) -...
Page 32
PIO_GetConfigAddressSpace(wBoardNo, &wCardAddress, &wIrqNo, &wSubVendor, &wSubDevice, &wSubAux, &wSlotBus, &wSlotDevice); printf("\nCurrent selected board is Card#%d at address 0x%04X\n", wBoardNo, wCardAddress ); if ( wCardAddress == 0 ) return 100; /************ Enable all DI/DO **************/ outpb(wCardAddress, 1); PISO-P8R8U/P16R16U/PEX-P8R8i/P16R16i User Manual (Ver.1.6,Mar/2010, PMH-021-16) -...
Page 33
= (Hi << 8) | Lo; delay(300); iCounts++; /* Compare the DO and DI values */ printf("DO=0x%04X, DI=0x%04X, ", wValue, wDI); if ( wDI != wValue ) printf("FAILED! (%04X)\n", wDI ^ wValue); iErrors++; return 1; printf("OK! \n"); return 0; PISO-P8R8U/P16R16U/PEX-P8R8i/P16R16i User Manual (Ver.1.6,Mar/2010, PMH-021-16) -...
Page 34
DIO1(wCardAddress, 0x0000); if (kbhit()) break; DIO1(wCardAddress, 0xAAAA); if (kbhit()) break; DIO1(wCardAddress, 0x0000); if (kbhit()) break; DIO1(wCardAddress, 0x5555); if (kbhit()) break; i += 3; //printf("TotalCounts=%ld, ErrorCounts=%ld\n\n", iCounts, iErrors); DIO1(wCardAddress, 0x0000); printf("TotalCounts=%ld, ErrorCounts=%ld\n", iCounts, iErrors); return iErrors; PISO-P8R8U/P16R16U/PEX-P8R8i/P16R16i User Manual (Ver.1.6,Mar/2010, PMH-021-16) -...
1. The model number of all cards found. 2. The address number of each card. 3. The bus and slot number of each card. The corresponding Windows driver for the card must be installed first. Note: PISO-P8R8U/P16R16U/PEX-P8R8i/P16R16i User Manual (Ver.1.6,Mar/2010, PMH-021-16) -...
Access/Control the Device …….. PISODIO_OutputByte(…) Access/Control the Device ….. PISODIO_DriverClose() Close the Device-Driver User Application Function Call to DLLs Development DLLs Toolkit Services Call to Kernel Mode .VXDs, .SYSs (Device Driver) Device Control Hardware Device PISO-P8R8U/P16R16U/PEX-P8R8i/P16R16i User Manual (Ver.1.6,Mar/2010, PMH-021-16) -...
The parameter must be initialized, or have a value set before calling this function. [Out] The parameter will return a value or other data after this function is call. All parameter spaces/buffers must be allocated and then freed by the Note: user application programs. PISO-P8R8U/P16R16U/PEX-P8R8i/P16R16i User Manual (Ver.1.6,Mar/2010, PMH-021-16) -...
This function closes the PISO-DIO driver and releases all resources that were allocated by the driver. It must only be called once and must be called before exiting the user application program. • Syntax: void PISODIO_DriverClose(); • Parameters: None • Return: None PISO-P8R8U/P16R16U/PEX-P8R8i/P16R16i User Manual (Ver.1.6,Mar/2010, PMH-021-16) -...
[Out] The Sub-Device ID. wSubAux [Out] The Sub-Aux ID. wSlotBus [Out] The Bus number of the slot. wSlotDevice [Out] The Device number of the slot. Return: Refer to the error codes in Section 5.3 for more information. PISO-P8R8U/P16R16U/PEX-P8R8i/P16R16i User Manual (Ver.1.6,Mar/2010, PMH-021-16) -...
Refer to the error codes in Section 5.3 for more information. 5.4.5. PISODIO_GetDllVersion This function gets the version number of the PISO-DIO DLL driver. • Syntax: WORD PISODIO_GetDllVersion(void) • Parameters: None • Return: Version number, i.e. 200(hex) for version 2.00. PISO-P8R8U/P16R16U/PEX-P8R8i/P16R16i User Manual (Ver.1.6,Mar/2010, PMH-021-16) -...
WORD PISODIO_InputByte(DWORD wPortAddr); • Parameter: wPortAddr [In] The 32-bit I/O address, where the leading 16 bits are all 0. Refer to the PISODIO_GetConfigAddressSpace()function. • Return: Returns 16-bit data, where the leading 8 bits are all 0. PISO-P8R8U/P16R16U/PEX-P8R8i/P16R16i User Manual (Ver.1.6,Mar/2010, PMH-021-16) -...
The screen capture below is the Delphi demo program that shows the DI, DO and Card ID features of the PISO-P16R16U card. To run the program, the Windows driver for the card must be installed first. PISO-P8R8U/P16R16U/PEX-P8R8i/P16R16i User Manual (Ver.1.6,Mar/2010, PMH-021-16) -...
A reply will be sent to you as soon as possible. If you have not received a response to your request within three days, please contact ICPDAS to ensure your message has been received. E-mail: Service@icpdas.com Web Site: http://www.icpdas.com PISO-P8R8U/P16R16U/PEX-P8R8i/P16R16i User Manual (Ver.1.6,Mar/2010, PMH-021-16) -...
Need help?
Do you have a question about the PISO-P8R8U and is the answer not in the manual?
Questions and answers