NI Linux Real-Time Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

Noob help

I have recently bought a myRIO.

The objective is to Daq some signals. Just need a fast sample for 8 channels.

My main OS is Linux and the license only work under windows.

Can someone point me some directions and solutions?

Can I configure myRIO and read values through socket? TCP/IP?

Do I really need Lab view? Can't I ssh, configure for continuous data acquire and read with Python or GNU Octave?

0 Kudos
Message 1 of 13
(5,051 Views)

Welcome thalesmaia!

Ultimately, aquisition goes through the FPGA of the Zynq SoC on the myRIO. You will at least need to create a LVFPGA project that pulls the data that you need. There is a C-API generator that can then be used to interact with the FPGA personality to get the measurements that you want. At that point, you can ferry it into Python or Octave, sure.

Also, for complete clarity, the FPGA C-API (and the resulting .so) would live on the myRIO. You could either put python or octave on the myRIO as well, or choose to ferry it over a network connection to a separate system for analysis, depending on your requirements. There are some good documents that describe using the FPGA C-API generator, here's a good starting point

0 Kudos
Message 2 of 13
(3,665 Views)

There is a default personality available for myRIO's FPGA that includes support for reading the analog inputs.

You should look at the myRIO-specific C API to get access to that. Look here: http://www.ni.com/download/labview-myrio-toolkit-2015/5548/en/

And here: http://download.ni.com/support/softlib//labview/labview_myrio/2015/C_Support_for_myRIO_User_Guide.pd...

This means that you shouldn't need to create an FPGA as BradM suggested.

0 Kudos
Message 3 of 13
(3,665 Views)

Ah, thanks for the additional info, DAQjr

0 Kudos
Message 4 of 13
(3,665 Views)

Thank you all,

I have some homework to do, I was expecting something more plug n play since it is NI, but I guess it worth some learning and reading.

0 Kudos
Message 5 of 13
(3,665 Views)

It should be pretty plug-n-play if you use LabVIEW.

0 Kudos
Message 6 of 13
(3,665 Views)

The Student Licence that comes with Labview and myRio does not support linux distro. So, I should by a Windows Licence? This is awkward.

0 Kudos
Message 7 of 13
(3,665 Views)

Give the myRIO C-API a shot. I think it is as plug-n-play as you'll get short of it already running the web-publishing application you want.

Remember that this is a RIO device, not a DAQ device. It is intended to have control software written for it by the user. That's why there is no built-in DAQ functionality serving up data to the network.

0 Kudos
Message 8 of 13
(3,665 Views)

I'm not certain what you are trying to do so I'll give some general background in hopes that this helps. 

We have a few products specifically targeted at academic and teaching.  I'll focus on 2, myDAQ and myRIO. 

myDAQ is a USB Data Acquisition system.   It is designed so that from a Windows PC you can quickly take measurements and do simple PC based control.   It is good for interactive experiments where a full Windows PC for user interaction is ideal.  I don't know if there is any support for this product from a Linux development environment. 

myRIO is an embedded control system with on-board real-time processor and FPGA.  It is designed for headless deployed control systems where a constant user interface may or may not be needed.  It is programmed from a Windows PC and then can communicate to outside devices over either USB or Wireless.  The real-time OS on the device is Linux but the software to program the device is run from a Windows PC.  The FPGA on this device can be programmed from LabVIEW FPGA (running on a Windows develpment machine).  The RTOS can be programmed from either LabVIEW RT or Eclipse (running on a Windows develpment machine). 

If you want the myRIO device to take waveform measurements that can then be viewed from a Linux machine you would need to do something like this:

From a Windows dev machine program the myRIO.  The program would need to collect the waveforms and then publish this data out over a network connection.  This could be via a raw TCP stream, could be via a webservice, could be through some other approach.  The program would be build and deployed onto the myRIO to run on power-up. 

From the Linux machine write an application (using what ever language you want) to connect to the myRIO network connection. 

The challenge will be the Linux machine.  If you have access to a Windows PC it would make this entire process simpler since there are examples for doing waveform measurement and for remote viewing of the data. 

0 Kudos
Message 9 of 13
(3,665 Views)

Hi Hokie, That is exactly my first idea.

Use sockets with myRIO and capture with Python on linux machine.

Awesome...

Just for a better understanding, do you think I will be capable of sample 6 signals at 250kSps + time?

Each signal is a sine wave with 1.2kHz fundamental.

0 Kudos
Message 10 of 13
(3,665 Views)