Re: EMC C code - Real Time DOS and Win 3.1
Posted by
Jon Elson
on 1999-06-14 11:55:37 UTC
James Eckman wrote:
combination of several. There is the real-time motion control
component, there is the digital I/O part for spindle and coolant control,
there is the RS-274D interpreter and trajectory planning, and there
is the user interface. The last 3 are generally not real time, but are
separate time sharing processes. If you were going to try to
implement this under DOS or Win 3.1, you would have to deal with the
real time functions, but also provide real-world time-sharing between
cooperating tasks. The final nail in the coffin of these OSs is that
they offer NO PROTECTION to any program component! That
means any mistake could cause the machine to run away! Very
dangerous. Under Linux, even on the occasions where programs
were shut down in the wrong order, or crashed due to some trouble
in the X environment, the real-time motion control was running
totally normally, and I was able to stop motion and shut the servos
down.
Jon
> Because Windows 95+ freaks out when you deny it interrupts, running anyWell, it is not so simple, because EMC is not a single program, but a
> kind of RT is impossible that I know of. (Somebody may know a trick I
> don't but that's my experience) However DOS and 3.1 can be completely
> shut off at the users discretion in terms of interrupts with no bad
> effects other than frozen mice and such. If you really wanted to port
> EMC to such a platform, you would have to rewrite the servo tasks as
> interrupt service routines. As for real time NT, I've never used it.
> However, also having used Linux/GNU in the past with success using
> similar hacks, I'd be tempted to go this route for a controller and
> not bother with Microsoft anymore. (Unless there was a real serious
> customer requirement)
combination of several. There is the real-time motion control
component, there is the digital I/O part for spindle and coolant control,
there is the RS-274D interpreter and trajectory planning, and there
is the user interface. The last 3 are generally not real time, but are
separate time sharing processes. If you were going to try to
implement this under DOS or Win 3.1, you would have to deal with the
real time functions, but also provide real-world time-sharing between
cooperating tasks. The final nail in the coffin of these OSs is that
they offer NO PROTECTION to any program component! That
means any mistake could cause the machine to run away! Very
dangerous. Under Linux, even on the occasions where programs
were shut down in the wrong order, or crashed due to some trouble
in the X environment, the real-time motion control was running
totally normally, and I was able to stop motion and shut the servos
down.
Jon
Discussion Thread
James Eckman
1999-06-14 10:08:52 UTC
Re: EMC C code - Real Time DOS and Win 3.1
Jon Elson
1999-06-14 11:55:37 UTC
Re: EMC C code - Real Time DOS and Win 3.1
James Eckman
1999-06-14 20:28:07 UTC
Re: EMC C code - Real Time DOS and Win 3.1