コンテンツにスキップ

関数 > デジタル入力 >

YdxDiInputBit

機能

デジタル入力端子の状態を読み込みます。
データは、ビットごとに読み込みます。

書式

INT YdxDiInputBit(
    INT id,
    INT start,
    INT num,
    INT mode,
    INT* data
);

パラメータ

id

YdxOpen関数 で取得したIDを指定します。

言語 C# VB.NET VB6.0 C++/CLI C/C++
int Integer Long int INT

start

入力開始チャネルを指定します。
設定範囲は0~3です。

言語 C# VB.NET VB6.0 C++/CLI C/C++
int Integer Long int INT

num

読み込みをするチャネル数を指定します。

言語 C# VB.NET VB6.0 C++/CLI C/C++
int Integer Long int INT

mode

デジタル入力フィルタ通過前と通過後どちらの状態を読み出すかを選択します。

意味
0 フィルタ通過後の状態
1 フィルタ通過前の状態
言語 C# VB.NET VB6.0 C++/CLI C/C++
int Integer Long int INT

data

入力データを格納する変数へのポインタを指定します。
関数が正常に実行されると、入力データが格納されます。

意味
0 OFF
1 ON
言語 C# VB.NET VB6.0 C++/CLI C/C++
int[] Integer Long int* INT*

戻り値

関数が正常に終了した場合は、0(YDX_RESULT_SUCCESS)が返ります。
正常に終了しなかった場合は、0以外が返ります。
詳細は、戻り値一覧 を参照してください。

言語 C# VB.NET VB6.0 C++/CLI C/C++
int Integer Long int INT

備考

デジタル入力フィルタは、YdxDiSetFilter関数 で設定できます。

使用例

デジタル入力チャネル0~3(IN0~IN3)の端子の状態(デジタル入力フィルタ通過前の状態)を読み込みます。
データはIN0から順にバッファへ格納されます。

C#

int result;
int[] data = new int[4];
result = Ydx.DiInputBit(id, 0, 4, 1, data);

VB.NET

Dim result As Integer
Dim data(3) As Integer
result = YdxDiInputBit(id, 0, 4, 1, data)

VB6.0

Dim result As Long
Dim data(3) As Long
result = YdxDiInputBit(id, 0, 4, 1, data(0))

C++/CLI

int result;
int data[4];
result = YdxDiInputBit(id, 0, 4, 1, data);

C/C++

INT result;
INT data[4];
result = YdxDiInputBit(id, 0, 4, 1, data);