アナログ出力 サンプルコード
// 使用する名前空間の宣言
using Y2.UsbIO.UsbPc104.Aio; // USB-PC104シリーズのAIOから始まる型番のデバイスを使用する場合
// デバイスのインスタンスを生成(AIO-84/16/32A-Uを使用する場合)
var device = new Aio841632aU();
// デバイスに接続
device.Connect(); // 識別スイッチ位置を0で使用する場合
//device.Connect(DeviceSwitch.PositionA); // 識別スイッチ位置をAで使用する場合
// AOUT0に1.234V、AOUT1に5.6V、AOUT2に7.8Vを出力
ReadOnlySpan<Voltage> voltages = stackalloc Voltage[]
{
// ミリボルト値で指定する場合
Voltage.FromMillivolts(1234),
// ボルト値で指定する場合
Voltage.FromVolts(5.6),
// 数値(ボルト値)で指定する場合
7.8
};
// アナログ出力を実行
device.Aout.Output(voltages);
// デバイスのインスタンスを破棄(usingを使用しても可)
device.Dispose();
ReadOnlySpanの代わりにSpanを使う場合
// デバイスのインスタンスを生成(AIO-84/16/32A-Uを使用する場合)
var device = new Aio841632aU();
// デバイスに接続
device.Connect(); // 識別スイッチ位置を0で使用する場合
//device.Connect(DeviceSwitch.PositionA); // 識別スイッチ位置をAで使用する場合
// AOUT0に1.234V、AOUT1に5.6V、AOUT2に7.8Vを出力
Span<Voltage> voltages = stackalloc Voltage[3];
//Span<Voltage> voltages = new Voltage[3]; でも可
// ミリボルト値で指定する場合
voltages[0] = Voltage.FromMillivolts(1234);
// ボルト値で指定する場合
voltages[1] = Voltage.FromVolts(5.6);
// 数値(ボルト値)で指定する場合
voltages[2] = 7.8;
// アナログ出力を実行
device.Aout.Output(voltages);
// デバイスのインスタンスを破棄(usingを使用しても可)
device.Dispose();
ReadOnlySpanの代わりに配列を使う場合
// デバイスのインスタンスを生成(AIO-84/16/32A-Uを使用する場合)
var device = new Aio841632aU();
// デバイスに接続
device.Connect(); // 識別スイッチ位置を0で使用する場合
//device.Connect(DeviceSwitch.PositionA); // 識別スイッチ位置をAで使用する場合
// AOUT0に1.234V、AOUT1に5.6V、AOUT2に7.8Vを出力
var voltages = new Voltage[3];
// ミリボルト値で指定する場合
voltages[0] = Voltage.FromMillivolts(1234);
// ボルト値で指定する場合
voltages[1] = Voltage.FromVolts(5.6);
// 数値(ボルト値)で指定する場合
voltages[2] = 7.8;
// アナログ出力を実行
device.Aout.Output(voltages);
// デバイスのインスタンスを破棄(usingを使用しても可)
device.Dispose();