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 args) { try { List 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()); } } }