Created and Maintained by the Real World Software Developers and Machinists at www.KentechInc.com ... click here to check it out !!

Tuesday, July 15, 2014

Deciphering M Functions for Your CNC Machine

Recently we have been working with some Kipware® conversational clients assisting them in setting up their Kipware® post processor blocks for their G code output. With the addition of our EIA MENU option ... users now have greater flexibility in using machine functions ( M ) functions in their G code to accomplish specific tasks. One example might be ... parts catcher UP or DOWN to catch a part being parted-off ... or chuck OPEN and CLOSE during a bar feed operation ... or 4th axis CLAMP and UNCLAMP for CNC mill.

During these sessions we are coming across the situation where the end user doesn't know the specific M for their machine to accomplish some of these tasks. And for whatever reason ... manuals lost or misplaced ... machine was purchased used and no manuals were included ... or whatever ... the end user does not have any Operator or Programmer manuals for their machine which would normally outline the M codes and their function. Without the manuals ... they have no way of finding out what M functions control what. OR DO THEY ??

Let's start this journey with a brief explanation of the HOW's and WHY's of CNC M functions. 
  1. First ... there is no "industry" standard for M functions. Although you might find that M08 and M09 or M03 and M04 work for most CNC machines ... there is not an industry standard that says they must meet a certain criteria.
  2. M functions are designed by the machine tool builder ... not the control manufacturer. So you may have (5) Fanuc controlled machines in your shop ... some Mori Seiki's some Hitachi some Leadwell ... all with different M functions. Because the M function circuits are designed by the machine tool builder and not Fanuc.
With those basic facts ... when you ask your buddy "What's the M function to open the chuck?" ... and he says "M11" ... and it doesn't work on your machine ... now you know why.

So how can you find out the M functions for your machine WITHOUT 
an Operators or Programming manual?

One of the best ways is to use either the electrical or ladder diagram for the machine. Although most Operator or Programming manuals get lost along the way ... mostly because they are not kept with the machine but rather float around the office or shop ... electrical diagrams ( which outline the electrical circuitry of the machine ) and ladder diagrams ( which outline the logic of the machine ) are most often kept inside the machines electrical cabinet. Open up the doors and you will usually find one or the other or both.

Even if you're not electrical savvy ... the circuits are pretty clearly labelled and you can find say the CHUCK OPEN circuit and trace things back to find the appropriate M function. Again ... because they are built and designed by the machine tool builder and their electrical outline is outside the realm of the control ... these circuits are contained in the machines electrical documentation ... not the docs for the control.



Above is a pic of an electrical diagram for a Shizuoka CNC vertical mill ... with an exploded view on the bottom. You can see fairly easily even without any electrical savvy that the M10 command will control the 4th axis clamping function. 

With today's more sophisticated controls ... oftentimes the ladder diagram is available directly on the machine controls CRT. You can pull up the ladder and even search for the appropriate function command ... but in other cases the "old fashioned" printed ladder can also usually be found in the machines electrical cabinet.

Taking a look at either the electrical diagram or ladder will usually result in some additional road or path to travel to find the appropriate M function on your machine. A simple execution of an MDI command is a good test to see what happens. The old Trial and Error method will open up additional doors or produce the desired results.

M functions are powerful options on your CNC machine that can help automate many tasks and make your manufacturing more efficient. Know that you know the trick to discovering the M functions on your CNC machine ... why not peruse your electrical or ladder diagram and see if there are any you might be missing in your programming?

Until next time ... Happy M Code Hunting ... and Happy Chip Making !!

Please visit our website for the best in Real World Machine Shop Software ... 
just CLICK the pic below !!

Wednesday, July 2, 2014

When is a CNC Program more than a G code program ?

... when it's a set-up sheet as well.

Most people are familiar with the ability of most CNC controls to include COMMENTS in the CNC G code program itself. Comments are designated in a variety of ways from :
  1. ( THIS IS A FANUC AND OKUMA COMMENT ) ... any text inside (  ) is considered a comment.
  2. ! THIS IS AN ACRAMATIC COMMENT ... any text following the ! is considered a comment.
  3. ; THIS IS A FAGOR COMMENT ... any text following the ; is considered a comment.
  4. and on and on we could go.
Comments can be a real help when they include operator messages ... such as :

M00 ( TURN PART AROUND )
or
M00 ! CHECK DIMENSION A

... but comments can go well beyond operator messages and can turn your G code program into a complete set-up doc as well that includes tool information, part zero locations and even stock descriptions.

Most people will create either a paper or digital tool sheet / list and / or set-up sheet / list that is stored and re-called when the corresponding G code program is going to be run again. The set-up personnel refer to these docs to set the machine up ... loading required tools and setting height offsets and work offsets. Works great ... no problems. But is there a better alternative? The answer is a "could be" yes. By storing this information directly in the G code program using the COMMENT capability of your CNC control. For example ... something like this :

O1234
( PART #1234 )
( PROVEN PROGRAM : 7/2/2014 )
( PROGRAMMER : JM )

( PART LOCATED IN VISE USING JAWS JW-1234 )
( STOP SET-UP IS RIGHT SIDE - WORKPIECE STOP AGAINST FLANGE )
( X/Y PART ZERO IS LOWER LEFT CORNER )
( Z0 = TOP FINISH SURFACE )

( T1 / H1 = #3 CENTER DRILL )
( T2 / H22  = 1/2 DRILL )
( T3 / H3 = .500 CARBIDE END MILL )

So what is the advantage of keeping this info directly in the G code program using the COMMENTS capability of the CNC control?

  1. Harder to misplace ... if you're going to run the program, you need the program ... and all the set-up info is right there stored right inside the G code program.
  2. Complete info is there for all to see at any time ... no rummaging for loose paperwork or docs.
  3. Any edits or changes can be made directly in the program ... when the running program is saved after execution ... all the current set-up info is changed and saved as well including all updated data.
We often get asked ... "Won't this slow down my program execution speed?" The truth is that it will ... but it will also be so minimal that usually the cost savings of having comments and all the convenience that comes with it far outweigh any reduction in program execution time. Rummaging around for lost documentation or re-creating lost documentation would be the real money waster.

Just a little something to think about if you haven't considered COMMENTS already in your CNC programming. We touched on only a few points here ... but we're sure you can find many more benefits depending on the capabilities or lack thereof pertaining to your particular CNC programming operation. The fact is that expanding the use of COMMENTS in your CNC programming could be a real time and money saving alternative to digital or paper documentation.

Until next time ... Happy Chip Making !!

Please visit our website for the best in Real World Machine Shop Software ... 
just CLICK the pic below !!