LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

"Get Waveform Subset": version incompatibility

Hello everybody!

 

I was studing an already developped software and there was something relative to waveform uses that I didn't get it (concretly it was that I didn't know very well what I have to put in the Duration input when I was using the Get Waveform Subset function in the Relative Time mode. Should the duration be "T0 + sth" or just "sth"?)

 

Then, to understand it, I tried to simulated it. I was working at the same time with 2 computers with 2 different versions of Labview (7.1 and 8.6). The funny thing is that I created exactly the same VI for the oldest version and the new one, however it only works for the oldest one. When I try to run the new version I get that mistake message:

 

"Error -1801 occurred at Start value too large in Get Waveform Subset.VI.

 

Possible reason(s):

LabVIEW:  (Hex 0xFFFFF8F7) Duration input is not an integer multiple of dt. Value was coerced to nearest integer multiple of dt."

 

What's wrong with my new Labview version subvi?

 

Thank you!!

Download All
0 Kudos
Message 1 of 5
(4,812 Views)

I wired this up in LV 8.5.1 and got the same error. I think that the problem is that you are using the Get Date/Time in seconds which returns the number of elapsed seconds since January 1st 1904. This is a very large number. You are converting this to a double and feeding that into the get waveform subset vi set to relative time and polymorphic of waveform double type. You are sending it a waveform of 10 y elements. You are asking for a start value that is equal to the large number from the dbl conversion. Try replacing that start with a control set to 0. Set the duration to 10 and wire a indicator to your error output. Remember this is relative time.

 

Hope this helps.

 

 

Now Using LabVIEW 2019SP1 and TestStand 2019
0 Kudos
Message 2 of 5
(4,778 Views)

GovBob,  

 

 Thanks a lot for your solution. Writing zero in the start input it does work.  However there are 2 things I don't understand: 

 

1-.Why does it work in the oldest version using the  elapsed second function?Is the output of this function a longer number now? I think it should also work for the newest versions.

 

 2-.If we can't write a time stamp, what do we have to do to skip the samples of a period of time? If we use like a starting time zero, what is the difference now between the relative time mode and the sample one? 

  

 I have wondered that, and I have been doing some tests and now I am more confused that before I was. :s  

 

First of all, I was thinking: If we don't want to skip the first samples is logical that it does work for zero. I imagined that if for instance our wave starts in the second number 1000, so if we write a number below 1000, we are going to get always samples from the first positions (we could also get samples from other position but the first one would be always in the output wave).However when I wrote a signal, using as a t0 the elapsed second function and dt:1. Then I used "get waveform subset" in the relative time mode, and I set start:1 and duration:1, I got the second sample instead of the first one. (I was expecting the first one for the reason I have already explained) 

 

Also, thinking about the behaviour of the function in the relative time mode I have done some test, in order to get a pattern, but I haven't successed. I will attached a file with the ideas got from the tests.

0 Kudos
Message 3 of 5
(4,745 Views)

Concerning your point# 1. I have an old computer laying around here with LabVIEW 7.1 on it and I confirmed that it does work according to your diagram. I have no idea what they changed that causes an error message in later versions.

The value of the number coming from the Get date/time function, when converted to a double, remains the same in both versions I have tried (8.5.1 and 7.1) as I expected. It does look like they made some changes to the Get Waveform Subset vi in the newer versions. Hopefully someone from NI can take a look at this. I'll try to dig into that subvi to see what is happening.

 

Now Using LabVIEW 2019SP1 and TestStand 2019
0 Kudos
Message 4 of 5
(4,735 Views)

Hello again!!

 

I haven't been working for a while with the function I posted about a couple of months ago. Now I am back to that project and I try to find a solution. As the version for Labview 7.1 does work properly, I compare both front panels and I changed the different part. The result is this VI which works well in Labview 8.

 

I hope it could be useful.

 

Regards,

 

1000A

 

PS: There are also incompontability issues in the function "WDT Get XY value"

Download All
Message 5 of 5
(4,535 Views)