03-28-2008 05:39 PM
I am new to lab view and I am having some problems generating a digital signal. The digital signal I am trying to produce is from an arbitrary waveform I created from a data file. It is already formatted into a digital signal (IE square waves from 0 to 5 volts). When I output this arb waveform to one of the analog outputs it works perfectly.
However, I would rather output it from a single digital port
since I only have so many analog outputs.
This is real RPM data so there is no set frequency or duty cycle.
I have tried simply hooking them up with a while loop and using the one point per iteration option but the timing is off when it comes out. Changing the delta X changes the output as well by slowing it down or speeding it up. This allowed me to get close but I would rather it be more exact plus I am pretty sure changing computers will also effect the output signal as well.
On average the signal is High for 48ms and then low for 3ms. I am using labview 8.5 and have the NI 6713 PCI card.
I think the solution has something to do with the Analog waveform to Digital waveform converter and sending the whole signal per iteration, but I could not get it to work. The output becomes a Digital waveform and the DAQ wants a 1-D array of digital waveform.
Any help would be greatly appreciated.
03-31-2008 01:50 PM - edited 03-31-2008 01:52 PM
Hi StevenShak,
You can change the output of your digital line from a 1-D array to a waveform using the Polymorphic VI Selector for the DAQmx write (See the screenshot AnalogToDigitalWaveform.jpg).
Are you using the Analog to Digital Waveform VI to convert between the different waveform types? If so you might want to be aware that the default for this VI is 16 bit resolution. It sounds like you want to create a bit by bit output (1 bit resolution). This can easily be changed by wiring a constant of 1 to the Resolution terminal of the Analog to Digital Waveform VI.
You might also check on the discussion in this forum which mentions some related issues.

03-31-2008 02:00 PM
03-31-2008 02:05 PM
04-02-2008 09:57 AM
I tried the configuration you posted but I keep getting an
error message.

Error -200077 occurred at DAQmx Write (Digital Wfm 1Chan NSamp).vi:1
Possible reason(s):
Measurements: Requested value is not a supported value for this property.
Property: SampTimingType
You Have Requested: Sample Clock
You Can Select: On Demand
Task Name: DAQ Assistant_0
On my Arbitrary waveform generator I selected send entire signal.
On the Task-in I selected digital output port 0 line 0.I selected N samples or continuous samples with a 2kHz sample rate. Under timing it is still internal so I don’t know why it is saying I requested sample clock.
04-02-2008 10:34 AM
04-03-2008 11:28 AM - edited 04-03-2008 11:29 AM
It sounds like you are trying to use a DAQmx Timing VI property that is not supported by the PCI-6713. For example, the “Cont Write Dig Chan-Pipelined Sample Clock with Handshaking.vi” example can only be run by some of NI’s high speed digital I/O cards such as the PCI-6537. These type of devices support more advanced digital timing modes, such as the ones used in the example you mentioned.
What kind of timing properties are you setting in your VI? The PCI-6713 only supports basic digital timing functionality like what is shown in this example:
C:\Program Files\National Instruments\LabVIEW 8.5\examples\DAQmx\Digital\Generate Values.llb\Write Dig Chan.vi
Here is a screenshot of the example program that I created to test your application: