From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW Real-Time Idea Exchange

Community Browser
cancel
Showing results for 
Search instead for 
Did you mean: 
Post an idea

Scenario

Suppose that we want to start coding my Real-Time application, but the hardware hasn't arrived yet.

 

We can't Discover the chassis + modules, so we need to add modules manually.

 

 

Current editor

cseriesedit_old.png

 

To add N modules, we need to launch this dialog N times:

 

  1. Right-click on Chassis in the Project Explorer
  2. Hover over "New"
  3. Click "C Series Modules…"
  4. Click "New target or device"
  5. Click "C Series Module"
  6. Click "OK"
  7. Wait for LabVIEW to fetch module list (wait ~1 second)
  8. Select Type (2 clicks)
  9. Select Location (2 clicks)
  10. Click "OK"
  11. Go to #1 to add a new module

 

How tedious!

 

 

Proposed Editor

Wouldn't it be nice if we could set up all the modules in 1 dialog?

 

cseriesedit_proposed.png

 

Features

  • Table auto-fills itself with modules already in the project
  • Number of rows is determined by the chassis model. No need to select Location
  • Ability to leave rows/slots empty
  • Editable Name field (with default name) appears upon selecting Type
  • Description appears upon selecting Type

 

 

Feel the difference

Adding N modules (using default names) requires...

  • Current dialog: 10N clicks, N hovers, waiting N seconds
  • Proposed dialog*: (6+2N) clicks, 1 hover, waiting 1 second

 

So, adding 8 modules requires...

  • Current dialog: 80 clicks, 8 hovers, waiting 8 seconds
  • Proposed dialog*: 22 clicks, 1 hover, waiting 1 second

*Assuming that steps 1-7 and 10 need to be performed once

 

During LabVIEW Development was a PXI Real-Time System connected (LAN) next to my Laptop and process Build/Deployment was no problem.

Now the RT has been shipped far away to customer site and i have no longer access to that network.

 

So I need an other way to distribute and

here is my IDEA #1:  (below is another IDEA #2)

 

Offline RT-Distribution LabVIEW Idea Exchange.GIF

 

FACT : Most of all customers have no knowledge about "How to find the Real-Time System and update the Application on it".

 

So the new item will built an "Offline Installer.exe" and will run on any customer PC to a full automated update job automatically.

 

Features:

 - create a detailed installation report which can be stored and send back to the developer.

 - In case of the Real-Time System isn't connected to any LAN, the customer could use the "Offline Installer.exe" to prepare an USB-Stick which has to be plugged into the Real-Time System. Then a reboot will launch the full automated application update process. (the "RT LEDs" will give feedback when the process is finished)    

 

 


 

I tried also another way but without success:

 

Step 1: Add a ZIP File into the Project Explorer : "My Zip File"

Offline RT-Distribution 1.GIF

 

Step 2 : Configure the "My Zip File" => Add "My Real-Time Application" 

Offline RT-Distribution 2 zip.GIF

 

Step 3 : Build "My Zip File"...but the Result was bad :

Offline RT-Distribution 2 Build My Zip File.GIF

 

But anyway, if the would be successful there are a lot of more steps needed:

 - sending the ZIP to the customer

 - unpack ZIP

 - find Real-Time System at customers network

 - a FTP tool is needed to update the system.

 - There is no way to stop the running Application (from a PC without NI-Software)

 

Conclusion:

The update with "ZIP" is far away from a comfortable solution. 

 


 

IDEA #2

If the Real-Time System has a running webserver (the thing which is using Silverlight),

then the application could be updated by using a webbrowser.

So, first we have to update the webserver on the Real-Time System (as difficult as updating the application)

 

Spoiler
(But who the f..k has Silverlight installed  )

 

 

If you use a VI to control a RT target via Web browser then only polling is possible to register user actions. Since: "RT targets support the Event Structure only with dynamic events." (LabVIEW Help 2010) You can program such graphic object events but they doesn't work.

 

The support of graphical object events would improve the capabilities for applications with cRIO and sbRIO without a LabVIEW-Host.

The Distributed System Manager does not allow one to see the values for a cluster in a deployed process.  It would be nice to view and edit values in the cluster.

In the Distributed System Manager add the capability to export Historical Data.

Also, in the DSM Allow Historical Traces to be deleted.

It would be nice to have an option to reboot RT into safe mode from MAX rather than having to create a safe mode disk.