LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Developing for PXIe controller - question

Hello,

 

I'm new to PXI and I had a question about developing LabVIEW code for a target chassis controller.  Say I purchase a controller with embedded operating system (example, PXIe-8840).  When developing an application on my PC (laptop), what is the normal process to debug module control VIs?  Do I need to compile an EXE and deploy to the controller?  Install LabVIEW development environment on the controller OS and test there in development mode?  Or can I interface with the chassis modules directly from my PC via some TCP link to the chassis controller?

For reference, using LabVIEW 2016 and plan to utilize test and measurement modules (digital I/O, SMU, o-scope, etc.)

0 Kudos
Message 1 of 8
(3,348 Views)

You will generally work from a host computer (i.e. a Windows PC), where you have the LabVIEW development environment installed, along with required modules for your embedded target (LabVIEW Real-Time module, LabVIEW FPGA module, required hardware drivers, etc.).  Your VIs that run on the FPGA and the real-time processor will be developed and deployed to the target hardware from a LabVIEW project on the development computer. 

0 Kudos
Message 2 of 8
(3,338 Views)

Your PXIe Platform runs a Real-Time OS, so you want to develop using LabVIEW RT.  If you do a Web Search for LabVIEW Real Time Tutorial, you will find a number of NI White Papers that will describe the process for you.  The LabVIEW Project is the key -- you will have two sets of Software to be developed, one on the Host, the other on the RT Target.  You can develop, deploy, and test without building an Executable, then when you are ready to run "for real", you can develop a stand-alone Executable (.exe) for the Host, and a similar stand-alone RT Executable (.rtexe) for the Remote, and make the Remote Executable be the Startup Application of your Real-Time Target (so it starts running the moment the Target powers up).

 

Bob Schor

0 Kudos
Message 3 of 8
(3,318 Views)

@proland1121 wrote:  Say I purchase a controller with embedded operating system (example, PXIe-8840).

Are you referring to a Real-Time OS or just an embedded controller with Windows?

 

Assuming RT, then you just have the RT system in your project and run as normal there.  Make sure you are actively connected to the controller in order to run.  So that will allow you to debug your system.  When you are ready to deploy, you just do a deployment build and deploy.

 

Assuming Windows, it would probably be simpler to just have LabVIEW on the controller and do your debug development there.  Alternatively, you can swap out the PXI3-8840 for a MXI-Express or Thunderbolt controller and debug from your development machine.


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 4 of 8
(3,287 Views)

Good point, crossrulz!  I forgot that the Intel chip inside the controller can be loaded with Windows, and just be another Windows machine running LabVIEW (with all the DAQ and timing issues that this involves).  One of my colleagues wanted to do really fast DAQ, so he bought a PXIe chassis and some fancy cards, but didn't have experience with LabVIEW RT, so he got the system with Windows.  To the best of my knowledge, it has been sitting idle for about two years ...

 

Bob Schor

0 Kudos
Message 5 of 8
(3,282 Views)

@Bob_Schor wrote:

One of my colleagues wanted to do really fast DAQ,


Usually the limiting factor with those is the hard drive, not the OS.  This can normally be worked around by using a RAID controller set to be in stripped mode (can never remember if that is RAID 0 or 1, RAID 5 is a kind of mix that I have used for fast logging) and/or SSDs.

 

Now if there was control involved, that is when an RT or FPGA would be desired.  If it was really fast control, then I would be pushing for FPGA cards, most likely FlexRIO.


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
0 Kudos
Message 6 of 8
(3,278 Views)

@crossrulz 

Are you referring to a Real-Time OS or just an embedded controller with Windows?

 


I was curious about the specific case of "embedded controller with Windows".  A colleague recommended I go that route and it had gotten me curious about the actual process of develop/deploy.  I can certainly install the development environment on that target, but i'll have to check how many available seats remain on our license.

 


 

Assuming RT, then you just have the RT system in your project and run as normal there.  Make sure you are actively connected to the controller in order to run.  So that will allow you to debug your system. 


In regards to the Real-Time OS option, am I correct that this connection to the RT system would be via LAN? 

Thank you all for the advice.  Sorry for the beginner questions, I just don't want to purchase a system and end up missing a key component/concept.

0 Kudos
Message 7 of 8
(3,270 Views)

@proland1121 wrote:

I was curious about the specific case of "embedded controller with Windows".  A colleague recommended I go that route and it had gotten me curious about the actual process of develop/deploy.  I can certainly install the development environment on that target, but i'll have to check how many available seats remain on our license.


So we are just dealing with a PXIe-8840 with Windows 7 or Windows 10 installed on it.  In that case, you just treat it like any other PC.  Make an installer and install your software on the controller.  Adding the LabVIEW development was just a suggestion for integration/debug.  I have the firm belief that a final test system should not contain any code or development environment.

 


 wrote: In regards to the Real-Time OS option, am I correct that this connection to the RT system would be via LAN?

Yes, RT systems are typically connected to a host via LAN.  The newer cRIOs have an Ethernet-Over-USB option that is really nice to use for development.  I don't think any of the PXIe controllers have gotten that yet.


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
0 Kudos
Message 8 of 8
(3,264 Views)