I have an RT application that I build and deploy to the targets. Since there are multiple devices at multiple sites, I include any latest startup.rtexe (only .rtexe, no .aliases) file along with application built for the Host/PC side with each update.
This PC side application uses web development VIs to first read a version file stored on RT and then if there is a mismatch, it replaces existing startup.rtexe file on the target with the one provided with the Host/PC application and also update the version information. Once the RT files are updated and replaced, the target is restarted using NI system configuration VIs. After this step, some targets will stop working properly.
For about 2 years, there has been no issue doing this and everything worked great but recently there have been issues with about 4 devices of off 20. The 4 devices with problem would not work as expect. Reason is unknown as it is happening after deployment and only on a few targets and seems to be repeatable but not yet concluded. My suspicion is that the failing targets are not able to open and run the start up FPGA VI, hence not working as expected and not sending out any signals from any DIO/ AIO. It appears lost some where at boot up. But again yet to conclude.
The same targets that fail to run with deployed application worked okay when I connected them to LabVIEW project and deployed the same RT application from under the build application option.
I was hoping if someone would have any suggestion on debugging this or if there is a better method for deploying latest RT exe files. I cannot attach the project file but I will try to provide as much information as I can.
sbRIO-9638 is the target in use. LV2019
When running a VI on RT (sbRIO) as mentioned below:
Project Tree-- NI-sbRIOhostname (IPaddress) -- Right Click Connect --- Open some RT Main VI -- Click Run --Deployment Dialog -- VI Running --Stop VI and Disconnect the RT - Restart
Does anything gets saved permanently on the RT in this process that may stay saved/changed even after the restart? Please note that I am not talking about Build Application Deployment in this particular post.
Okay so I found what was wrong.
So the module settings somehow got switched to Real-Time (NI-DAQmx) from LabVIEW FPGA. Why it was working once you connect it to the project? Because in the project all the modules are set to LabVIEW FPGA and once you connect the sbRIO to the project, these setting gets updated and stays that way.
EDIT: But would not work when .rtexe is deployed since it is expecting module settings to be LabVIEW FPGA.
But my questions is, first, I created a RAD image of working sbRIO and then later deployed this image using RAD utility tool on over 20 sbRIOs. All the sbRIOs worked fine until recently. Does RAD image not transfer this setting?
Second, it appears that this setting is
manually written on a file somewhere, does anyone know where can I locate it so that I can over write it to prevent this from happening on future?
Also a piece of information, I deployed RAD Images to all the device around 8-9months ago. Most of them were used right away and some, with problem are being used recently, is it possible that the CMOS battery on board died and somehow reset a few things😬? (Wild imagination but just trying to figure out why & how this happened).
I believe now my questions are specific enough for someone to reply to. A response from someone would make me feel less lonely. :')