05-10-2013 08:47 AM
Hi Guys.
I was wondering what are the best practice for taking an image / deploying an application that uses Network Variables hosted on the target?
Network Variables are pretty common in RT applications, but how do we handle them if we have 100 systems. I don't have a specific project in mind, so I just want some general thoughts on the topic, if anyone would like to share 🙂
Eg:
Do we need to rename them, so that we don't have 100 Network Variables with the same name?
If they are already deployed on the target that the create the image from, will they automatic be deployed on the new target we deploy the image to?
Do we ever have a project, where we uses Network Variables like this? I guess not?
05-10-2013 08:51 AM - edited 05-10-2013 08:55 AM
... I cannot offer constructive advice on your specific question, but personally I shudder at the idea of that many systems using network variables.
Some of my ex-collegaues tried to leverage network shared variables a couple of years back and ended up with massive issues. We also got pulled in to refactor code that would run into stability issues after ~weeks of run-time where the problems went away when the network shared variables were removed.. Now, that could be due to bad implementation of them in the first place, but my take-away form those experiences is that as convenient and easy as they are for devleopers, I would never use them in a deployed industrial system.. but then again, maybe I'm just too much of a chicken...
Regardless, to me, a huge red flag goes up whenever someone talks about Network variables on RT systems..
Maybe someone else can offer more constructive answers to your question! 🙂
[edit]
Put differently, I think the people who tend to use imaging and deployment to manage their RT installations typically do not use network shared variables, but rather more robustly engineered solutions with more tightly controlled network communication and data interfaces. In my experience (limited as it may be), Network shared variables tend to be used more for "quick and dirty" lab-environments with one or two controllers, often used in a very dynamic and changing type of "research" or "experiment" type setup.. and again, those use-cases don't seem to be the main target for imaging and deploying/replication.
[\edit]
05-13-2013 03:56 AM
Hi QFang.
Thanks for your answer!
Normally, if I have a system where I only want the host to monitor the system, I would use a Network Shared Variable. If I'm only monitoring the system I usually don't need all values (eg, when sampling at 1kHz, a couple of these samples may be enough to get a status).
If I then have 100 of these systems, what would be the best way of achieving this - if I should not use Network Shared Variables and it should be easy deployable?
05-13-2013 03:56 AM
QFang, you seem to be right about the remaining files. I had reports from various people that files were not getting deleted (and that new controllers required a format to accept images). But both cases seem to be based on poor test procedures.
I still kind of like the format option though. For example if you have done some testing on a controller and just want to quickly remove all traces on it before putting it back in stock.
06-11-2013 03:31 PM
I have two questions re: deployment with the RAD utility:
1) I have used the RAD utility successfully when running it on a Windows 7 machine that has the full Labview development environment. I am now attempting to use it for the first time on a Windows 8 machine that does not have the full Labview environment. I have installed the following software on the machine, as instructed on this page (http://zone.ni.com/devzone/cda/epd/p/id/5986).
a) the RAD utility (rad_3002_installer.zip found found at http://zone.ni.com/devzone/cda/epd/p/id/5986 )
b) Labview Runtime 2010 (LVRTE2010std.exe found at http://joule.ni.com/nidu/cds/view/p/id/2087/lang/en)
c) NI System Configuration 5.1 Runtime (syscfg510runtime.exe found at http://joule.ni.com/nidu/cds/view/p/id/2912/lang/en)
When I attempt to deploy an image to a cRIO 9081 using the RAD utility the operation fails with an "Error 15 at Call Library Function Node in nisyscfg.lvlib..." Please see attached screenshot. How can I remedy this?
2) Is there a particular version of NI System Configuration Runtime that I should be using? The page of RAD setup instructions does not specify versions for the Labview Runtime or NI System Configuration Runtime. I discovered that Labview Runtime 2012 did not work; I needed to revert to Labview Runtime 2010. Perhaps I also need an older version of NI System Config Runtime? If so, which version do I need?
06-11-2013 03:59 PM
Hey,
That sounds like exactly the problem I had, but it could be something else entierely. Caveat: I do not have win8 on anything.
If it is the same issue I had, this is how to get around it: on the controller, set the micro switch for "safe mode" to "on" and reboot... now try to run RAD and deploy.. If this works, then here is what hapens and why:
You actually need some drivers installed to the cRIO as well for RAD to work these days. This driver may or may not be part of your load-out on the cRIO's.. When you boot it to safe-mode, it loads a different boot "partition" that includes this driver from the factory, so a new brick out of hte box that boots for the first time will boot in "Soft-safe" mode and thus allow you to connect with RAD.. but if you later program it with a driver load-out that does not include "x" then you get these errors when you try to change the IP, or deploy, or pretty much anything beyond basic "detect".
The "X" in the driver is, I think: NI Web-based Configuration and Monitoring, but I don't know for sure. We always use the bare-bones that we can get away with for various reasons, and these "packages" are not something we want running, so we just instruct our field crew to set the cRIO's to "safe mode" prior to connecting with RAD. . One NOTE: remember that you can't deploy your project or run VI's via the project view until you reboot the cRIO into normal mode again..
I'm not sure if it is possible to instruct the cRIO to boot into soft-safe mode via an http command or something the way MAX seems to be able to, but it would be handy if the RAD tool had a check-box that would "reboot into soft-safe" if asked by the user.
Let me know!
Thanks
Q
06-11-2013 03:59 PM
I am using the RAD utility to deploy an image to a cRIO 9081. When the cRIO is password-locked, the deploy fails. Please see the attached error log. If I unlock the cRIO (remove the pwd), the deployment succeeds. I am using a newly installed version of the RAD utility. It was installed with the file rad_3002_installer.zip from this webpage -- http://zone.ni.com/devzone/cda/epd/p/id/5986. According to the text on the page, RAD should request the pwd when one attempts to deploy to a locked cRIO. This does not happen.
If you could contact Che Tse in the NI Tech Support department, he can provide the logfile showing the error I received. I recently sent the file to him in a tech support ticket; I no longer have a copy of it myself.
06-11-2013 04:03 PM
... or specifically: "I just wanted to let you know that I have confirmed that adding the optional NI System Configuration Remote Support option in the RIO platform installation (This will also add the Run-time Engine for Web Services and the Network Configuration Web Support options) allows the RAD utility to successfully complete the capture and deployment process." again, this assumes your problem is as mine, namely that the web-site with the requirements fail to make clear that there is a cRIO software requirement as well, not just for the PC side.
-Q
06-11-2013 04:05 PM
I would still try the "boot to safe mode" and see if that fixes your issue. If not, you may need to make some fixes in the RAD source as the password handling is not very robust. I found that the password stuff only works if you leave the default (admin) as the user name, but I could be wrong on that too. I gave up on password protection as it seemed to break RAD in too many ways.
06-11-2013 04:18 PM
Hi Qfang,
Unfortunately we cannot easily access the hardware DIP switches in our product. The cRIO is encased within a machine which is in turn mounted on a gantry several meters above the floor. So we need to be able to deploy software without using the DIP switches. It sounds like you're suggesting that the NI software installed on the cRIO may be missing some component needed by the RAD utility?
This seems unlikely since I am able to use RAD successfully on a Windows 7 machine that has the full Labview dev environment installed. I'm thinking surely it must be due to differences on the PC side, no? Either the different OS, or the different supporting NI software (full Labview vs Labview runtime + system config + ??).
Sean McCrossin
D&K Engineering