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

デジタル入力 サンプルコード

// 使用する名前空間の宣言  
using Y2.UsbIO.Ub;  // UBシリーズのデバイスを使用する場合
// デバイスのインスタンスを生成(DIO-8/8B-UBTを使用する場合)
var device = new Dio88bUbt();

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

// 全てのデジタル入力端子の状態を読み込み
Span<OnOffValue> values = stackalloc OnOffValue[device.Din.ChannelCount];
//Span<OnOffValue> values = new OnOffValue[device.Din.ChannelCount]; でも可
device.Din.Input(values);

if(values[0].IsOn)
    Console.WriteLine("IN0がオンです。");
if(values[1].IsOn)
    Console.WriteLine("IN1がオンです。");

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

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

// デバイスのインスタンスを生成(DIO-8/8B-UBTを使用する場合)
var device = new Dio88bUbt();

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

// 全てのデジタル入力端子の状態を読み込み
var values = new OnOffValue[device.Din.ChannelCount];
device.Din.Input(values);

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

一部のデジタル入力端子の状態のみを読み込む場合

// デバイスのインスタンスを生成(DIO-8/8B-UBTを使用する場合)
var device = new Dio88bUbt();

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

// IN2~IN5のデジタル入力端子の状態を読み込み
Span<OnOffValue> values = stackalloc OnOffValue[4]; // 読み込むチャネル数のスパンまたは配列を用意
device.Din.Input(values, 2);                        // 読み込みを開始するチャネルを指定して読み込む

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

尚、読み込んだ入力値を整数に変換したい場合は「OnOffValues.To~」メソッドで変換できます。

device.Din.Input(values);
// 符号付き32ビット整数値に変換する場合
var int32 = OnOffValues.ToInt32(values);
// 符号なし32ビット整数値に変換する場合
var uint32 = OnOffValues.ToUInt32(values);
// 符号なし64ビット整数値に変換する場合
var uint64 = OnOffValues.ToUInt64(values);
このページの内容
トップに戻る Copyright © Y2 Corporation