NI Linux Real-Time Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

Why are the Pipes VIs missing on PXI Linux RT systems?

My project:

 

We'll be using xinetd to launch the LabVIEW EXE- and xinetd expects to be able to use STDIN/STDOUT to the launched process.

 

The LabVIEW for Linux (i.e. installing on Redhat) has the Pipes VIs - this is what I need I believe to make this work, but Linux RT for PXI, these are of course missing from my Functions Palette.

 

Is there a reason for this?  Can they be added easily?

Ryan Vallieu CLA, CLED
Senior Systems Analyst II
NASA Ames Research Center
0 Kudos
Message 1 of 41
(3,887 Views)

It is 100% an oversight. The root cause is that the RT Module was never ported to Linux desktop (hah!) so were unaware of the Pipe VIs' existence. Sorry!

 

IIRC, you *could* just copy over the VIs — I don't recall that not working. But you might not need them because this works too:

2020-06-23-111024_199x120_scrot.png

Message 2 of 41
(3,845 Views)

Huh...I'll look into the Binary File version...Obviously, I was not aware of that, but then I am not a Linux expert 😄

 

0 - STDIN

1 - STDOUT

2 - STD ERR

 

If I am learning correctly.

 

I'll have to see if I can somehow download a copy of LabVIEW for Linux while SIP at home and extract the Pipes VIs - looks like the latest version was 2018, judging by the online help.

 

Thank you!

 

Ryan Vallieu CLA, CLED
Senior Systems Analyst II
NASA Ames Research Center
0 Kudos
Message 3 of 41
(3,817 Views)

Here, I'll spare you the trouble... Untested.

Message 4 of 41
(3,809 Views)

 

via GIPHY

 

Ryan Vallieu CLA, CLED
Senior Systems Analyst II
NASA Ames Research Center
Message 5 of 41
(3,801 Views)

Not sure this is the best place to follow-on, but I am trying to implement that binary file access to the STDin/STDout of the LabVIEW rtexe, once it is launched by xinetd

 

Trouble is I can't seem to get a LabVIEW program on my PC trying to connect to the PXIe on the port that I told xinetd to watch to have xinetd launch the program.

 

When I try to utilize TCP Connect - I just get error 63.  I am able to run the Simple TCP example across the two systems to each other as a test.

 

Am I incorrect in thinking LabVIEW trying to connect should trigger xinetd on the PXIe if it is told to monitor the port in question and launch the "Server" which is set as my rtexe? 

Ryan Vallieu CLA, CLED
Senior Systems Analyst II
NASA Ames Research Center
0 Kudos
Message 6 of 41
(3,725 Views)

Wait, how are you launching the app? and have you tried a test program through xinetd, like cat?

0 Kudos
Message 7 of 41
(3,709 Views)

I thought xinetd was supposed to launch the app when you try to connect on the port, you fill out the Server location of the exe - but that is probably wrong and I need some other code.

 

I will look into testing xinetd another way as well.  Good idea.

Ryan Vallieu CLA, CLED
Senior Systems Analyst II
NASA Ames Research Center
0 Kudos
Message 8 of 41
(3,691 Views)

Well evidently I didn't set something up right in my xinetd.d file for the listening on the port, as netstat -at is not showing any listening on the port I want it to monitor.

Ryan Vallieu CLA, CLED
Senior Systems Analyst II
NASA Ames Research Center
0 Kudos
Message 9 of 41
(3,686 Views)

Oops had a couple typos in the xinetd.conf log_on_failure line and the only-from

 

Fixed that and the main Defaults reads fine.

 

Now the only issue I am seeing in the /var/log/messages files after restarting xinetd is that the 

 

Server = line does not like trying to start the LabVIEW RTEXE 

 

I had tried ./home/lvuser/natinst/bin/startup.rtexe

 

(My rtexe is of course not set to run on start-up in the project build).

Ryan Vallieu CLA, CLED
Senior Systems Analyst II
NASA Ames Research Center
0 Kudos
Message 10 of 41
(3,675 Views)