587,184 active members*
3,386 visitors online*
Register for free
Login
IndustryArena Forum > Machine Controllers Software and Solutions > G-Code Programing > Subroutine question (Cincinnati Milacron Acromatic 850 SX)
Results 1 to 6 of 6
  1. #1
    Join Date
    Oct 2006
    Posts
    26

    Question Subroutine question (Cincinnati Milacron Acromatic 850 SX)

    I am using the Cincinnati Milacron Sabre (vertical cnc mill). I've looked through the manual but havn't found the best method to do this...

    Id like to program one piece and (using a subprogram?) have it repeat all the toolpaths a number of times, offsetting it in X and/or Y a desired number of times.

    I'd like the operator to be able to adjust how many times it repeats the subprogram.

    This is an example of the program that I ran and it works...


    %
    (REPEAT TEST)
    :0 G0 T1 M06
    N30 M01
    N40 G0 H0 X3 Y3 S3000 M13
    N50 G0 Z6.0
    N60 (DFS,L22)
    N1040 G1 Z5.0 F40.0
    N1070 X4.0
    N1080 Y2.0
    N1090 X1.0
    N1100 Y3.0
    N1110 X3Y3
    N1120 G0 Z6.0
    N1130 G92 X0.0
    N1140 (ENS)
    N1150 (CLS,L22)
    N1160 (CLS,L22)
    N1170 (CLS,L22)
    N60 G0 Z15.0
    N70 H0 X0.0 Y20.0
    N80 M52 M02
    %

    DFS defines subprogram called "22"
    ENS ends subprogram "22"
    CLS calls subprogram "22".

    What this program does, as it is, is calls up sub "22" 3 times (since N1150, N1160, N1170 all call sub "22"). Unfortunately, to make it user-friendly for the operator, I need to call sub "22" about 50 times for this job. I know on other machine controllers, there is a "Repeat" code called L where you would program it like this:

    N5000 M98P22 L50 (this calls subprogram 22 50 times)...

    Does anyone know how to achieve something similar on the Acromatic? The L word isn't used to "repeat" as on other controllers.

  2. #2
    Join Date
    Oct 2006
    Posts
    1
    Burnt Hills

    Initilize a counter
    Call up the subroutine
    Increment the counter +1
    Test the counter > 50 If true skip to end
    LOOP Back to Call subroutine
    END

    All of that is covered in the programming manual.
    If you can't find it send me an Email [email protected]
    Thanks G.Wood


  3. #3
    Join Date
    Mar 2004
    Posts
    761
    (cls,l22,50)
    ??
    Wayne Hill

  4. #4
    Join Date
    Oct 2006
    Posts
    26
    WayneHill,

    I did find that to work in Acramatic 2100 (specified in the manual) but Acramatic 850sx does not have the ",50" feature. I tried it. Thanks though!

  5. #5
    Join Date
    Oct 2006
    Posts
    26
    Quote Originally Posted by G.Wood View Post
    Burnt Hills

    Initilize a counter
    Call up the subroutine
    Increment the counter +1
    Test the counter > 50 If true skip to end
    LOOP Back to Call subroutine
    END

    All of that is covered in the programming manual.
    If you can't find it send me an Email [email protected]
    Thanks G.Wood
    I tried emailing you but the email address failed to send... ???

    Thanks for your reply!

    I do have all the manuals for the 850SX and I did realize that using a macro would be the best way to handle this. I could not find the format for making a loop macro for the 850SX controller. We use Smartcam at our company and it's no problem to copy/paste geometry and to assign toolpaths to it but we found that our machine is limited in memory and without macros, there are some jobs that are limited.

    My goal was to have, for instance, one variable they can change to adjust the "number of repeats". I saw in the 2100 manual that it accepts (CLS,Lxx,50) to do 50 runs but 850SX did not accept it.

    It seems every controller has slightly different commands for using macros and I havn't untangled that issue yet. I could not find any help on using macros in the 850SX manuals. Any advice/help would be greatly appreciated!

  6. #6
    Join Date
    Jun 2008
    Posts
    3
    Q50
    G10=[T1]V[AOF,1,X].......SETS TEMP VARIABLE TO ASSIGNABLE OFFSET
    NUMBER OF PARTS
    G11E[T1]-[T2]>.1L100.... CHECKS TO SEE IF T1=T2
    G11L200
    Q100
    G10=[T2]V[T2]+1......SUBROUTINE COUNT ADD 1
    (CLS,L20)
    G11L-50
    Q200
    G10=[T2]V0
    M2
    (DFS,L22)

    (ENS)

    I UE ASSIGNABLE OFFSETS BECAUSE YOU CAN CHANGE THEM WHILE THE MACHINE IS RUNNING

    ON THE MILLING THE ASSIGNABLE OFFSET IS FOR H# IN PROGRAM

    MAKE SURE YOU USE A PROGRAMMABLE OFFSET YOU ARE NOT USING IN YOUR PROGRAM


    IF YOU LOOK IN THE TEMP VARIABLE LIST YOU CAN SEE WHICH PART YOU ARE WORKING ON!!

    I USE .1 BECAUSE TEMP VARIABLES SONETIMES WILL USE 1.9999 AS 2 I DONT KNOW WHY
    G11E[T1]-[T2]<.1L100
    [T1]=# OF PARTS YOU NEED TO MAKE
    [T2]=HOW MANY PARTS HAVE BEEN STARTED

    ANY QUESTIONS YOU CAN E-MAIL ME AT [email protected]
    HOPE THIS HELPS
    HERMAN

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •