John Kasunich wrote:
> Rafael Skodlar wrote:
>> If I were asked to select the most common port, bus, or interface in PC
>> for use in RT environment I would say either floppy or ATA bus. They are
>> present on most motherboards. However, they are now practically obsolete
>> and bad candidates for future EMC direction IMO. What's left for RT
>> interface on the common motherboard are PCI and SATA buses. SATA seem to
>> be the most suitable for RT use because it's on all motherboards and it
>> already handles mechanical devices directly with rich command protocol.
>>
>> Let's compare SATA and Ethernet and the complexity of using either one
>> for "direct CNC."
>>
>> Case 1, Ethernet-CNC:
>> To implement Ethernet-CNC we have to have a working motherboard/Linux
>> drivers combo, Ethernet/CNC adapter, and special Ethernet driver. That's
>> one port, two different drivers, one of which will always depend on
>> Ethernet chip architecture which changes a lot, and Ethernet to CNC
>> adapter (DIO, etc.) in order to communicate with CNC machine. Two sets
>> of chip/drivers needed.
> 
> You need an Ethernet adapter, and a realtime driver for it.  Not two
> drivers, ONE driver.  The Ethernet adapter for CNC control has nothing

I know that it's not normal network connection and that it requires
special driver. You always need special driver for RT.

> to do with a "normal" network connection, and does NOT need or want a
> Linux driver.

There is no such thing as "Linux driver." Call it GNU/Linux RT driver
for Ethernet interface or whatever. That too needs to be isolated from
the regular Ethernet driver as you would need to isolate SATA-CNC driver
from the default SATA driver.

> 
> At the other end of the wire, you need an FPGA or embedded controller
> with an Ethernet interface.  Such things are much easier to find than
> the same thing with an SATA interface.

You seem to like low cost stuff as quoted later but I doubt that you'll
find that together with Ethernet/CNC controllers.

> 
>> Case 2, SATA-CNC:
>> Implementation requires motherboard/Linux drivers combo with SATA
>> (always available), SATA/CNC adapter, and SATA-CNC driver.
> 
> And a realtime SATA driver.  And some way to keep the Linux driver from
> interfering with the realtime driver.  Linux drivers are NOT realtime.
> 

Not all Linux drivers are RT of course. I never claimed that.

>> SATA speeds should be sufficient to handle some of the most demanding RT
>> jobs for hobby and small business use.
> 
> The issue is NOT speed.  The issue is Latency.  An interface that can
> transfer 100 megabytes in 1 second, but pauses for 50 milliseconds in
> the middle of the transfer, is totally useless for CNC.  An interface
> that can transfer 100 kilobytes in 1 second and never pauses it great
> for CNC.
> 

That all depends on the driver. What's currently preventing SATA from
interrupting parallel port? RT scheduler. That's all.

>> There is almost always a spare (S)ATA port on the motherboard, but only
>> one Ethernet port which would better be used for default network
>> connections.
> 
> It is extremely unlikely that a Linux driver for the filesystem and a
> realtime driver for the CNC will be able to coexist on SATA.
> 

How do they coexist with parallel port or Mesa card for example?

You mix file systems with interface driver. SATA drivers do not deal
with file systems directly. They send bytes of commands, status, and
data back and forth. You can format (S)ATA drives any way you want.

What you forget is that drives are mechanical devices which could be
controlled real time with appropriate driver. Tape drive that changes
tape cartridges, connected to SATA bus, is much closer to a CNC machine
than any Ethernet card ever was.

> An ethernet card is slightly cheaper than dirt.  Newegg has 35 cards
> under $25, and 9 that are under $10.
> 

This is immaterial for this discussion. SATA is included in basic MB
price so it's cheaper than any Ethernet.

>> Good signaling characteristics, 32-bit CRC, DMA,
>> point-point connection, and hot plugging make SATA well suited for CNC
>> IMO. Cable is limited to 1m but that's enough to connect to CNC adapter
>> boards externally.
> 
> Good signaling characteristics?  SATA is designed to transfer extremely

Good signaling characteristics yes. Check the specs.

> large amounts of data INSIDE a PC chassis.  It has no electrical

SATA was specifically designed to work with drives outside of the box
like SCSI does. The amount of data depends on programs and drivers just
like it does for Ethernet.

> isolation at all, and as you point out has an extremely short 1m length
> limit.

Parallel port has no electrical isolation either yet people use it one
way or the other for CNC so that's a moot point.

> 
> Ethernet is regularly used to transfer data over distances from 10s of
> meter up to 100 meters or so.  More importantly, Ethernet is

Apples and oranges. That goes for PCI cards also so you can't compare
directly. SATA can be extended over fiber if needed.

> electrically isolated and has a history of success transferring data
> OUTSIDE the PC, in noisy industrial environments.
> 

So does SAS and now SATA. The distances are not the same by default but
could be extended when needed. You and Marc Bodmer both talk about
expensive Ethernet industrial controllers. Who's going to buy "3/6 Axis
DC Servo controller (~900Eur)" for hobby or small shop use?

It would be way less expensive to buy DIO, ADC, or DAC PCI card with
small PC box next to the CNC machine when PP is not available anymore.

I thought that EMC is mainly for small installations with an occasional
large one. When you start talking about PLCs, SERCOS PCI-Board, etc.
that's another ball game. Nothing against it, just that a lot of people
will be left out.

> Regards,
> 
> John Kasunich
> 

Just because something hasn't been done before it doesn't mean it's
impossible or that it doesn't make sense. When parallel port was used
for the first time for whatever else, besides connection to Centronics
compatible printer, people probably had the same reaction. PP made it to
CNC eventually and now we have numerous controllers for it.

Regards,

--
Rafael

------------------------------------------------------------------------------
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you.  Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to