LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Questions about LabVIEW, LabWindows/CVI and RTOS

I recently been introduced into the world of NI and LabVIEW.  I started working with LabVIEW on windows.  Now I'm working with LabVIEW and LabWindows/CVI on NI ETS.  I have been using the internet a lot for help as well as going to a few colleagues.  One of the biggest problems I have is with product branding, many things appear to be named similar or with multiple names making it hard to search for information.  I have been able to make clear up most of my confusion but still have a few questions.

 

This is some information I believe to be correct. Please correct anything which is wrong.

  • LabVIEW runs on windows
    • Partial support for MAC OS and Linux (?)
  • LabVIEW Real-Time has many but not all the features of LabVIEW
    • LabVIEW Real-Time runs on a RTOS
  • LabVIEW Real-Time runs on
    • NI ETS
    • LinuxRT
    • VxWorks
  • NI ETS is derived from the Phar Lap ETS OS and code base
    • To avoid confusion NI stopped using Phar Lap ETS and now calls the system NI ETS because of the customization they have done to the OS.
  • Vx Works is an edited version of the VxWorks I can download from Wind River (?) eg. Vxworks 6.3 from NI is not exactly the same as VxWorks from Wind River
  • NI ETS is the only Real-Time system which supports LabVIEW Real-Time that can be run on a desktop PC, which also means its not possible to install VxWorks to a PC and then install LabVIEW Real-Time on it (?)
  • LabWindows/CVI must be used to write and deploy C code to NI ETS
  • NI-VISA allows custom drivers to be written and used on NI ETS (?)

These are my questions

  1. Is LinuxRT based off of any other OS?
  2. Is it possible to install LinuxRT or VxWorks with LabVIEW Real-Time on a PC?
  3. I have existing VxWorks libraries and drivers will it work out of the box on a NI controller(RIO) which has VxWorks on it?
  4. I have existing Fedora libraries and drivers will it work out of the box on a NI controller(RIO) which has LinuxRT on it?
  5. I have some multi-platform libraries which have the same prototypes.  Will my VIs which interface with my libraries work on both RTOS?
  6. I have a VxWorks license can I install it to a PC and install LabVIEW Real-Time on it?
  7. Can I install LinuxRT to a PC and install LabVIEW Real-Time on it?
  8. What IDE is used to write and deploy C code to NI Controller(RIO) running VxWorks?
  9. What IDE is used to write and deploy C code to NI Controller(RIO) running LinuxRT?
  10. What does ETS stand for?

I know there is a lot here I appreciate any help. 

0 Kudos
Message 1 of 16
(4,167 Views)

It may help you to know that there is a Linux development version of LabVIEW.

 

http://sine.ni.com/nips/cds/view/p/lang/en/nid/2541

0 Kudos
Message 2 of 16
(4,162 Views)

Greetings, schddc;

 

Those are a lot of questions - I don't know the answers to all of them of the top off my head, but I will attempt my best to answer the ones that I can.

 

LabVIEW itself runs on Windows, Mac or Linux. However, the driver and module support is lesser on Mac or Linux - if you will be using drivers (DAQmx, IMAQdx, etc) you will probably want to check whether they are compatible with Mac or Linux before going any further.

 

1) LinuxRT is based on a variant of the Angstrom distro as per the LinuxRT FAQ which may be found here:

https://decibel.ni.com/content/docs/DOC-35053

 

4)If I am not mistaken, you can run libraries that have been already made for linux distros insofar as they have been made for the particular architecture used by the 9068 - I would just double check in the FAQ, or with the community where the FAQ is posted, however, because those libraries have been probably compiled for a normal desktop and not an ARM target.

 

7) You cannot install LinuxRT onto a PC - well, you cannot do that without some extensive modification of the distro. Check the FAQ for that one as well, it has a similar question. There's also a discussion on it here:

 https://decibel.ni.com/content/thread/18089?tstart=0

 

8 and 9) You are able to use Eclipse to code a LinuxRT target which can be found here:

http://www.ni.com/download/labview-real-time-module-2013/4286/en/

To my knowledge, you cannot use a non-LabVIEW system to deploy to a VxWorks (cRIO) target, though you can use CVI RT to deploy to an Pharlap ETS target.

 

That's all I know off the top of my head - don't want to write anything that would be wrong and then lead you astray! Quite likely one of the guys that works more within the RT team or other users might answer a few of the other ones! Also, I reccomend the LinuxRT community for that kind of question quite a bit.

 

Simon P.; CLA

National Instruments
Applications Engineer
Message 3 of 16
(4,068 Views)

Hello schddc,

 

To add to Simon's observations:

 

3) I have existing VxWorks libraries and drivers will it work out of the box on a NI controller(RIO) which has VxWorks on it?

 

- Yes, in all likelihood.  As long as your (or your vendor's) toolchain supports the root flavor of VxWorks on your target, you should be able to use any .out libraries you have.  I would recommend creating stub DLLs that mimic the layout of the .out libraries to simplify development, but you can always link by path (although you'll encounter run-time errors instead of compile-time errors if you link by path).  This white paper is a good place to get started, and there are a few other references available on NI.com

 

4) I have existing Fedora libraries and drivers will it work out of the box on a NI controller(RIO) which has LinuxRT on it?

 

- Potentially. If you're using an ARM-based RIO target you'll likely need to recompile for the processor architecture.

 

5) I have some multi-platform libraries which have the same prototypes. Will my VIs which interface with my libraries work on both RTOS?

 

- Again, yes.  When configuring the Call Library Function Node, specify <library>.* (eg. "calc.*") This should work on all platforms as long as the appropriate library is present (.dll, .out, .so) and the interfaces are consistent.

 

7) Can I install LinuxRT to a PC and install LabVIEW Real-Time on it?

 

- As far as I know, at this time NI LinuxRT is only available for ARM-based systems from NI such as the 9068 or NI myRIO.

 

😎 What IDE is used to write and deploy C code to NI Controller(RIO) running VxWorks?

 

- Anything capable of cross-compiling .out files compatible with the aforementioned flavor of VxWorks should work. 

 

10) What does ETS stand for?

 

- ETS is an inherited term, originally "Embedded ToolSuite", although my impression is that the current owners of the original Phar Lap IP prefer the ETS acronym.

 

Hope that helps!

 

 

Tom L.
Message 4 of 16
(4,045 Views)

Thanks for the help so far!

 

@simon

Your user name changed it was branch_~~~ something when I first saw your response.  Thanks for those links especially to the linxRT FAQ and LinuxRT Community.

 

@0utlaw

Good idea with question 5. Iv been using a select case and checking the OS to decided which dll to use. Any time I need to update a prototype I must do it for 3 different call library function nodes. libname.* will be a nice change.

 

It looks like the only question left unanswered is question 6. I have a VxWorks license for a freescale board and curtiss-wright single board PC, Can I install LabVIEW Real-Time on it?

0 Kudos
Message 5 of 16
(4,018 Views)

Yeah, I used the wrong account to post when I first made my reply - I was using a test account : P

 

Anyhow, my pleasure, glad I could help!

 

Simon P., CLA;

National Instruments
Applications Engineer
0 Kudos
Message 6 of 16
(3,994 Views)

Hi schddc,

 

Your VxWorks PC could serve as a target for your real-time application (and you would install the necessary drivers, etc. on it to do so) but you would not actually install the module and develop on that PC.

 

I hope that helps!

Rahul B.
0 Kudos
Message 7 of 16
(3,952 Views)

Hi schddc,

 

I would make sure to read through this document as well, as there are specifications required to use a Desktop PC as a RT target: http://www.ni.com/white-paper/8239/en/.

Rahul B.
0 Kudos
Message 8 of 16
(3,920 Views)

thanks for the help.

 

How would I run VIs on my VxWorks target without installing the LabVIEW RT module?

 

 

Those requirements look like they are for running and installing NI ETS with LabVIEW RT Module. They even mention making the bootable USB from MAX and formating the harddrive correctly before installation. I did use this article in the past to help me find the parts for an NI ETS machine which I now have up and running.

0 Kudos
Message 9 of 16
(3,915 Views)

Hi schddc,

 

My apologize; I mixed up operating systems. Currently, VxWorks runs on PowerPC processors, so unfortunately it would not be a supported operating system for your RT PC. Please let me know if you need further clarification!

Rahul B.
0 Kudos
Message 10 of 16
(3,869 Views)