I worked for many years with a determinant ¡°soft PLC¡± program for MS-DOS. (Universal Automation Inc¡¯s ¡°FLOPRO¡±.) It actually allowed running a second application program for a user interface. But it did it by basically taking over MS-DOS and using ¡°time slicing¡±. At regular intervals, it would take over the processor, save all registers, do it¡¯s logic scan, and then restore everything and turn it back over to the application program. It worked well, but it got messed up if anything occurred which would trigger the ¡°beep¡± function. That messed up time in some way they couldn¡¯t get around. So this was like doing a TSR on steroids. Even in MS-DOS, it wasn¡¯t an easy thing to do. In Windows, it is horrifically difficult. Wind River is a company well known for Windows real-time applications. Another is Beckhoff who is very good at the game. (I have used their products for very automated machinery used for semiconductor manufacturing.)
Beckhoff is a ¡°Microsoft Windows Embedded Gold Partner¡±. One advantage of this is that ¡°Microsoft Certified Partners¡± get the inside track on ¡°surprises¡± that Microsoft seems to keep springing on any firm trying to work within its operating systems. Microsoft let¡¯s them see the man behind the curtain. If you aren¡¯t at that sort of design level, you are probably going to have problems trying to get under the hood well enough with any Windows products.
Chuck K.
Sent from Mail for Windows 10
From: 'Michael Jablonski' michaeljab@... [7x12minilathe]
Sent: Friday, July 28, 2017 4:02 PM
To: 7x12minilathe@...
Subject: RE: [7x12minilathe] CNCZEUS is now Open source
?
I know we are running a bit off topic with this thread, but I'll throw in my two cents.
?
MS-DOS was very good and relatively easy?for controlling anything and everything because it allowed you take control of everything. Most of the time only one application was running at a time so you could take control of the hardware and software interrupts without much problems. The problems came when TSR (Terminate and Stay Resident) started making the scene.? We all remember Borland's Sidekick. These were programs that you'd load and they would run in the background, then you could pop them up at any time with the use of HotKeys. They had a bad habit of taking control of so many interrupts they interfered with the main program trying to run.
?
I have forgotten much, if not almost all, of my hardware design and software programming. If I were to ever attempt to CNC any machine I would have to bring myself back up to date on this, which would mean starting all over again.
Michael - California, USA
Micro-Mark MicroLux 7x16
LMS 3990 Hi-Torque Mill with power feed
?
From: 7x12minilathe@... [mailto:7x12minilathe@...]
Sent: Friday, July 28, 2017 11:34 AM
To: 7x12minilathe@...
Subject: Re: [7x12minilathe] CNCZEUS is now Open source
?
Yeah, there's definitely a whole 'nother language when programmers start talking to each other. ??
Basically it means that MS-DOS exposes the most low-level hardware functions of the computer to any program that wants to control them. ?Sending pulses to a CNC system requires very fine control of timing of the output ports (by means of "interrupts"). This direct control afforded by DOS is an advantage for CNC. ?But it's also DOS's downfall--it's almost impossible to prevent software from freezing or crashing the whole system if it's badly or m aliciously written. Anyone who was using DOS back at the beginning remembers having to reboot frequently to recover from crashes.
Windows, on the other hand (especially early versions), is software that runs "on top" of DOS--sort of a fly-by-wire system where the software doesn't directly control the hardware, but it talks to another layer of software that talks to the ports. ?Windows is a multitasking system (unlike DOS which is single tasking only), so other programs might be in competition for those same ports. ?It also uses a lot of processing power for ?the Windows graphical interface, keeping track of mouse movements, etc. ?All of this makes timing those pulses to output ports very tricky, especially on slower machines, so Windows CNC programs tended to have problems with skipped steps, delayed pulses, etc. ?
Bottom line, the things that make Windows a more versatile system for most kinds of software make it really bad at CNC control; and the things that make DOS clunky and insecure for other kinds of software makes it not so bad at CNC control.
The later versions of Windows (and faster hardware) have improved things quite a bit. ?Starting with Windows NT and (I think) Windows 8, it was no longer overlaid on DOS. But there are still a few layers of software and drivers between the user interface and the low-level hardware, and it still is a multitasking system. ?It takes some skilled programming to get fast, accurately timed pulses to the output ports.
From: "'Ellis Cory' ellis103@... [7x12minilathe]" <7x12minilathe@...>
To: 7x12minilathe@...
Sent: Friday, July 28, 2017 2:02 PM
Subject: RE: [7x12minilathe] CNCZEUS is now Open source
?
One of the problems may be that a lot of us on here speak English (well I do) and the message below makes no sense ?
Rgds.
???????? Ellis
?
?
?
I see that it runs on MS-DOS. ? At first this might seem primitive. ? But if you have ever written any DOS software what's going on is your software runs on "bare metal". ? To use more modern terms, MS-DOS simply loads the software then runs it allowing complete root level access to the entire PC. ? There is not scheduler and OS to deal with. ??
?
To say this again on LinuxCNC terms, every MS-DOS program is in effect a real-time HAL module. ? ?
?
Yes it is primitive as it uses a full up Intel X86 as it it wh ere a micro controller with no OS. ? But that might not be a bad thing for this application.