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

cancel
Showing results for 
Search instead for 
Did you mean: 

How to develop for PXI?

Hi

 

I have been developing LabVIEW programs for cDAQ systems but now have a PXI system (PXIe-1071 chassis w/ NI PXIe-8840 controller) that I would like to create a VI for.

 

When I was working with cDAQ, I would create the VI on my personal PC and then create an executable that I would transfer over to a test PC that was connected to the cDAQ.

 

I would like to follow the same process for the PXI system but since it has it's own embedded controller,  I am not sure how to do that.  Do I need to develop the VI on the embedded controller?

 

I would like to be able to develop/debug the program on my personal PC but don't know how to interface the system with my PC.  For example, if the PXI system had a relay module, I would want to verify  that I can control it on my personal PC and not have to do it through the controller during the development phase.

 

Any reference docs? Thanks.

0 Kudos
Message 1 of 5
(1,080 Views)

Do you know about the LabVIEW Real-Time Module (RTM)?  Your PXI Controller can run a Real-Time Operating System (RTOS), probably Linux-RT.  If you have installed the LabVIEW RTM as part of your LabVIEW configuration on your PC, and have your PXI connected to your PC via a TCP/IP connection (I recommend that you get a second NIC for your PC, and create a direct connection to the PXI Controller), you can open up MAX and see that, in addition to your PC, you hav.e a "Remote System" that consists of your PXI Controller, and if you open a LabVIEW Project, you can add the PXI Controller as a "Remote System".

 

The Remote Controller, the 8840, runs without a Front Panel.  Because it is not running Windows, the Operating System gives you very stable, very rapid connection to all of the hardware on the PXI Box.  Your Controller probably has a multi-core Processor, and you can devote a core to doing the most time-critical tasks, letting the other cores handle lower priority routines.

 

The Host PC handles the Front Panel, displays, access to external storage (writing data to disk), and communicates with the Remote ("Target") system over TCP/IP.  There are a variety of mechanisms for communication between Host and Target -- I've used (and like) Network Streams.

 

Bob Schor

0 Kudos
Message 2 of 5
(1,039 Views)

Most PXI systems I have ran into use Windows based controllers.  So you just treat the controller just like another computer.  So it shouldn't be any different than programming for a cDAQ.


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 3 of 5
(1,002 Views)

Duplicate post

Rolf Kalbermatter
My Blog
0 Kudos
Message 4 of 5
(992 Views)

The PXIe-8840 is actually a bit a special beast. You can buy it from NI with either a Windows (Embedded) pre installed, or with an RT OS and here it actually supports both Pharlap ETS and NI Linux RT for the time being, with Pharlap ETS being soon phased out for the smaller cRIO controller (LabVIEW 2021 won't support them) and a little later for PXI controllers (LabVIEW 2022 is supposed to drop support for them). http://www.ni.com/content/dam/web/pdfs/phar-lap-rt-eol-roadmap.pdf

 

So how you will use them depends a lot actually. If Windows is installed on it it is really just another PC and you would generally work directly on that system.

 

Some DAQmx cards can be simulated in NI-MAX, so you can do some development on another PC with a compatible simulated card PCI(e) instead of the PXI(e) DAQ card and then transfer everything to the PXI PC.

 

If your controller uses an RT system, the main development is anyhow done on another system and you simply deploy the code from your LabVIEW project to the RT system. But debugging code that accesses actual hardware on the RT system will require you to have the system attached to your computer somehow and ready for operation.

Rolf Kalbermatter
My Blog
0 Kudos
Message 5 of 5
(990 Views)