With the release of Windows 7 in 2009 it became very obvious that CNC controllers as we knew them then would have to change. Windows security features and the quest for less energy hungry PC's and laptops were making CNC communication, especially USB very difficult. With each Windows update or version, it kept getting worse.
There seemed little hope whatsoever for parallel ports, they became nearly extinct. Those controllers offered hardware option for controlling CNCs using a USB port as a virtual serial port. (Comm or communication port) The problem is that a comm port is a way into the computer and all comm ports were looked at by computer security programs (and therefore Windows) as a security risk. Each update made keeping a CNC connected via a virtual comm port more difficult.
To make it even more difficult to keep our CNCs connected, the chipsets that control the internal actions of the PC were given instruction to turn off, or suspend USB devices when they were not "active". Active is defined as "having user input, via keyboard or mouse". Your CNC control software could be sending thousands of lines per second to the machine, but the computer assumed it was not active.
It became obvious that a new method of CNC control would be required. Some bolstered their existing PCI based controllers, most that used USB started offering ethernet options. As hardware and the updated control software became better over the next few years, ethernet and direct serial became much faster. Where USB was capable of ~30kbits/second comm rate, direct serial was creeping over 100kbits/second and ethernet was over 200kbits/second. The numbers are even more impressive than they seem. With USB 30kbits is the total for all axes. With direct serial the numbers are 100 kbits per axis (more now) and ethernet is 200 kbits per axis (up to 400kb/sec now.
As you can see a 3 axis machine on USB may only see a 75-85% comm efficiancy, yielding an average of 24kbits/second or no more than 8000 data bits per second per axis. Commanding a machine at a speed that exceeded those numbers resulted in a "data choke", which causes "lost comm". USB is also very susceptable to static discharge, where ethernet is not. The list goes on and on, and with every passing day and "improved" computers the chance of reliable connections to CNC controllers gets harder.
"Back in the day" we able to use just about any old cheapo computer and make it work for CNC control. Not so much anymore. Have you noticed the frequency of "got a new computer and now my CNC wont connect" postings along with "my old computer ran my old CNC just fine, but it wont connect to my new CNC on the same controller"? Its simple, new controllers are made for new computers, and they are not required to be compatible with the old ones.
Today most CNCs that wish for high resolution, i.e., over 6000 steps per inch (.00017 per step) are using the PC just as a GUI and have an ethernet connection to an onboard motion controller or complete ARM processor. You can tell the good ones because they recommend or require a current OS (Windows 10).
My advice to those that are still running on USB control: start looking for a new method of connection or a new controller completely. The days of viable CNC control via USB are numbered.
CNC Technology & Training
Control & ATC Retrofits
GCnC411 (at) gmail.com