feed/rev gcode


 

EMC Development


Hi chris,

I refer to the message mentioned below. I have installed emc miiling software for

a lathe machine using STG board. Lathe Machine is working fine.

The only problem that it does not support G33 code for threadig.

From your message it seems that you had similar problem very long ago.

If solved this problem then please let me know.

Nasir

Received: from email.nist.gov (localhost [127.0.0.1])
        by email.nist.gov (8.9.3/8.9.3) with SMTP id SAA07153;
        Thu, 21 Sep 2000 18:26:52 -0400 (EDT)
Date: Thu, 21 Sep 2000 18:26:52 -0400 (EDT)
Message-Id: <39CA8A3F.5A8969F2-at-nist.gov>
Errors-To: frederick.proctor-at-nist.gov
Reply-To: emc-at-nist.gov
Originator: emc-at-nist.gov
Sender: emc-at-nist.gov
Precedence: bulk
From: Fred Proctor <frederick.proctor-at-nist.gov>
To: Multiple recipients of list <emc-at-nist.gov>
Subject: Re: emc development
X-Listprocessor-Version: 6.0c -- ListProcessor by Anastasios Kotsikonas
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset=us-ascii
References: <39C7A2CF.5614537E-at-netcomuk.co.uk>
X-CC: emc-at-nist.gov
X-To: Chris Galloway <chrisgal-at-netcomuk.co.uk>
MIME-Version: 1.0
X-Mailer: Mozilla 4.73 [en] (Win! NT; U)
Status: RO
X-Status: A
 

Chris,

You wrote:

> I have been using EMC since RTL 1.1 and now have it running under RTL2.0
> and would like to contribute by adding a feed/rev gcode. I have C
> programming experience and I am a control engineer by profession. Could
> you please advise me of the correct procedure to follow so that my
> efforts can be easily integrated.

Wow, great, we could use some more programmers. The correct procedure is
to get registered on SourceForge as an EMC developer, as described in
the email to emc-at-nist.gov by Will Shackleford here at NIST that I
appended to this email. Once you do this, you can start whacking away.
You should also subscribe to emc-at-nist.gov so you can ping everyone with
questions. You do not need to be a subscriber to send mail to this list,
although you do need to subscribe to receive mail from this list. To
subscribe, send mail to listproc-at-nist.gov with the following in the body
of the message:

     subscribe emc

To unsubscribe, send mail to listproc-at-nist.gov with the following in the
body of the message:

     unsubscribe emc

The hard part (and the SourceForge setup is not that easy) is figuring
out how to change the EMC code to do what you want. I posted a
description of the code layout to the EMC list, which you can view in
the list archive:

        http://www.nist.gov/itl/div896/emaildir/emc/maillist.html

The subject is "EMC source code documentation, first cut", dated Mon, 14
Aug 2000. This is a start to understanding the code layout.

Specifically for your case, adding a feed per rev G code, here is my
guide:

1. Tom Kramer (thomas.kramer-at-nist.gov) wrote the G code interpreter.
It's in emc/src/rs274ngc/. For questions on the interpreter itself, he's
the one. Our philosophy was to implement a dialect of NC code based on a
specification written by Rockwell Automation for the National Center for
Manufacturing Sciences (NCMS). It's supposedly based on a Fanuc dialect.

2. Once the interpreter parses the G codes, it calls one of many
"canonical functions" defined in emc/src/emctask/emccanon.cc. That is,
when it sees a comment, it calls the COMMENT() function. When it sees a
G01, it calls STRAIGHT_FEED(). In emccanon.cc, you'll see that these
functions end up putting data structures on a global linked list, the
interp_list. The data structures comprise the Neutral Messaging Language
(NML), and is the format in which all commands and status flow around.
The message set can be seen in all its gory detail in
emc/src/emcnml/emc.hh.

3. The EMC task controller (emc/src/emctask/emctaskmain.cc) calls the
interpreter with emcTaskPlanRead()/emcTaskPlanExecute() calls, then
looks at the interp_list to see what was put on it. It then decides when
the next message should be handled, and who gets it. This is the
checkPreconditions(), issueCommand(), and checkPostconditions() sequence
in emctaskmain.cc.

4. Either the motion controller or IO controller is sent the message,
and does the actual work. In your case, feed per rev may be able to be
converted into an equivalent straight feed at a rate calculated by
looking at the S code. This wouldn't impact much at all, maybe just
rs274ngc.cc. Talk to Tom Kramer for his advice.

Best regards,

--Fred



Do You Yahoo!?
Yahoo! Finance - Get real-time stock quotes

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

Problems or questions? Contact