ソフトウェアメモリ

デバイスバッファモードにおいて、API-AIO(LNX)ドライバは、バッファメモリが少ないデバイスでも
なるべく安定したサンプリングを実現できるように、PCまたはファームウェアのメモリに256Kデータ分のメモリ領域を確保しており、
このメモリ領域を「ソフトウェアメモリ」と呼びます。

ソフトウェアメモリを使用するデバイスの場合、バッファメモリとソフトウェアメモリ間のデータ転送はドライバが自動的に行い、
アプリケーションからは、ソフトウェアメモリにアクセスする形になります。
この仕組みにより、アプリケーションではタイミングやデータ量に余裕を持って処理を行うことができます。

例:バッファメモリが1K(1024)データ分のデバイスで、以下の条件で長時間のサンプリングを行う場合

 ・チャネル数           : 1Ch
 ・サンプリングクロック周期 : 1msec
 ・メモリ形式           : FIFO

 

このデバイスがソフトウェアメモリを使用しない場合 (*1)

この設定でサンプリングを行うと、開始からおよそ1秒(1024msec)後に
バッファメモリが満杯になり、オーバーフローが発生します。

そのため、この設定で長時間のサンプリングを行うためには、アプリケーションは
1秒程度より早い周期でFIFOメモリのデータを取得し続ける必要があります。

 

このデバイスがソフトウェアメモリを使用する場合

ソフトウェアメモリには256K(262,144)データ分のデータを格納することができますので、
オーバーフローが発生するまでに262秒程度の時間があり、アプリケーションは
余裕をもってデータ取得を行うことができます。 (*2)

また、このサンプリングで収集するデータ量が256K未満の場合、
サンプリングが終了してから一度でまとめてデータを取得することもできますので、
サンプリング中にデータを取得し続ける処理と比較すると、
アプリケーションの処理内容を簡単にすることができます。

 

(*1) 実際にはバッファメモリが1Kのデバイスは必ずソフトウェアメモリを使用しますが、
上記は説明のため、使用しない場合にどうなるかを記載しています

(*2) 高速サンプリング時には、ソフトウェアメモリへのデータの転送が間に合わず、
バッファメモリ側でオーバーフローが発生することがあります

 

各デバイスのソフトウェアメモリ使用有無と、使用できるメモリサイズは以下を参照ください。

高機能アナログ入力で使用できるメモリサイズ一覧 (ボードタイプ)
デバイス メモリサイズ ソフトウェアメモリ使用

■アナログZシリーズボード

AI-1204Z-PE

 

AioSetAiMemorySize関数の設定に依存)

 

×

■アナログGシリーズボード
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)

 

×
×
×
×
×

■アナログFシリーズボード

AIO-163202F-PE

ADA16-32/2(PCI)F

 

64K (64*1024)

64K (64*1024)

 

×

×

■アナログEシリーズボード

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)

 

×

×

×

×

×

×

×

×

×

■アナログLシリーズボード

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)

 

○ (バッファメモリ1K)

○ (バッファメモリ1K)

○ (バッファメモリ1K)

○ (バッファメモリ1K)

○ (バッファメモリ1K)

○ (バッファメモリ1K)

○ (バッファメモリ1K)

○ (バッファメモリ1K)

○ (バッファメモリ1K)

○ (バッファメモリ1K)

■その他アナログ入出力ボード

AI-1604CI2-PCI

AD12-16(PCI)

AD12-64(PCI)

 

256K (256*1024)

256K (256*1024)

256K (256*1024)

 

○ (バッファメモリ無し)

○ (バッファメモリ無し)

○ (バッファメモリ無し)


高機能アナログ入力で使用できるメモリサイズ一覧 (USBタイプその他)
デバイス メモリサイズ ソフトウェアメモリ使用

■アナログUSBデバイス

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

 

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)

 

○ (バッファメモリ128K)

○ (バッファメモリ8K)

○ (バッファメモリ1K)

○ (バッファメモリ1K)

○ (バッファメモリ1K)

○ (バッファメモリ8K)

○ (バッファメモリ8K)

○ (バッファメモリ8K)

○ (バッファメモリ1K)

○ (バッファメモリ1K)

■Ethernetデバイス

AI-1608VIN-ETH

AI-1608AIN-ETH

 

256K (256*1024)

256K (256*1024)

 

○ (バッファメモリ8K)

○ (バッファメモリ8K)

■ワイヤレスI/Oデバイス

AI-1004LY-WQ

AI-1004LY-WQ-EU

AI-1004LY-WQ-US

AI-1004LY-WQ-CN

 

無し (高機能アナログ入力非対応)

無し (高機能アナログ入力非対応)

無し (高機能アナログ入力非対応)

無し (高機能アナログ入力非対応)

 

×

×

×

×

■CONPROSYSデバイス

CPS-AI-1608LI  (CPS-BXC200で使用)

CPS-AI-1608ALI  (CPS-BXC200で使用)

 

256K (256*1024)

256K (256*1024)

 

○ (バッファメモリ8K)

○ (バッファメモリ8K)

■CONPROSYS nanoデバイス

CPSN-AI-1208LI

CPSN-AI-2408LI

 

無し (高機能アナログ入力非対応)

無し (高機能アナログ入力非対応)

 

×

×

 

高機能アナログ出力の場合

ここまでは高機能アナログ入力でのソフトウェアメモリについて記載していますが、
高機能アナログ出力用のソフトウェアメモリも存在し、以下のようなメリットがあります。

・ソフトウェアメモリに収まるデータ量であれば、出力中にデータを継ぎ足す必要が無くなる
・長時間の連続出力をする場合に、全データを出力し終わって動作終了してしまうまでの時間
 (出力データを継ぎ足すのが間に合う時間)に余裕ができる

高機能アナログ出力に対応する各デバイスのメモリサイズは以下を参照ください。

高機能アナログ出力で使用できるメモリサイズ一覧 (ボードタイプ)
デバイス メモリサイズ ソフトウェアメモリ使用

■アナログGシリーズボード

AIO-163202G-PE
AIO-163202UG-PE
AIO-123202G-PE
AIO-123202UG-PE


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


×

×
×

×

■アナログFシリーズボード

AIO-163202F-PE

ADA16-32/2(PCI)F

 

64K (64*1024)

64K (64*1024)

 

×

×

■アナログEシリーズボード

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

 

無し (高機能アナログ出力非対応)

無し (高機能アナログ出力非対応)

無し (高機能アナログ出力非対応)

無し (高機能アナログ出力非対応)

無し (高機能アナログ出力非対応)

無し (高機能アナログ出力非対応)

無し (高機能アナログ出力非対応)

無し (高機能アナログ出力非対応)

 

×

×

×

×

×

×

×

×

■アナログLシリーズボード

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)

 

○ (バッファメモリ1K)

○ (バッファメモリ1K)

○ (バッファメモリ1K)

○ (バッファメモリ1K)

○ (バッファメモリ1K)

○ (バッファメモリ1K)

○ (バッファメモリ1K)

○ (バッファメモリ1K)

○ (バッファメモリ1K)

○ (バッファメモリ1K)

○ (バッファメモリ1K)

○ (バッファメモリ1K)

■その他アナログ入出力ボード

AO-1604CI3-PCI

DA12-4(PCI)

DA12-8(PCI)

DA12-16(PCI)

 

256K (256*1024)

256K (256*1024)

256K (256*1024)

256K (256*1024)

 

○ (バッファメモリ無し)

○ (バッファメモリ無し)

○ (バッファメモリ無し)

○ (バッファメモリ無し)


高機能アナログ出力で使用できるメモリサイズ一覧 (USBタイプその他)
デバイス メモリサイズ ソフトウェアメモリ使用

■アナログUSBデバイス

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)

 

○ (バッファメモリ128K)

○ (バッファメモリ1K)

○ (バッファメモリ1K)

○ (バッファメモリ1K)

○ (バッファメモリ1K)

○ (バッファメモリ8K)

○ (バッファメモリ8K)

○ (バッファメモリ1K)

■Ethernetデバイス

AO-1604VIN-ETH

AO-1604AIN-ETH

 

256K (256*1024)

256K (256*1024)

 

○ (バッファメモリ8K)

○ (バッファメモリ8K)

■CONPROSYSデバイス

CPS-AO-1604LI  (CPS-BXC200で使用)

CPS-AO-1604VLI  (CPS-BXC200で使用)

 

256K (256*1024)

256K (256*1024)

 

○ (バッファメモリ4K)

○ (バッファメモリ4K)

■CONPROSYS nanoデバイス

CPSN-AO-1602LC

 

無し (高機能アナログ出力非対応)

 

×

 

関連項目

バッファメモリ オーバーフロー