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