Subscribe: Digital I/O
Added By: Feedage Forager Feedage Grade B rated
Language: English
card  data  digital waveform  digital  digitalwaveformtask  labview  line  output  problem  program  read  test  usb  values  win 
Rate this Feed
Rate this feedRate this feedRate this feedRate this feedRate this feed
Rate this feed 1 starRate this feed 2 starRate this feed 3 starRate this feed 4 starRate this feed 5 star

Comments (0)

Feed Details and Statistics Feed Statistics
Preview: Digital I/O

Digital I/O topics

Digital I/O topics

Published: Wed, 21 Feb 2018 23:24:36 GMT2018-02-21T23:24:36Z


Replacing software trigger with physical trigger

Wed, 21 Feb 2018 18:28:49 GMT2018-02-21T18:28:49Z



I am new with control system so excuse me if this sound trivial.


Currently I am using a USB6001 running a Labview program with 4 radio buttons trigger 4 different set of codes for Analog Output to a servo motor.


I like to replace the 4 radio buttons with physical push bottoms or equivalent, and change the radio buttons to indicators.

I was reading the manual about PFI and the USB6001 only has two of them.  Does that mean I am maxed out with the ability to use 2 physical triggers? 

Can I use the digital Input for the same purposes?

And if there are other way to achieve this, please let me know. 


Thanks, Billy  


Bertec force plates with .NET

Mon, 19 Feb 2018 23:53:13 GMT2018-02-19T23:53:13Z

Hello community,

I am trying to connect a Bertec force plate to labview using the .NET interface. 


This involves loading  "BertecDeviceNET.dll" into labview. This DLL comes from the Bertec website,  and downloading the most recent "Bertec Device SDK" from May 2014.


I know this is possible, as it has been done before. See these posts:


I've tried following the solutions listed, and feel optimistic about things. Except I can't seem to be able to load the .NET DLL into labview. It keeps telling me "An error occurred trying to load the assembly" and then I can't proceed.


I am using the 32-bit version of the DLL, and the 32-bit version of Labview 2017. The DLL is in the same local folder as the labview VI. I've tried loading it into Labview 2015, and 2016, both 32 and 64 bit versions (the Bertec SDK has 64 bit versions as well). But no luck. 


I'm not sure what to do next. It might be that Bertec's DLL is just bad, but I'd be surprised Bertec didn't catch that yet, as the SDK was released in 2014.


Is anyone else able to load the DLL? If so, what am I doing wrong?



How to remeber output states on usb 6501

Fri, 16 Feb 2018 06:30:35 GMT2018-02-16T06:30:35Z


I am new in labview.

I am  need do that, I can't send data on usb 6501 and the card will by viewing previous state still.

Any ideas ( maybe some sihift register)?

I need some example.


Thank you

How to set the sample clock signal from line PFI4 to zero after running the program?

Mon, 12 Feb 2018 10:09:45 GMT2018-02-12T10:09:45Z

Hello all,


I suffer from a problem since weeks ago and want your help.


I have a NI PCI 6535b card. I notice that after I run my program, the sample clock signal from PFI4 is always there, even I exit LabView software. How can I set it to zero after the program stops?


Thank you in advance.


Best regards,



NI-9403: Acheiving maximum 7us update rate

Thu, 08 Feb 2018 17:42:09 GMT2018-02-08T17:42:09Z

The NI-9403 module has an update rate of 7us, so in theory it should be able to output a clock period of 2*7us=14us or 71kHz.  I have a simple program which inverts the boolean input to a single NI-9403 channel, enclosed in a continuous while loop (no timing functions or single-cycle loops). However, I cannot get more than 38kHz out of the module.  Without disabling arbitration, is there a way to get to a higher data rate?

NI PCI 6509 not working under Win 7 at the same sample rate like under Win XP

Fri, 02 Feb 2018 15:25:33 GMT2018-02-02T15:25:33Z

Hello together,before I come to the actual problem I want to tell you whats this about, we got an old testbench at which we test rotary encoders, in the testbench pc (win xp 32bit) we use the NI 6509 which reads the encoder state. In the test procedure we turn the encoder at a specified speed and verify that all gray values are read at the first turn, therefore we use the C API in an inhouse software. In the software we use the change detection to read the encoder values in the callback. That so far works perfectly.The problem now is:Since the old testbench is, well, quiet old, we decided to build a new one with a newer pc with Windows 7 64bit and the same NI 6509 card. The NI card works there too and reads the gray values but not at the specified speed of our gray encoder test (which works on the old win xp pc with the same card / specified speed -> all values read). If we make the same encoder test at the same speed on the win 7 pc it misses about 1/16 (about 1000) values. To eliminate our inhouse software as source of the problem I have written a small Qt programm that only access the NI card via the C API and logs the read values. With that test program I get exactly the same result, I get all values on the xp pc and alot misses on the win 7 one. With missing I mean that the gray values just dont get sampled. Its not always the same values that are missing, if we turned the encoder more than one turn for example we would get all values but thats not the goal.So the question is, why does the same NI 6509 card that works under Win XP with a certain sample rate (encoder rotation speed) not work at the same speed under Win 7?What I have tried so far without results:-I have written a test program that only uses the used C API calls: #define SAMPLES_PER_CALL 10000#define COUNT_GRAY_POSITIONS 16384 void NidaqInterface::InitGrayConnection() { qDebug() << "InitGrayConnection()"; if (!DAQmxCreateTask("", &hTask)) { qDebug() << "DAQmxCreateTask()"; if (!DAQmxCreateDIChan(hTask, "Dev1/line0:13", "", DAQmx_Val_ChanForAllLines)) { qDebug() << "DAQmxCreateDIChan()"; int iStat1 = DAQmxCfgChangeDetectionTiming(hTask, "Dev1/line0:13", "Dev1/line0:13", DAQmx_Val_ContSamps, SAMPLES_PER_CALL); qDebug() << iStat1 << "DAQmxCfgChangeDetectionTiming()"; int iStat2 = DAQmxRegisterSignalEvent(hTask, DAQmx_Val_ChangeDetectionEvent, 0, NidaqInterface::ChangeDetectionCallback, NULL); qDebug() << iStat2 << "DAQmxRegisterSignalEvent()"; if (!DAQmxStartTask(hTask)) { qDebug() << "DAQmxStartTask()"; } } } } int32 CVICALLBACK NidaqInterface::ChangeDetectionCallback(TaskHandle hTask, int32 signalID, void *callbackData) { uInt16 data[SAMPLES_PER_CALL]; int32 read; if(!DAQmxReadDigitalU16(hTask, -1, 1.0, DAQmx_Val_GroupByChannel, data, SAMPLES_PER_CALL, &read, NULL)) { for (int j = 0; j < read; j++) { uInt16 num = data[j] & (COUNT_GRAY_POSITIONS - 1); QString hexNum = QString("0x%1").arg(num, 4, 16, QLatin1Char( '0' )); testState[num] = 1; qDebug() << "Gray data[" << j << "]:" << hexNum << ";" << num; } } return 0; } -Installed 4 different driver versions, 17.5, 16.0, 8.6.1, 9.1-Upgraded Win 7 with all available updates-Changed the NI 6509 cards of the working Win XP pc with the Win 7 pc-Tried different encodersI am really at the end of my knowledge, in my opinion the problem has to be somewhere between the C API calls and the hardware, but I honestly don't know where exactly.   If anyone can give me some helpful ideas or new inspirations I'd be very grateful.Thank you all,Regards Todd  [...]

Connecting a LED to Digital Output

Wed, 31 Jan 2018 15:48:39 GMT2018-01-31T15:48:39Z

Hi all,


I'm trying to connect an LED light to digital output 15 on an NI myRIO using labVIEW. 


It's a simple program, but I can't get it work. Any help would be great.


P.S. I'm loving this community support. 





P0.line4:7 output problem

Wed, 31 Jan 2018 01:33:42 GMT2018-01-31T01:33:42Z

I output P0.line0-31 to logic "1" from test panel of MAX, then measure  the output voltage of each line;the line0-3,8-31 voltage are OK,and the line4-7 also keep logic "0".The DAQ's USB-6289

Digital output line remains high after digital waveform output

Fri, 26 Jan 2018 16:58:41 GMT2018-01-26T16:58:41Z



I am using a NI USB-6229 device and working on outputting an arbitrary sequence of low's (0V) and high's (5V) on one of the digital output lines.The problem I am experiencing is after the digital waveform is output, the line the waveform was output on remains in the high state. This happens regardless of whether the last sample in the digital waveform is a 1 or a 0. My digital waveform output task is configured as shown below.

_digitalWaveformTask = new Task("DigitalOutputTask");            
_digitalWaveformTask.DOChannels.CreateChannel("Dev4/port0/line0", "do0", ChannelLineGrouping.OneChannelForEachLine); _digitalWaveformTask.Timing.ConfigureSampleClock("/Dev4/ao/SampleClock", 5000, SampleClockActiveEdge.Rising, SampleQuantityMode.FiniteSamples, 1000); _digitalWaveformTask.Done += delegate { _digitalWaveformTask.Stop(); _digitalWaveformTask.Control(TaskAction.Unreserve); }; _digitalWaveformTask.Control(TaskAction.Verify);
_digitalWaveformSingleChannelWriter = new DigitalSingleChannelWriter(_digitalWaveformTask.Stream); _digitalWaveformSingleChannelWriter.WriteMultiSamplePort(false, GenerateDigitalWaveformData());

The GenerateDigitalWaveformData method generates a digital waveform of arbitrary length that alternates between high & low states. Before returning an int[] it makes sure that the last sample in the array has a value of 0, I thought that this would force the line back to a low state but it doesn't.


Edit: The digital waveform is getting output correctly from what I can tell, the line it is getting output on is simply not returning to a low state afterwards.


What am I doing wrong?

Power Connector for a RoboRio (2-position MINI-COMBICON, 3.5 mm)

Wed, 24 Jan 2018 14:41:58 GMT2018-01-24T14:41:58Z

Our FRC team has a number of RoboRio units, however over time, some of the 2-position MINI-COMBICON, 3.5 mm power connectors have been lost.  Aside from the kit that NI offers for $49 that has parts we'll never use, is there a source for the one specific connector?





Running a motor

Tue, 23 Jan 2018 21:31:46 GMT2018-01-23T21:31:46Z

I am using DAQmx to acquire and generate digital inputs and outputs to run a car forward and reverse, triggering off of lasers. The trip lasers are normally High (1) and then go low (0) when something breaks the beam. The code attached functions. The car drives forward when you press start, drives to the end and when the laser is tripped it flips to reverse and comes back. When it gets to the left sensor it trips and goes forward and keeps doing that. I have been trying to figure out how to stop the car (output 0 to FWD and REV) for a second before it flips direction and I can't figure it out for the life of me. Any help is appreciated. Maybe there is a better way to do it all together???


If it is any use:

Forward output: Mod4/port0/line1

Reverse output: Mod4/port0/line0


Left sensor input Mod3/port0/line1

Right sensor input Mod3/port0/line0


Leer una señal digital con daq6008

Sat, 20 Jan 2018 20:59:59 GMT2018-01-20T20:59:59Z

Buenas tardes a toda la comunidad soy nuevo

Quisiera saber como generar una señal ssb y una señal de clk con la daq6008 para poder leer el módulo max6675 estas señales son necesarias para poder hacer funcionar el módulo si alguien pudiese ayudarme le agradeceria mucho de antemano gracias 

can i read the voltage and amperage with ni 9203, ni 9205 in solar panel?

Thu, 18 Jan 2018 02:55:01 GMT2018-01-18T02:55:01Z

can i read the voltage and amperage with ni 9203, ni 9205 in solar panel?

Twido Series PLC

Wed, 17 Jan 2018 21:25:09 GMT2018-01-17T21:25:09Z

Hi I need to replace a Twido module but there are no part number on the module(attached picture) anyone can help find this part...?





Reading Pyrometer Temperature Data into LabVIEW

Wed, 17 Jan 2018 20:02:41 GMT2018-01-17T20:02:41Z

Note: Please let me know if this would belong better in another community and I will repost it there. 

I work in a research lab that requires a pyrometer to do non-contact temperature measurement of silicon chips that are heated by halogen lamps. Presently, we use thermocouples to read the temperature and then do closed-loop feedback to either turn the lamps on/off based on the heating trends that we desire. The issue with using the pyrometer (Model here: and the manuals are in the "Datasheets and manuals" tab) is that the software provided by the manufacturer just records the data into a text file after the test is run and doesn't allow for real-time integration with LabVIEW. There is a connector that plugs into the back of the pyrometer and has wires with the following designation:



Then there is a further USB adapter that we bought in order to communicate with the pyrometer on the computer. This is the connection diagram:


I'm new to LabVIEW - is there a way to get the temperature data (which I assume is coming from TXD, the yellow wire) into LabVIEW? Could I use a Compact DAQ on the digital side and plug the TXD wire into one of the channels to receive data? Or is there a way to still use the USB? Thank you so much for any help. 


NI DAQ 6509

Tue, 16 Jan 2018 19:18:05 GMT2018-01-16T19:18:05Z

What is the maximum achieveable throughput speed with the NI 6509?


I need to output 50 bits of data every 500nanoseconds.  Spec states 10MHz clock (100nsec)


an example LV will.

PCI CAN Datasheet/Specs

Mon, 08 Jan 2018 16:55:32 GMT2018-01-08T16:55:32Z




Im trying to track down a datasheet for an old NI PCI CAN card I have see images attached. Im trying to find what versions of windows its compatible with. 


Thanks in advance



(image) (image)

I/Q problem

Sun, 07 Jan 2018 08:32:43 GMT2018-01-07T08:32:43Z

How do we get IQs in labview using sdr 2832u?


Thu, 04 Jan 2018 19:22:56 GMT2018-01-04T19:22:56Z

I need some help, where I can find the driver for NI 9403 series C?

Problem in Acquisition with PXI-6551

Thu, 04 Jan 2018 18:52:48 GMT2018-01-04T18:52:48Z



I am trying to generate and acquire data between channels on PXI-6551 card. I am using the demo VI "Dynamic Generation and Acquisition-Source Synchronous". I am able to generate waveforms ( I can see on scope) but can't acquire anything. I connected PFI1 to PFI2 and CLK OUT to STROBE as mentioned in the instructions. I connected DIO0 to DIO8 and DIO7 to DIO15 but I only receive zeros.


Anything that I could be missing ?