Как установить три состояния на NI-DAQ с помощью C#

У меня NI-DAQ 6212, и я пытаюсь установить цифровой выход в режиме трех состояний с помощью C#. Я не могу найти пример того, как его отделить от этой ссылки http://zone.ni.com/reference/en-XX/help/370473H-01/mstudiowebhelp/html/bd33b0d/

Как я могу сделать это? Любой вклад с благодарностью!

Спасибо!

1 ответ

Решение

Библиотеки 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 имущество.

Что касается всего до или после этого, я понятия не имею.

Другие вопросы по тегам