I am looking at using one of the Mesa Electronic cards for a CNC retrofit to a lathe. I know that drivers already exist for the 5I23 card, but this would mean mounting the PC very close to the lathe.
I would like to use the 7I43 because this is has a USB port. I can get Linux USB drivers but EMC would need a driver written.
Does anyone know where to find information on writing HAL drivers for EMC? I have had a look on the EMC website but couldn't find anything.
There is currently no EMC support for the 7I43's USB interface. Using the 7I43s USB interface would require a buffered approach which is somewhat contrary to the real time orientation of EMC. Its definitely possible but would require quite a bit of work.
The 7I43s parallel port interface is currently supported by EMC in both hardware step generation and servo motor modes.
Yes, there is a big difference in performance between the 7i43 and the 5i20.
The 7i43 uses EPP, which has a wire speed of about 1 MB/s. The 5i20 uses PCI, which has a wire speed of about 133 MB/s. The planned TRAM-based driver should be able to get close to that speed. (That's throughput, I dont have any latency numbers handy.)
That said -- while the 7i43 is slow compared to the 5i20, it is fast compared to what many CNC machines need. The current driver (which does not use the TRAM, and so does not utilize the EPP bandwidth as well as it could) does 4-channel servo control at a couple of KHz.
Another thing to consider is that the 5i20 has 72 I/O pins, whereas the 7i43 has 48. Not sure what your I/O needs are.
I've been reading some of the discussions on the EMC developers forum about using USB on the mesa card.
Are there any long range plans to port the closed loops onto the 7I43 using a C to FPGA tools? This might make is possible to leave the USB for higher level command streams without compromising performance?
I aim to retrofit CNC to my Denford Viceroy lathe. I like the concept of using a thin string between the 7I43 and the PC. It would allow a compact design with minimum electronics located in the hostile environment around a machine tool. I am sure that sort of feature would appeal to a range of other applications.