How to form a real-time small scale network?

There are two manipulators fixed on a static frame, one manipulator installed on a mobile vehicle in our lab. Our plan is to use 3 PCs to
control each of them, in order to make each of them work on its own. What kind of network should we choose to connect them and carry out the communication between each other? Because we don't know the data transfer speed in a LAN, we are not sure about the choice of the network. Can anybody give an advice?
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
workaholic wrote:

Why don't you find out what the data transfer speed _is_ in some candidate LANs?
Don't forget PC-induced latency -- without a bit of work, neither Windows nor Linux are close to being real-time OS's. Even with a lot of work, neither of them are hard real time, although I could see applications where a soft real time system may be adequate. There _are_ hard real time environments that hijack the machine from Windows or Linux, but those are _lots_ of work (and lots of $$$, in the case of Windows). Here's a test: If you can see yourself telling your prof "don't mind that manipulator sticking through the lab window, that's just an occasional glitch" then a soft real time system, or a not real time at all system, is probably adequate.
--

Tim Wescott
Wescott Design Services
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

You might consider running some drivers off of each PC that can handle a certain time frame of instruction. The PC's can then chat amongst themselves with only occasional requirements to change settings. Given that you'll probably have a model or two of the manipulators in the PC, they should get deviation reports from the drivers, and issue occasional corrections and additions to the movement schedule. You might also consider a 4th PC as a master that will coordinate the actions of the other three.
Your data transfer rate is going to be largely dependent upon what data you are going to transfer. If it is the full coordinate position and velocity every microsecond of each manipulator it is going to take a lot more than if each PC simply reported deviations and readiness for additional commands.
Michael
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

I would do it all in one PC and avoid using the LAN. There are other choices besides Windows and Linux for operating systems. We use QNX, there are other choices.
Peter Nachtwey
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

When it comes to inter-computer communication, I'm not sure there is a network protocol that can claim to be real time (depending, of course, on your definition of real time). If your needs are critical, I'd suggest finding some other way.
--
Scott
Reverse name to reply
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
wrote:

There a plenty of isochronous protocols for Ethernet and other busses. There are CIP Sync, PowerLink, Varan Bus, Ethercat, ProfiDrive and Ethernet. Profibus DP has DP V2.
It takes a lot of effort to implement one of these protocols and can only be justified if you are selling products with these protocols included.
It still isn't clear exactly how many axes of control are need in workaholics application but one Core Duo Pentium is very powerful and should be able to control 16 axes easily. Why not use 2 or 3 motion cards in the PC to off load the main CPI even more? I don't understand the thinking process. workaholic will be old and gray by the time he gets started on this project at the rate he is going.
Peter Nachtwey
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
I am very sorry for my absence and much thanks for all of your advice! It seems that it is not proper or economical for implementing a present commerical industry protocol for such a small system. Now we use a PCI card to control each manipulator on one PC. And it is impossible to insert so many PCI card on one main board of the PC. We do have to find some way to solve the communication problem.
I have heard of some information about the QNX, can it be installed on a PC?
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Do you need to move data in real time, or just signal events?? If the latter, one cheat would be to use the DIO on PCI boards in each box (there are usually some on most types of interface boards) to signal each other.
--
Scott
Reverse name to reply
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Yes, we have to send the data of end position, velocity, or acclereation of each manipulator, and we also have to consider designing a simple data form to send and receive between devices.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

What are your time requirements for such communication? Are they hard real time, or are you just trying to display it on a screen or some such.
--
Scott
Reverse name to reply
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Yes. You should look for PCI motion control cards that have QNX drivers done or look on the QNX site for a list of compatible motion control cards. I did a search of 'QNX motion control' and got over 14000 hits. I did another search for 'QNX robotic' with 159,000 hits. It looks like you will have plenty of already working options.
Peter Nachtwey
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Thanks!
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Mr Workaholic -
Connecting so many PCI cards to a main board? Unless I'm mistaken, you're looking for a "passive backplane" and the motherboard/BusMaster plugs into the backplane. The instructions on the backplane vary some and you might have to plug this master into slot zero (if the PCI slots are numbered).
Your might also look into National Instruments and their LabView software and PC add-on products. They specialize in PC/robot automation. They make all kinds of things for PC instrumentation and robotics that sound like what you're apparently interested in doing.
If what you're doing is rather small(not extremely complex), you might just look into doing it with a PIC processor or two. It might require building a small printed circuit (or wire wrap it if it's one of a kind/custom) with something on the order of 10 chips on it.
2Penny (my 2 cents worth)
workaholic wrote:

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Thanks! And I'll search for it.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here. All logos and trade names are the property of their respective owners.