02-26-2007 02:24 PM
Hi,
I have 2 questions regarding the addition of an Ethernet Network card PXI-8231
1) Is it possible to add 1 2 or 3 Network card in a PXI chassis and be able to use all of them including the one on my PXI controller? My operating system is LabVIEW RT. I heard in the past that was not possible.
2) Is
it possible to acquire data from my network cards with no lost of data at 1
msec exactly like I can do with a Analog input card per example.
J.-P.
03-14-2007 05:27 AM
03-14-2007 07:45 AM
Hello Miguel,
Thank for your Answer, and your right our application have thing in common. I
have to acquire my data from the network card by using UDP with no lost of data
at 1 ms also. Righ now I’m upgrading my system from LabVIEW 7.1 to 8.20 and I’m
using the controller PXI-8196. I’m having some problems by doing so but we (Me
and NI) will probably going to resolve at the end of next week. After that, I’m
going to try to use my Network card PXI-8231 and learn how it work.
You said that you acquire data at 1 ms but I thought that the Ethernet protocol was asynchronous and generate an interrupt in the system when it receive a data. At that time the data must be put in ram immediately or it will be lost.
How do you manage to acquire at 1 ms an asynchronous protocol (I think) ?
How do you Time Tag your data ? Do you take a relative time from your controller or from your network card?
Thank and have a nice day
J.-P.
03-14-2007 03:22 PM
>How do you manage to acquire at 1 ms an asynchronous protocol (I think) ?
>How do you Time Tag your data ? Do you take a relative time from your controller or from your network card?
My application is a control loop with sensors and actuators. the sensors are sampled at 1KHz and the actuators are commanded at 1KHZ. The data is received from the sensors using one UDP packet each cycle and the actuators are commanded sending then one UDP packet each cycle.
For the sensors I have an external device which acts as ADC and sends one UDP packet of a fixed size every 1ms +- jitter.
In the PXI8187 controller I have a loop which is all the time doing the following:
1.-Read UDP.vi
2.- Put timestamp using "get timestamp.vi" from the real time library.
3.- The information from the UDP packet is proccessed.
4.- The result is sent using another UDP packet to control a set of actuators and starts to wait for a new UDP packet.
These four steps have to be done always in less than 1 milisecond.
There is another loop sending the information througt the other ethernet line to a PC that stores the results.
I was thinking for a time about how to do it and I thought this was the simplest and best way, anyway if you find a better way, please let me know.
I do not know if this answers your question.
Does your application do something similar to mine.? In that case we can share experience.
Note: the names of the VIs I have mentioned may not be correct, because I have written then by heart.
Best regards
Miguel
03-20-2007 09:10 AM
Hi Miguel,
Thank you for your answers. There not a lot that I know about the new
application that we are developing. I know that we gone a use 2 embedded
computers “FCCs” which are install in an aircraft. These 2 FCCs will have 4 Ethernet
ports each wich will be connect to a switch. However, the following information
is not defined yet. One port of the switch will be connected to my PXI network
card to acquire all the data. The two FCCs will transmit their data every 10 ms
on each port.
J.-P.
P.S.: Sorry for all my writing mistakes, I not use to write in English since I’m a french Canadian.
03-20-2007 04:00 PM