■機能 与えられた連続する2バイトバイナリデータshort(Integer)値に変換し、配列に格納します。
■書式
(VB.NET用)
Dim Ret As Integer
Dim Str(xxxx) As Byte ' (xxxxはバイナリデータのサイズを指定)
Dim ShtData(xxxx) As Short ' (xxxxは変換後のデータ数を指定)
Dim ArraySize As Integer
Ret = GpCnvCviArray(Str, ShtData, ArraySize)
(C言語用)
DWORD Ret;
BYTE *Str;
short *ShtData;
DWORD ArraySize;
Ret = GpCnvCviArray(Str, ShtData, ArraySize);
(C#用)
uint Ret;
byte[] Str = new byte[xxxx]; /* (xxxxはバイナリデータのサイズを指定) */
short[] ShtData = new short[xxxx]; /* (xxxxは変換後のデータ数を指定) */
uint ArraySize;
Ret = gpib.CnvCviArray(Str, ShtData, ArraySize);
(Python用)
Ret = ctypes.c_ulong()
Str = (ctypes.c_ubyte * xxxx)() #(xxxxはバイナリデータのサイズを指定)
ShtData = (ctypes.c_short * xxxx)() #(xxxxは変換後のデータ数を指定)
ArraySize = ctypes.c_ulong()
Ret.value = GpibPy.GpCnvCviArray(Str, ShtData, ArraySize)
■モード マスタモード/スレーブモード
■引数
Str : 変換するバイナリデータ配列
機器等から受け取った2バイトバイナリデータを指定します。
この配列には2バイトのバイナリデータが連続して入っている必要があります。
ShtData : (出力)変換したshort値の配列(VBではInteger値)
ArraySize : ShtDataの配列の大きさ
Ret : 終了情報(戻り値)
0 : 正常終了
255 : パラメータエラー
(詳細は「戻り値一覧」参照)
■補足
①この関数に与えられるバイナリデータは以下の条件を満たしている必要があります。
Strには2バイトバイナリデータが連続して入っていること。
Strのバイト数は(ArraySize×2)バイト以上あること。この条件が満たされない場合、動作は保証されません。
②デフォルトでは2バイトデータのうち、1バイト目のデータに符号ビットがあるものとして変換します。
2バイト目のデータに符号ビットがあるものとして変換したい場合にはCnvCvSettingsを実行してください
③この関数はArraySizeの値をもとに変換を行ないます。Strのバイト数と混同しないようご注意ください。
Str配列のバイト数とArraySizeの関係は次の通りになる必要があります。
Str配列のバイト数 >= ArraySize × 2
つまりStr配列のバイト数が20バイトあったとしても、ArraySizeを1に設定すれば変換は最初の2バイト分しか行なわれません。
④この関数はGpIni関数をコールしていなくても使用することができます。
⑤この関数はQuickBasicのCVI関数とほぼ同等の機能を提供します。