LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Problem with Group Digital Signals

Thanks in advance for any help on this problem.

 

I am controlling an array of 4 solenoids using digital waveforms. Things work great (see screenshot 1) until I convert my digital waveform into a digital waveform array using the group digital signals vi (see screenshot 2). To be brief, my waveform is being altered by this vi. The solenoids do fire at the correct times but firings 2 & 3 are truncated into 1-sample impulses rather than having the full 1 second duration like the first instance of firing.

 

Would anyone be willing to help me understand why this is happening or give me any work arounds?

 

Key for attached images:

Attachment 1: screenshot of a probe placed directly before the group digital signals vi. This is how my waveform should look.

Attachment 2: screenshot of the waveform graph placed directly after the group digital signals vi. The first firing of the solenoid remains correct but firings 2 & 3 are truncated. I probed the array at this same location and they are indeed shortened down to a single 'high' sample before returning to low.

Attachment 3: screenshot of the relevent section of my code. The numbers indicate the locations of the probes mentioned above.

 

Cheers,

 

A

0 Kudos
Message 1 of 3
(2,585 Views)

awinde,

 

While I am unsure why the "Group Digital Signals VI" is producing this behavior, you may be able to try at least three other workarounds. One option is to put your Digital Data In into a for loop (or a while loop with auto-indexing enabled), which will effectively write the digital waveform into an array of digital waveforms. Another option is to feed the Digital Data In into the "element" selection of the Initialize Array VI and the resultant of the initialize array will be an array of digital waveforms. The last way to convert a digital waveform is to feed the Digital Data In into the new element/sub array selection of the Insert Into Array VI, create a constant for the array selection. The output of the Insert Into Array would then be an array of digital waveform. Since I do not believe you are doing an rearranging of the waveform data, the Group Digital Signals VI probably isn't necessary for your application. Let me know if any of these workarounds fit your needs.

 

Best,

Jason M.
Applications Engineer
National Instruments
0 Kudos
Message 2 of 3
(2,523 Views)

Jason, I realized that I never actually posted a response to you (six months ago, sorry). Nor did I update the forum with the resolution to the problem above. I still do not know why the 'group digital signals.vi' is changing my waveform. I bypassed this .vi by changing the setting on the 'imaqdx create channel.vi' (from screen shot 3) to one channel for all lines so digital write (1Chan, NSamp) now accepts a digital waveform as in input but still writes to 4 different lines. All three of your resolutions changed the digital data to the correct format (1D array of digital waveforms), but the way I created the waveforms meant that the array was not in a form that yeilded the desired results. Maybe someday I'll get around to exploring the issue more. Thanks for the reply.

0 Kudos
Message 3 of 3
(2,432 Views)