LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Digital Signal Transition VI

Hello,
 
I am trying to create a VI that will register a transition change on a digital line, from both low to high and high to low. Right now I am using a modified version of the Digital Graph Pattern Search example to find the transitions, but I need to look for both "10" and "01" patterns in the data. It doesn't look like my VI is registering the correct index times for transitions, and I was hoping that someone could help me figure out why.
 
I have modified the example VI by adding another Search for Digital Pattern VI, ANDing together the match found results, and interleaving the arrays- I think this will work because the pattern should always be low, high, low, high, etc.
 
Right now the VI doesn't seem to register transitions on the first few or last bits of the digital array. There are also some times that the loop will hang, even though I think that I'm incrementing it correctly. Is there any reason that this should happen? I am using LabVIEW 7.1
 
Thanks for any advice!
Kristen
0 Kudos
Message 1 of 3
(2,427 Views)
There seems to be a couple of problems:

1.  The "String to Digital Waveform" seems to output nearly all 1s when there are more than 32 characters AND the last character is a 1.  This looks like a potential bug on our software's part, or at least something that needs to be documented.  Remove the last '1' bit from your string.
2.  One of the patterns that you were searching for was "1" instead of your intended "01" from your original post.
3.  Each search VI needs it's own unique counter and shift register for start/index time input.  The way you had it was creating redundant finds.

See the updated VI.  For the 7.1 version I saved the 8.2.1 version back to 8.0 and then 7.1.  It opens fine on my computer, but if you are unable to let me know.

Trey B
Applications Engineering
National Instruments
0 Kudos
Message 2 of 3
(2,404 Views)
It doesn't appear to be a bug.  You can view the source for the "String do digital Waveform" and see that it is performing a scan from string that converts the string into an I32 (32 bit integer).  I'll make a suggestion to at least include a comment about this limitation in the context help.

Trey B
Applications Engineering
National Instruments
Message 3 of 3
(2,396 Views)