LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

LabVIEW update from 2012 to 2013 now giving 2513 error

My program worked well with 2012 however after updating to 2013 I am unable to log my data as before. I'm using a Producer Consumer Loop to stream data to a tdms file. I don't believe the problem is with the loop communication as I have tried using a write to tdms.vi without the producer consumer loop and it gave the same error -2513. Any help would be appreciated. 

0 Kudos
Message 1 of 7
(2,895 Views)

Hi LukeTEI,

This looks like a serious compatibility issue. I have looked over the snapshot of the VI you attached. It looks like the -2513 error is from the TDMS Write with the waveform input. In order to find the root cause and solve the problem. Would you please attach a VI that can reproduce this issue? From the snapshot, your VI seems to have many modules envolved like DAQmx, TestStand etc. It would be greatly appreciated if you can make a simplified VI to reproduce this issue, which contains only LabVIEW and TDMS nodes. My guess is that the waveform data in your VI is the key to reproduce this issue. It might be sufficient to give out the same error using the data and TDMS Write.

0 Kudos
Message 2 of 7
(2,844 Views)

You need to rearchitecture your program.

 

It is not adviced to have multiple Event Structures in one while-loop. 

 

 

I think what you need is some kind of state mashine.

And more consumers, a consumer for every event structure you have right now.

0 Kudos
Message 3 of 7
(2,816 Views)

@dkfire wrote:

You need to rearchitecture your program.


if it worked in LabVIEW 2012, it also needs to work in LabVIEW 2013, no matter how convoluted the code is.


dkfire wrote:

It is not adviced to have multiple Event Structures in one while-loop. 


It is also not forbidden. These event structures are nearly "transparent" because they have a short timeout and thus don't stall the loop. (We cannot see the rest of the event cases, so we don't really know what else there is).

Let's solve the tdms error. The rest is not important if it worked in 2012. As requested, we need to be see the actual VI (or a simplified version that shows the same problem) and be able to reproduce the error independently.

0 Kudos
Message 4 of 7
(2,811 Views)

I think I have found the issue:

Within my program I have several signals decimated, one of my channels was lost in NI Max during my conversion to LV 2013. Apparently when it attempted to decimate this channel it changed the data enough that tdms write was unable to recognize it. Adding this channel back to the task in NI Max seems to have corrected the issue. I feel like I over looked this problem since tdms write did not have any issues with the data before the decimation even with a channel missing.

 

In regards to the the event structures within my while loop; they are used take a momentary data sample and are controlled by the user through a push button.

 

 

0 Kudos
Message 5 of 7
(2,785 Views)

@LukeTEI wrote:

In regards to the the event structures within my while loop; they are used take a momentary data sample and are controlled by the user through a push button.


That's why we have latch action booleans and plain case structures. No need to involve events.

 

A latch action boolean remains true until the value is read by the code, then resets to false. if you wire it to the case selector, the case will turn true exactly once per button press. Keep it simple!

0 Kudos
Message 6 of 7
(2,766 Views)

Seems I really over thought that portion of my code. Replaced both event structure with Boolean case structure. Thanks for the advise.

0 Kudos
Message 7 of 7
(2,747 Views)