LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

LabView API to perform Deploy Target Setting instead of Menu GUI

Hello Support Community,

In the attached file you will see "Deploy Target Settings" menu from LabView Development Environment [IDE].

How to perform same task using LabView VI or LabWindows/CVI or any other API Calls?

Best regards

Pashan

 

0 Kudos
Message 1 of 6
(165 Views)

I don't think there is a public API for this. This is functionality of the realtime project provider that collects all kind of project specific settings mostly related to the according Build Specification.

 

Well there seems to be something:

 

Project::Deploy Items

 

But it's going to take some serious trial and error to get that working as you will need to enumerate the correct Project Items to pass to that method.

 

Rolf Kalbermatter  My Blog
DEMO, Electronic and Mechanical Support department, room 36.LB00.390
0 Kudos
Message 2 of 6
(154 Views)

"Deploy Items" shows no available for Real-Time Target as shown in the attached document.

So that will not work for cRIO-905x Chassis having NI RT Linux.

Correct?
Please confirm so I can understand better as my system is Windows Host PC running LabView IDE and cRIO-9054 running NI RT Linux connected to Host using Ethernet Cable.

Question is, how do I create an EXE file which will run on Host PC to perform "Deploy Target Setting" as it is doing from IDE Menu?

0 Kudos
Message 3 of 6
(135 Views)

@Pashan wrote:

 

Question is, how do I create an EXE file which will run on Host PC to perform "Deploy Target Setting" as it is doing from IDE Menu?


Short answer: you can't!

 

Longer answer: It has nothing to do with the fact that you want to deploy to a real-time system. But everything with the fact that this method is not supported in the runtime system. Same effect but not the same reason.

 

Even longer answer: It's possible but only if you have a full LabVIEW IDE installation. Your EXE then can remotely connect to the LabVIEW IDE and invoke that method in there through VI Server. But the question here is of course: Why do that and not just invoke the VI directly in the LabVIEW IDE?

Rolf Kalbermatter  My Blog
DEMO, Electronic and Mechanical Support department, room 36.LB00.390
0 Kudos
Message 4 of 6
(96 Views)

@rolfk wrote:

@Pashan wrote:

 

Question is, how do I create an EXE file which will run on Host PC to perform "Deploy Target Setting" as it is doing from IDE Menu?


Short answer: you can't!

 

Longer answer: It has nothing to do with the fact that you want to deploy to a real-time system. But everything with the fact that this method is not supported in the runtime system. Same effect but not the same reason.

 

Even longer answer: It's possible but only if you have a full LabVIEW IDE installation. Your EXE then can remotely connect to the LabVIEW IDE and invoke that method in there through VI Server. But the question here is of course: Why do that and not just invoke the VI directly in the LabVIEW IDE?


Not sure if this helps, but you can upload built binaries to the cRIO target without LabVIEW. If by "deploy" you mean uploading binary files, then yes, that is possible.

In my setup, I have a cRIO with both Real-Time and FPGA components (a cRIO-9054, to be exact), along with a desktop PC running a LabVIEW-built application. In the application, I added buttons for both "Upgrade FPGA Firmware" and "Upgrade RT Firmware".

To upgrade the FPGA firmware, I simply call the NI tool:

C:\Program Files (x86)\National Instruments\NI-RIO\RioDeviceSetup.exe

This allows the user to select the firmware binaries and upload them to the FPGA.

For the RT part, I use the System Configuration API (Palette) to initialize a session. From there, you can install components from a built IPK file (which first needs to be uploaded via WebDAV, as far as I remember) and retrieve a list of the components currently installed on the RT target programmatically, and so on

Screenshot 2026-07-23 16.23.06.png

Also, restarting the cRIO after upgrade is possible (if needed) through the same API:

Screenshot 2026-07-23 16.23.32.png

This makes it possible to provide a cRIO upgrade package to the customer, allowing them to carefully upgrade the controller when needed. However, deployment (or at least the initial deployment) can only be performed from the LabVIEW Development Environment, that is true.
0 Kudos
Message 5 of 6
(34 Views)

Hello Andrey,

Thank you for the information.

I am looking for "Deploy Target Settings" action without using the LabView Development Environment.

As you can see in the attached GUI Snippet, lvrt-daemon process ID on NI RT Linux Target side remains the same even though I can change the VI Server Port Address by changing on the Host Side and performing the "Deploy Target Setting" from Host Side.

Question is how do I do that either using the Ethernet Commands or so other mechanism just like LabView IDE is doing it without using LabView IDE GUI Menu "Deploy" from Target Project Line Item.

Step 1> -- Screenshot 2026-07-22 101315.png  -- GUI Menu

Step 2> -- Screenshot 2026-07-22 100929.png  -- Result of GUI Menu -- Left Side is Host Windows PC and Right Side is Target cRIO-905x NI RT Linux

Best regards

Pashan

 

0 Kudos
Message 6 of 6
(17 Views)