Jump to content
vivante

Preserving cluster version among different LabVIEW versions

Recommended Posts

Hi,
I'm facing this issue with LabVIEW 2014.
I have made a program with LV 2012 that passes some clusters to another application, made with LabVIEW 2012 also.
All clusters are passed as strings between the two programs, using "Flatten to String" and "Unflatten From String" VIs.
Well, everything works smooth when both applications are compiled with the same release of LabVIEW.
I have rebuilt the application that send data with LabVIEW 2014 and the receiver generates an error because cluster version is not recognized
 

 

Is there a way to preserve cluster version (i.e. maintain LabVIEW 2012 version, in my case) so that I do not need to rebuild all applications with LabVIEW 2014?

Share this post


Link to post
Share on other sites

Hi,

 

Hi,

I'm facing this issue with LabVIEW 2014.
I have made a program with LV 2012 that passes some clusters to another application, made with LabVIEW 2012 also.
All clusters are passed as strings between the two programs, using "Flatten to String" and "Unflatten From String" VIs.
Well, everything works smooth when both applications are compiled with the same release of LabVIEW.
I have rebuilt the application that send data with LabVIEW 2014 and the receiver generates an error because cluster version is not recognized

 

I don't have a solution immediately, but try flattening your cluster with both LabVIEW 2012 and 2014. Save the flattened strings to disk, and then compare them with a hex editor. What differences do you see?

 

They've changed the internal format of flatten to string between 2012 and 2014. This is what you want to do on your 2014 application:

attachicon.gifpic.png

 

I believe that setting  is for compatibility between LabVIEW 7.x and 8.x http://www.ni.com/pdf/manuals/371780e.pdf

 

Anyway, could you please provide a link to any documentation/discussion about the change in the internal data format between 2012 and 2014? The latest changes I could find are between LabVIEW 2011 and 2012: http://forums.ni.com/t5/LabVIEW/Why-is-a-flattened-variant-different-in-LabVIEW-2012-and-LabVIEW/td-p/2329878

Edited by JKSH

Share this post


Link to post
Share on other sites

Thomas is right, the flatten to string format was changed between LV 2013 and 2014.

To be backwards compatible you need to use flatten the string to the 7.x format in LV 2014 if you like to read that file/format in LV2013 or earlier.

This should only be needed if you want to go back to LV 7,x according to the documentation, but if you test it you'll see that there is a difference between 2014 and 2013

Share this post


Link to post
Share on other sites

Thomas is right, the flatten to string format was changed between LV 2013 and 2014.

To be backwards compatible you need to use flatten the string to the 7.x format in LV 2014 if you like to read that file/format in LV2013 or earlier.

This should only be needed if you want to go back to LV 7,x according to the documentation, but if you test it you'll see that there is a difference between 2014 and 2013

 

The official advice is to use some arbitrary primitive hidden in the utilities directory (VariantFlattenExp.vi) that takes a version number  :blink:. I wonder what potion they were drinking when they came up with that gem?

  • Like 1

Share this post


Link to post
Share on other sites

The official advice is to use some arbitrary primitive hidden in the utilities directory (VariantFlattenExp.vi) that takes a version number  :blink:. I wonder what potion they were drinking when they came up with that gem?

Wow, awesome. I was under the impression you could just use variant to flattened string which includes the type info, but maybe your VI is what I heard about. And that VI also has a different connector pane than everything else, 3:2 :/

Share this post


Link to post
Share on other sites

Wow, awesome. I was under the impression you could just use variant to flattened string which includes the type info, but maybe your VI is what I heard about. And that VI also has a different connector pane than everything else, 3:2 :/

 

Let me know if you come across a crystal ball.vi to compliment it that tells us what LabVIEW version the VI reading our data is. :P 

  • Like 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.