DncDataSetの動作モードについて以下に示します。
DncDataSetをFIFO(First In First Out)バッファとして機能させるモードです。
FIFOバッファモードでは、データ追加が常に最後に追加したデータの後に続いて行われ、バッファからのデータ読み込みは常に一番古いデータから行われます。
■FIFOバッファモード書き込みイメージ
以下のように、合計6データ書き込まれたバッファに対して、更に3データを追加した場合、データは末尾に追加されます。
バッファ容量を超えて書き込もうとした場合は、オーバーフローエラーが発生します。
■FIFOバッファモード読み込みイメージ
以下のように、合計9データ書き込まれたバッファに対して、3データを取得した場合は、先頭から3データを取得します。
読み込まれたデータ数分、バッファ内データは前詰めされます。
DncDataSetをRINGバッファとして機能させるモードです。
データは順次書き込まれていき、バッファ上限を超えてデータを追加するときは古いデータを上書きして格納します。
データの読み込みは、最終データ位置を基準にして行われます。
常時データ取得しておき、何かしらのイベント前後の値を取得したい場合等にご利用ください。
■RINGバッファモード書き込みイメージ
RINGバッファモードでデータを書き込んだ際、FIFO同様に末尾に追加されていきます。
バッファ上限を超えてデータを書き込もうとした場合、FIFOバッファモードではオーバーフローエラーが発生しますが、RINGバッファモードの場合は古いデータより上書きされていきます。
※DncDataSetのバッファ容量が9データの前提です。
■RINGバッファモード読み込みイメージ
RINGバッファモードでデータを読み込んだ際は最終書き込みデータを基準に指定点数分取得されます。
以下のバッファ状態で、1データセット(3データ)のデータを指定した場合は、No.06-No.08のデータを取得可能です。
DncDaqから連携されたデータの最新値を常に保持するモードです。
単純に連携データをコードから取得したい場合等にご利用ください。
※プロパティから変数にアクセスするイメージで、データ取得/書込が可能です。