• このライブラリについて
  • サンプルコード
  • リファレンス
  • ドライバAPI

Y2.UsbIO

弊社製のUSB制御デバイス(ユニット・ボード)をオブジェクト指向で使用するためのライブラリです。

特徴

入出力の制御は、関数を呼び出すことで実現できますので、開発者はUSB接続であるという事を意識せずに使用することができます。

設定値などの主な値は値オブジェクトになっていますので、安全かつわかりやすい記述で使用する事ができます。

各シリーズのドライバAPIの違いをできるかぎり吸収していますので、機種・シリーズを変更しても同様のコードで制御することができます。
また同じ機能を搭載しているデバイスであれば、インターフェースを使用して全く同じように使用することができます。

異常時(デバイスとのアクセスに失敗した場合など)には例外をスローしますので、ドライバAPIのように関数実行のたびの戻り値の確認が不要になります。

NuGetからインストールできますので、簡単に利用可能です。

.NET Standard 2.0対応ですので、以下のフレームワークで使用することができます。

  • .NET 5以降
  • .NET Core 3.1
  • .NET Framework 4.6.1以降
    • .NET Frameworkで使用する場合は、System.Memoryパッケージのインストールが必要です。

対応機種

  • UBシリーズ
  • USB-PC104シリーズ
  • その他のシリーズについては準備中

使用例

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

// デバイスに接続
device.Connect();

// デジタル入力
Span<OnOffValue> values = stackalloc OnOffValue[device.Din.ChannelCount]; 
device.Din.Input(values);
if(values[2].IsOn)
    Console.WriteLine("IN2はONです。");

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

// アナログ入力
Span<Voltage> voltages = stackalloc Voltage[device.Ain.ChannelCount];
device.Ain.Input(voltages);
Console.WriteLine($"AIN3は{voltages[3].Millivolts}mVです。");

// アナログ出力(AOUT0に1.234V, AOUT1に5.678V, AOUT2に9.01Vを出力)
ReadOnlySpan<Voltage> outputVoltages = stackalloc Voltage[] { 1.234, Voltage.FromMillivolts(5678), 9.01 };
device.Aout.Output(outputVoltages);

詳細な使用方法については、サンプルコード・リファレンスを参考にしてください。

デバイスとの接続/切断・破棄について

接続にはConnect関数を使用します。
識別スイッチ番号(0であれば省略可能)・接続モード(出力オフであれば省略可能)が指定可能です。

切断はDisconnect関数を使用します。
Disconnectした後はConnect関数で再接続が可能です。

インスタンスの破棄はDispose関数を使用します。
接続状態からDisposeを実行した場合には破棄前に切断がおこなわれます。
(Disposeの前にDisconnect関数を実行する必要はありません)

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

usingを使用して破棄する場合

using var device = new Dio88bUbt();
device.Connect();
...

使用方法

Visual StudioのGUIからインストールする場合

使用するプロジェクトを右クリックし、[NuGetパッケージの管理] をクリックします。

[パッケージ ソース] として "nuget.org" を選択し、[参照] タブを選択し、一覧から以下のパッケージを選択し、 [インストール] を選択します。

  • USB-PC104シリーズのデバイスを使用する場合
    • Y2.UsbIO.UsbPc104 パッケージ(ライブラリ)
    • Y2.UsbPc104.Driver.Win パッケージ(ドライバ)
  • UBシリーズのデバイスを使用する場合
    • Y2.UsbIO.Ub パッケージ(ライブラリ)
    • Y2.Ub.Driver.Win パッケージ(ドライバ)

必要な名前空間を宣言して使用します。

using Y2.UsbIO;

// UBシリーズのデバイスを使用する場合
using Y2.UsbIO.Ub;

// USB-PC104シリーズの「AIO-」から始まる型番のデバイスを使用する場合
using Y2.UsbIO.UsbPc104.Aio;

// USB-PC104シリーズの「DIO-」から始まる型番のデバイスを使用する場合
using Y2.UsbIO.UsbPc104.Dio;

// USB-PC104シリーズの「PMC-S」から始まる型番のデバイスを使用する場合
using Y2.UsbIO.UsbPc104.Pmc;

// USB-PC104シリーズの「RLY-」から始まる型番のデバイスを使用する場合
using Y2.UsbIO.UsbPc104.Rly;

Visual Studioのパッケージマネージャーコンソールからインストールする場合

USB-PC104シリーズのデバイスを使用する場合

Install-Package Y2.UsbIO.UsbPc104
Install-Package Y2.UsbPc104.Driver.Win

UBシリーズのデバイスを使用する場合

Install-Package Y2.UsbIO.Ub
Install-Package Y2.Ub.Driver.Win

必要な名前空間を宣言して使用します。

dotnet CLIを使用してインストールする場合

USB-PC104シリーズのデバイスを使用する場合

dotnet add package Y2.UsbIO.UsbPc104
dotnet add package Y2.UsbPc104.Driver.Win

UBシリーズのデバイスを使用する場合

dotnet add package Y2.UsbIO.Ub
dotnet add package Y2.Ub.Driver.Win

必要な名前空間を宣言して使用します。

このページの内容
トップに戻る Copyright © Y2 Corporation