Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

cRIO Remote Front Panel: Requested VI is broken...

I have an application running on an NI compact rio (9073).  For months I have been running the VIs on the rio as a compiled real-time application without any problems.  While the application was running, I had been able to connect to the remote front panel using "operate->connect to remote front panel" and interact with the software as expected.

 

Today I had to take the system offline due to a non-NI hardware problem.  I ran a different VI from my computer on the RIO to diagnose this problem and correct it.  Now that all hardware is working, I am trying to get the compiled real-time application to run on the RIO again.

 

I right click on my real-time build specification and "run as startup," tell the system to reboot, wait a minute or two, and attempt to connect to the remote front panel as I have been doing.  Now, I am greeted with the error message: "Requested VI is broken and cannot be viewed or controlled."  I have done the following things to rid myself of this error message without success:

 

Rebuilt application

Restarted RIO

Restarted PC

Executed the supposedly broken VI from my PC and verified that it is not actually broken.

Deleted startup.rtexe and startup.aliases from the RIO using the ftp interface, rebuilt and restarted the RIO

Deleted the build specification (assuming it was corrupted), created a new one, rebuilt and restarted the RIO

Used the diagram disable structure to remove huge swaths of my VI, rebuilt, and restarted the RIO

 

After each of the steps, the result is the same ("Requested VI is broken and cannot be viewed or controlled").  The real-time application is apparently not running on the RIO (since the LEDs on some of the modules are not lighting up when they should).  I have also built an unrelated real-time application and successfully run it (with remote front panel) on the RIO to verify that the thing actually works.  I only find one mention of this particular error message online and that case is seemingly very different.

 

Any help in solving this problem is welcomed.

0 Kudos
Message 1 of 7
(4,212 Views)

After doing some more investigation by iteratively disabling smaller and smaller chunks of my VI, the parts that "break" the built real-time application (but apparently do not interfere with its normal operation when running from the PC) are sub-VIs that encapsulate the Mount SD Card and Unmount SD Card invoke nodes.  These VIs do not show a broken run arrow and, as mentioned, do not prevent the project from running except when built as a real-time application.  I'm still not sure how to get around this.

 

 

Download All
0 Kudos
Message 2 of 7
(4,200 Views)

Hi Keith, 

 

Typically, this error means that your real time executable is not running. Often this is resolved by going into your RT Build Specification, go to the Additional Exclusions category and enable "Disconnect type definitions". Otherwise, you may need to manuall disconnect the type definitions in your program. Sincerely, 

Julianne K
Systems Engineer, Embedded Systems
Certified LabVIEW Architect, Certified LabVIEW Embedded Systems Developer
National Instruments
Message 3 of 7
(4,190 Views)

Julianne,


Thanks for your suggestion.  I disconnected type definitions in my build specification as you suggested, but meet with the same "VI is broken" error message.  I'm not sure that I exactly know what you mean when you say to manually disconnect all the type definitions, but it sounds more like a good way for me to introduce lots of errors in my project than it does a way for me to solve my problem.  Is it possible that whatever underlying VIs do the SD card mount and dismount have been corrupted in my labview install?  Would I be better off trying to remove the SD card module from the fpga and try to use real-time methods to work with the sd card?

0 Kudos
Message 4 of 7
(4,185 Views)

More info:  I turned on console out and rebooted the RIO.  I get the following:

 

Startup Application: /c/ni-rt/startup/startup.rtexe
Warning: module 0x2e6d4d8 (criosd.out) holds reference to undefined symbol viClose.
Warning: module 0x2e6d4d8 (criosd.out) holds reference to undefined symbol viUnmapAddress.
Warning: module 0x2e6d4d8 (criosd.out) holds reference to undefined symbol viOpenDefaultRM.
Warning: module 0x2e6d4d8 (criosd.out) holds reference to undefined symbol viOpen.
Warning: module 0x2e6d4d8 (criosd.out) holds reference to undefined symbol viMapAddress.
(unloading partially loaded module criosd.out)
Warning: module 0x2e6d2f8 (criosd.out) holds reference to undefined symbol viClose.
Warning: module 0x2e6d2f8 (criosd.out) holds reference to undefined symbol viUnmapAddress.
Warning: module 0x2e6d2f8 (criosd.out) holds reference to undefined symbol viOpenDefaultRM.
Warning: module 0x2e6d2f8 (criosd.out) holds reference to undefined symbol viOpen.
Warning: module 0x2e6d2f8 (criosd.out) holds reference to undefined symbol viMapAddress.
(unloading partially loaded module criosd.out)

Welcome to LabVIEW Real-Time 10.0

0 Kudos
Message 5 of 7
(4,182 Views)

There is a known bug with LabView 2011. Shared Variables that use Typedefs fail to deploy properly. The work around is to disconnect the type defs from your variables.

 

 

http://www.ni.com/white-paper/13235/en#292012_by_Category

0 Kudos
Message 6 of 7
(4,148 Views)

Hi,

 

Had the same problem, and the solution, for me, was to rebuild the FPGA Build specifications. I am using a Crio 9076.

 

Thanks!!

0 Kudos
Message 7 of 7
(4,012 Views)