Re: Thoughts on EMC's design and implemenation




Well, Adam

Let me take a first cut at an answer.  It may not be complete or accurate 
so the usual disclaimers apply as well as a few concerning crazed authors.

I have been hanging around this project for about 4+ years -- I think.  
It started with a few grants to the NIST by other gov agencies and some 
associations.  The early code was written almost entirely in c and c++.  
The early efforts uses rather costly proprietary real-time systems that 
were out of reach of the hobby motion folk.  Development was capability 
based.  They needed it to do something so thy wrote the code to do it.

C and C++ are the core languages.  C has to be used to write many of the 
device specific and real-time stuff but where it is not required, 
most of the code is written in C++.

When real-time patches became available for linux, and the code rather 
easily compiled for it, the path to low cost software motion control 
opened up.  Along with that opening up came a demand for better graphical 
interfaces as the text mode stuff of that day did not do well on the shop 
floor.  Tickle was an easy language with which to make connectors between 
the NML that is at the core of the rcslib and the emc projects and user 
type buttons and displays.  And in this role it does rather well yet.

As you probably know tickle was started and copyrighted by the University 
of California at Berkley by John Osterhaut who labored there as a 
professor.  It traveled to Sun where if flourished for a while even as 
that company pushed what many thought was it's competetor, Java.  Then it 
moved to Scriptics along with the core developers and maintainers.  From 
there is has migrated to ActiveState where it continues to be maintained. 

It may be dead, and no one bothered to tell me. Last I heard it was 
continuing to be released on most all platforms and development 
continues.  Some have even suggested that the development map for future 
releases of tickle includes much of the class stuff that is currently a 
part of itcl.  

Tickle has had the advantage of allowing Paul and Fred to demo an EMC 
black box where the real time processes ran on one PC using linux and the 
graphical and human interface ran on a MS-Windows box along with some 
cad/cam stuff that will only run on that proprietary os.  I also know 
that there has been efforts to consolidate the control of several 
machines at the same time on a Mac -- thus creating a machining cell.  
These experiments can be done because tickle is available across several 
platforms.

Yes there are probably better -- spell that more compact and faster -- 
ways of writing and running gui's these days but for flexibility and ease 
of coding at beginning levels, it is difficult to beat Tcl/Tk.  Hell, 
even I could learn to do it and my last programming class was IBM card 
Fortran on a 360-70 with a four hour turn around.  Can you spell obsolete 
old &**%$#! 

But now that many useful graphical routines have been proven in tickle, 
they should be migrated to something much better.  I'd opt for QT even 
though it is proprietary and a commercial user needs to have the 
libraries licensed to them.  Tickle is also proprietary but no 
limitations are placed on the use of current releases.

> thoughts about EMC's design and
> implementation

are put up here and on the developer list rather often.  They sometimes 
become the topic of discussion at rather long and heated phone 
conversations, or extended dinners at the NAMES convention in Detroit as 
well.  Some have suggested a www based chat on a more or less regular 
schedule. 

We are at the point where the open source developers community is being 
forced to take a more active, guiding role in development.  Some pressure 
is being put on NIST to back away a bit.  Trust me on this, you can help.

m2cw

Ray Henry



On Monday 09 September 2002 07:51 pm, you wrote:
> I have been interested in motion control for as long as I can remember.
>  I stumbled upon EMC a year or so ago and have learned a lot from
> reading posts and source.
>
> I was currious if anyone had any thoughts about EMC's design and
> implementation.  EMC and supporting software has been coded in a wide
> range of languages (I thought Tcl was dead :)).  Why is that?  I know
> that C has been the typical language to write this kind of software in
> but C++ is getting more and more popular across the board.
>
> Any thoughts or commnets would be appreciated.
>
> Thanks.
>
> --adam
>
> >>> Please  CC: me copy your reply <<<
> >>>
>   >>> I recive a lot of email and can <<<
> >>>
> >>> not subscribe to this list.  Thanks. <<<



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

Problems or questions? Contact