We are using Logic Analyser with NI HSDIO to test our DUT. We were able to configure the signal express using Generate and Acquire steps. Now we want to configure the similar process in labview. I tried using express VI as given at the end of this link. I have kept all other configurations same as we had in signal express. The generation step seems to be working but the acquisition express gives all zero output. Could it be that I am missing some step ? I have also attached the screenshot of my labview code. I will appreciate if someone can give me some pointers on this.
Are you trying to read what you generate? The way you're using the express VIs you are going to first generate samples. Once those have all been generated, you're going to read samples. This is because you are forcing the VIs to run sequentially by wiring the error cluster from the generate to acquire. The sequence structure, in this case, is unnecessary. If you want the VIs to run in parallel, simply remove the sequence structure and the error wire between the two. Since it looks like you're new to LabVIEW you will probably find this link to be helpful. Let me know if you need me to clarify anything.
Thanks a lot for help. Yes I am new to labview; just figuring out thiongs 😞 . About running them sequentially, the reason I am doing it because in the signal espress we mention that acquire step should run after generate (I have attached the screenshot for that). I thought the process is sequential which is why I used flat sequence structure. What do you suggest ?
I tried doing what you suggested. The signal acquisition is giving me right output now. But I still fail to understand as to why in Signal Express we choose NI-HSDIO Acquire to execute after NI-HSDIO Generate step and it works fine there. Also, I noticed for parallel execution in labview, first 1000 samples are all zeros for the acquire signal (ie, incorrect output).
What hardware are you using? When you specify "Start this step after NI-HSDIO Generate" the acquisition waits until the generate starts and then it starts. It does not wait until the Generate finishes. I assume what you're trying to do is to start generating and then start acquiring immediately after. This is best accomplished using the DAQmx VIs rather than the DAQ Assistant. There are actually several examples that ship with LabVIEW that synchronize analog input/output or digital input/output. You can find these examples by going to: Help » Find Examples » Hardware Input and Output » DAQmx » Synchronization » Multi-Function.
Hope this helps!
I did as you said (without the sequence and the wiring) but it doesn't work. To be precise the acquisition is not working. I checked the generation and there is the voltage I supply on the channel I want (so this part is working). But I got this error (in attachment), I think there is a problem of trigger but I tried everything what in my mind. Attached, there is a photo of the trigger configuration. I'm using the PXI-6548, the labview 2013 64bits, NI-HSDIO 1.9.5.
If you can help me, I would be delighted.
Thanks in advance
In the triggering configuration you have selected PXI Trigger 0. Do you have anything routed to this trig line? Either way, could you explain a little bit more about how you are trying to trigger the acquisition?
I have moved on a bit since I wrote that message, but there is still thing (actually maybe more) that make me confused. I think it's gonna be a long message to explain everything, but I'll try to be clear and precise. Especially that English is not my mothertongue, and that I'm a young student pretty new in this. Well..
I'm evaluating the time spend by the signal to pass through the system, for this I wired the PXIe-6548 to the CB-2162, I generated the signal to the pins 0-15 of the CB and Acquire it from the pins 16-31 (of course I wired the pins 0-15 to the pins 16-31 with a ribbon cable).
Finally, I made it worked using labview using "match pattern" for the reference trigger type. But with this I can't read the time spent (maybe there is a simple way to do it), and I cannot use a rate below 100k (approximately). The PXI-6548 should be able to go from 100Hz to 200MHz.
The most confusing, according to me, is that I managed to do it using SignalExpress 6.0, and it works even for 100Hz. With SignalExpress, I can also use the "digital edge" for reference trigger source but the trigger source is "PXI1slot2 (PXIe-6548)\do\Start Trigger" and It stop working for a rate below 50k. Maybe it is because I'm using the Limited Edition of SignalExpress.
I don't understand why it works in SignalExpress (SE) and not in Labview (they are doing the same, using NI-HSDIO 1.7 for SE and 1.9.5 for Labview). I don't really understand why I can't lower the rate more and certainly other things...
Maybe it is because, no any version of NI-HSDIO is compatible with LabVIEW 2013, but in that case why it still work with "match pattern" for a high rate?
I finally don't think I made it very clear, but I hope you can understand the idea.
Do you receive an error when trying to specify a sampling rate of 100Hz? If so, could you provide a screenshot of this error?
Secondly, is a "Match Pattern" trigger type what you are looking for or is it the only one that will work? What errors do you get with other trigger types and which trigger types have you tried. The most simple would be a digital start edge trigger connected to the PFI0 connector on the 6548.
As for your ultimate goal, I'd like to make sure I understand correctly. Are you trying to measure the time it takes between when the waveform is generated and when the waveform is acquired? I understand that right now you have the outputs wired directly to an input, but are you ultimately going to connect some device between the output and input and measure the time delay? Let me know if this is correct or if I have misunderstood.
Yes, you understand properly. I'm glad you managed to understand.
I figured out what the problem is, and the solution I found is actually what you recommend to me. I'll use PFI0, it was just that I didn't have anything to connect and I thought I could use another trigger but it doesn't seems.