Jump to content

cRIO TCP/IP Bootloader with VI-Server


Recommended Posts

Hi people,

I would like to design a monitoring system with cRIO, where I can update the firmware without disabling the running monitoring programm. How that?

IDEA: The cRIO runs 2 parallel loops in a standalone application:

1) dynamically load the monitoring.vi and let it run infinitely if not remotely stoped by user, must run also if TCP/IP is not available

2) TCP/IP connection to my computer to eventually upload a new monitoring.vi, restart of loop 1) to run new monitoring.vi

PRO's:

Systems can be installed "naked" at monitoring site, when the specific monitoring.vi is developed, no travel is needed.

Buggy firmware can easily be exchanged, no slow restart of cRIO is needed, just on the fly replace dynamically loaded monitoring.vi within 1 second (sampling rate is 1second, no data should be missed)

Has anyone tried to dynamically load VI's on cRIO? What must be considered in that case? Do I need a build or just send the vi+subvi's? Has anyone experience with that? Can the cRIO also be used to reconfigure wireless acquisition points in combination with a LAN/WLAN connection?

Thanks and Ciao

Link to comment

NI has been experimenting with RT based infrastructures to allow remote managed RT test sequences. Veristand is a case in point.

You might want to check out the Multi Process Engine Reference Design from NI

http://zone.ni.com/devzone/cda/epd/p/id/6136

or

Reference design for Real Time Test

http://zone.ni.com/devzone/cda/tut/p/id/9883

You could probably extend the 'command server' to include

transfer of task vi updates.

Link to comment

NI has been experimenting with RT based infrastructures to allow remote managed RT test sequences. Veristand is a case in point.

You might want to check out the Multi Process Engine Reference Design from NI

http://zone.ni.com/d...a/epd/p/id/6136

or

Reference design for Real Time Test

http://zone.ni.com/d...a/tut/p/id/9883

You could probably extend the 'command server' to include

transfer of task vi updates.

Thanks for your post. These examples are too complex just to try once. Let's go back. I would like to know if a RT-target like cRIO or cFP can call VI's by reference, which would be the basis of changing the software on the RT-target in realtime.

Thx

Link to comment

Hi KoBe,

I would like to know if a RT-target like cRIO or cFP can call VI's by reference, which would be the basis of changing the software on the RT-target in realtime.

Yes they do.

Maybe this thread from ni.com helps you.

In the example shown there the VI is loaded once into memory to be called by name later. Replacing the VI on disk won't work with this setup. You could open the reference by full VI path and close it afterwards, but I'm not quite sure if this works if you exchange the VI on disk and reload it later.

Regards,

swenp

Link to comment

These examples are too complex just to try once.

Sorry about that. The Multiprocess engine was my code. In trying to get it to do everything, the example looses a lot of its simplicity. I believe another way to look at the problem is to think of your application as a plug-in. Tomi wrote an article about LVOOP plugins on expressionflow : http://expressionflow.com/2008/06/02/extending-labview-built-applications-with-lvoop-plugins/

Just another idea.

Link to comment

Join the conversation

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

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
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.