KoBe Posted February 3, 2010 Report Share Posted February 3, 2010 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 Quote Link to comment
viSci Posted February 3, 2010 Report Share Posted February 3, 2010 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. Quote Link to comment
KoBe Posted February 10, 2010 Author Report Share Posted February 10, 2010 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 Quote Link to comment
swenp Posted February 10, 2010 Report Share Posted February 10, 2010 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 Quote Link to comment
GoGators Posted February 10, 2010 Report Share Posted February 10, 2010 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. Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.