Real-Time Measurement and Control

cancel
Showing results for 
Search instead for 
Did you mean: 

Is it possible to get transfer rates near the Target rate?

In the past when using RT, I was dealing mostly with static data. In this application, I have four accelerometers which need to be monitored in addition to the static signals. When targeted, my update rates are blazing fast with no problems. When I run the RT communication wizard, and run the application my update rate is roughly 750mS. My guess is that it is on the Host side, but I am not certain that is the case.

NI must be implementing some sort of TCP communication in the background when targeting PXI. Does anyone have any idea, how to get speeds near the Targeted update rate?

I have 4 accel's coming in on the PXI-4472, I am taking 2000 samples at 20kHz. I am only sending the accel signals at this point I will add in my static signals later.
0 Kudos
Message 1 of 5
(3,716 Views)
Thank you for your posting. It can be a challenge to get higher data rates over ethernet from high speed data acquisition rates. I have found that the communications wizard code, while effective in getting communications up and running quickly, adds more overhead to the application than is really necessary. An alternative is taking more control over the TCP/IP communications.

There is an example here that you may want to reference to architect your communications structure.

http://zone.ni.com/devzone/conceptd.nsf/webmain/0986799C984500F886256F170079411E

I use it to get 8 channels at 5kHz each from a 200mHz RT controller.

Let us know how this works.
Preston Johnson
Solutions Manager, Industrial IoT: Condition Monitoring and Predictive Analytics
cbt
512 431 2371
preston.johnson@cbtechinc
0 Kudos
Message 2 of 5
(3,710 Views)
You can also see a performance improvement when using the 7.1.1 maintenance release. You first must install LabVIEW 7.1.1 and then install LabVIEW Real-Time 7.1.1. After installing both, you will need to mass compile the LabVIEW 7.1 directory on your computer. You can reference KnowledgeBase 3G0AOAQS. Improved TCP Performance With LabVIEW Real-Time 7.1.1 Maintenance Release for a complete description of what you will need to do to see the performance improvement.

I hope you find this helpful.

Regards,

Kristi H
National Instruments
0 Kudos
Message 3 of 5
(3,697 Views)
We are using the latest that was on the quarterky Developer Suite CD's. About LabVIEW says we are running 7.1.1.

Interstingly enough we get better throughput using the VI server method, than using RT FIFO's and TCP/IP communication.

Is it possible to use the waveform datatype, with the method Preston mentioned? I did not see that as being an option. Perhaps we need to use an array of doubles and use tick count, and a t0 to determine our own timestamps.
0 Kudos
Message 4 of 5
(3,692 Views)
The DeveloperZone document called Command-based Architecture for LabVIEW Real-Time provides an example that shows how the simple TCP/IP protocol was used with the waveform data type. LabVIEW Real-Time 7.1 added RT FIFO support for waveform data types, so this should be possible for you.

In regards to the ethernet performance improvements for LabVIEW Real-Time 7.1.1, the document I linked to earlier also provides instructions on a few additional steps that must be taken to see the perfomance improvements. Have you modified the ni-rt.ini file on the PXI controller accordingly? You will also need to go to the Advanced Ethernet Settings in MAX to configure the controller for half-duplex communication. You should find that TCP/IP is faster than VI Server.

Have a great weekend.

Regards,

Kristi H
0 Kudos
Message 5 of 5
(3,688 Views)