コンテンツにスキップ
関数 > デジタル入出力 >

YdciDioOutput

機能

任意の点数の出力端子を制御します。

適用

DIO-8/8B-UBC、DIO-8/8B-UBT

書式

INT YdciDioOutput(
    WORD wID,
    PBYTE pbyData,
    WORD wStart,
    WORD wCount
);

パラメータ

wID

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

言語 C/C++ C++/CLI C# VB(.NET2002以降) VB6.0/VBA GCC
WORD unsigned short ushort Short Integer uint16_t

pbyData

出力するデータを格納したバッファへのポインタを指定します。

出力データ 状態
0 OFF
1 ON
2 現在の状態を保持
言語 C/C++ C++/CLI C# VB(.NET2002以降) VB6.0/VBA GCC
PBYTE unsigned char* byte Byte Byte uint8_t*

wStart

出力開始番号(0~)を指定します。

言語 C/C++ C++/CLI C# VB(.NET2002以降) VB6.0/VBA GCC
WORD unsigned short ushort Short Integer uint16_t

wCount

出力する数を指定します。

言語 C/C++ C++/CLI C# VB(.NET2002以降) VB6.0/VBA GCC
WORD unsigned short ushort Short Integer uint16_t

戻り値

関数が正常に終了した場合は0(YDCI_RESULT_SUCCESS)が返ります。
正常に終了しなかった場合は0以外が返りますので、その場合はエラーコードを参照してください。

言語 C/C++ C++/CLI C# VB(.NET2002以降) VB6.0/VBA GCC
INT int int Integer Long int32_t

備考

PCがスタンバイモードになると、全ての出力はOFFになります。
その後スタンバイモードから復帰した場合でも元の出力状態には戻らず、OFFのままです。
出力状態を常に保持する必要がある場合はスタンバイモードにならないようにしてください。

使用例

OUT0に0、OUT1に1、OUT2に0、OUT3に1、OUT4は現在の出力状態、OUT5は現在の出力状態、OUT6に0、OUT7に1を出力する。

C/C++

int nResult;
BYTE abyData[8];
abyData[0] = 0;
abyData[1] = 1;
abyData[2] = 0;
abyData[3] = 1;
abyData[4] = 2;
abyData[5] = 2;
abyData[6] = 0;
abyData[7] = 1;
nResult = YdciDioOutput(wID, abyData, 0, 8);

C++/CLI

int result;
unsigned char outputData[8];
outputData[0] = 0;
outputData[1] = 1;
outputData[2] = 0;
outputData[3] = 1;
outputData[4] = 2;
outputData[5] = 2;
outputData[6] = 0;
outputData[7] = 1;
result = YdciDioOutput(id, outputData, 0, 8);

C#

int result;
byte[] outputData = new byte[8];
outputData[0] = 0;
outputData[1] = 1;
outputData[2] = 0;
outputData[3] = 1;
outputData[4] = 2;
outputData[5] = 2;
outputData[6] = 0;
outputData[7] = 1;
result = Ydci.DioOutput(id, outputData, 0, 8);

VB(.NET2002以降)

Dim result As Integer
Dim outputData(7) As Byte
outputData(0) = 0
outputData(1) = 1
outputData(2) = 0
outputData(3) = 1
outputData(4) = 2
outputData(5) = 2
outputData(6) = 0
outputData(7) = 1
result = YdciDioOutput(id, outputData, 0, 8)

VB6.0/VBA

Dim lngResult As Long
Dim bytData(7) As Byte
bytData(0) = 0
bytData(1) = 1
bytData(2) = 0
bytData(3) = 1
bytData(4) = 2
bytData(5) = 2
bytData(6) = 0
bytData(7) = 1
lngResult = YdciDioOutput(intID, bytData(0), 0, 8)

GCC

int32_t result;
uint8_t output_data[8];
output_data[0] = 0;
output_data[1] = 1;
output_data[2] = 0;
output_data[3] = 1;
output_data[4] = 2;
output_data[5] = 2;
output_data[6] = 0;
output_data[7] = 1;
result = YdciDioOutput(id, output_data, 0, 8);