コンテンツにスキップ
関数 > リレー出力 >

YdciRlyOutput

機能

任意の点数のリレー出力を制御します。

適用

RLY-P4/2/0B-UBT

書式

INT YdciRlyOutput(
    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

出力を開始するリレー番号(1~)から1引いた値(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のままです。
出力状態を常に保持する必要がある場合はスタンバイモードにならないようにしてください。

使用例

RY1をOFF、RY2をON、RY3をOFF、RY4を現在の状態にする。

C/C++

int nResult;
BYTE abyData[4];
abyData[0] = 0;
abyData[1] = 1;
abyData[2] = 0;
abyData[3] = 2;
nResult = YdciRlyOutput(wID, abyData, 0, 4);

C++/CLI

int result;
unsigned char outputData[4];
outputData[0] = 0;
outputData[1] = 1;
outputData[2] = 0;
outputData[3] = 2;
result = YdciRlyOutput(id, outputData, 0, 4);

C#

int result;
byte[] outputData = new byte[4];
outputData[0] = 0;
outputData[1] = 1;
outputData[2] = 0;
outputData[3] = 2;
result = Ydci.RlyOutput(id, outputData, 0, 4);

VB(.NET2002以降)

Dim result As Integer
Dim outputData(3) As Byte
outputData(0) = 0
outputData(1) = 1
outputData(2) = 0
outputData(3) = 2
result = YdciRlyOutput(id, outputData, 0, 4)

VB6.0/VBA

Dim lngResult As Long
Dim bytData(3) As Byte
bytData(0) = 0
bytData(1) = 1
bytData(2) = 0
bytData(3) = 2
lngResult = YdciRlyOutput(intID, bytData(0), 0, 4)

GCC

int32_t result;
uint8_t output_data[4];
output_data[0] = 0;
output_data[1] = 1;
output_data[2] = 0;
output_data[3] = 2;
result = YdciRlyOutput(id, output_data, 0, 4);