2016-05-26 3 views
1

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

Как это сделать? Любой вход очень приветствуется!

Спасибо!

+0

Вам нужна помощь в том, как писать на канал или выяснить, как установить это конкретное свойство канала и уже может успешно записать другие свойства канала? – KDecker

ответ

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.

Насколько я знаю до или после этого, я понятия не имею.

+0

Большое вам спасибо за то, что нашли время ответить. Да, я согласен с плохой документацией и отсутствием примеров. Похоже, что после установки свойства Tristate мне нужно сделать digitalWriteTask.Control (TaskAction.Commit); чтобы он вступил в силу. – kasrus

 Смежные вопросы

  • Нет связанных вопросов^_^