Библиотеки NIDAQ довольно плохо документированы и не имеют много примеров из того, что я помню, когда мне приходилось иметь дело с ними. Я унаследовал некоторый код, который контролировал контроллер напряжения, с которым мне приходилось работать немного, ни в коем случае не полностью понимаю библиотеку.
Но я хотел бы предложить то, что могу, потому что я знаю, как это может расстраивать эта библиотека.
try
{
using (NationalInstruments.DAQmx.Task digitalWriteTask = new NationalInstruments.DAQmx.Task())
{
string[] channels = DaqSystem.Local.GetPhysicalChannels(PhysicalChannelTypes.DOPort, PhysicalChannelAccess.External);
// Here is how I command the voltage of the system.
digitalWriteTask.DOChannels.CreateChannel(channels[1], "port1", ChannelLineGrouping.OneChannelForAllLines);
DigitalSingleChannelWriter writer = new DigitalSingleChannelWriter(digitalWriteTask.Stream);
writer.WriteSingleSampleMultiLine(true, commandValue);
// A clue I might be able to offer about DOChannel Tristate property?
digitalWriteTask.DOChannels.All.Tristate = true;
}
}
catch (Exception ex)
{
Console.Out.WriteLine(ex.Message);
return false;
}
После осмотра NationalInstruments.DAQmx.Task
это выглядит как есть член DOChannels
. Вы должны уметь либо перебирать его, либо выбрать All
и установить свойство Tristate
.
Насколько я знаю до или после этого, я понятия не имею.
Вам нужна помощь в том, как писать на канал или выяснить, как установить это конкретное свойство канала и уже может успешно записать другие свойства канала? – KDecker