Software memory

In device buffer mode, API-AIO(WDM) driver secures a memory area for 256K data in the memory of the PC so that even a device with a small buffer memory can achieve stable sampling as much as possible. This memory area is called "software memory".

In the case of a device using a software memory, the driver automatically performs data transfer between the buffer memory and the software memory, and the application accesses the software memory from the application.
With this mechanism, applications can handle processing with a margin in timing or data volume.

Example : When sampling for a long time under the following conditions on a device with a buffer memory of 1K (1024) data

 ・Number of Channels  : 1Ch
 ・Transfer Mode       : Device buffer mode
 ・Internal Clock      : 1msec
 ・Memory Type         : FIFO

 

If this device does not use software memory (*1)

Sampling with this setting, approximately 1 second (1024msec) after the start,
the buffer memory becomes full and an overflow occurs.

Therefore, in order to perform long time sampling with this setting,
the application must continue to acquire the data in the FIFO memory at a cycle earlier than about 1 second.

 

If this device uses software memory

Since the software memory can store data for 256K (262,144) data,
there is a time of about 262 seconds before the overflow occurs,
and the application can acquire data with a margin. (*2)

In addition, if the amount of data collected by this sampling is less than 256K,
it is possible to acquire the data all at once after the sampling is completed,
so compared to the process of continuously acquiring data during sampling,
the processing contents of application can be simplified.

 

(*1) Actually, the device with 1K buffer memory always uses the software memory,
  the above is for explanation only and describes what happens when not used.

(*2) During high-speed sampling, data transfer to the software memory may not be in time
  and overflow may occur on the buffer memory side.

 

Please refer to the following for whether or not the software memory of each device is used and the memory size that can be used.

List of memory sizes that can be used with high performance analog input (Board type)
Devices Memory Size Use software memory

Analog Z-Series Boards

AI-1204Z-PE

AI-1204Z-PCI

 

(Depends on the setting of AioSetAiMemorySize function)

(Depends on the setting of AioSetAiMemorySize function)

 

No

No

Analog G-Series Boards
AIO-163202G-PE
AIO-163202UG-PE
AIO-123202G-PE
AIO-123202UG-PE
AI-1664UG-PE


128M (128*1024*1024)
128M (128*1024*1024)
128M (128*1024*1024)
128M (128*1024*1024)
128M (128*1024*1024)


No

No
No
No
No

Analog F-Series Boards

AIO-163202F-PE

ADA16-32/2(PCI)F

64K (64*1024)

64K (64*1024)

No

No

Analog E-Series Boards

AIO-121601E3-PE

AIO-121601UE3-PE

AIO-161601E3-PE

AIO-161601UE3-PE

AD12-16(PCI)EV

AD12-16U(PCI)EV

AD16-16(PCI)EV

AD16-16U(PCI)EV

AI-1216I2-PCI

 

16M (16*1024*1024)

16M (16*1024*1024)

16M (16*1024*1024)

16M (16*1024*1024)

16M (16*1024*1024)

16M (16*1024*1024)

16M (16*1024*1024)

16M (16*1024*1024)

256K (256*1024)

 

No

No

No

No

No

No

No

No

No

Analog L-Series Boards

AIO-160802LI-PE

AIO-160802L-LPE

AI-1616LI-PE

AI-1616L-LPE

AI-1664LA-LPE

ADAI16-8/2(LPCI)L

ADA16-8/2(LPCI)L

ADI16-16(LPCI)L

AD16-16(LPCI)L

AD16-64(LPCI)LA

 

256K (256*1024)

256K (256*1024)

256K (256*1024)

256K (256*1024)

256K (256*1024)

256K (256*1024)

256K (256*1024)

256K (256*1024)

256K (256*1024)

256K (256*1024)

 

Yes (Buffer Memory 1K)

Yes (Buffer Memory 1K)

Yes (Buffer Memory 1K)

Yes (Buffer Memory 1K)

Yes (Buffer Memory 1K)

Yes (Buffer Memory 1K)

Yes (Buffer Memory 1K)

Yes (Buffer Memory 1K)

Yes (Buffer Memory 1K)

Yes (Buffer Memory 1K)

Other Analog Input/Output Boards

AI-1604CI2-PCI

AD12-16(PCI)

AD12-64(PCI)

 

256K (256*1024)

256K (256*1024)

256K (256*1024)

 

Yes (No Buffer Memory)

Yes (No Buffer Memory)

Yes (No Buffer Memory)


List of memory sizes that can be used with high performance analog input (USB type and others)
Devices Memory Size Use software memory

Analog USB Devices

AIO-163202FX-USB

AIO-160802GY-USB

AIO-160802AY-USB

AIO-120802LN-USB

AIO-121602LN-USB

AI-1608VIN-USB

AI-1608AIN-USB

AI-1608GY-USB

AI-1608AY-USB

AI-1664LAX-USB

CPSN-AI-1208LI (CC-USB271)

CPSN-AI-2408LI (CC-USB271)

 

256K (256*1024)

256K (256*1024)

256K (256*1024)

256K (256*1024)

256K (256*1024)

256K (256*1024)

256K (256*1024)

256K (256*1024)

256K (256*1024)

256K (256*1024)

None (High performance analog input not supported)

None (High performance analog input not supported)

 

Yes (Buffer Memory 128K)

Yes (Buffer Memory 8K)

Yes (Buffer Memory 1K)

Yes (Buffer Memory 1K)

Yes (Buffer Memory 1K)

Yes (Buffer Memory 8K)

Yes (Buffer Memory 8K)

Yes (Buffer Memory 8K)

Yes (Buffer Memory 1K)

Yes (Buffer Memory 1K)

No

No

Ethernet Devices

AI-1608VIN-ETH

AI-1608AIN-ETH

 

256K (256*1024)

256K (256*1024)

 

Yes (Buffer Memory 8K)

Yes (Buffer Memory 8K)

Wireless I/O Devices

AI-1004LY-WQ

AI-1004LY-WQ-EU

AI-1004LY-WQ-US

AI-1004LY-WQ-CN

 

None (High performance analog input not supported)

None (High performance analog input not supported)

None (High performance analog input not supported)

None (High performance analog input not supported)

 

No

No

No

No

CONPROSYS Devices

CPS-AI-1608LI  (Used with CPS-BXC200)

CPS-AI-1608ALI  (Used with CPS-BXC200)

 

256K (256*1024)

256K (256*1024)

 

Yes (Buffer Memory 8K)

Yes (Buffer Memory 8K)

CONPROSYS nano Devices

CPSN-AI-1208LI (CPSN-MCB271)

CPSN-AI-2408LI (CPSN-MCB271)

 

None (High performance analog input not supported)

None (High performance analog input not supported)

 

No

No

Other Devices

AIO Demo Device

 

256K (256*1024)

 

Yes (No Buffer Memory)

 

For high performance analog output

Up to this point, the software memory for high-performance analog input has been described,
but there are also software memory for high-performance analog output, which have the following merits.

・If the amount of data fits in the software memory, there is no need to add data during output
・In the case of continuous output for a long time, there is a margin in the time (time to add the output data in time)
   until the operation ends after all the data is output.

Please refer to the following memory size of each device that supports high-performance analog output.

List of memory sizes that can be used with high performance analog output (Board type)
Devices Memory Size Use software memory

Analog G-Series Boards

AIO-163202F-PE

ADA16-32/2(PCI)F

64K (64*1024)

64K (64*1024)

No

No

Analog F-Series Boards
AIO-163202G-PE
AIO-163202UG-PE
AIO-123202G-PE
AIO-123202UG-PE


256K (256*1024)

256K (256*1024)
256K (256*1024)
256K (256*1024)


No

No
No
No

Analog E-Series Boards

AIO-121601E3-PE

AIO-121601UE3-PE

AIO-161601E3-PE

AIO-161601UE3-PE

AD12-16(PCI)EV

AD12-16U(PCI)EV

AD16-16(PCI)EV

AD16-16U(PCI)EV

 

None (High performance analog output not supported)

None (High performance analog output not supported)

None (High performance analog output not supported)

None (High performance analog output not supported)

None (High performance analog output not supported)

None (High performance analog output not supported)

None (High performance analog output not supported)

None (High performance analog output not supported)

 

No

No

No

No

No

No

No

No

Analog L-Series Boards

AIO-160802LI-PE

AIO-160802L-LPE

AO-1604LI-PE

AO-1604L-LPE

AO-1608L-LPE

AO-1616L-LPE

ADAI16-8/2(LPCI)L

ADA16-8/2(LPCI)L

DAI16-4(LPCI)L

DA16-4(LPCI)L

DA16-8(LPCI)L

DA16-16(LPCI)L

 

256K (256*1024)

256K (256*1024)

256K (256*1024)

256K (256*1024)

256K (256*1024)

256K (256*1024)

256K (256*1024)

256K (256*1024)

256K (256*1024)

256K (256*1024)

256K (256*1024)

256K (256*1024)

 

Yes (Buffer Memory 1K)

Yes (Buffer Memory 1K)

Yes (Buffer Memory 1K)

Yes (Buffer Memory 1K)

Yes (Buffer Memory 1K)

Yes (Buffer Memory 1K)

Yes (Buffer Memory 1K)

Yes (Buffer Memory 1K)

Yes (Buffer Memory 1K)

Yes (Buffer Memory 1K)

Yes (Buffer Memory 1K)

Yes (Buffer Memory 1K)

Other Analog Input/Output Boards

AO-1604CI3-PCI

DA12-4(PCI)

DA12-8(PCI)

DA12-16(PCI)

 

256K (256*1024)

256K (256*1024)

256K (256*1024)

256K (256*1024)

 

Yes (No Buffer Memory)

Yes (No Buffer Memory)

Yes (No Buffer Memory)

Yes (No Buffer Memory)


List of memory sizes that can be used with high performance analog output (USB type and others)
Devices Memory Size Use software memory

Analog USB Devices

AIO-163202FX-USB

AIO-160802GY-USB

AIO-160802AY-USB

AIO-120802LN-USB

AIO-121602LN-USB

AO-1604VIN-USB

AO-1604AIN-USB

AO-1604LX-USB

 

256K (256*1024)

256K (256*1024)

256K (256*1024)

256K (256*1024)

256K (256*1024)

256K (256*1024)

256K (256*1024)

256K (256*1024)

 

Yes (Buffer Memory 128K)

Yes (Buffer Memory 1K)

Yes (Buffer Memory 1K)

Yes (Buffer Memory 1K)

Yes (Buffer Memory 1K)

Yes (Buffer Memory 8K)

Yes (Buffer Memory 8K)

Yes (Buffer Memory 1K)

■Ethernet Devices

AO-1604VIN-ETH

AO-1604AIN-ETH

 

256K (256*1024)

256K (256*1024)

 

Yes (Buffer Memory 8K)

Yes (Buffer Memory 8K)

CONPROSYS Devices

CPS-AO-1604LI  (Used with CPS-BXC200)

CPS-AO-1604VLI  (Used with CPS-BXC200)

 

256K (256*1024)

256K (256*1024)

 

Yes (Buffer Memory 4K)

Yes (Buffer Memory 4K)

CONPROSYS nano Devices

CPSN-AO-1602LC

 

None (High performance analog output not supported)

 

No

Other Devices

AIO Demo Device

 

256K (256*1024)

 

Yes (No Buffer Memory)

 

Related item

Buffer memory Overflow