• このライブラリについて
  • サンプルコード
  • リファレンス
  • ドライバAPI
目次の表示/非表示
  • 例外処理
  • アナログ入力サンプル
  • アナログ出力サンプル
  • デジタル入力サンプル
  • デジタル出力サンプル
  • モーター制御サンプル
  • リレー出力サンプル

リレー出力 サンプルコード

// 使用する名前空間の宣言  
using Y2.UsbIO.UsbPc104.Rly;  // USB-PC104シリーズのRLYから始まる型番のデバイスを使用する場合
// デバイスのインスタンスを生成(RLY-24/16/32A-Uを使用する場合)
var device = new Rly241632aU();

// デバイスに接続
device.Connect();                           // 識別スイッチ位置を0で使用する場合
//device.Connect(DeviceSwitch.PositionA);   // 識別スイッチ位置をAで使用する場合

// RY1(OUT0)をオフ、RY2(OUT1)は現在の状態を保持、RY3(OUT2)をオン、その他の出力端子は現在の状態を保持する場合
ReadOnlySpan<OutputValue> values = stackalloc OutputValue[] { OutputValue.Off, OutputValue.Keep, OutputValue.On };
device.Rly.Output(values);

// RY3(OUT2)をオフ、RY4(OUT3)は現在の状態を保持、RY5(OUT4)をオン、その他の出力端子は現在の状態を保持する場合
values = stackalloc OutputValue[] { OutputValue.Off, OutputValue.Keep, OutputValue.On };
device.Rly.Output(values, 2);

// デバイスのインスタンスを破棄(usingを使用しても可)
device.Dispose();

ReadOnlySpanの代わりにSpanを使う場合

// デバイスのインスタンスを生成(RLY-24/16/32A-Uを使用する場合)
var device = new Rly241632aU();

// デバイスに接続
device.Connect();                           // 識別スイッチ位置を0で使用する場合
//device.Connect(DeviceSwitch.PositionA);   // 識別スイッチ位置をAで使用する場合

// RY1(OUT0)をオフ、RY2(OUT1)は現在の状態を保持、RY3(OUT2)をオン、その他の出力端子は現在の状態を保持する場合
Span<OutputValue> values = stackalloc OutputValue[3];
//Span<OutputValue> values = new OutputValue[3]; でも可
values[0] = OutputValue.Off;
values[1] = OutputValue.Keep;
values[2] = OutputValue.On;
device.Rly.Output(values);

// RY3(OUT2)をオフ、RY4(OUT3)は現在の状態を保持、RY5(OUT4)をオン、その他の出力端子は現在の状態を保持する場合
values = stackalloc OutputValue[3];
values[0] = OutputValue.Off;
values[1] = OutputValue.Keep;
values[2] = OutputValue.On;
device.Rly.Output(values, 2);

// デバイスのインスタンスを破棄(usingを使用しても可)
device.Dispose();

ReadOnlySpanの代わりに配列を使う場合

// デバイスのインスタンスを生成(RLY-24/16/32A-Uを使用する場合)
var device = new Rly241632aU();

// デバイスに接続
device.Connect();                           // 識別スイッチ位置を0で使用する場合
//device.Connect(DeviceSwitch.PositionA);   // 識別スイッチ位置をAで使用する場合

// デジタル出力
// RY1(OUT0)をオフ、RY2(OUT1)は現在の状態を保持、RY3(OUT2)をオン、その他の出力端子は現在の状態を保持する場合
var values = new[] { OutputValue.Off, OutputValue.Keep, OutputValue.On };
device.Rly.Output(values);

// デバイスのインスタンスを破棄(usingを使用しても可)
device.Dispose();

整数で出力値を指定したい場合は、OutputValues.From...で整数から配列に変換して使用できます。

// デバイスのインスタンスを生成(RLY-72A-Uを使用する場合)
var device = new Rly72aU();

// デバイスに接続
device.Connect();                           // 識別スイッチ位置を0で使用する場合
//device.Connect(DeviceSwitch.PositionA);   // 識別スイッチ位置をAで使用する場合

// RY1(OUT0)をオン、RY2(OUT1)をオフ、RY3(OUT2)をオン、RY4(OUT3)をオン、その他の出力端子は現在の状態を保持する場合(2進数表記)
device.Rly.Output(OutputValues.FromInt(0b1101, 4));
// RY1(OUT0)をオフ、RY2(OUT1)をオン、RY3(OUT2)をオフ、RY4(OUT3)をオン、その他の出力端子は現在の状態を保持する場合(16進数表記)
device.Rly.Output(OutputValues.FromInt(0xa, 4));
// 符号なし32ビット整数で出力値を指定する場合
device.Rly.Output(OutputValues.FromUInt(0x12345678, device.Rly.ChannelCount));
// 符号なし64ビット整数で出力値を指定する場合
device.Rly.Output(OutputValues.FromULong(0x123456789abcdef0, device.Rly.ChannelCount));

// デバイスのインスタンスを破棄(usingを使用しても可)
device.Dispose();
このページの内容
トップに戻る Copyright © Y2 Corporation