05-11-2012 08:45 AM
Here's an odd one. We're creating a customer solution using a CompactRIO, and they wish to use Remote Panels to remotely view and interact with the executable. This is fine, we're able to create this, but one thing we've noticed is:
If we build and deploy our Real-Time code to the CompactRIO with any Shared Variables that are linked to a type-definition, the executable will not run. Indeed, it is reported by the Remote Panel browser utility as a broken VI.
Severing the Shared Variable link to the type-def, and rebuilding the executable, fixes the issue. Bizarre.
Anyone else seen this before?
Solved! Go to Solution.
05-15-2012 07:23 AM
Hello Thoric,
I think I have spotted a CAR already assigned for this:
http://www.ni.com/white-paper/13235/en
#292012
Looking at our notes this should be fixed in the next release.
05-15-2012 07:55 AM
The quoted "known issue" suggests 2 workarounds (in AND or in OR? it's not clear). Anyway workaround #1 alone (disconnect SV from typedefs) is enough for my application, while #2 alone (don't disconnect typedefs during build) doesn't help at all.
05-15-2012 08:27 AM
Yea,
I think that should read 'enable disconnect type definitions' - that would make sense.
Then either or of those steps would workaround the issue.
05-15-2012 08:33 AM
Thanks Nick, but if I don't disconnect all shared variables, the program doesn't start whether I disconnect typedefs during build or not
05-15-2012 09:22 AM
Ah sure, looks like you will need to manually disconnect then, I expect it depends on the versions of LabVIEW and NI-RIO.
05-15-2012 09:30 AM
Thanks for finding this Nick. I find it extraordinary that there will be no patch made for 2011!? Disconnecting all our type-defs in the project is a massive pain, it makes maintenance an impossibility. Disconnecting type-defs in the build appears not to work.
05-15-2012 10:54 AM
One other workaround is to make the shared variable a string typr and just flaten and unflaten when you read and write this shared variable. I have done this before although it makes debugging using the variable manager a little harder.
05-15-2012 10:58 AM
@falkpl wrote:
One other workaround is to make the shared variable a string typr and just flaten and unflaten when you read and write this shared variable. I have done this before although it makes debugging using the variable manager a little harder.
That's a neat trick for avoiding the use of type-defs in the shared variable engine
05-15-2012 12:01 PM
The other buty of this truck is that even with basic types like integers, you dont have to change the shared variable if you decide to change the associated type (ie I weitched from int to float), the shared variable doesnt care. additionally you can even pass multiple types over an single variable (although when you unflatten it you have to know whet type to unflatten to).