LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Using WDT or digital data to set tristate on PXI-6551 channel(s)?

Is there a way to set HS-DIO channel (e.g. PXI-6551) using digital data? In what format, WDT, 2DU32, etc.?
Along the generation patterns, I need to set certain channels to tristate (Hi-Impedance). Can I set it using samples in my waveform (or digital data) rather than stop generation, call the Set Tristate vi and go back to waveform and continue the generation?
Also, why NI does not publish the conversion between 2DU32 and WDT? What's the big deal? (I made a conversion vi myself after some digging, but I think it should be part of niHWS's ready-use-vi's.)
Same thing with getting channel mapping info out of a digital waveform file. Why can't there be an output on the niHWS Retrieve Waveform.vi and niHSDIO Read Waveform.vi to show such information?
0 Kudos
Message 1 of 5
(3,371 Views)
Hi CT,

Is there a way to set HS-DIO channel (e.g. PXI-6551) using digital data? In what format, WDT, 2DU32, etc.?

Yes, using niHSDIO Write Named Waveform. The formats include 1D U32, 1D U16, 1D U8, and WDT. Also, you should name the waveforms if you are using scripts or want to download multiple waveforms into the hardware.


Along the generation patterns, I need to set certain channels to tristate (Hi-Impedance). Can I set it using samples in my waveform (or digital data) rather than stop generation, call the Set Tristate vi and go back to waveform and continue the generation?

Currently, the only method to tristate your channels is to use niHSDIO Tristate Channels.vi. This may be updated in future releases of the HSDIO driver. For now, with NI-HSDIO 1.3, you must use the niHSDIO Tristate Channels.vi.


Also, why NI does not publish the conversion between 2DU32 and WDT? What's the big deal? (I made a conversion vi myself after some digging, but I think it should be part of niHWS's ready-use-vi's.)

Converting between 2D U32 and a WDT isn't a big deal, you are correct. The next version of the HSDIO driver is planning to include a 1D data to WDT conversion VI. You mention the conversion from 2D U32 to WDT. You probably have multiple devices. May I ask exactly why you want to do this? I know of several cases where somebody might want this, and each one needs to be treated a little differently.


Same thing with getting channel mapping info out of a digital waveform file. Why can't there be an output on the niHWS Retrieve Waveform.vi and niHSDIO Read Waveform.vi to show such information?

When you read with U32 (or U16, U8), the data is already channel mapped (bit 0 goes to channel 0, etc) based on what was entered in the Digital Waveform Editor. There's not really a way to get this information from WDT. What would you do with this information (what kind of format would be most useful)?

Chad AE
Applications Engineer
Message 2 of 5
(3,353 Views)
In my other message yesterday, I mentioned that in the niHWS Append Digital Samples.vi, it allows you to choose from "Z" (2), "X" (5) and other values to fill in the samples for missing signals. If you look at the output from this vi in a digital data indicator. It appears as "Z" (if Z is selected). When you get the data component out and show it in a 1D U8 array, it appears as a "2" (5 for X). If I use this data as digital data as generation patterns, will PXI-6551 put the channel to tristate when samples have "Z" as their values? And keep the previous value when "X" is sent to the channel.
As you suggested, does that mean if I have a waveform to be generated and acquired dynamically, because I have to set one tristate, now I have two dynamic generation/acquisition? If I need to set tristate twice, my waveform needs to be broken into three pieces, so on and so forth. If I have more of those, it's better off to use this HS-DIO card with static generation/acquisition.

My application utilizes 5 PXI-6551 cards. The reason for conversion from 2D U32 to WDT is to put signals from all devices together display in digital graph for troubleshooting and data analysis or compare with a reference waveform that has only those signals.

As for channel mapping, I am surprised tht NI did not make niHWS Retrieve Waveform (from file?).vi more useful. I did some digging and was able to extract channel mapping info out and use that to configure resource names and assign channels, same with the clock rate. There are bunch of vi's that allow you to do waveform groups and names, but you can't do/use any of that in the $700 Waveform Editor. (Please correct me if I am wrong.) Do those only apply to the waveforms written in on-board memory?
0 Kudos
Message 3 of 5
(3,344 Views)
Hi CT,

At first, I was confused when you referenced the niHWS Append Digital Samples.vi. I was pretty sure there was no such function for HWS. I'm now assuming you're talking about the Digital Waveform Datatype Append Digital Samples in the LabVIEW waveform palette (unless you have a beta driver I'm unfamiliar with). The default value input on this VI is where you can choose Force Z.

However, right now, you can't actually do anything with those Zs from an HSDIO perspective. Currently, you can't store them in an HWS file, and they're not really useful for generating data.

For now, HWS and HSDIO only support 1s and 0s. Your confusion is stemmed from the fact that the Digital Waveform Datatype in LabVIEW is more generic. I'll reply again after meeting with the HSDIO Product Support Engineer.

Once again, thanks for your patience!

Chad AE
Applications Engineer
0 Kudos
Message 4 of 5
(3,324 Views)
Chad,

Thanks for checking that out for me. I wrote the previous message without looking at LabView, so I got vi names mixed up in niHWS and LV's generic Digital Waveform (Append Digital Samples.vi). Sorry about the confusion. Is there a possibility the NI-DAQmx allows me to do what I wanted? I have not looked into that, may be someone who is familiar with NI-DAQmx enough can tell me right aways.
0 Kudos
Message 5 of 5
(3,320 Views)