Files
usb-6009/National-Instruments-DAQ-MX/core/Program.cs

102 lines
4.6 KiB
C#

using NationalInstruments.DAQmx;
using System;
using System.Collections.Generic;
using System.Linq;
namespace National_Instruments_DAQ_MX;
public class Program {
public static void Secondary(List<string> args) {
try {
List<string> results = [];
Task task;
double value;
AIChannel aiChannel;
AnalogSingleChannelReader analogSingleChannelReader;
if (args.Contains("ai0")) {
task = new();
aiChannel = task.AIChannels.CreateVoltageChannel("dev1/ai0", "myAIChannel", AITerminalConfiguration.Differential, 0, 5, AIVoltageUnits.Volts);
analogSingleChannelReader = new(task.Stream);
value = analogSingleChannelReader.ReadSingleSample();
results.Add($"ai0: {value}");
aiChannel.Dispose();
task.Dispose();
}
if (args.Contains("ai1")) {
task = new();
aiChannel = task.AIChannels.CreateVoltageChannel("dev1/ai1", "myAIChannel", AITerminalConfiguration.Differential, 0, 5, AIVoltageUnits.Volts);
analogSingleChannelReader = new(task.Stream);
value = analogSingleChannelReader.ReadSingleSample();
results.Add($"ai1: {value}");
aiChannel.Dispose();
task.Dispose();
}
if (args.Contains("ai2")) {
task = new();
aiChannel = task.AIChannels.CreateVoltageChannel("dev1/ai2", "myAIChannel", AITerminalConfiguration.Differential, 0, 5, AIVoltageUnits.Volts);
analogSingleChannelReader = new(task.Stream);
value = analogSingleChannelReader.ReadSingleSample();
results.Add($"ai2: {value}");
aiChannel.Dispose();
task.Dispose();
}
if (args.Contains("ai3")) {
task = new();
aiChannel = task.AIChannels.CreateVoltageChannel("dev1/ai3", "myAIChannel", AITerminalConfiguration.Differential, 0, 5, AIVoltageUnits.Volts);
analogSingleChannelReader = new(task.Stream);
value = analogSingleChannelReader.ReadSingleSample();
results.Add($"ai3: {value}");
aiChannel.Dispose();
task.Dispose();
}
if (args.Contains("ai4")) {
task = new();
aiChannel = task.AIChannels.CreateVoltageChannel("dev1/ai4", "myAIChannel", AITerminalConfiguration.Rse, 0, 5, AIVoltageUnits.Volts);
analogSingleChannelReader = new(task.Stream);
value = analogSingleChannelReader.ReadSingleSample();
results.Add($"ai4: {value}");
aiChannel.Dispose();
task.Dispose();
}
if (args.Contains("ai5")) {
task = new();
aiChannel = task.AIChannels.CreateVoltageChannel("dev1/ai5", "myAIChannel", AITerminalConfiguration.Rse, 0, 5, AIVoltageUnits.Volts);
analogSingleChannelReader = new(task.Stream);
value = analogSingleChannelReader.ReadSingleSample();
results.Add($"ai5: {value}");
aiChannel.Dispose();
task.Dispose();
}
if (args.Contains("ai6")) {
task = new();
aiChannel = task.AIChannels.CreateVoltageChannel("dev1/ai6", "myAIChannel", AITerminalConfiguration.Rse, 0, 5, AIVoltageUnits.Volts);
analogSingleChannelReader = new(task.Stream);
value = analogSingleChannelReader.ReadSingleSample();
results.Add($"ai6: {value}");
aiChannel.Dispose();
task.Dispose();
}
if (args.Contains("ai7")) {
task = new();
aiChannel = task.AIChannels.CreateVoltageChannel("dev1/ai7", "myAIChannel", AITerminalConfiguration.Rse, 0, 5, AIVoltageUnits.Volts);
analogSingleChannelReader = new(task.Stream);
value = analogSingleChannelReader.ReadSingleSample();
results.Add($"ai7: {value}");
aiChannel.Dispose();
task.Dispose();
}
Console.WriteLine(string.Join(Environment.NewLine, results));
} catch (Exception ex) {
Console.WriteLine(string.Concat(ex.Message, Environment.NewLine, ex.StackTrace));
throw;
}
}
public static void Main(string[] args) {
if (args is not null) {
Secondary(args.ToList());
}
}
}