Re: regarding future plans for EMC




On Tuesday 12 February 2002 11:17 am, Keith Rumley wrote:
<s>
>My understanding at this point is that iosh (tcl prog) does the
> IO in non-realtime. The IO commands go direct (correct me if I'm wrong
> here, Ray) from the Tkemc gui to iosh.

Keith

Yes and no.  Between the gui and the realtime are several logical 
breaking points.  The breakpoint easiest to use is between emcsh running 
tkemc on one machine and the NML socket defined in the ini running with 
the rest of the EMC on another.  This channel is rather easy to set up 
and in fact allows us to run and troubleshoot each others machines over 
the internet. <g>

Tkemc normally uses emcsh rather than iosh.  The differences as I think 
of them are that emcsh deals with the "monitor-mouse-keyboard operator 
interface" and stuff that a human might want to see and do using these PC 
things.  Iosh deals more with IO and pins and switches and makes 
connections between these external things and the running EMC software.  
Both files are ways to get signals from Tcl/Tk programs to the EMC's 
internal NML language and communication environment.

I can illustrate the differences by using an estop example.  Tkemc and 
emcsh might show you a big red button on the monitor that says estop.  
When pressed with a mouse click or touch screen it would issue the 
correct command to place the EMC software in an estop condition.

Tkio and iosh might watch an external red mushroom momentary push button 
connected to a parallel port pin or DIO card and when the contacts opened 
would trigger the same estop condition.  The result is the same but the 
approach is very different. (Nether approach alone produces an acceptable 
estop but that is not a part of my point here.) 

One confusion that we quickly run into between these pairs of files is 
that the specific Tcl/Tk commands used are a bit different for 
each.  Emcio uses a different set of words than does iosh.  Once you get 
to the output of emcsh or iosh, the NML commands are the same. 

You are right on that these parts of the EMC are all normally done in 
nonrealtime as are most of the task and interpreter things.  There are 
some brand new provisions to mix motion signals and io signals into a 
single realtime environment for stuff like the ppmc that Jon is 
developing.  

I'm thinking that these new signal streams will also allow us to write 
our own mixes of signals onto a parport or any other place.  My imagined 
example is a four axis stepper with spindle direction and coolant and no 
hard limit switches but an external estop, feedhold, and cycle start -- 
all defined by variables in the ini.  That's my vision of fat city.

I probably don't understand Fred H's mix of hardware and software very 
well but I think that he is saying that parts of the EMC could be 
rewritten and compiled in such a way that they reside in hardware rather 
than in memory.  That steppermod, freqmod, (or his steptablemod), or for 
that matter stgmod could be committed to an outboard device which would 
handle signals normally sent by other files like minimilltask and do the 
work of connecting to motor amps.    

Ray




Date Index | Thread Index | Back to archive index | Back to Mailing List Page

Problems or questions? Contact