ＤＡＳＢＯＸ Ｍｏｄｅｌ−Ｅシリーズ
ＤＡＳｍｉｎｉ―Ｅ２０００シリーズ
基本サブルーチン仕様書
for
LINUX／UNIX／Windows
作成 平成１５年 ４月
改訂 平成１８年 ６月 ７日（kit2.11、またはkit2.11-24に対応）
改訂 平成１８年 ６月１６日（kit2.12）
改訂 平成１９年 ４月 ２日（kit2.12bに対応）
改訂 平成１９年 ５月２２日（kit2.13に対応）
改訂 平成１９年 ７月 ３日（kit2.14に対応）
改訂 平成１９年 ８月１７日（kit2.14aに対応）
改訂 平成１９年 ９月１８日（kit2.14bに対応）
改訂 平成２０年１１月１９日（kit2.15に対応）
改訂 平成２２年 ９月１５日（kit2.16に対応）
改訂 平成２３年 ４月 ７日（kit2.17に対応）
改訂 平成２４年 ３月２３日（kit2.18に対応）

ケイテクノス株式会社

目

次

改訂履歴............................................................................................................3
第１章 概 要...................................................................................................5
第２章 DASBOX 関数の説明.............................................................................6
2.1 ＡＤ／ＤＡ（入出力）共通................................................................................. 6
2.2 ＡＤ（入力）専用 ............................................................................................... 7
2.3 ＤＡ(出力)専用.................................................................................................... 8

第３章 DASBOX 関数の使用方法......................................................................9
3.1 ＡＤ／ＤＡ（入出力）共通............................................................................... 10
3.1.1
3.1.2
3.1.3
3.1.4
3.1.5
3.1.6
3.1.7
3.1.8
3.1.9
3.1.10inet_io_open......................................................................................................... 10
inet_io_close......................................................................................................... 11
inet_io_packet ..................................................................................................... 12
inet_io_cond......................................................................................................... 14
inet_io_stat .......................................................................................................... 16
inet_io_stop.......................................................................................................... 17
inet_io_init........................................................................................................... 18
inet_io_info .......................................................................................................... 19
inet_io_error ........................................................................................................ 21
inet_io_blkf.......................................................................................................... 22
3.1.11 inet_amp_set........................................................................................................ 23
3.1.12 inet_amp_cutoff ................................................................................................... 24
3.1.13 inet_amp_bcutoff ................................................................................................. 26
3.1.14 inet_amp_afcal（オプション） ........................................................................... 27
アンプフィルタ設定アーギュメントの説明（PCI-AF8 アーギュメント）........................ 28
フィルタ設定アーギュメントの説明（DAS-16AF-A アーギュメント）............................ 31
3.1.15 inet_io_info2.......................................................................................................... 32
3.1.16 inet_io_clock_sync（24bit 専用）......................................................................... 34
3.1.17 inet_k_amp_set.................................................................................................... 35
風圧センサーアンプ設定アーギュメントの説明（KAMP アーギュメント） .................... 36

3.2 ＡＤ（入力）専用 ............................................................................................. 38
3.2.1
3.2.2
3.2.3
3.2.4
3.2.5
3.2.6
3.2.7
3.2.8

inet_io_adstart ........................................................................................................ 38
inet_io_adread......................................................................................................... 39
inet_io_adfile........................................................................................................... 41
inet_io_pre............................................................................................................... 42
inet_io_count ........................................................................................................... 43
inet_io_adda_cal（24bit 専用） ............................................................................. 45
inet_io_24b16m_adread（24bit 機 16 ビットデータモード専用） ....................... 46
inet_io_24b16m_adfile (24bit 機 16 ビットデータモード専用)........................... 48

3.3 ＤＡ（出力）専用 ............................................................................................. 49
3.3.1
3.3.2
3.3.3
3.3.4
3.3.5
3.3.6
3.3.7
3.3.8

inet_io_dastart ........................................................................................................ 49
inet_io_dawrite ....................................................................................................... 50
inet_io_dafile........................................................................................................... 52
inet_io_dawait......................................................................................................... 53
inet_io_cycle_stop ................................................................................................... 54
inet_io_daclear........................................................................................................ 55
inet_io_mute（24bit 専用） ................................................................................... 56
inet_io_24b16m_dawrite（24bit 機 16 ビットデータモード専用） ...................... 57

1

3.3.9inet_io_24b16m_dafile（24bit 機 16 ビットデータモード専用）.......................... 59

3.4 サブルーチン実行基本フロー ........................................................................... 60
3.4.1
ＡＤ動作 ............................................................................................................... 60
3.4.2 DA 動作.................................................................................................................... 62

第４章 ＤＡＳＢＯＸアーギュメント説明.......................................................63
4-1

mode............................................................................................................... 64

4-2

stat ................................................................................................................. 65

4-3

dmatime......................................................................................................... 65

4-4

attn（未使用）............................................................................................... 65

4-5

gain ................................................................................................................ 66

4-6

trgslp.............................................................................................................. 66

4-7

clkmode.......................................................................................................... 66

4-8

clock ............................................................................................................... 67

4-9

frame1............................................................................................................ 68

4-10 frame2 ............................................................................................................ 68
4-11 frame3 ............................................................................................................ 68
4-12 frame4 ............................................................................................................ 68
4-13 frame5 ............................................................................................................ 69
4-14 mutelevel（24 ビット機種の inet_io_packet 時のみ有効）............................ 69
4-15 trglevel ........................................................................................................... 69
4-16 trgsrc .............................................................................................................. 69
4-17 trgch ............................................................................................................... 70
4-18 channels ......................................................................................................... 70
4-19 chanum【1024】............................................................................................ 70
4-20

master（24 ビット機種の inet_io_packet 時のみ有効） ............................ 70

4-21

ext_parm（24 ビット機種の inet_io_packet 時のみ有効）.......................... 71

4-22

dmasize,pre_mem_size................................................................................ 71

第５章 ＤＡＳＢＯＸソフトウェア作成 ..........................................................72
5-1

インストール .................................................................................................. 72

5-2

キット内容...................................................................................................... 72

5-3

ユーザープログラムへの組み込み .................................................................. 75

5-4

コマンドベースのサンプルソフト使用方法 .................................................... 76

5-5

ダイアログベースのサンプルソフト使用方法 ............................................... 82

2

改訂履歴
・平成 15 年４月

初版作成

・平成 18 年 6 月 7 日 （V2.11、または V2.11-24）
１． True64 UNIX 等６４ビットコンパイラに対応、Long 使用の型宣言を int に変更。
２． コンパイルオプション B24 により２４ビット分解能 DASBOX、
DASminiE2000 を使用するサブルーチン・オブジェクトを生成する。
３． コンパイルオプション COMPATI_24b5x0 により従来 DASBOX
Model-5x0 基本サブルーチンとのできる限りの互換性をとる。
また、COMPATI_24b5x0 を使う場合は 32 ビットデータモードのみ使用で、常にマスタ装置（master=1）になります。
４． コンパイルオプション BIG により HP-UX 等の BIG_Endian マシンに対応。（２４ビット DASminiE2000、DASBOX-E のみ）

５． 関数名の変更
２４ビット DASminiE2000 32 ビットデータモード時
inet_io_adread32 -Æ inet_io_adread
inet_io_adfile32-Æ inet_io_adfile
inet_io_dawrite32 -Æ inet_io_dawrite
inet_io_dafile32-Æ inet_io_dafile
inet_io_packet24 -Æ
inet_io_packet
関数追加
２４ビット DASminiE2000 １６ビットデータモード
inet_io_24b16m_adread
inet_io_24b16m_adfile
inet_io_24b16m_dawrite
inet_io_24b16m_defile
平成１８年６月１６日（kit2.12）
１．１６ビット DASBOX の read・write も BIG エンディアン OS でのデータスワップに対応。コンパイルオプション BIG 付きでコンパイルする。
２．１６ビット機、２４ビット機のキットを共通化。

平成１９年４月 ２日
１．3.1.14 inet_amp_afcal 関数をオプション扱いに変更
２．アンプフィルタ設定アーギュメントの説明にて
offmode=Fine の場合、±0.1Ｖを±0.2V に訂正
３．Offset 機能標準装備（オプション扱いなし）
平成１９年５月２２日
１．DASBOX-E AI32-24/20M ﾓｼﾞｭｰﾙ対応のため、コンパイルオプション
ADC1271 を追加。
DASBOX-E シリーズにて AI32-24/20M ﾓｼﾞｭｰﾙを使用する場合はコンパイルオプション B24 と ADC1271 付きでコンパイルする。

3

平成１９年７月３日
１．DASBOX アーギュメントの説明にて、gain 設定を有効とし、説明を追加した。
２．Kit2.14 にて下記のサンプルソフトを追加及び変更した為、説明を追加
１）dawave VisualStudio6.0 環境でのダイヤログベースのサンプルソフト
２）samplevc VisualStudio6.0 環境でのコマンドベースのサンプル
ソフト３）コマンドベースサンプルソフトソース apl90.c に DARET,DACYCLDATCYC,DARCYC、ADTEST,DATEST のモード動作を追加
平成１９年８月１７日
１．サンプルソフト daswave VisualStudio6.0 環境でのダイヤログベースのサンプルのバージョンアップのため、説明追加
１）IP ADDRESS 設定可能
２）ランダムチャンネル設定の最大チャンネル番号 16−＞64３）gain 設定対応
２．サンプルソフト apl90.c のバージョンアップのため、説明追加
１）アーギュメントメンバーgain（トリガゲイン選択）のサポート
２）ifdef にて、B24 の場合はチャンネルトリガ選択禁止とした。
平成１９年９月１９日
１．4-18channles 設定にて、奇数チャンネル設定での注意事項及び偶数チャンネル設定の推奨。

平成２０年１月１９日
１．3.2.4 トータルチャンネルに対しての個数でなく、１チャンネルに対しての個数に変更。
平成２０年１１月１９日
１．4-21 ext_parm（24 ビット機種の inet_io_packet 時のみ有効）追加
4-22 修正
平成２２年

９月１５日
3.1.17 inet_k_amp_set()関数の追加

平成２３年

４月 ７日
１． 32bit Windows 用 DLL 及び C#関数説明追加

平成２４年

３月２３日
１． 64bit Windows 用 DLL 追加

4

第１章 概要本サブルーチンは、DASBOX Model-Eシリーズ及びDASmini-E2000シリーズ（以降DASBOX と表記）をＰＣ上で使用するためのプログラムです。
本サブルーチンは、DASBOX を使用するための基本操作を行うプログラムから構成されており、AD 入力、DA 出力及びそれらに付随する設定をサブルーチンコールによって行います。
基本サブルーチンはLinux/Unix/Windows共通Cソースファイル(*.c,*.h)で提供しています。
Windows用には別に32bit/64bit版DLLとC#クラスライブラリを提供しています。

アナログ入出力DASBOX

ハードウェアインタフェースボード

ネットワーク ドライバＰＣ

DASBOX
基本サブルーチン
ソフトウェア
ユーザープログラム

5

第２章 DASBOX 関数の説明
2.1 ＡＤ／ＤＡ（入出力）共通
・inet_io_open()
DASBOXと接続されているデバイスをオープンします。
・inet_io_close()
DASBOXと接続されているデバイスをクローズします。
・inet_io_packet()
DASBOXに対して動作を指示します。
基本サブルーチンV2.11で２４ビットDASBOXに対応し共通となりました。
・inet_io_cond()
DASBOXの状態（トリガ等）を取得します。
・inet_io_stat()
DASBOXがAD/DA動作中にエラーが発生した時、DASBOXのエラーステータ
スを読み取ります。
・inet_io_stop()
DASBOXの計測動作を中止させ、コマンド待ちの状態となります。
動作設定内容は保持されます。
・inet_io_init()
DASBOXを初期状態に戻します。
動作設定内容は無効となり、新たに動作指示を行う必要があります。
・inet_io_info()
DASBOXのインフォメーションを得ます。
・inet_io_info2()
DASBOXのバージョン情報を得ます。
・inet_io_error()
サブルーチン呼び出しでエラーが発生した場合、エラー内容を返します。
・inet_io_blkf()
データ転送のブロックサイズを設定します。
・inet_amp_set()
アンプ関連項目の設定を行います。（オプション）・inet_amp_cutoff()
フィルタ関連項目の設定を行います。（オプション）
6・inet_amp_bcutoff()
ブロック単位で、フィルタ関連項目の設定を行います。（オプション）―――＞ V2.11より当関数は削除。
・inet_io_packet24()
DASBOXに対して動作を指示します。（24ビットモジュール専用）・inet_io_clock_sync()
DASBOX（24ﾋﾞｯﾄﾓｼﾞｭｰﾙ専用）に対して動作を指示します。
複数台のDASBOXのサンプリングクロックの位相を同期させます。
・inet_k_amp_set()
風圧センサーアンプ関連項目の設定を行います。（オプション）
2.2 ＡＤ（入力）専用
・inet_io_adstart()
DASBOXに対してAD（入力）動作を開始させます。
・inet_io_adread()
DASBOXからのADデータをメモリ上に読み込みます。
基本サブルーチンV2.11より２４ビットDASBOXに対応し共通となりました。但し24ビット機16ビットデータモードではinet_io_24b16m_adread()を使用します。
・inet_io_adfile()
DASBOXからのADデータをファイルに書き込みます。
基本サブルーチンV2.11より２４ビットDASBOXに対応し共通となりました。但し24ビット機16ビットデータモードではinet_io_24b16m_adfile()を使用します。
・inet_io_pre()プリトリガが動作を行なった時、トリガ以前何データが無効データかホストに知らせます。
・inet_io_count()
DASmini-E2000シリーズにてオプションでＤＩ機能を追加した場合に、各カウンタ（パルスカウンタ１，パルスカウンタ２，エンコーダ入力）を ０
クリアし、エンコーダ入力の機能設定をします。（オプション）・inet_io_adda_cal()DASBOX（24ﾋﾞｯﾄﾓｼﾞｭｰﾙ専用）内のADのオフセット・キャリブレーションを行います。ADCのDCオフセットの自動校正を行う関数です。
必ずしも毎回の計測で行う必要はありませんが、装置の電源投入後１回は行うことを推奨します。

7

・inet_io_24b16m_adread()
24ビット機16ビットデータモードでDASBOX（24ﾋﾞｯﾄﾓｼﾞｭｰﾙ専用）からのA
Dデータをメモリ（16ビットデータ）上に読み込みます。
・inet_io_24b16m_adfile()
24ビット機16ビットデータモードでDASBOX（24ﾋﾞｯﾄﾓｼﾞｭｰﾙ専用）からのA
Dデータ（16ﾋﾞｯﾄ）をファイルに書き込みます。
2.3 ＤＡ(出力)専用
・inet_io_dastart()
DASBOXに対してDA（出力）動作を開始させます。
・inet_io_dawrite()
DASBOXにDAデータをメモリ上から書き込みます。
基本サブルーチンV2.11より２４ビットDASBOXに対応し共通となりました。但し24ビット機16ビットデータモードではinet_io_24b16m_dawrite()を使用します。
・inet_io_dafile()
DASBOXへのDAデータをファイルから読み込み、DASBOXにデータを送信します。
基本サブルーチンV2.11より２４ビットDASBOXに対応し共通となりました。
但し24ビット機16ビットデータモードではinet_io_24b16m_defile()を使用します。
・inet_io_dawait()
実際のDAが終了するまで待ち状態にします。
・inet_io_cycle_stop()
DASBOXのDAサイクル動作をフレームの区切り目で終了させます。
・inet_io_daclear()
動作（計測）停止状態のDASBOXのDA出力を０V出力状態にします。
・inet_io_mute()
DASBOX（24ﾋﾞｯﾄﾓｼﾞｭｰﾙ専用）内の全てのDA出力にmuteをかけます。
・inet_io_24b16m_dawrite()
24ビット機16ビットデータモードでDASBOX（24ﾋﾞｯﾄﾓｼﾞｭｰﾙ専用）にDAデータ（16ビット）をメモリ上から書き込みます。
・inet_io_24b16m_dafile()
24ビット機16ビットデータモードでDASBOX（24ﾋﾞｯﾄﾓｼﾞｭｰﾙ専用）へのDA
データをファイルから読み込み、DASBOXにDAデータ（16ビット）を送信します。
8

第３章 DASBOX 関数の使用方法
・コントロールブロック
DASBOXを制御するための環境エリアとして本関数が使用する構造体をコントロー
ルブロックと呼びます。コントロールブロックはDASBOX一台に対し、ひとつのコントロールブロックが必要になります。あらかじめ、ユーザーは構造体をstatic変数として定義する必要があります。このコントロールブロックに対するユーザーの書
き込みは一切不要です。

・DASBOXアーギュメント
DASBOXに対して動作を指示する構造体でinet_io_packet()関数等で使用します。
内容は第４章で説明します。
C関数ではコントロールブロック及びDASBOXアーギュメントは、pci_sad.hファイ
ルにその他の定義と共に納められています。ユーザーは、本関数を使用する場合pci_sad.hファイルをインクルードして使用します。（sadtp24.hを、インクルードしても同様に機能します。）
C#関数ではコントロールブロック及びDASBOXアーギュメントは、dasbox.csファイ
ルにその他の定義と共にDasboxクラスとして納められています。ユーザーは、本関数を使用する場合dasbox.csファイルをプロジェクトに追加して使用します。
また本関数で使用する構造体の作成はnewで作成するのではなくNewメソッドを使用してください。
Dasbox.CBLK cblk = Dasbox.CBLK.New();

93.1 ＡＤ／ＤＡ（入出力）共通
3.1.1

inet_io_open

機能：DASBOXと接続されているデバイスをオープンします。
他の関数は、本関数呼び出し後動作可能になります。
C形式：
int inet_io_open(cblock, dasarg, ip_address);
CBLK *cblock;
PCISAD_ARG *dasarg;
char *ip_address;
C#形式：
int Dasbox.inet_io_open(ref cblock, ref dasarg, ip_address);
Dasbox.CBLK cblock = Dasbox.CBLK.New();
Dasbox.PCISAD_ARG dasarg = Dasbox.PCISAD_ARG.New();
String ip_address;
引数：
cblockdasargip_address
戻り値：
0
-1

コントロールブロックのポインタ
DASBOXアーギュメントのポインタ
Host NameかIP ADDRESSを直接指定します。
キャラクタのポインタ
正常終了
異常終了

10

3.1.2

inet_io_close

機能：DASBOXと接続されているデバイスをクローズします。
C形式：
int inet_io_close(cblock);
CBLK *cblock;C#形式：
int Dasbox.inet_io_close(ref cblock);
Dasbox.CBLK cblock = Dasbox.CBLK.New();
引数：
cblock
戻り値：
0-1

コントロールブロックのポインタ

正常終了
異常終了

11

3.1.3

inet_io_packet

機能：DASBOXに対して動作を指示します。設定内容に関しては、第４章のDASBOXアーギュメント説明を参照願います。
基本サブルーチンV2.11より２４ビットDASBOXに対応し共通となりました。
但し、次の２つの場合で引数の数がことなります。
C形式：① １６ビット迄のDASBOX、及び２４ビット機で３２ビットデータモードの時
int inet_io_packet(cblock, dasarg);
CBLK *cblock;
PCISAD_ARG *dasarg;②２４ビット機の場合は１６ビットデータモード、３２ビットデータモードとも次の仕様で扱うことができます。
int inet_io_packet(cblock, dasarg, bit16);
CBLK *cblock;
PCISAD_ARG *dasarg;
int bit16;
C#形式：① １６ビット迄のDASBOX、及び２４ビット機で３２ビットデータモードの時
int Dasbox.inet_io_packet(ref cblock, ref dasarg);
Dasbox.CBLK cblock = Dasbox.CBLK.New();
Dasbox.PCISAD_ARG dasarg = Dasbox.CBLK.New();②２４ビット機の場合は１６ビットデータモード、３２ビットデータモードとも次の仕様で扱うことができます。
int Dasbox.inet_io_packet(ref cblock, ref dasarg, bit16);
Dasbox.CBLK cblock = Dasbox.CBLK.New();
Dasbox.PCISAD_ARG dasarg = Dasbox.CBLK.New();
int bit16;
引数：
cblockdasargbit16

コントロールブロックのポインタ
DASBOXアーギュメントのポインタ
２４ビット装置にて１６ビットデータモードを指定
0 = ３２ビットデータモード
12

1
戻り値：
0
-1
-2
-4
-5
-6
-7,-8

=

１６ビットデータモード

正常終了
modeの設定エラー
clockの設定エラー
clkmodeの設定エラー
channelsの設定エラー
chanum[1024]の設定エラー
パケットコマンドエラー

133.1.4

inet_io_cond

機能： DASBOXの状態を取得します。
このステータスはいつでも読み出すことが出来るため、ステータス情報の正当性は、inet_io_adstart(),inet_io_dastart()関数の呼び出し後、ADもしくはD
A動作が完了するまでの期間となります。
C形式：
int inet_io_cond(cblock,data);CBLK *cblock;int *data;
C#形式：
int Dasbox.inet_io_cond(ref cblock, data);
Dasbox.CBLK cblock = Dasbox.CBLK.New();
int[] data = new int[1];引数：
コントロールブロックのポインタ
ステータスを格納する変数のポインタ
DASBOXの状態を返します。各ビット毎に意味を持ちます。

cblockdata
31〜16

15 14 13 12 11 10＊＊ ＊ ＊ ＊

N
E
M

＊

9
E
R
R

8

7

＊

E
N

6

5

4〜0

＊

T
R
G

＊

＊ 印のビットは不定データとなります。
Bit11: NEM
DASBOXのFifoが空でない時に１となります。

Bit9: ERRDASBOXが計測中にサンプリングエラー又はFiFoオバーフロー
エラーとなった場合に １ となります。
inet_io_adstart(),inet_io_dastart(),inet_io_init(),inet_io_stop()で、０ クリアされます。
Bit7: ENDASBOXが計測中にます。

１となり、計測終了すると０となり

Bit5: TRG
計測スタート時に ０ クリアされ、トリガを使用するモードの時に、トリガを受信すると １ となります。
リトリガモードの場合は、１回目のトリガで １ となりますので、２回目以降のトリガのステータスとしては使用できません。
14

２回目以降のトリガの判断は、NEMビットを使用し、１フレーム分のデータを読み込んでも、NEMビットが １ の場合は次のトリガを受信して、データが格納されたと判断します。
戻り値：
0
-1

正常終了
異常終了

15

3.1.5

inet_io_stat

機能：DASBOXに動作エラーが発生した時のステータスを取得します。
データ転送関数inet_io_adread()、inet_io_dawrite()やinet_io_dawait()などの制御関数でエラーが発生した場合、inet_io_stat()でエラーの詳細を突き止めます。
尚、一度通知したエラーは通知したときにクリアされます。
C形式：
int inet_io_stat(cblock, dasarg);
CBLK *cblock;
PCISAD_ARG *dasarg;
C#形式：
int Dasbox.inet_io_stat(ref cblock, ref dasarg);
Dasbox.CBLK cblock = Dasbox.CBLK.New();
Dasbox.PCISAD_ARG dasarg = Dasbox.PCISAD_ARG.New();
引数：
cblockdasargコントロールブロックのポインタ
dasboxアーギュメントのポインタ

戻り値：
0
正常終了
-1
異常終了
8000（HEX） SDS_PCI_FIFO_OVERFLOW
8001（HEX） SDS_PCI_OVER_SAMPLING
8002（HEX） SDS_PCI_ADDA_ABORT
8003（HEX） SDS_PCI_TIMEOUT

16

3.1.6

inet_io_stop

機能：DASBOXの計測を強制終了させます。設定されたパラメータは保持されますので、inet_io_packet()にて再度パラメータを設定する必要はありません。
但し、DASBOX内のメモリー内に取り込まれているデータは消去されます。
C形式：
int inet_io_stop(cblock, dasarg);
CBLK *cblock;
PCISAD_ARG *dasarg;
C#形式：
int Dasbox.inet_io_stop(ref cblock, ref dasarg);
Dasbox.CBLK cblock = Dasbox.CBLK.New();
Dasbox.PCISAD_ARG dasarg = Dasbox.PCISAD_ARG.New();
引数：
cblockdasarg
戻り値：
0-1

コントロールブロック
dasbox アーギュメント

正常終了
異常終了

17

3.1.7

inet_io_init

機能：DASBOXを初期状態に戻し、設定されているパラメータは消去されます。
計測中は、強制終了しDASBOX内のメモリー内に取り込まれているデータは消去されます。
C形式：
int inet_io_init(cblock);
CBLK *cblock;C#形式：
int Dasbox.inet_io_init(ref cblock);
Dasbox.CBLK cblock = Dasbox.CBLK.New();
引数：
cblock
戻り値：
0-1

コントロールブロックのポインタ

正常終了
異常終了

18

3.1.8inet_io_info
機能：DASBOXの内部情報を得ます。
C形式：
int inet_io_info(cblock, statptr, size);
CBLK *cblock;
PCISAD_INFO *statptr;
int size
C#形式：
int Dasbox.inet_io_info(ref cblock, ref statptr, size);
Dasbox.CBLK cblock = Dasbox.CBLK.New();
Dasbox.PCISAD_INFO statptr = Dasbox.PCISAD_INFO.New();
int size
引数：
cblockstatptr
size

戻り値：
0
-1

コントロールブロックのポインタ
情報データのポインタ
読み込む情報量 (word))
通常はboard_idまでが有効ですので、９を設定してください。

正常終了
異常終了

PCISAD_INFO {int
unsigned shortunsigned int
unsigned int
unsigned int
unsigned shortunsigned short}fifo;
fifo_wide;
input_channel;
output_channel;board_id;
module_input;
module_output;

1） fifo
DASBOXに実装されているFIFOのワードサイズが入ります。
2） fifo_wide
DASBOXに実装されているFIFOのビット長が入ります。
19

現在は固定長の１６が入っています。

3） input_channel
DASBOXの最大ADチャネル数が入ります。
4） output_channel
DASBOXの最大DAチャネル数が入ります。
5） board_id
DASBOX−Ｅシリーズの場合、ID（DASBOXのモジュール設定）が入ります。
詳細はDASBOX−Ｅシリーズ ハードウェアマニュアルの第３章のS1設定を参照願います。
ON”で、 １
Ｓ１
４

３

２

１

D3

D2

D1

D0

DASmini-E2000シリーズの場合は不定データとなります。

6） module_input
未使用（拡張用）
7） module_output
未使用（拡張用）

20

3.1.9inet_io_error

機能：サブルーチン呼び出しでエラーが発生した場合エラー内容を文字列で返します。
C形式：
char *inet_io_error(cblock);
CBLK *cblock;
C#形式：
StringBuilder Dasbox.inet_io_error(ref cblock);
Dasbox.CBLK cblock = Dasbox.CBLK.New();
引数：
cblockコントロールブロックのポインタ

戻り値：
文字列へのポインタ21

3.1.10

inet_io_blkf

機能： 基本的には、１チャンネルに対する1回のinet_io_adread()及びinet_io_dawrite()のデータの転送数（ブロック数）を指定します。inet_io_adstart()及びinet_io_d
astart()の前に1度だけ指定してください。データ転送中に変更した場合は、保持されますが、次のinet_io_adstart()及びinet_io_dawrite()から有効となります。
C形式：
int inet_io_blkf(cblock, size)
CBLK *cblock;int size;
C#形式：
int Dasbox.inet_io_blkf(ref cblock, size)
Dasbox.CBLK cblock = Dasbox.CBLK.New();
int size;
引数：
cblock
size

戻り値：
0
-1

コントロールブロックのポインタ
１チャンネルに対しての、１回のブロック（データ転送）
サイズを指定します。単位はワードです。
設定範囲 ： １〜2147483648（2G）
正常終了
異常終了

補足： DASBOX内部には、ハードウェアのFiFoメモリー及びファームウェアの中間
バッファがあります。転送効率を上げるため、ファームウェアはホストからのデータ転送要求がなくても、データの先読みを行います。Sizeの設定はこの時の、データの先読みデータ量の指定も兼ねております。
よってAD動作の場合、size×計測チャンネル数指定とinet_io_adread()の読み込み数（count）が一致しない場合例１の様な転送となります。
例１ ｻﾝﾌﾟﾙｸﾛｯｸ=１Hz、size=2、計測ﾁｬﾝﾈﾙ数=10、count=10
ﾁｬﾝﾈﾙに対して２データずつ読み込みを行うため、
inet_io_adread（）を連続に行った場合に、戻り時間が約２秒、１秒
以下、約２秒、１秒以下のくり返しとなる。
例２ ｻﾝﾌﾟﾙｸﾛｯｸ=１Hz、size=1、計測ﾁｬﾝﾈﾙ数=10、count=10
ﾁｬﾝﾈﾙに対して１データずつ読み込みを行うため、
inet_io_adread（）の戻り時間が約１秒のくり返しとなる。
22

3.1.11

inet_amp_set

機能： 指定したチャネルにアンプ関連項目の設定を行います。
DASBOX−Eシリーズに対応したアンプフィルタモジュール、DASmini-E2000の AF モデルに対応しています。
C形式：
int inet_amp_set (cblock, afarg, channel);
CBLK *cblock;
struct af_arg *afarg;
int channel;
C#形式：
int Dasbox.inet_amp_set (ref cblock, ref afarg, channel);
Dasbox.CBLK cblock = Dasbox.CBLK.New();
Dasbox.AF_ARG afarg = Dasbox.AF_ARG.New();
int channel;
引数：
cblock コントロールブロックのポインタ
afarg PCI-AF8アーギュメントのポインタ
下記のアーギュメントメンバーが有効となります。
gain[128]
ゲイン
offval[128]オフセット電圧値
offmode[128]オフセット電圧値のレベル
input[128]AC/DC切替
imode[128]
SIGNAL/GND切替
channel 設定チャネル番号0
1 ~ 128= All Channel= Select Channel

戻り値：
0
-1

正常終了
異常終了

補足：
本関数はアンプモジュールを内蔵したDASBOXで有効です。
PCI-AF8アーギュメントの説明は3.1.12 inet_amp_cutoffの項を参照願います。

23

3.1.12

inet_amp_cutoff

機能： 全てのチャネルにフィルタ関連項目の設定を行います。
DASBOX−Eシリーズに対応したアンプフィルタモジュール、DASmini-E2000の AF モデルに対応しています。
C形式：
int inet_amp_cutoff(cblock, afarg);
CBLK *cblock;
struct af_arg *afarg;
C#形式：
int Dasbox.inet_amp_cutoff(ref cblock, ref afarg);
Dasbox.CBLK cblock = Dasbox.CBLK.New();
Dasbox.AF_ARG afarg = DASbox.AFARG.New();
引数：
cblock コントロールブロックのポインタ
afarg PCI-AF8アーギュメントのポインタ
下記のアーギュメントのメンバーが有効となります。
Cutoff
カットオフ周波数
戻り値：
0
-1

正常終了
異常終了

補足：
本関数はフィルタ機能を持ったDASBOXで有効です。
af_arg （PCI-AF8アーギュメント）PCI-AF8のアンプ・フィルタ機能の設定を行うには、inet_amp_set関数，
inet_amp_cutoff関数を使用します。inet_amp_set関数，inet_amp_cutoff
関数の第２パラメータ(af_arg)がPCI-AF8のアンプ・フィルタ機能の設定
内容になっています。
struct af_arg{
int
gain[128];
int
offval[128];
int
offmode[128];
int
input[128];
24

int
int

imode[128];
pathen[128];

int
int
int
int
int
int
int
float

cutoff;calsel;revolution;pulse;
change;average;cmplevel;teibai;};25

3.1.13

inet_amp_bcutoff

機能： 8 チャネルのブロック単位にフィルタ関連項目の設定を行います。
DASBOX−E シリーズに対応したアンプフィルタモジュール、DASmini‑E2000 の AF モデルに対応しています。
C 形式：
int inet̲amp̲bcutoff(cblock, barg, block);
CBLK *cblock;
struct bcutoff̲arg *barg;
int block;C#形式：
int Dasbox.inet̲amp̲bcutoff(ref cblock, ref barg, block);
Dasbox.CBLK cblock = Dasbox.CBLK.New();
Dasbox.BCUTOFF̲ARG barg = Dasbox.BCUTOFF̲ARG.New();
int block;
引数：
cblock コントロールブロックのポインタ
barg bcutoff̲arg アーギュメントのポインタ
下記のアーギュメントのメンバーが有効となります。
Cutoff
カットオフ周波数
block 設定するブロックを指定します。
例）block = 0 ・・・全てのチャネル (cutoff[0]〜[15])block = 1 ・・・１チャネル〜８チャネル （cutoff[0]）block = 2 ・・・９チャネル〜１６チャネル（cutoff[1]）
戻り値：
0
‑1

正常終了
異常終了

補足：
本関数はフィルタ機能を持った DASBOX で有効です。
bcutoff̲arg（DAS‑16AF‑A アーギュメント）DAS‑16AF‑A のフィルタ機能の設定を行うには、inet̲amp̲bcutoff 関数を使用します。
inet̲amp̲bcutoff 関数の第２パラメータ(barg)が DAS‑16AF‑A のフィルタ機能の設
定内容になっています。
struct bcutoff_arg{
int

cutoff[16];};263.1.14inet_amp_afcal（オプション）

機能： 8チャネルのブロック単位にオフセットのキャリブレーションを行います。
DASBOX−Eシリーズに対応したアンプフィルタモジュール、DASmini-E2000の AF モデルに対応しています。
C形式：
int inet_amp_afcal(cblock, block);
CBLK *cblock;int block;C#形式：
int Dasbox.inet_amp_afcal(ref cblock, ref block);
Dasbox.CBLK cblock = Dasbox.CBLK.New();
int block;
引数：
cblock コントロールブロックのポインタ
block 設定するブロックを指定します。
例）block = 0 ・・・全てのチャネル
block = 1 ・・・１チャネル〜８チャネル
block = 2 ・・・９チャネル〜１６チャネル
戻り値：
0
-1

正常終了
異常終了

補足：
本関数はアンプ、フィルタ機能を持ったDASBOXで有効です。

27

アンプフィルタ設定アーギュメントの説明（PCI-AF8 アーギュメント）１） gain[128]指定したチャネルに対してアンプゲイン設定を行います。
配列
[0]
[1]
｜
[127]

設定チャネル
１チャネル
２チャネル
｜
１２８チャネル

設定値
０
１
２
３
４
５
６
７

入力レベル
±10V
± 5V
±2.5V
±1.25V±625mV±312.5mV±156.25mV±78.25mV（0.5 倍）
（1 倍）
（2 倍）
（4 倍）
（8 倍）
（16 倍）（32 倍）（64 倍）

２）offval[128]指定したチャネルに対してオフセット電圧を指定します。
設定値は offmode の値により異なります。
通常は全チャンネル、0 を設定して下さい。
配列
[0]
[1]
｜
[127]

設定チャネル
１チャネル
２チャネル
｜
１２８チャネル

設定値
127(7f)｜0｜-128(80)

指定電圧値 (offmode:Couse/Fine)+FS （+5V / +0.2V）｜
0 （0V）｜-FS （-5V / -0.2V）

28３）offmode[128]指定したチャネルに対してオフセット電圧値のレベルモードを設定します。
通常は全チャネル、1=Fine を 設定して下さい。

配列
[0]
[1]
｜
[127]

設定チャネル
１チャネル
２チャネル
｜
１２８チャネル

設定値
０１

オフセットレベル±5.0V (Couse)±0.2V (Fine)

４）input[128]指定したチャネルの入力モード(AC/DC/ICP)を設定します。
配列
[0]
[1]
｜
[127]

指定チャネル
１チャネル
２チャネル
｜
１２８チャネル

設定値
０
１
２

入力モード
DC.Coupling
AC.CouplingICP５）imode[128]指定したチャネルの入力モード(SIGNAL/GND)を設定します。
通常は全チャンネル、0=SIGNAL に設定して下さい。
配列
[0]
[1]
｜
[127]

指定チャネル
１チャネル
２チャネル
｜
１２８チャネル

設定値
０
１

入力モード
シグナル（計測可能状態）
GND（入力信号を切り離し GND に接続）

29６）pathen[128]予約７）cutoff
全チャネル共通フィルタのカットオフ周波数を設定します。
設定値
０
１
２
３
４
５
６
７
８
９
１０
１１
１２
１３
１４
１５

カットオフ周波数
10Hz
20Hz
50Hz
100Hz
200Hz
500Hz
1kHz
2kHz
5kHz
10kHz
20kHz
25kHz
--------Through
EXT.Mode（オプション）８）calsel
予約９）revolution
予約１０）pulse
予約１１）change
予約
１２）average
予約１３）cmplevel
予約１４）teibai
予約30

フィルタ設定アーギュメントの説明（DAS-16AF-A アーギュメント）１）cutoff[16]8 チャネル単位にカットオフ周波数を設定します。
配列
[0]
[1]
｜
[15]

指定チャネル
１〜８チャネル
９〜１６チャネル
｜１２１〜１２８チャネル

設定値
０
１
２
３
４
５
６
７
８
９
１０
１１
１２
１３
１４
１５

カットオフ周波数
10Hz
20Hz
50Hz
100Hz
200Hz
500Hz
1kHz
2kHz
5kHz
10kHz
20kHz
25kHz
--------Through
EXT.Mode（オプション）31

3.1.15

inet_io_info2

機能：DASBOXのバージョン情報を得ます。
C形式：
int inet_io_info2(cblock, statptr, size);
CBLK *cblock;
DASINFO *statptr;
int size
C#形式：
int Dasbox.inet_io_info2(ref cblock, ref statptr, size);
Dasbox.CBLK cblock = Dasbox.CBLK.New();
Dasbox.DASINFO statptr = Dasbox.DASINFO.New();
int size
引数：
cblockstatptr
size

戻り値：
0
-1

コントロールブロックのポインタバージョンデータのポインタ
読み込む情報量 (34word))
通常はsizeof(DASINFO)/2で指定してください。

正常終了
異常終了

DASINFO {intversionA;
int
versionH;
int
versionF;
int
versionD;
int
versionL;
int
fatal;
int
runLevel;intstatus;
int
type;
int
hfifo;
int
sfifo;
int
wide;
int
adChannel;
int
daChannel;
intboardNum;
32

int
int
}

adNum;
daNum;

1） versionA
DASBOXの内部FPGAバージョンの値が１６進数（HEX）で入ります。
2） versionH
DASBOXのハードウェアバージョンの値が１６進数（HEX）で入ります。
3） versionF
DASBOXのファームウェアバージョンの値が１６進数（HEX）で入ります。
4） versionDDASBOXのファームウェアバージョンの値が１６進数（HEX）で入ります。
5） versionLDASBOXの内部ライブラリバージョンの値が１６進数（HEX）で入ります。
6） fatal〜daNum
未使用（拡張用）

33

3.1.16

inet_io_clock_sync（24bit 専用）

機能：DASBOX（24ﾋﾞｯﾄﾓｼﾞｭｰﾙ専用）に対して動作を指示します。
複数台のDASBOXのサンプリングクロックの位相を同期させます。
C形式：
int inet_io_clock_sync(cblock);
CBLK *cblock;C#形式：
int Dasbox.inet_io_clock_sync(ref cblock);
Dasbox.CBLK cblock = Dasbox.CBLK.New();
引数：
cblock
戻り値：
0-1

コントロールブロックのポインタ

正常終了
異常終了

詳細： ２台以上のDASBOXでMASTER、SLAVEでサンプリングクロックの位相を同期させるときに必要なコマンドです。
MASTER側DASBOXのみ本コマンドを実行します。
コマンドを実行するときは、MASTER装置とSLAVE装置を専用の同期ケーブルで接続し、このケーブルの信号によりSLAVE装置はハード的に同期合わせが行われます。
１台でDASBOXを使用するときは、当コマンドは必要ありません。

34

3.1.17

inet_k_amp_set

機能： 指定したチャネルに風圧センサーアンプ関連項目の設定を行います。
DASBOX−Eシリーズに対応した風圧センサーアンプモジュール、に対応しています。
C形式：
int inet_k_amp_set (cblock, afarg, channel);
CBLK *cblock;
KAF_ARG *afarg;
int channel;
C#形式：
int Dasbox.inet_k_amp_set (cblock, afarg, channel);
Dasbox.CBLK cblock = Dasbox.CBLK.New();
Dasbox.KAF_ARG afarg = Dasbox.KAF_ARG.New();
int channel;
引数：
cblock コントロールブロックのポインタ
afarg KAMPアーギュメントのポインタ
下記のアーギュメントメンバーが有効となります。
gain[128]
ゲイン
offval[128]オフセット電圧値
pathen[128]フィルタ切替channel 設定チャネル番号0
1 ~ 128= All Channel= Select Channel

戻り値：
0
-1

正常終了
異常終了

補足：
本関数は風圧センサーアンプモジュールを内蔵したDASBOXで有効です。
KAMPアーギュメントはpci_sad.hに構造体として定義されています。

35

風圧センサーアンプ設定アーギュメントの説明（KAMP アーギュメント）１） gain[128]指定したチャネルに対してアンプゲイン設定を行います。
配列
[0]
[1]
｜
[127]

設定チャネル
１チャネル
２チャネル
｜
１２８チャネル

設定値
倍率
０
２００倍
１
５００倍
２
１０００倍
３
２０００倍
２）offval[128]指定したチャネルに対してオフセット電圧を指定します。
通常は全チャンネル、0 を設定して下さい。
オフセット電圧は入力電圧に対する値ですので、アジャスト値は下記の式で算出してください。
0V 入力時の AD 変換値（電圧値）/

アンプ倍率

＝

アジャスト値は‑入力オフセット電圧となります。
配列
[0]
[1]
｜
[127]

設定チャネル
１チャネル
２チャネル
｜
１２８チャネル

設定値
2048
2047
｜
1
0
-1
｜
-2047

指定電圧値
+FS
+FS-1LSB
｜
+1LSB
0
-1LSB
｜
-FS+1LSB+20.830mV+20.819mV｜+0.010mV
0.000mV-0.010mV｜-20.819mV

1 タップの設定電圧は 20.830mV/2048≒0.01017mV

36

入力オフセット電圧

３）pathen[128]指定したチャネルに対してフィルタの使用/未使用を設定します。
配列
[0]
[1]
｜
[127]

設定チャネル
１チャネル
２チャネル
｜
１２８チャネル

設定値
内容
０
使用
１
未使用（パス）＊）フィルタはローパスフィルタで4 次のバタワース特性にてカットオフ周波数は５ｋHz 固定となります。

37

3.2 ＡＤ（入力）専用
3.2.1

inet_io_adstart

機能：DASBOXのAD（入力）動作（計測）を開始させます。
C形式：
int inet_io_adstart(cblock);
CBLK *cblock;C#形式：
int Dasbox.inet_io_adstart(ref cblock);
Dasbox.CBLK cblock = Dasbox.CBLK.New();
引数：
cblock
戻り値：
0-1

コントロールブロック

正常終了
異常終了

38

3.2.2

inet_io_adread

機能：DASBOXからのADデータをメモリ上に読み込みます。
基本サブルーチンV2.11より２４ビット機に対応し共通となりました。
C形式：
int inet_io_adread(cblock, buffer, count);
CBLK *cblock;short *buffer; （２４ビット機の３２ビットデータモードでは int *bufferとなります。）
int count;C#形式：
int Dasbox.inet_io_adread(ref cblock, buffer, count);
Dasbox.CBLK cblock = Dasbox.CBLK.New();
short[,] buffer; （２４ビット機の３２ビットデータモードでは int[,] buff
erとなります。）
int count;
引数：
cblockbuffer

count

戻り値：
0
0以外

コントロールブロックのポインタ
ADデータを格納するバッファのポインタ
Cではバッファを2次元配列とした場合、配列要素は[チャネル数][フレーム数]となります。
C#ではバッファは2次元配列で生成します。配列要素は[フレーム数][チャネル数]となります。
読み込むADデータ数
基本的には、データ転送の効率を上げるために、下記の設定にしてください。
inet_io_blkf()で設定したsize×計測チャンネル数
ただし、データ転送の効率の問題ですので、必ず一致させる
必要はありません。途中及び最後等に上記と異なるサイズで転送を行っても問題ありません。

正常終了
異常終了

詳細：この関数の第 3 パラメータ count は一回に buffer に読み込むデータ数を設定します。
設定する値として 0 以外の値で blkf に関係なく自由な値が設定できます。
ただしこの関数を一回以上実行した時の count の合計数は frame1 で設定
39

した総データ量と一致させて下さい。
例えば総データ量が 4096 の場合、count=1000 で 4 回実行して最後にcount=96 実行して終了します。
実際には DASBOX とのデータ転送は blkf に合わせて内部でキューイング
して行っています。
例えば総データ量が 4096(2ch,frame1=2048)で blkf=1000 の場合
DASBOX から 2000 データ Read
inet_io_adread(,,1000)
inet_io_adread(,,1000)DASBOX から 2000 データ Read
inet_io_adread(,,1000)
inet_io_adread(,,1000)DASBOX から 96 データ Read
inet_io_adread(,,96)という手順でデータ転送を行います。
尚 frame1=0 の場合は最後の DASBOX からの Read は 2000 データ
Read して inet_io_adread(,,96)で 96 データ buffer に渡します。

40

3.2.3

inet_io_adfile

機能：DASBOXからADデータをファイルに書き込みます。
基本サブルーチンV2.11より２４ビットDASBOXに対応し共通となりました。
C形式：
int inet_io_adfile(cblock, buffer, size, file_name, frame);
CBLK *cblock;short *buffer; （２４ビット機の３２ビットデータモードでは int *bufferとなります。）
int size;char *file_name;unsigned int frame;
C#形式：
int Dasbox.inet_io_adfile(ref cblock, buffer, size, file_name, frame);
Dasbox.CBLK cblock = Dasbox.CBLK.New();
short[,] buffer; （２４ビット機の３２ビットデータモードでは int[,] bufferとなります。）
int size;
String file_name;int frame;
引数：
cblockbuffersize
file_name
frame
戻り値：
0
-1

コントロールブロックのポインタ
テンポラリバッファのポインタ
Cではバッファを2次元配列とした場合、配列要素は[チャネル数][フレーム数]となります。
C#ではバッファは2次元配列で生成します。配列要素は[フレーム数][チャネル数]となります。
テンポラリバッファのサイズ（word）
書き込むファイル名（キャラクタのポインタ）
トータル書き込み数（word）

正常終了
異常終了

41

3.2.4

inet_io_pre機能：
プリトリガAD動作完了後、トリガ以前の無効データ数を得ます。
predataは設定されたプリトリガサイズに対し、1チャンネルに対して無効であったデータ数を返します。プリトリガデータが全て有効であれば0を返します。プリトリガモード計測は、プリトリガサイズに満たないでトリガが入った場合、不足分のデータを無効データとします。また、データ転送は無効データも送られてきます。
C形式：
int inet_io_pre(cblock, predata);
CBLK *cblock;int *predata;
C#形式：
int Dasbox.inet_io_pre(ref cblock, predata);
Dasbox.CBLK cblock = Dasbox.CBLK.New();
int[] predata = new int[1];引数：
cblockpredata
戻り値：
0-1

コントロールブロックのポインタ
無効データ数ポインタ

正常終了
異常終了

42

3.2.5

inet_io_count

機能： オプションにてＤＩ機能を追加した場合に、各カウンタ（パルスカウン
タ１，パルスカウンタ２，エンコーダ入力）を ０ クリアし、エンコー
ダ入力の機能設定をします。
C形式：
int inet_io_count(cblock, modedata);
CBLK *cblock;int modedata
C＃形式：
int Dasbox.inet_io_count(ref cblock, modedata);
Dasbox.CBLK cblock = Dasbox.CBLK.New();
int modedata
引数：
cblockmodedata

コントロールブロックのポインタ
エンコーダ入力モード設定データ
D31―――D9 D7 D6 D5 D4 D3 D2 D1 D0
未使用
ENC2
ENC1
ENC1：
・エンコーダ１の逓倍モード設定 （標準）
Ｄ１ Ｄ０
逓倍値
０
０
１逓倍
（パワーオン時）
０
１
２逓倍
１
０
４逓
Ｄ２： 未使用
Ｄ３：Ｚ相有効／無効
０
有効（パワーオン時）
１
無効
ENC2:
・エンコーダ２の逓倍モード設定 （特注増設した場合）
Ｄ５ Ｄ４
逓倍値
０
０
１逓倍
（パワーオン時）
０
１
２逓倍
１
０
４逓倍
Ｄ６： 未使用
Ｄ７：Ｚ相有効／無効
０
有効（パワーオン時）
43

１
設定データ例：
modedata=2
modedata=10

無効

ENC1： ４逓倍にてＺ相有効
ENC1： ４逓倍にてＺ相無効

44

3.2.6

inet_io_adda_cal（24bit 専用）

機能：DASBOX（24ﾋﾞｯﾄﾓｼﾞｭｰﾙ専用）内のADのオフセット・キャリブレーションを行います。ADCのDCオフセットの自動校正を行う関数です。
必ずしも毎回の計測で行う必要はありませんが、装置の電源投入後１回は行うことを推奨します。又、この関数でDASBOXアーギュメントメンバーのclock設定値を使用しますので、計測時の値を入れておく必要があります。
但し、DASBOX-EシリーズのAI32-24/20Mﾓｼﾞｭｰﾙの場合はこの機能はありません。
C形式：
int inet_io_adda_cal(cblock, dasarg);
CBLK *cblock;
PCISAD_ARG *dasarg;
C#形式：
int Dasbox.inet_io_adda_cal(ref cblock, ref dasarg);
Dasbox.CBLK cblock = Dasbox.CBLK.New();
Dasbox.PCISAD_ARG dasarg = Dasbox.PCISAD_ARG.New();
引数：
cblockdasarg

戻り値：
0-1

コントロールブロックのポインタ
DASBOXアーギュメントのポインタ
アーギュメントメンバーのclock設定を参照しますので、実行する前にclockの設定が必要です。

正常終了
異常終了

45

3.2.7

inet_io_24b16m_adread（24bit 機 16 ビットデータモード専用）

機能：DASBOXからのADデータ（16bitデータ）をメモリ上に読み込みます。
24Bit機種で使用しますが、24bit機種の16bitモード専用関数で32ビットデータ
モードを使用する場合は、inet_io_adread（）を使用してください。
C形式：
int inet_io_24b16m_adread(cblock, buffer, count);
CBLK *cblock;short *buffer;int count;C#形式：
int Dasbox.inet_io_24b16m_adread(ref cblock, buffer, count);
Dasbox.CBLK cblock = Dasbox.CBLK.New();
short[,] buffer;int count;
引数：
cblockbuffer

count

戻り値：
0
0以外

コントロールブロックのポインタ
ADデータを格納するバッファのポインタ
Cではバッファを2次元配列とした場合、配列要素は[チャネル数][フレーム数]となります。
C#ではバッファは2次元配列で生成します。配列要素は[フレーム数][チャネル数]となります。
読み込むADデータ（１６ビットデータ）数
基本的には、データ転送の効率を上げるために、下記の設定にしてください。
inet_io_blkf()で設定したsize×計測チャンネル数
ただし、データ転送の効率の問題ですので、必ず一致させる
必要はありません。途中及び最後等に上記と異なるサイズで転送を行っても問題ありません。

正常終了
異常終了

詳細：この関数の第 3 パラメータ count は一回に buffer に読み込むデータ数を設定します。
設定する値として 0 以外の値で blkf に関係なく自由な値が設定できます。
ただしこの関数を一回以上実行した時の count の合計数は frame1 で設定した総データ量と一致させて下さい。
46

例えば総データ量が 4096 の場合、count=1000 で 4 回実行して最後にcount=96 実行して終了します。
実際には DASBOX とのデータ転送は blkf に合わせて内部でキューイング
して行っています。
例えば総データ量が 4096(2ch,frame1=2048)で blkf=1000 の場合
DASBOX から 2000 データ Read
inet_io_24b16m_adread(,,1000)
inet_io_24b16m_adread(,,1000)DASBOX から 2000 データ Read
inet_io_24b16m_adread(,,1000)
inet_io_24b16m_adread(,,1000)DASBOX から 96 データ Read
inet_io_24b16m_adread(,,96)という手順でデータ転送を行います。
尚 frame1=0 の場合は最後の DASBOX からの Read は 2000 データ
Read して inet_io_24b16m_adread(,,96)で 96 データ buffer に渡します。

47

3.2.8inet_io_24b16m_adfile(24bit 機 16 ビットデータモード専用)

機能：DASBOXからADデータ（16bitデータ）をファイルに書き込みます。
24Bit機種16ビットデータモードで使用しますが、24bit機種の32bitデータモードで使用する場合は、inet_io_adfile（）を使用してください。
C形式：
int inet_io_24b16m_adfile(cblock, buffer, size, file_name, frame);
CBLK *cblock;short *buffer;
int size;char *file_name;unsigned int frame;
C#形式：
int Dasbox.inet_io_24b16m_adfile(ref cblock, buffer, size, file_name, frame);
Dasbox.CBLK cblock = Dasbox.CBLK.New();
short[,] buffer;
int size;
String file_name;int frame;
引数：
cblockbuffersize
file_name
frame
戻り値：
0
-1

コントロールブロックのポインタ
テンポラリバッファのポインタ
Cではバッファを2次元配列とした場合、配列要素は[チャネル数][フレーム数]となります。
C#ではバッファは2次元配列で生成します。配列要素は[フレーム数][チャネル数]となります。
テンポラリバッファのサイズ（16bitデータ）
書き込むファイル名（キャラクタのポインタ）
トータル書き込み数（16bitデータ）

正常終了
異常終了

48

3.3 ＤＡ（出力）専用
3.3.1

inet_io_dastart

機能：DASBOXのDA（出力）動作（計測）を開始させます。但し、DAの場合は
DASBOXアーギュメントのframe3（オートスタートカウンタ）分のデータが終了した時点で、出力を開始します。
C形式：
int inet_io_dastart(cblock);
CBLK *cblock;C#形式：
int inet_io_dastart(ref cblock);
Dasbox.CBLK cblock = Dasbox.CBLK.New();
引数：
cblock
戻り値：
0-1

コントロールブロック

正常終了
異常終了

49

3.3.2

inet_io_dawrite

機能：DASBOXにDAデータをメモリ上から書き込みます。
基本サブルーチンV2.11より24ビットDASBOXに対応し共通となりました。
C形式：
int inet_io_dawrite(cblock, buffer, count);
CBLK *cblock;short *buffer; （２４ビット機の３２ビットデータモードの場合、int *buff
erとなります。）
int count;C#形式：
int Dasbox.inet_io_dawrite(ref cblock, buffer, count);
Dasbox.CBLK cblock = Dasbox.CBLK.New();
short[,] buffer; （２４ビット機の３２ビットデータモードの場合、int[,] bu
fferとなります。）
int count;
引数：
cblockbuffer

count

戻り値：
0
-1

コントロールブロック
DAデータを格納するバッファのポインタ
Cではバッファを2次元配列とした場合、配列要素は[チャネル数][フレーム数]となります。
C#ではバッファは2次元配列で生成します。配列要素は[フレーム数][チャネル数]となります。
書き込むDAデータ数
基本的には、データ転送の効率を上げるために、下記の設定にしてください。
inet_io_blkf()で設定したsize×計測チャンネル数
ただし、データ転送の効率の問題ですので、必ず一致させる
必要はありません。途中及び最後等に上記と異なるサイズで転送を行っても問題ありません。

正常終了
異常終了

詳細：この関数の第 3 パラメータ count は一回に buffer から書き込むデータ数を設定します。
設定する値として 0 以外の値で blkf に関係なく自由な値が設定できます。
ただしこの関数を一回以上実行した時の count の合計数は frame1 で設定した総データ量と一致させて下さい。
50

例えば総データ量が 4096 の場合、count=1000 で 4 回実行して最後にcount=96 実行して終了します。
実際には DASBOX とのデータ転送は blkf に合わせて内部でキューイング
して行っています。
例えば総データ量が 4096(2ch,frame1=2048)で blkf=1000 の場合
inet_io_dawrite(,,1000)
inet_io_dawrtie(,,1000)DASBOX に 2000 データ Write
inet_io_dawrite(,,1000)
inet_io_dawrite(,,1000)DASBOX に 2000 データ Write
inet_io_dawrite(,,96)
DASBOX に 96 データ Writeという手順でデータ転送を行います。
尚最後に 96 データ転送するためには総データ量がわからないと判断できないため frame1=0 の場合は最後の 96 データは転送しません。
frame1=0 の場合は blkf の倍数になるようにして下さい。

51

3.3.3

inet_io_dafile

機能：DASBOXへのDAデータをファイルから読み込み、DASBOXに転送します。
基本サブルーチンV2.11より２４ビットDASBOXに対応し共通となりました。
C形式：
int inet_io_dafile(cblock, buffer, size, file_name, frame);
CBLK *cblock;short *buffer; （２４ビット機の３２ビットデータモードの場合、int *buff
erとなります。）
int size;char *file_name;unsined int frame;
C#形式：
int Dasbox.inet_io_dafile(ref cblock, buffer, size, file_name, frame);
Dasbox.CBLK cblock = Dasbox.CBLK.New();
short[,] buffer; （２４ビット機の３２ビットデータモードの場合、int[,] bu
fferとなります。）
int size;
String file_name;int frame;
引数：
cblockbuffersize
file_name
frame
戻り値：
0
-1

コントロールブロックのポインタ
テンポラリバッファのポインタ
Cではバッファを2次元配列とした場合、配列要素は[チャネル数][フレーム数]となります。
C#ではバッファは2次元配列で生成します。配列要素は[フレーム数][チャネル数]となります。
テンポラリバッファのサイズ（word）
読み込むファイル名（キャラクタのポインタ）
トータル読み込み数（word）

正常終了
異常終了

52

3.3.4

inet_io_dawait

機能：実際にDAが終了するまで待ち状態にします。
C形式：
int inet_io_dawait(cblock, time);
CBLK *cblock;
int time;
C#形式：
int Dasbox.inet_io_dawait(ref cblock, time);
Dasbox.CBLK cblock = Dasbox.CBLK.New();
int time;
引数：
CBLK
time
戻り値：
0
‑1
‑2

コントロールブロック
タイムアウト値（秒）

正常終了
待ち時間以内にDAが終了しなかった
異常終了

53

3.3.5

inet_io_cycle_stop

機能：DAサイクルモード動作以外の場合は使用しないでください。
DASBOX内部のストップフラグを立てて、次のフレームで繰り返し動作を終了させます。サイクル動作は、フレームの区切り目で正常に終了します。
C形式：
int inet_io_cycle_stop(cblock);
CBLK *cblock;C#形式：
int Dasbox.inet_io_cycle_stop(ref cblock);
Dasbox.CBLK cblock = Dasbox.CBLK.New();
引数：
CBLK
戻り値：
0
-1

コントロールブロックのポインタ

正常終了
異常終了

54

3.3.6

inet_io_daclear

機能：動作（計測）停止状態のDASBOXのDA出力を０V出力状態にします。
C形式：
int inet_io_daclear(cblock);
CBLK *cblock;C#形式：
int Dasbox.inet_io_daclear(ref cblock);
Dasbox.CBLK cblock = Dasbox.CBLK.New();
引数：
CBLK
戻り値：
0
-1

コントロールブロックのポインタ

正常終了
異常終了

55

3.3.7

inet_io_mute（24bit 専用）

機能：DASBOX（24ﾋﾞｯﾄﾓｼﾞｭｰﾙ専用）内の全てのDA出力にmuteをかけます。
C形式：
int inet_io_adda_cal(cblock, dasarg, mute_on);
CBLK *cblock;
PCISAD_ARG *dasarg;
int
mute_on;C#形式：
int Dasbox.inet_io_adda_cal(ref cblock, ref dasarg, mute_on);
Dasbox.CBLK cblock = Dasbox.CBLK.New();
Dasbox.PCISAD_ARG dasarg = Dasbox.PCISAD_ARG.New();
int
mute_on;引数：
cblockdasargmute_on

コントロールブロックのポインタ
DASBOXアーギュメントのポインタ
アーギュメントメンバーのclock設定を参照しますので、実行する前にclockの設定が必要です。
muteのON/OFFを切り替えます.
０ ＝ muteをOFFにします。
１ ＝ muteをONにします。

戻り値：
0
-1

正常終了
異常終了

56

3.3.8inet_io_24b16m_dawrite（24bit 機 16 ビットデータモード専用）

機能：DASBOXにDAデータ(16bitデータ)をメモリ上から書き込みます。
24bit機種の16ビットデータモードで使用しますが、24bit機種の32bitデータ
モードで使用する場合は、inet_io_dawrite（）を使用してください。
C形式：
int inet_io_24b16m_dawrite(cblock, buffer, count);
CBLK *cblock;short *buffer;int count;C#形式：
int Dasbox.inet_io_24b16m_dawrite(ref cblock, buffer, count);
Dasbox.CBLK cblock = Dasbox.CBLK.New();
short[,] buffer;int count;
引数：
cblockbuffer

count

戻り値：
0
-1

コントロールブロック
DAデータ(16bit)を格納するバッファのポインタ
Cではバッファを2次元配列とした場合、配列要素は[チャネル数][フレーム数]となります。
C#ではバッファは2次元配列で生成します。配列要素は[フレーム数][チャネル数]となります。
書き込むDAデータ（16ビットデータ）数
基本的には、データ転送の効率を上げるために、下記の設定にしてください。
inet_io_blkf()で設定したsize×計測チャンネル数
ただし、データ転送の効率の問題ですので、必ず一致させる
必要はありません。途中及び最後等に上記と異なるサイズで転送を行っても問題ありません。

正常終了
異常終了

詳細：この関数の第 3 パラメータ count は一回に buffer から書き込むデータ数を設定します。
設定する値として 0 以外の値で blkf に関係なく自由な値が設定できます。
ただしこの関数を一回以上実行した時の count の合計数は frame1 で設定した総データ量と一致させて下さい。
例えば総データ量が 4096 の場合、count=1000 で 4 回実行して最後に57

count=96 実行して終了します。
実際には DASBOX とのデータ転送は blkf に合わせて内部でキューイング
して行っています。
例えば総データ量が 4096(2ch,frame1=2048)で blkf=1000 の場合
inet_io_24b16m_dawrite(,,1000)
inet_io_24b16m_dawrtie(,,1000)DASBOX に 2000 データ Write
inet_io_24b16m_dawrite(,,1000)
inet_io_24b16m_dawrite(,,1000)DASBOX に 2000 データ Write
inet_io_24b16m_dawrite(,,96)
DASBOX に 96 データ Writeという手順でデータ転送を行います。
尚最後に 96 データ転送するためには総データ量がわからないと判断できないため frame1=0 の場合は最後の 96 データは転送しません。
frame1=0 の場合は blkf の倍数になるようにして下さい。

58

3.3.9inet_io_24b16m_dafile（24bit 機 16 ビットデータモード専用）

機能：DASBOXへのDAデータ(16bitデータ)をファイルから読み込み、DASBOXに転送します。24bit機種の16ビットデータモードで使用しますが、24bit機種の32ビットデータモードで使用する場合は、inet_io_dafile（）を使用してください。
C形式：
int inet_io_24b16m_dafile(cblock, buffer, size, file_name, frame);
CBLK *cblock;short *buffer;
int size;char *file_name;unsined int frame;
C#形式：
int Dasbox.inet_io_24b16m_dafile(ref cblock, buffer, size, file_name, frame);
Dasbox.CBLK cblock = Dasbox.CBLK.New();
short[,] buffer;
int size;
String file_name;int frame;
引数：
cblockbuffersize
file_name
frame
戻り値：
0
-1

コントロールブロックのポインタ
テンポラリバッファのポインタ
Cではバッファを2次元配列とした場合、配列要素は[チャネル数][フレーム数]となります。
C#ではバッファは2次元配列で生成します。配列要素は[フレーム数][チャネル数]となります。
テンポラリバッファのサイズ(16bitデータ）
読み込むファイル名（キャラクタのポインタ）
トータル読み込み数（16bitデータ）

正常終了
異常終了

59

3.4 サブルーチン実行基本フロー
3.4.1 ＡＤ動作
＜内容＞
inet_io_open（）

ﾃﾞﾊﾞｲｽのｵｰﾌﾟﾝ

inet_io_init()

DASBOX ｲﾆｼｬﾗｲｽﾞ

dasbox_arg の各メンバーに計測条件設定

計測条件設定準備

inet_io_adda_cal()(24bit 専用)

AD ｵﾌｾｯﾄｷｬﾘﾌﾞﾚｰｼｮﾝ(24bit 専用)

inet_io_blkf()

ﾃﾞｰﾀ転送ﾌﾞﾛｯｸｻｲｽﾞ設定

inet_io_packet()

計測条件設定inet_io_adstart()

AD 動作起動NO

ﾄﾘｶﾞを使用する計測ﾓｰﾄﾞ
YES
inet_io_cond()

inet_io_adread()または
inet_io_24b16m_adread()(24bit 機 16 ビット動作時)

トリガ受信の確認

inet_io_adfile()

AD ﾃﾞｰﾀの読み込み

inet_io_24b16m_adfile()(24bit 機 16 ビット動作時)
NO

プリトリガモード計測
YES
inet_io_pre()60

不定データの確認

inet_io_stat()

ｴﾗｰの確認

inet_io_close()

ﾃﾞﾊﾞｲｽのｸﾛｰｽﾞ

61

3.4.2

DA 動作＜内容＞
inet_io_open（）

ﾃﾞﾊﾞｲｽのｵｰﾌﾟﾝ

inet_io_init()

DASBOX ｲﾆｼｬﾗｲｽﾞ

dasbox_arg の各メンバーに計測条件設定

計測条件設定準備

inet_io_blkf()

ﾃﾞｰﾀ転送ﾌﾞﾛｯｸｻｲｽﾞ設定

inet_io_packet()

計測条件設定inet_io_dastart()

inet_io_dawrite()

inet_io_dafile()

inet_io_24b16m_dawrite()(24bit 機 16 ビット動作時)

inet_io_24b16m_dafile()(24bit 機 16 ビット動作時)

DA 動作起動DA ﾃﾞｰﾀの書き込み

inet_io_dawait()

DA 動作終了待ち

inet_io_stat()

ｴﾗｰの確認

inet_io_close()

ﾃﾞﾊﾞｲｽのｸﾛｰｽﾞ

62

第４章 ＤＡＳＢＯＸアーギュメント説明
DASBOXを動作させるには、inet_io_packet関数及びinet_io_packet24関数を使用して行います。
inet_io_packet関数及びnet_io_packet24関数の第２パラメータがDASBOXの動作内容になっています。

struct PCISAD16_arg{
unsigned short mode;
unsigned short stat;
unsigned short dastime;
unsigned short attn;
unsigned short gain;
unsigned short trgslp;
unsigned short clkmode;
int
fifo;
float
clock;
int
frame1;int
frame2;int
frame3;int
frame4;int
frame5;
unsigned int
mutelevel;
unsigned short trglevel;
unsigned short trgsrc;
unsigned short trgch;
unsigned short channels;
unsigned short chanum[1024];
unsigned short master;
unsigned short ext_parm;int
dmasize;int
pre_mem_size;}PCISAD_ARG；

63

4-1

mode
DASBOXに対する動作を指定します。
値

Define名
ADNORM

動作（DEC）
0
ADノントリガスタートモード

ADTRG

1

ADノーマルトリガスタートモード

ADPRE

2

ADプリトリガスタートモード

ADRET

3

ADノーマルリトリガスタートモード

DANORM

4

DAノントリガスタートモード

DATRG

5

DAノーマルトリガモード

DARET

6

DAリトリガモード

DACYCL

7

DAサイクルモード

DATCYC

8

DAトリガサイクルモード

DARCYC

9

DAリトリガサイクルモード

ADPOST

10

ADポストトリガスタートモード

ADREPOST11

ADポストリトリガスタートモード

64

4-2

stat
ステータスコマンドを実行させた時にDASBOXから送られたステータスが格納されるメンバーです。
値
（HEX）
0
8000
8001
8002
8003

4-3

ステータス
正常
SDS_PCI_FIFO_OVERFLOWSDS_PCI_OVER_SAMPLING
SDS_PCI_ADDA_ABORTSDS_PCI_TIMEOUT

dmatimeinet_io_adread,inet_io_dawrite,inet_io_adfile,inet_io_dafile時の転送タイム
アウト時間を設定します。
inet_io_blkfで設定する転送数に合わせてください。
例：blkf=1000000, Sampling Clock=10000Hzの場合
blkf / Sampling Clock = 100秒以上の値を設定。

4-4

値

動作

0

基本サブルーチンのデフォルト値（３０）になります。
但し、基本サブルーチンのVer2.03からの対応となります。
Ver2.01,Ver2.02の場合は”0”がそのまま使用され、inet_io_adre
ad、inet_io_adfile、inet_io_dawirte、inet_io_dafile関数にて、異常終了となります。

1〜n

秒単位になります。

attn（未使用）
常に０を設定してください。（不定でも問題なし）

65

4-5

gain
TRG IN 端子入力の電圧レベルを指定します。
Define名値
TRGINレベル
なし

０

±５V入力

GAINS

0x200

±１０V入力＊）24 ビット機の 16 ビットデータモード時で
inet_io_packet（）関数にて、引数 bit16 を １ に指定した場合は、チャンネル共通のゲインを下記の設定で行います。TRGIN 端子の電圧レベル
は±５V 固定となります。
値
０
１
２
３
４
4-6

倍率
１
２
４
８
１６

入力電圧レンジ（標準）
±5V
±2.5V
±1.25V±0.625V±0.3125V

trgslp

各トリガモードを選択した場合有効になりトリガのスロープ指示を行い
ます。

4-7

値

動作

0以外

立ち上がりでトリガ

0

立ち下がりでトリガ

clkmodeサンプリングクロックのソースを指定します。
Define名

値

動作

INTCLK1

内部クロックを使用

EXTCLK

2

外部からクロックを入力する

EXTDIV3

外部からクロックを分周する

66注１） ２４ビット機の場合は、値０も内部クロックとなります。

4-8

clock
・24ビット機以外のinet_io_packet()関数の場合
内部クロック及び外部分周を指定した場合有効で、内部クロックを指定した場合は周波数をHz単位で指定し、外部分周を指定した場合は分周値を設定します。また、内部クロックを指定した場合は、実際にサンプリング
周波数として設定された値が戻されます。サンプリングクロックは内部
クロックベース（8.000MHz,8.192MHz,6.144MHz、5.6448MHz）を分周して作成します。分周の余りがでる場合は近似値が自動に設定されますので、その設定した周波数値を返します。

＜内部クロック＞
設定範囲
０．０３Hz〜最大サンプリング周波数＜外部分周＞
設定範囲
２〜６５５３６・24ビット機のinet_io_packet()関数の場合
内部クロックを指定した場合有効で、周波数をHz単位で指定します。
また、実際にサンプリング周波数として設定された値が戻されます。AD/DA
はオーバーサンプリング方式のため、内部クロックベース（25.6MHz,24.576
MHz,22.5792MHz、26.2144MHz，20.48MHz）を分周して、サンプリングクロックの256倍（又は128倍）のクロックを作成します。分周の余りがでる場合は近似値が自動に設定されますので、その設定した周波数値を返します。

AD動作時＜内部クロック＞
・ DASmini-E2000 Model-24**-AD及びDASBOX-E AI32-24/100M
ﾓｼﾞｭｰﾙの場合は設定範囲400Hz〜最大サンプリング周波数（102.4kHz）・DASBOX-E AI32-24/20Mﾓｼﾞｭｰﾙの場合は設定範囲 100Hz〜最大サンプリング周波数（20kHz）
DA動作時＜内部クロック＞
設定範囲
8ｋHz〜最大サンプリング周波数（204.8kHz）

67

4-9

frame1
AD又はDAする１チャンネルに対するデータ量を指定します。単位はワードです。
但し、ADRET,ADRPOST,DARET,DACYC,DATCYC,DARCYCモード以外で ０を設定すると、無限取り込みモードとなります。また、プリトリガモードの場合
はframe2の値も含んで設定してください。
設定範囲
０〜４２９４９６７２９５

4-10 frame2
プリトリガ動作もしくはポストトリガ動作を指定した場合有効です。
＜プリトリガの時＞
プリトリガ動作の時は１チャンネルに対する、トリガ以前のデータ量を指定します。単位はワードです。
設定範囲
０ ＜ 設定値 ＜ FIFOサイズ／チャンネル数−100
注）FIFOサイズ全てはプリトリガサイズに指定できません。
トリガ受信時のDASBOX内部セットアップ時間が必要ですの
で、チャンネルあたり、100データ使用できないと考えてください。
１チャンネルに対するトリガ以後の計測データ数 ＝ frame1 − frame2の関係になります。
＜ポストトリガの時＞
ポストトリガ動作の時は遅延サンプルクロック数を指定します。
遅延時間はサンプルクロックの指定により、変ります。
１ の場合１サンプル遅延
設定範囲
０ ＜ 設定値 ＜ １６７７７７２１６

4-11 frame3
DA動作を指定した場合有効で実際に起動する前に転送する１チャンネルに対するデータ量を指定します。単位はワードです。
設定範囲
０ ＜ 設定値 ＝＜ FIFOサイズ／チャンネル数

4-12 frame4
DACYC,DATCYC,DARCYC 等の DA サイクル動作を指定した場合有効で繰り返す回数を指定します｡ ０ を設定すると無限に繰り返します。
その他のモードは常に １ を設定してください。DARCYCモードの場合のトリガの回数もframe4で設定します。
設定範囲
０〜６５５３６68

4-13 frame5
modeがADRET、ADREPOST、DARETのときトリガ回数を指定します。
０ を設定すると無限に繰り返します。
設定範囲 ０〜６５５３６

4-14 mutelevel（24 ビット機種の inet_io_packet 時のみ有効）
24 ビット機種以外の inet_io_packet（）関数の場合は、 ０ を設定してください。
24 ビット機種の inet_io_packet（）関数の場合で、DASmini-E2000 及び
DASBOX-E シリーズの AI32-24/100M ﾓｼﾞｭｰﾙの場合は AD 入力段の HPF のON/OFF 設定を行います。AI32-24/20M ﾓｼﾞｭｰﾙはこの機能はありません。
値０

HPF が OFF で DC からの計測を行う。

１

HPF が ON で DC 成分をカットする。

4-15 trglevel
トリガモードを指定した場合有効でトリガがかかる電圧を指定します。
設定範囲
０〜１２７（DEC）
０〜７F（HEX）
値

電圧

±５V

±１０V

HEX
0x7F
0x7E

DEC
127
126

+FS(63/64 )v+FS(62/64 )v+4.92V
+4.84V

+9.84V
+9.68V

0x41
0x40
0x3F

65
64
63

+FS(1/64)v
0v-FS(1/64)v+0.08V
0V-0.08V+0.16V
0V-0.16V

0x01
0x00

１
0

-FS(63/64)v-FS(64/64)v-4.92V-5V-9.84V-10V＊）1LSB=2FS/128

入力電圧±５Vの時は 0.078125V
入力電圧±１０Vの時は 0.15625V

4-16 trgsrc
トリガを使用するモードを指定した場合有功となり、トリガのソースを指定
します。
値
動作
0

AD入力チャンネルトリガ

1

外部トリガ端子69

4-17 trgch
trgsrc にて、AD 入力チャンネルトリガを指定した場合有効となり、トリガとするチャンネル番号を指定します。
値

動作

1〜1024

AD入力チャンネル番号4-18 channels
AD又はDAするチャンネル数を指定します。
注）外部クロックモードで動作させ、計測中に指定サイズに達しない状態で
外部クロックが停止した場合、強制終了にて動作を停止する必要があり、奇数チャンネル計測の場合のみ、不具合が発生する可能性がありますので、偶数チャンネルでの計測を推奨いたします。
範囲

1〜10244-19 chanum【1024】
ランダムチャンネルの指定を行います。AD 又は DA するチャンネル番号を指定します｡指定した順番でデータ転送が行われます。
範囲

１〜1024chanum[０]chanum[１]

1 番目のチャンネル番号
２番目のチャンネル番号

chanum[1023]

1024 番目のチャンネル番号

4-20
master（24 ビット機種の inet_io_packet 時のみ有効）
24 ビット機種以外の inet_io_packet（）関数の場合は、 不定でも問題なし
24 ビット機種 inet_io_packet（）関数の場合は、下記の設定を行います。
値０

Master/Slave
スレーブモードとなり、マスターからクロックを供給します。

１

マスターモードとなり、スレーブにクロックを供給します。
１台で使用する場合は、マスター設定としてください。

注）コンパイルオプション COMPATI_24b5x0 が使われている場合は、master=1に自動的に設定されています。

70

4-21

ext_parm（24 ビット機種の inet_io_packet 時のみ有効）

DASmini-E2000 の 24 ビット機種の場合有効です。24 ビット機種の DA/ADの同期をとる場合に DA（マスター側）の同期クロックを 1:1 で出力するか
1/2 分周して出力するかの指定を行います。
詳しくは、24 ビット機種の AD/DA 同期説明.pdf を参照してください。
DASBOX−E シリーズでは、このメンバーは使用しません。

4-22

値
０

同期クロック出力
1:1（標準）１

1/2

dmasize,pre_mem_size
未使用
DASBOX−E シリーズ及び DASmini-E2000 シリーズでは、このメンバーは使用しません。

71

第５章 ＤＡＳＢＯＸソフトウェア作成
5-1

インストール

提供メディアからキットを適当なディレクトリにコピーしてください。
UNIX (LINUX)の場合
提供メディアからキットを適当なディレクトリにコピーしてください。
FloppyDiskの場合のコピー方法
mount /mnt/floppy
tar xvf /mnt/floopy/kit.tar
Windowsの場合
適当なディレクトリ（例えばD:¥COMEX）を作成して提供メディアから¥COMEX
以下のディレクトリを作成したディレクトリにコピーしてください。
5-2

キット内容

キットにはDASBOXを動作させるための基本サブルーチン及びサンプル
ソフトが入っています。
ディレクトリ構成は以下のようになっています。
Kit*.**/
doc/ inetlib/ sample/ sample24/ sample24_ADC1271/
samplevc/ daswave/ /samplec#/ sample24c#/
また各ディレクトリには以下のファイルがあります。
doc/
・・・ ドキュメントディレクトリ
inetlib/ ・・・基本サブルーチンディレクトリ
inet_sad_lib.c・・・基本サブルーチンソースファイル
pci_sad.h・・・基本サブルーチンインクルードファイル
pci_sad_reg.h・・・基本サブルーチンインクルードファイル
sadtp24.h・・・ユーザープログラムインクルードファイル
16C#lib/・・・16bit機種専用C#ファイル
inetlib.dll ・・・32bit Windows用DLLファイル
inetlib64.dll ・・・64bit Windows用DLLファイル
Dasbox.cs ・・・32bit/64bit C#定義ファイル
24C#lib/・・・24bit機種専用C#ファイル
inetlib.dll ・・・32bit Windows用DLLファイル
inetlib64.dll ・・・64bit Windows用DLLファイル
Dasbox.cs ・・・32bit/64bit C#定義ファイル72

sample/ ・・・１６ビット装置サンプルソフトディレクトリ
Makefile
・・・UNIX(LINUIX)用サンプルソフトメイクファイル
BSDmakefile ・・・FreeBSD5.4用サンプルソフトメイクファイル
Makefile_little・・・Little_Endianアーキテクチャ(LINUXを含む)でのサンプルメイクファイル
Makefile_big ・・・Big_Endianアーキテクチャでのサンプルメイクファイル
Mk.cmd・・・Windows用サンプルソフトメイクファイル
apl90.c・・・サンプルソフトソースファイル
das.exe
・・・Windowsサンプルソフト実行ファイル
samplevc/ ・・・Windows Visual Studio6.0 or 2008 コンパイル環境(コマンドベースのサンプルプログラム)(12ビット、16ビット機種用サンプルディレクトリ)
sample.dsw ・・・Visual Studio6.0 プロジェクトファイル
sample.sln ・・・Visual Studio2008 プロジェクトファイル
apl90.c・・・サンプルソフトソースファイル
das.exe
・・・Windowsサンプルソフト実行ファイル
samplec#/ ・・・１６ビット装置 C# コンパイル環境(コマンドベースのサンプルプログラム)
sample_ad/ ・・・AD サンプルプロジェクトディレクトリ
sample_da/ ・・・DAサンプルプロジェクトディレクトリ
daswave̲3/

・・・Windows Visual Studio6.0 or 2008 コンパイル環境（ウィンドウベースのサンプルプログラム）(12ビット、16ビット機種用サンプルディレクトリ)
daswave.exe ・・・サンプルプログラム実行ファイル
default.cnd ・・・初期設定ファイル
daswave・・・計測サンプルソフトウェアのソース
testmini.dsw ・・・Visual Studio6.0 プロジェクトファイル
testmini.sln ・・・Visual Studio2008 プロジェクトファイル

sample24/ ・・・２４ビット装置サンプルソフトディレクトリ
DASmini-E2000の24ﾋﾞｯﾄ機種及びDASBOX-EシリーズのAI32-24/100M
ﾓｼﾞｭｰﾙの場合
Makefile
・・・UNIX(LINUIX)用サンプルソフトメイクファイル
BSDmakefile
・・・FreeBSD5.4用サンプルソフトメイクファイル
Makefile_little
・・・Little_Endianアーキテクチャ(LINUXを含む)でのサンプルメイクファイル
Makefile_big
・・・Big_Endianアーキテクチャでのサンプルメイク
ファイル
mk24.cmd
・・・Windows用サンプルソフトメイクファイル
apl90.c・・・サンプルソフトソースファイル
das.exe
・・・Windowsサンプルソフト実行ファイル73

sample24vc/ ・・・Windows Visual Studio6.0 or 2008 コンパイル環境(コマンドベースのサンプルプログラム)(24ビット機種用サンプルディレクトリ)
sample.dsw ・・・Visual Studio6.0 プロジェクトファイル
sample.sln ・・・Visual Studio2008 プロジェクトファイル
apl90.c・・・サンプルソフトソースファイル
das.exe
・・・Windowsサンプルソフト実行ファイル
sample24c#/ ・・・２４ビット装置 C# コンパイル環境(コマンドベースのサンプルプログラム)
sample_ad/ ・・・AD サンプルプロジェクトディレクトリ
sample_da/ ・・・DAサンプルプロジェクトディレクトリ
sample24_ADC1271/ ・・・２４ビット装置サンプルソフトディレクトリDASBOX-EシリーズのAI32-24/20Mﾓｼﾞｭｰﾙ（ADC1271を使用）の場合
Makefile
・・・UNIX(LINUIX)用サンプルソフトメイクファイル
BSDmakefile
・・・FreeBSD5.4用サンプルソフトメイクファイル
Makefile_little
・・・Little_Endianアーキテクチャ(LINUXを含む)でのサンプルメイクファイル
Makefile_big
・・・Big_Endianアーキテクチャでのサンプルメイク
ファイル
mk24.cmd
・・・Windows用サンプルソフトメイクファイル
apl90.c・・・サンプルソフトソースファイル
das.exe
・・・Windowsサンプルソフト実行ファイル
sample24_ad-da_sync/ ・・・２４ビット装置サンプルソフトディレクトリ
24ビットのAD機種とDA機種を同期させて動作させる場合のサンプル
詳細は24ビットAD／DA同期説明.pdfを参照の事。

74

5-3

ユーザープログラムへの組み込み◎24ビット機種以外の場合
DASBOX-Eシリーズ(DASminiE2000)のアプリケーションを作成する場合はインクルードファイル"pci_sad.h"をユーザープログラムへ追加してください。
そしてリンク時に基本サブルーチン"inet_sad_lib.c"をコンパイル・リンクしてください。
UNIXのBigエンディアンOSの時はBIGコンパイルオプションをつけます。サンプルの Makefile_bigを参照してください。
Windows(C)の場合はWINNTをdefineしてwsock32.libとuser32.libをリンクしてください。サンプルのmk.cmdを参照してください。mk.cmdは32bit,64bit共通です。
Windows(C#)の場合はCSファイル”Dasbox.cs”をプロジェクトに追加します。
Windows(C#)の32bitアプリを作成する場合はDLLファイル16C#lib/inetlib.dllをユーザ
ープログラムと同じディレクトリに置いてください。Windows(C#)の64bitアプリを作成する場合はDLLファイル16C#lib/inetlib64.dllをユーザープログラムと同じディレクトリに置いてください。
◎24ビット機種の場合B24、COMPATI_24b5x0、BIG,ADC1271のコンパイルオプション（またはdefine）があります。
B24 ： 24ビット機種の場合必ず必要なものです。
COMPATI_24b5x0 ： 従来機種DASBOX Model-5x0との互換性を重視した対応がなされていますが、全てを保証するものではありません。またこの場合32ビットデータモードのみの機能となり、マスタ（master=1）の動作に自動設定されます。
BIG ： OS環境がBIG_Endianシステムの場合必要です。
サンプルのMakefile_bigを参照して下さい。
ADC1271： 24ﾋﾞｯﾄ機種で、DASBOX-EシリーズのAI32-24/20Mﾓｼﾞｭｰﾙを使用する場合に必要です。
WINNT ： WindowsNT、及びWindows2000、WindowsXP,Windows7で使用する場合必要です。
サンプルのmk24.cmdを参照して下さい。
２４ビット機以外のときと同様にwsock32.libとuser32.libをリンクして下さい。
Windows(C#)の場合はCSファイル”Dasbox.cs”をプロジェクトに追加します。
Windows(C#)の32bitアプリを作成する場合はDLLファイル24C#lib/inetlib.dllをユーザ
ープログラムと同じディレクトリに置いてください。Windows(C#)の64bitアプリを作成する場合はDLLファイル24C#lib/inetlib64.dllをユーザープログラムと同じディレクトリに置いてください。

75

5-4

コマンドベースのサンプルソフト使用方法

基本サブルーチンを使用したサンプルプログラムの使用方法を説明します。
ファイル名はdasです。
構文

das mode[,parameter_file][,data_file] [hostname]modeはDASBOXに対する動作の指定です。
INIT
DASBOXにイニシャライズコマンドを送ります。
STOP
DASBOXにストップコマンドを送ります。
STATusDASBOXのステータスを表示します。
INFO
DASBOXの内部情報を表示します。
INF２
メンテナンスにて使用します。
COND
DASBOXの動作状態を表示します。
ADNorm ADノントリガスタートモードを起動します。
ADTRg
ADトリガスタートモードを起動します。
ADRETrg ADリトリガスタートモードを起動します。
ADPRe
ADプリトリガスタートモードを起動します。
ADPOst
ADポストトリガスタートモードを起動します。
ADREPost ADリポストトリガスタートモードを起動します。
DANormDATRg
DAREtrg
DACyc
DATCycDARCycDAノントリガスタートモードを起動します。
DAトリガスタートモードを起動します。
DAリトリガスタートモードを起動します。
DAサイクルスタートモードを起動します。
DAトリガサイクルスタートモードを起動します。
DAリトリガサイクルスタートモードを起動します。

FILsetフィルタの設定をブロック単位で行います。
AMPset
アンプの設定を行います。
OFILset
フィルタの設定を全チャンネル共通で行います。
CALiblation オフセットのキャリブレーションをブロック単位で行います。
COUnt
カウンタの ０ クリア及びエンコーダのモードを設定します。
ADCal24 24ﾋﾞｯﾄADのキャリブレーションを実行します。
MUTe24 24ﾋﾞｯﾄDAのミュート動作を実行します。
SYNc24 24ﾋﾞｯトAD及びDAのクロック同期動作を実行します。
ADTEst DASBOXアージュメントに固定値を書き込み、AD動作を実行します。
DATEst DASBOXアージュメントに固定値を書き込み、DA動作を実行します。

76

小文字の部分は省略可能です。また、入力は大文字、小文字いずれも対応します。
parameter_fileはサンプリング周波数やデータ量などの情報を含んだファイルです。ファイルがすでに存在している場合はそのファイルを読み込み、存在しない場合はパラメータ入力を促しファイルを作成します。
parameter_fileを指定しない場合は"def.par"というファイルが作成されます。
data_fileはADする場合ADデータを格納するファイルになり、DAをする
場合転送するDAデータのファイルになります。
data_fileを指定しなかった場合はADの場合バッファに読み込まれるだけです。
DAの場合12bitのインクリメントパターンを出力します。
HostnameはDASBOXのホスト名もしくはIPアドレスを指定します。

77

パラメータファイルの作成指定したパラメータがない場合パラメータファイルを作成する為に入力を促してきます｡
次に各入力について述べます｡①

AD 及び DA 共に出力されます｡[1] Use internal clock[2] Use external clock[3] Use prescale external clock
Select no.
計測するクロックソースを内部,外部又はプリスケール（分周）外部クロックにするか指定します｡
内部の場合 1,外部の場合 2,プリスケール（分周）外部クロックの場合 3 を入力します｡②-1

内部クロックを指定した場合出力されます｡[1] Hzunit[2] KHzunit[3] uSEC
unit
Select no.
計測するクロックの周波数をどの単位で入力するか指定します｡Hz で入力したい場合 1,KHz で入力したい場合 2,μSEC で入力したい場合 3
Input(Hz/KHz/μsec)rateと出力されたら計測したい値を入力してリターンキーを押します｡②-2

プリスケール外部クロックを指定した場合､出力されます｡
Input prescale counter
プリスケール値（分周値）を入力します｡③ トリガを使用するモードを指定した場合出力されます｡
トリガソースを指定します。
[1]
Use external trigger[2]
Use channel trigger
Select no.
TRIG IN 端子を使用する場合は１、入力チャンネルを使用する場合は２を入力します。但し、ＡＤモジュールがない場合は又はチャンネルトリガ機能がない機種は必ず１を設定してください。
③‑1 ③にて２（チャンネルトリガ）を指定した場合に出力されます。
Select channel no.[1‑1024]
トリガに使用するＡＤチャンネル番号を指定します。（指定ＡＤチャンネルは他のチャンネルと同様に計測にも使用できます）
78

④

トリガモードを指定した場合出力されます｡[1]Use[2]UseSelectpositive edge trigger
negative edge trigger

no.

トリガの立ち上がり,立ち下がりの指定をします｡立ち上がりでトリガする
場合 1、 立ち下がりでトリガする場合 2 を設定します。
⑤

トリガモードを指定した場合出力されます｡[1][2]

trigger gain ±5V
trigger gain ±10V

Selectno.

トリガの入力レベルの指定をします｡±5V を指定する場合 1、 ±10V を指定する場合 2 を設定します。
次に、トリガレベルを聞いてきますので、０~１２７の値を設定します。
（下記の表を参照）
Set trigger level.[0-127]
設定値

電圧

±５V

±１０V

DEC
127
126
｜
65
64
63
｜
１
0

+FS(63/64 )v+FS(62/64 )v｜+FS(1/64)v
0v-FS(1/64)v｜-FS(63/64)v-FS(64/64)v+4.92V
+4.84V｜+0.08V
0V-0.08V
｜-4.92V-5V+9.84V
+9.68V｜+0.16V
0V-0.16V
｜-9.84V-10V＊）1LSB=2FS/128

入力電圧±５Vの時は 0.078125V
入力電圧±１０V の時は 0.15625V⑥-1 AD リポストトリガモードを指定した場合出力されます｡
Input posttrg size
トリガから、遅延するクロック数を設定します。サンプリングクロック設定に関連します。
Input re-posttrg count
くり返し回数を設定します。

79

⑥-2 AD ポストトリガモードを指定した場合出力されます｡
Input

posttrg size

トリガから、遅延するクロック数を設定します。サンプリングクロック設定に関連します。
⑥-3 AD プリトリガモードを指定した場合出力されます｡
Input

pretrgsize

トリガ以前にほしい１チャンネルに対するデータ量を指定します｡⑥-4 AD リトリガモードを指定した場合出力されます｡
Input re-trg count
くり返し回数を設定します。

⑥-５

DA モードを指定した場合出力されます｡
Input auto start size
DA を起動する前に転送する１チャンネルに対するデータ量を指定します｡⑥-６

DACYC,DATCYC モードを指定した場合出力されます｡
Input cycle counter
DA にて同じデータを繰り返す場合の回数指定をします｡⑥-７

DARET,DARCYCL モードを指定した場合出力されます｡
Input re-trg counter
トリガの回数指定をします｡⑦

AD 及び DA 共に出力されます｡
Input

frame

size

AD 及び DA する１チャンネルに対するデータ量を指定します｡⑧ AD 及び DA 共に出力されます｡
Normal Randum channel NO. ？ Yes=0／NO=1
ランダムチャンネル設定を標準（１チャンネルから順番）で自動設定するか、
１チャンネルずつ手動で入力するかを選択します。標準の場合は０、手動設定
の場合は１

80

手動設定を選択した場合は、チャンネル数分、１番目から順に設定チャンネル番
号を聞いてきます。
Input＊th channel number

以上の入力を終了すると、計測を開始します。

81

5-5 ダイアログベースのサンプルソフト使用方法
5-5-1)概 要
本 ソ フ ト は MicrosoftVisualC++で 作 ら れ た 計 測 サ ン プ
ル ソ フ ト で す 。 本 サ ン プ ル ソ フ ト で は 基 本 サ ブ ル ー チ ン
を 呼 び 出 し 、D A S m i n i 及 び D A S B O X に 対 し て 制 御 を 行 い 、
デ ー タ 計 測 、 フ ァ イ ル 化 、 モ ニ タ ー 、 DA 出 力 な ど の 操 作が で き ま す 。
5-5-2)ソ フ ト 仕 様１ ） 動 作 環 境
WindowsNT4.0、Windows2000、WindowsXP,Windows7
DASmini-E2000 及 び DASBOX-E シ リ ー ズ２ ） 多 チ ャ ン ネ ル 波 形 モ ニ タ ー（ 最 大 16CH）
３ ） 多 チ ャ ン ネ ル 計 測（ 最 大 16CH）
４ ） 多 チ ャ ン ネ ル DA 出 力（ 最 大 16CH）
５ ） フ ァ イ ル フ ォ ー マ ッ ト
N O R M A L , D A T A _ O N LY, D A T A _ H E A D E R
６ ） NORMAL フ ォ ー マ ッ ト フ ァ イ ル を CSV 形 式 のテ キ ス ト フ ァ イ ル に 変 換 可 能
5-5-３ )操 作 説 明
１ ） ソ フ ト の 立 ち 上 げ
d a s w a v e . e x e を 実 行 す る と 、メ イ ン 画 面 が 表 示 さ れ 、default.cnd と い う パ ラ メ ー タ フ ァ イ ル が 自 動 的 に 読 み
込 ま れ ま す 。 .

daswave の メ イ ン 画 面

82２ ） メ ニ ュ ー バ ー 及 び ツ ー ル バ ー の 説 明

ﾌｧｲﾙﾃﾞｰﾀ
を 表 示

ﾊﾟﾗﾒｰﾀﾌｧｲﾙ管 理計 測 ﾒﾆｭｰ

計 測 ﾊﾟﾗﾒｰﾀ
設 定 画 面DA 変 換 開 始AD 変 換 開 始83

ﾌｧｲﾙﾌｫｰﾏｯﾄ
の 指 定

動 作 中 止３ ） 計 測 パ ラ メ ー タ の 設 定
下 記 の 画 面 で AD 変 換 と DA 変 換 の パ ラ メ ー タ を 指
定 し ま す 。 設 定 し た 結 果 は 現 在 ア ク テ ィ ブ 状 態 に なっ て い る ウ ィ ン ド ウ と 対 応 す る パ ラ メ ー タ と し て 有
効 に な り ま す 。 又 パ ラ メ ー タ は フ ァ イ ル と し て 保 存
す る 事 が 出 来 ま す 。 こ の 場 合 、 コ マ ン ド メ ニ ュ ー バ
ー の 「 フ ァ イ ル (F)」 を ク リ ッ ク し て 「 上 書 き 保 存 」
又 は 「 名 前 を 付 け て 保 存 」 を 選 択 し て 保 存 し ま す 。
d e f a u l t . c n d の 名 称 で 保 存 す る と 、立 ち 上 げ 時 の デ フ
ォ ル ト パ ラ メ ー タ と な り ま す 。

3-1)パ ラ メ ー タ 説 明 （ 詳 細 は ﾊｰﾄﾞｳｪｱﾏﾆｭｱﾙを 参 照 ）a) 動 作 モ ー ドa-1)ADNORM（ AD ﾉﾝﾄﾘｶﾞｽﾀｰﾄﾓｰﾄﾞ）
このモードは、ホストコンピュータからのＡＤスタートコマンドにより、Ａ
Ｄ動作を開始します。計測の開始を外部と同期する必要がない場合に使用します。ＡＤの取り込みデータ数は、フレームサイズ×チャネル数になります。
a-2)ADTRG（ AD ﾉｰﾏﾙﾄﾘｶﾞｽﾀｰﾄﾓｰﾄﾞ）
このモードは、ホストコンピュータからのＡＤスタートコマンドにより、外84

部からのトリガ信号待ちの状態（Trigger LED 緑点灯）になります。その後、トリガ信号を検出すると（Trigger LED 消灯）、ＡＤ動作を開始します。計
測の開始を外部と同期を取る必要がある場合に使用します。
ＡＤの取り込みデータ数は、フレームサイズ×チャネル数になります。
a-3)ADPRE（ AD ﾌﾟﾘﾄﾘｶﾞｽﾀｰﾄﾓｰﾄﾞ）
このモードは、ホストコンピュータからのＡＤスタートコマンドによりＡＤ動作を開始しますが、その後、トリガ信号を検出するとトリガ以前の設定された時点からのＡＤデータをホストコンピュータに転送します。ある外部事
象（トリガ信号）が発生する以前の状態を必要とする計測に使用します。ト
リガ信号以前のデータ量はプリトリガサイズで設定します。
ＡＤの取り込みデータ数は、フレームサイズ×チャネル数になります。
但し、フレームサイズはプリトリガサイズを含むサイズを指定し、プリトリ
ガサイズには以下の制限があります。
プリトリガサイズ×チャネル数≦ＤＡＳメモリ容量（標準4MW）−１００
a-4)ADRET（ AD ﾘﾄﾘｶﾞｽﾀｰﾄﾓｰﾄﾞ）
このモードは、ノーマルトリガスタートと同様にＡＤ動作を開始しますが、１フレーム（フレームサイズ分）計測が終了すると、再度トリガ信号待の状態になりＡＤ動作を繰り返し行います。この繰り返しは繰り返し数で指定した回数実行します。
ＡＤの取り込みデータ数は、フレームサイズ×チャネル数×繰り返し数になります。
a-5)DANORM（ DA ﾉﾝﾄﾘｶﾞｽﾀｰﾄﾓｰﾄﾞ）
このモードは、ホストコンピュータからのＤＡスタートコマンドにより、ホストコンピュータからのデータ転送を可能にします。ＤＡの出力開始は、
ＤＡスタートサイズ（本ソフトウェアではフレームサイズが標準で設定されます。）の値により決定されます。ホストコンピュータからのＤＡデータの転送量がＤＡスタートサイズ×チャネル数に達した時からＤＡの出力を開始します。
ＤＡ出力するデータ数（ホスト転送数）は、フレームサイズ×チャネル数 になります。
a - 6 ) D AT R G （ D A ﾉ ｰ ﾏ ﾙ ﾄ ﾘ ｶ ﾞ ｽ ﾀ ｰ ﾄ ﾓ ｰ ﾄ ﾞ ）このモードは、ホストコンピュータからのＤＡスタートコマンドにより、ホストコンピュータからのデータ転送を可能にします。ＤＡの出力開始は、
ＤＡスタートサイズ（本ソフトウェアではフレームサイズが標準で設定されます。）の値だけ、データをホストコンピュータより取り込み、外部からのトリガ信号待の状態（Trigger LED 緑点灯）になり、その後、トリガ信号を検出すると（Trigger LED 消灯）、ＤＡ出力を開始します。ＤＡの出力開始を外部と同期を取る必要がある場合に使用します。
ＤＡ出力するデータ数（ホスト転送数）は、フレームサイズ×チャネル数になります。
a-6)DARET（ DA ﾘﾄﾘｶﾞｽﾀｰﾄﾓｰﾄﾞ）
このモードは、ノーマルトリガスタートと同様にスタートしますが、１フ85

レーム（フレームサイズ分）動作が終了すると、再度トリガ信号待の状態になりＤＡ動作を繰り返し行います。この繰り返しは繰り返し数で指定した回
数実行します。ＤＡスタートサイズは初回のトリガ信号待ちの時有効で、２回目以降は意味を持ちません。ＤＡ出力するデータ数（ホスト転送数）は、
フレームサイズ×チャネル数×繰り返し数になります。
a-7)DACYCL（ DA ﾉﾝﾄﾘｶﾞｽﾀｰﾄｻｲｸﾙﾓｰﾄﾞ）
このモードは、転送されたＤＡデータ（フレームサイズ×チャネル数）を
繰り返し数で設定された回数分、繰り返し出力します。途中で、出力を停止
したい場合は、動作停止を使用します。但し、停止する位置は各フレームの区切り目となります。このモードはあるパターンデータを繰り返し出力したい場合に有効です。
ＤＡ出力するデータ数（ホスト転送数）は、フレームサイズ×チャネル数で、このデータを繰り返し数分繰り返します。
但し、フレームサイズには以下の制限があります。
フレームサイズ×チャネル数 ≦ DAS メモリ（標準 4MW）容量
a - 8 ) D AT C Y C L （ D A ﾉ ｰ ﾏ ﾙ ﾄ ﾘ ｶ ﾞ ｽ ﾀ ｰ ﾄ ｻ ｲ ｸ ﾙ ﾓ ｰ ﾄ ﾞ ）このモードは a-7)のモード動作をトリガ受信後実行します。
ﾄリガ信号は初回のみ有効で、２回目以降は意味を持ちません。
ＤＡ出力するデータ数（ホスト転送数）は、フレームサイズ×チャネル数で、このデータを繰り返し数分繰り返します。
a-9)DARCYCL（ DA ﾘﾄﾘｶﾞｽﾀｰﾄｻｲｸﾙﾓｰﾄﾞ）
このモードは a-6)のモード動作を同じデータで繰り返し数分実行します。
ＤＡ出力するデータ数（ホスト転送数）は、フレームサイズ×チャネル数で、このデータをトリガ毎に出力します。
b) チャネル数
AD、DA 変換のチャネル数を指定します。
c) サンプリング周波数
AD、DA 変換のサンプル周波数（Hz）を指定します。
d) フレームサイズ
計測する１フレーム（１回分の計測を１フレームと呼び、リトリガモードはこのフレームを指定した回数だけ繰り返します。）のサンプリング点数（１チャネル当たりのデータ点数）を指定します。
e) プリトリガサイズ
AD ﾌﾟﾘﾄﾘｶﾞｽﾀｰﾄﾓｰﾄﾞの時、プリトリガサイズ（トリガ以前のデータ数）を
１チャネル当たりのデータ数で指定します。
f)

繰り返し数
「ADRET」、「DACYCL」、「DATCYCL」、「DARCYCL」の時に、繰り返し数を指定します。

g) ト リ ガ の 指 定
計測パラメータ設定画面の右上にトリガ設定のセクションがあります。AD,DAのトリガを使用するモードの時に設定します。トリガの条件は、「立ち上がり」と「立ち下がり」の選択、トリガレベルの電圧指定（入出力レベル指定により
86

設定範囲が異なります。±5V 又は±10V）、トリガソースの「外部入力端子」と「入力チャネル（オプション）」の選択が指定できます。
h) クロックソース
AD,DA 変換のクロックソースを指定します。
「INTCLK」： 内部クロックを使用します。（サンプリング周波数指定）「EXTCLK」： 外部クロック（CLK IN 端子）を使用します。入力するクロックの立ち上がりで変換が開始されます。
「PRECLK」： 外部クロックを分周して使用します。分周値はサンプリング
周波数設定の項目で設定します。
例： クロックソース=[PRECLK]、CLKIN 入力クロック＝1000Hz、サンプリング周波数指定＝10
変換クロック＝1000/10＝100Hzi)□ 波形表示モニター表示するかどうかを指定します。チェックで表示j)表示チャネル数
モニター表示するチャネル数を指定します。

k) 表示点数
モニター表示するデータの点数を指定します。
計測チャネル数×表示点数が取り込みメモリー領域(32768Word)サイズを超える場合は、自動的に表示点数が最大値に変更されます。
l)□ ファイル化
ファイルに書き込むかどうかを指定します。チェックで書き込みm) ファイル名
ファイルを操作する時のデータファイル名を指定します。
n) ヘッダ表示
ファイル名に指定されているデータファイルのヘッダ情報を表示します。
表示項目：DataFileType,DataSize、DataChannels,SampleClocko) DAS IP Address
DASBOX の IP ADDRESS を指定します。通常は192.168.0.2

を設定p) Y 軸表示レンジ
モニター表示するとき Y 軸の表示レンジを電圧値で指定します。DASBOXの電圧レンジは±５V 又は±10V としています。
q) TimeOut
ホストと DASBOX の間でデータ転送を行う時、TimeOut 時間を秒単位で指定します。
r) ランダムチャネル指定
ランダムチャネルの指定を有効にした時は、DASBOX のチャネル入力端子の番号と入出力順番の対応関係を指定できます。
指定の手順
・ パラメータ設定画面の右下にある 内部＜――＞外部 対応関係リスト
87

から指定したい項目を選びます。外部は入出力端子、内部はメモリ及びファイルデータのチャネル番号です。
・ 外部 CH のリストからチャネル番号を選ぶと、内部＜――＞外部対応関係リストの外部が変えられます。
s) キャンセル「キャンセル」ボタンを押すと、パラメータ設定画面の設定を全てキャンセ
ルして設定前のパラメータに戻ります。
t) 設定終了「設定終了」ボタンを押すと、現在の設定値が有効になり、パラメータ設定
画面が終了します。
u) 入出力レベル
DASBOX の外部トリガ入力レンジ選定及び DASBOX の入出力レベルを設定します。但し、トリガレンジはプログラマブルですが、各チャンネルの入出力レベルは、出荷時に固定となっております。
（標準±5V,オプション±10V）４ ） ア イ コ ン の 説 明a)パ ラ メ ー タ 設 定
計 測 パ ラ メ ー タ 設 定 画 面 が 表 示 さ れ 、 計 測 の パ
ラ メ ー タ 設 定 を 行 い ま す 。 設 定 の 詳 細 は ３ ） 計 測
パ ラ メ ー タ 設 定 の 項 目 を 参 照 し て く だ さ い 。

a)DA ス タ ー ト
計測パラメータで DA 変換を行います。パラメータの動作モードが DA モ
ードではない場合は、自動的に DANORM モードに変更します。（パラメータ設定画面には反映されません。）b)AD ス タ ー ト
計測パラメータで AD 変換を行います。パラメータの動作モードが AD モ
ードではない場合は、自動的に ADNORM モードに変更します。（パラメータ設定画面には反映されません。）c)フ ァ イ ル 表 示
指定したファイルを読み込み、表示します。表示はパラメータ設定画面で設定した「表示点数」毎に 1 フレーム毎に表示します。

d)デ ー タ フ ォ ー マ ッ ト 指 定
計測した結果をファイル化する際のファーマットを指定します。
88

・NORMAL
・DATA_ONLY
・DATA_HEADERe)

先頭にヘッダが付いた、データファイル
データだけのファイル
テキストのヘッダファイル及びデータだけのファイ
ル

実行中止
実行中の動作を中止します。（計測を途中で中断したい場合等に用いま
す。）

89

５）

計 測 メ ニ ュ ー
計 測 メ ニ ュ ー は 下 記 の プ ル ダ ウ ン メ ニ ュ ー を 持 ち
各 種 の 動 作 を 実 行 し ま す 。
・
・
・
・
・
・
・
・

パラメータ設定
startAD
startDA
ファイルフォーマット
データ表示
中止
RESET
ファイル変換（bin->text）

・パラメータ設定：

パラメータ設定のアイコンと同じ動作

・startAD：

AD スタートアイコンと同じ動作

・startDA：

DA スタートアイコンと同じ動作

・ファイルフォーマット：
・データ表示：・中止：
・RESET：

データフォーマット指定アイコンと同じ動作
ファイル表示アイコンと同じ動作
実行中止アイコンと同じ動作
DASBOX のイニシャライズ（inet_io_init()）を実行します。

・ファイル変換（bin->text）： NORMAL フォーマットのファイルのみ有効とし、計測パラメータ設定画面のファイル名で指定されている Binary 形式のファイルを読み込み、*****.txt の名称で CSV 形式のテキス
トファイルを作成します。
*****はファイル名で指定した拡張子を外した名称とします。

90６）データフォーマットの説明ａ）NORMAL
NORMAL フォーマットは本ソフト専用なデータフォーマットであり、計測条
件と計測した結果を全て Binary 形式で保存されています。

1024Byte

ヘッダ部

データサイズ×チャネル数×２Byte
データ部

・ ヘッダ部（1024Byte）
計測のパラメータ、バージョン情報などが入っています。
Float
Int

ver；
format;バージョン情報
ファイルフォーマットの指定
0=NORMAL

Int
reserved;Int
reserved;
Int
flag;
ファイルの有効性 ０＝無効、１＝有効
Int
channels；
チャネル数
Int
frame_size； フレームサイズ
Float clock;
サンプリング周波数（Hz）
Int
counter
繰り返し数
Char dumy[988]ダミィーデータ・ データ部
データ型： １６Bit 符号付き short
レンジ： −32768〜+32767 ――＞ –5V〜+4.999847412V
データの並び： [ch1-0],[ch2-0],[ch3-0]------[chN-0],[ch1-1],[ch2-1],[ch3-1]------[chN-1],|[ch1-n],[ch2-n],[ch3-n]------[chN-n]b）DATA_ONLY
DATA_ONLY フォーマットは NORMAL フォーマットのデータ部だけがBinary 形式で保存されています。
ｃ）DATA_HEADERDATA_HEADER フォーマットは計測条件ファイル(***.hed)と NORMAL フォーマットのデータ部(***.dat)が別のファイルに保存されています。
計測条件ファイルはテキストフォーマットでファイル化されています。
計測条件ファイルの内容
Ver*.****
バージョン情報Clock**.*
サンプリング周波数
Size***
フレームサイズ
Channels **チャネル数Counter **
繰り返し数
91

７）

サンプルデータファイル
実際に AD で取り込んだデータファイルです。

test2-5000.dat ：計測サンプルソフトDA出力用ファイル（ADで作成したデータファイル）
AD計測条件計測モード＝ADTRG、トリガレベル=1.2V、トリガスロープ＝立ち上がり
トリガ入力＝AD1CH信号
チャンネル数＝２、サンプリング周波数=1000Hz、フレームサイズ=5000
AD1CH入力： 周波数＝１Hz、電圧レベル＝±４V、波形＝Sin波AD2CH入力： 周波数＝１Hz、電圧レベル＝０−４V、波形＝方形波（duty=50%)
test8-10000.dat ：計測サンプルソフトDA出力用ファイル（ADで作成したデータファイル）
AD計測条件計測モード＝ADTRG、トリガレベル=1.2V、トリガスロープ＝立ち上がり
トリガ入力＝AD1CH信号
チャンネル数＝８、サンプリング周波数=10000Hz、フレームサイズ=10000
AD1CH入力： 周波数＝１Hz、電圧レベル＝±４V、波形＝Sin波AD2CH入力： 周波数＝１Hz、電圧レベル＝０−４V、波形＝方形波（duty=50%)
rtest2-3000.dat：計測サンプルソフトDA出力用ファイル（ADで作成したデータファイル）
AD計測条件計測モード＝ADRET、トリガレベル=1.2V、トリガスロープ＝立ち上がり
トリガ入力＝AD1CH信号
チャンネル数＝2、サンプリング周波数=1000Hz、フレームサイズ=1000
リトリガ回数＝３AD1CH入力：1回目 周波数＝１Hz、電圧レベル＝±４V、波形＝正弦波
2回目 周波数＝１Hz、電圧レベル＝±４V、波形＝三角波
3回目 周波数＝１Hz、電圧レベル＝±４V、波形＝方形波
AD2CH入力： 周波数＝１Hz、電圧レベル＝０−４V、波形＝方形波（duty=50%）92