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);