LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Updating/Deploying new versions of applications into cRIOs or PXIs without labview

Hi,

As a quite experienced cRIO and PXI programmer, I frecuently run into the same problem:
I create LabVIEW programs which I deploy into cRIOs and PXIs from my clients. These clients may be hundreds or thounsends of kilometers away from my work center, so the deployment is carried out as part of the installation process of the whole system.
The problem comes when, after some time, the client asks us to make improvements modifications to the software. These modifications are usually very small, i.e. they do not require to install new drivers, they are just updates of the same software. Then, updating the software may require sombeody to travel to the clients headquarters (very far away), just to do: "right click -> deploy".

So the question is, how can I safely send a new version of the software to the client, so that he can install it himself in his cRIO? Safety is really important (we need to be sure the cRIO will not hang).
I guess, for example, that it would be possible to launch the cRIO with the RT application disabled, and replace the *.rtexe inside via FTP. Would this be safe? Is there any dependency with other files?

The client usually knows nothing about LabVIEW or MAX, so the process should be transparent for him. But if somebody an confirm me that it is safe to just replace the rtexe, I would create myself a LabVIEW app that makes all the process transparent for him.

Of course I know (and I use) RAD. While not perfect, is a very useful application. But since I do not have the same model of cRIO my client has in my work center, I can't use it in this case.

The cRIOs are not connected to internet (no way to update them with a remote access).

Finally, versioning would be also desirable. Nowadays I use RAD for versioning, since I get a copy of the system with RAD every time I deploy a new version. I guess I could include a version number control in my installer application if I finally make the application.

So could someone confirm whether is safe to just replace a *.rtexe file in cRIOs or PXIs?

0 Kudos
Message 1 of 11
(2,748 Views)

Anyone?

0 Kudos
Message 2 of 11
(2,721 Views)

On cRIO systems (older VXworks not linux type), I will often replace only the RTEXE via FTP when it is a minimal change to the code.

 

I made a small program that finds all the cRIOs on the network, replaces the RTEXE via FTP then instructs the cRIO to reboot (using the system config VIs).

 

I suspect NI would always recommend using RAD, but this way, if i'm not around, I can email an approx 10Mb rtexe file to someone on site and have them run the update program.

As to the safety aspect, I cannot really comment on how safe it is, other than it has never caused me an issue.

 

0xDEAD

 

 

Message 3 of 11
(2,711 Views)

Thanks for the response. I will follow your advice and create my own program to replace the RTEXE via FTP.

0 Kudos
Message 4 of 11
(2,676 Views)

@deceased wrote:

I suspect NI would always recommend using RAD...


Actually, SystemLink is the new toy.


GCentral
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines
"Not that we are sufficient in ourselves to claim anything as coming from us, but our sufficiency is from God" - 2 Corinthians 3:5
Message 5 of 11
(2,672 Views)

On newer Linux-based RT-targets use WebDAV instead of FTP.

 

Regards, Jens

Kudos are welcome...
Message 6 of 11
(2,665 Views)

@crossrulz  a écrit :


Actually, SystemLink is the new toy.


The problems I find to SystemLink are:

 

- I (as LabVIEW programmer) do not own the NI systems. The systems belong to the client. This means that for each client I have, I (in reality he) should buy a SystemLink server license, and a node license for each NI equipment.

We update those systems very rarelly (when a bug is found), it is not really an evolving software and we don't need to remotely monitorize the system, so the interest of having such a SystemLink server its not that big. Moreover, NI licenses are usually not cheap, so it becomes very difficult to convince the client to pay for something he will use once every two years.

 

- As far as I know, VXWorks systems are not supported.

 

- Some clients may only have one cRIO. Sometimes is simply a cRIO to a screen, not connected to a network. It is unfeasible to buy a PC just to host the SystemLink server, including the licenses. Even more, since we would need internet access, we would eventually need to install a VPN server also.

 

- I do not know whether SystemLink works under a VPN.

 

(Please tell me if I am wrong with any of these. I am here to learn 😉 

 

Honestly, I think systemLink is great...... if you code LabVIEW for your own company and you have a considerable amount of cRIOs. Then it becomes a great monitoring tool. But this is often not the case. 

 

RAD is much more close to my needs, except that I usually don't have with myself a cRIO that is identique to the one the client has, so I can't make system images. If only I could virtualize the cRIOs.... that would be great!

Message 7 of 11
(2,657 Views)

@JensG69  a écrit :

On newer Linux-based RT-targets use WebDAV instead of FTP.

 


I find FTP much more usable. What is the advantage of WebDAV over FTP?

0 Kudos
Message 8 of 11
(2,648 Views)

I don't think you can FTP to the new Linux cRIOs by default. I think you can add it (at the expense of security).

NI recommended using WebDAV for these, so that's what I used in the past.

 

0xDEAD

0 Kudos
Message 9 of 11
(2,640 Views)

@deceased wrote:

I don't think you can FTP to the new Linux cRIOs by default. I think you can add it (at the expense of security).

NI recommended using WebDAV for these, so that's what I used in the past.

 

0xDEAD


Correct! FTP is a depreciated software package on current Linux-based RT targets - making the system more unsecure.

 

Regards,

Jens

Kudos are welcome...
0 Kudos
Message 10 of 11
(2,634 Views)