584,829 active members*
5,005 visitors online*
Register for free
Login
IndustryArena Forum > MetalWorking Machines > CNC Swiss Screw Machines > Programming help with Citizen A32VII
Results 1 to 14 of 14
  1. #1
    Join Date
    Oct 2011
    Posts
    0

    Programming help with Citizen A32VII

    I program a Citizen Cincom A32VII and I am trying to use sub spindle and rotary tools (T700) to mill a radius on back side of part. I am using a G140 X=X1 Z=Z2 Y=Y1 C=C2 and ending with G141 to return axes to normal setup but when I come to G141 to exchange axes it tells me its formatted wrong. Please help. My tech is in Wichita and dont want to bother him he is setting up for the WITS (Wichita International Trade Show).

  2. #2
    Join Date
    Apr 2009
    Posts
    101
    I'm not sure if the A32 is setup the same as the A20, but on the A20, you can call the live tool from $2 and just use the "K2" argument on the tool call. "T0700 K2" for instance.

    This works perfectly and it puts Z0.0 at the center of the live tool. To cancel, just T3000 and a G600.

    If the A32 can do it, it would be in the manual under the T commands/arguments. Should have no need for the G140/141...

  3. #3
    Join Date
    Feb 2008
    Posts
    267
    I do not have an A32 but other Citizen machines.
    Does your manual say the G141 is a cancel for G140?
    On all others, there is no cancel mode.
    Once your done, you issue another G140, putting everything back to normal.
    Too, any of the G6XX codes "should" fix them as well.
    The use of the "K" option on the tool call line is the better way to go.
    Good luck.
    Control the process, not the product!
    Machining is more science than art, master the science and the artistry will be evident.

  4. #4
    Join Date
    Oct 2008
    Posts
    31
    Hi

    You don't need G140 as K argument on tool line is better method. G140 only really used for specific applications and on older machine without K function

    Program in $1 - not $2

    This mode automatically shifts datum to centre of spindle and gets value via back chuck value in mc data so make sure this is correct. If you wish to program to edge of cutter you can G50 W+Tool rad after tool call but std method is preset for using tool nose comp

    $1

    G600

    (Y AXIS MILL)
    G0 Z-0.05
    M25 G98
    M48 C*
    M80 S3=* (T700 is 1/2 ratio on drive i.e 2000rpm programmed is 1000rpm at tool)
    T*00K2
    M88
    G0 X#814+0.025 Z* Y* T* (Z 0 is centre of spindle to front face)
    G19 (Plane select for milling)
    G1 X* F*
    Y*

    G0 X#814+0.025
    G18 (Cancel plane select)
    G0 U0W0T0
    M82 M79 G99
    M241 (Spindle home)
    M89

    good luck

  5. #5
    Join Date
    Oct 2011
    Posts
    0
    I am going to take this path but do I need to use queing commands? !1L2 to transfer sub to $2 to eject part after operation?
    Quote Originally Posted by UK-Engineer View Post
    Hi

    You don't need G140 as K argument on tool line is better method. G140 only really used for specific applications and on older machine without K function

    Program in $1 - not $2

    This mode automatically shifts datum to centre of spindle and gets value via back chuck value in mc data so make sure this is correct. If you wish to program to edge of cutter you can G50 W+Tool rad after tool call but std method is preset for using tool nose comp

    $1

    G600

    (Y AXIS MILL)
    G0 Z-0.05
    M25 G98
    M48 C*
    M80 S3=* (T700 is 1/2 ratio on drive i.e 2000rpm programmed is 1000rpm at tool)
    T*00K2
    M88
    G0 X#814+0.025 Z* Y* T* (Z 0 is centre of spindle to front face)
    G19 (Plane select for milling)
    G1 X* F*
    Y*

    G0 X#814+0.025
    G18 (Cancel plane select)
    G0 U0W0T0
    M82 M79 G99
    M241 (Spindle home)
    M89

    good luck

  6. #6
    Join Date
    Oct 2011
    Posts
    0
    A note: UK Engineer when you put {G0 X#814+0.025} what do the coordinates mean? #814+0.025. is this metric scale because I use inch in Missouri.

  7. #7
    Join Date
    Feb 2008
    Posts
    267
    Quote Originally Posted by sthuston View Post
    A note: UK Engineer when you put {G0 X#814+0.025} what do the coordinates mean? #814+0.025. is this metric scale because I use inch in Missouri.
    This is a math statement using Machine Variables...


    #814=Stock Dia
    so the code ...
    Code:
    G0 X#814+0.025
    Would be .025 (either inch or metric depending on the system setup) above the stock diameter.
    This is a common practice among Citizen programmers as it offers a safe X position regardless of stock diameter.
    Said another way, a safer program with less editing
    HTH.
    Control the process, not the product!
    Machining is more science than art, master the science and the artistry will be evident.

  8. #8
    Join Date
    Oct 2011
    Posts
    0
    so really the +0.025 is the POS. Point? Which the machine should read from Machine Data or will I have to manually put that sequence in there. I am 22 now and been programming since i was about 15, I have not really had extensive training or gone to the classes that citizen offers (really should go). I have had minor crash course from our tech and self taught swiss programmer just reading manual. Thats the need for question. So any real in depth extensive advice helps.

  9. #9
    Join Date
    Oct 2008
    Posts
    31
    Hi,

    "I am going to take this path but do I need to use queing commands? !1L2 to transfer sub to $2 to eject part after operation?"

    No just change mode again to standard G630 and put eject in $2. You may have to amend your eject if last operation on subspindle is milling as if you mill on sub , eject then engage G114.1 to pickoff you can get 1026 alarm at pickoff. Simply start spindle in $2 for a second or so

    e.g
    $1 $2
    G600 G600
    Sub mill
    G630 G630
    Turn/mill main m23s2=500 - counters 1026 alarm at pickoff
    Part off position g4u0.5
    Std Eject

    G650 G650

    "so really the +0.025 is the POS. Point? Which the machine should read from Machine Data or will I have to manually put that sequence in there"

    The machine reads #814 from bar size in mc data but pos pnt value is #815 - so you could write X#814+#815 if you wish. I use #814 as other poster said as its an easy way to program without worrying about bar size

  10. #10
    Join Date
    Dec 2015
    Posts
    1

    Re: Programming help with Citizen A32VII

    I have run into this problem. Your solution to use the K variable does not solve all of the problems. If you are using the C axis on the sub spindle in your code on $1 you will receive an alarm. I have no idea how to solve this problem, I am stumped.



    Quote Originally Posted by UK-Engineer View Post
    Hi,

    "I am going to take this path but do I need to use queing commands? !1L2 to transfer sub to $2 to eject part after operation?"

    No just change mode again to standard G630 and put eject in $2. You may have to amend your eject if last operation on subspindle is milling as if you mill on sub , eject then engage G114.1 to pickoff you can get 1026 alarm at pickoff. Simply start spindle in $2 for a second or so

    e.g
    $1 $2
    G600 G600
    Sub mill
    G630 G630
    Turn/mill main m23s2=500 - counters 1026 alarm at pickoff
    Part off position g4u0.5
    Std Eject

    G650 G650

    "so really the +0.025 is the POS. Point? Which the machine should read from Machine Data or will I have to manually put that sequence in there"

    The machine reads #814 from bar size in mc data but pos pnt value is #815 - so you could write X#814+#815 if you wish. I use #814 as other poster said as its an easy way to program without worrying about bar size

  11. #11
    Join Date
    Sep 2011
    Posts
    261

    Re: Programming help with Citizen A32VII

    Have you tried using G140 as described above? (use g140 to cancel as well)

    Does that still not work? What alarm are you getting? can you paste in a little bit of the relevant code?
    CNC Product Manager / Training Consultant

  12. #12
    Join Date
    Aug 2012
    Posts
    54

    Re: Programming help with Citizen A32VII

    Hi,

    (Z AXIS MILL ON SUB SPINDLE)
    G0 Z-2.0
    M25 G98
    M48 C*
    M80 S3=*
    T*00 K2
    M88
    G50 W*
    G0 X#814+1.0 Z-1.0 Y* T*
    G19
    G1 X* F*
    Z*

    G0 X#814+1.0
    G18
    G50 W*
    G0 U0W0T0
    M82 M79 G99
    M241
    M89




    (FACE RADIUS MILL - FEMALE - INSIDE)

    #110=* (CUTTER DIAMETER)
    #111=* (PRE TURNED DIAMETER)
    #112=* (RADIUS WIDTH-ENTER 0 IF UNKNOWN)
    #113=* (RADIUS DEPTH-ENTER 0 IF UNKNOWN)
    #114=* (RADIUS)
    #115=* (NUMBER OF ROUGHING PASSES)
    #116=* (FINISH ALLOWANCE-ENTER 0 FOR NO ROUGHING)
    #117=* (ROUGHING FEED)
    #118=* (FINISHING FEED)
    #119=* (DEPTH OF CUT ON FACE)

    #120=[[#119*2]/#115]
    #121=0

    IF[#112EQ0]GOTO111
    #122=[[SQRT[[#114*#114]-[[#112/2]*[#112/2]]]]-2.0]
    #123=[2*[SQRT[[#114*#114]-[#122*#122]]]]
    GOTO112
    N111
    #122=[[#114-[#113+2.0]]*[#114-[#113+2.0]]]
    #123=[2*[SQRT[[#114*#114]-[#122*#122]]]]

    N112
    M5G98
    G0Z-2.0
    M80S3=*(speed)
    T*00 K2
    M48C*(c axis position)
    G50W****
    G0X#814+1.0Y0Z-[2.0+[#110/2]]T*(tool offset)
    G19
    IF[#115EQ0]GOTO113
    G50W#116
    X#111
    WHILE[#121LT#115]DO1
    U-#120
    G0G41Y#123
    G1Z-2.0F#117
    G3Y-#123Z-2.0R#114
    G1G40Z-[2.0+[#110/2]]F1000
    #121=[#121+1.0]
    END1
    N113
    IF[#116EQ0]GOTO114
    G50W-#116
    N114
    G0X[#111-[#119*2]]
    G0G41Y#123
    G1Z-2.0F#118
    G3Y-#123Z-2.0R#114
    G1G40Z-[2.0+[#110/2]]F1000
    G0X#814+1.0
    G18
    G50W-****
    G0Z-2.0
    G0U0Z-2.0T0
    M241
    M20M82G99
    M1




    (FACE RADIUS MILL - MALE - OUTSIDE)

    #110=* (CUTTER DIAMETER)
    #111=* (PRE TURNED DIAMETER)
    #112=[#111/2]
    #113=*(RADIUS)
    #114=*(NUMBER OF ROUGHING PASSES)
    #115=*(FINISH ALLOWANCE-ENTER 0 FOR NO ROUGHING)
    #116=*(ROUGHING FEED)
    #117=*(FINISHING FEED)
    #118=*(DEPTH OF CUT ON FACE)

    #120=[[#118*2]/#114]
    #121=0

    #122=[SQRT[[#113*#113]-[#112*#112]]]
    #123=[#113-#122]

    M5G98
    G0Z-2.0
    M80S3=**
    T*00 K2
    M48C*
    G50W****
    G0X#814+1.0Y[#111+#110+2.0]Z-[2.0+[#110/2]]T*
    G19
    IF[#114EQ0]GOTO113
    G50W#115
    X#111
    WHILE[#121LT#114]DO1
    U-#120
    G0Y[#111+#110+2.0]
    G1G41Z#123F#116
    Y#111
    G2Y-#111Z#123R#113
    G1G40Y-[#111+#110+2.0]
    G0Z-[2.0+[#110/2]]
    #121=[#121+1.0]
    END1
    N113
    IF[#116EQ0]GOTO114
    G50W-#115
    N114
    G0X[#111-[#118*2]]
    G0Y[#111+#110+2.0]
    G1G41Z#123F#117
    G1Y#111
    G2Y-#111Z#123R#113
    G1G40Y-[#111+#110+2.0]
    G0Z-[2.0+[#110/2]]
    G0X#814+1.0
    G18
    G50W-****
    G0Z-2.0
    G0U0Z-2.0T0
    M20M82G99
    M241
    M1

  13. #13
    Join Date
    Apr 2017
    Posts
    12

    Re: Programming help with Citizen A32VII

    can you sed me your post processor

  14. #14
    Join Date
    Aug 2012
    Posts
    54

    Re: Programming help with Citizen A32VII

    What post ?

    Sent from my Redmi 3S using Tapatalk

Similar Threads

  1. programming citizen versus tsugami
    By Saturn2000 in forum CNC Swiss Screw Machines
    Replies: 13
    Last Post: 07-11-2014, 03:08 AM
  2. Question regarding programming Citizen with Partmaker
    By colby2000 in forum CNC Swiss Screw Machines
    Replies: 3
    Last Post: 02-02-2013, 05:04 PM
  3. Citizen A32VII program help...again
    By sthuston in forum CNC Swiss Screw Machines
    Replies: 5
    Last Post: 10-22-2011, 01:59 PM
  4. Newbie to Citizen and bar feed programming
    By gizmo_454 in forum CNC Swiss Screw Machines
    Replies: 6
    Last Post: 02-25-2011, 08:25 PM
  5. Citizen K16 programming
    By bvaught in forum CNC Swiss Screw Machines
    Replies: 12
    Last Post: 07-03-2008, 12:51 PM

Tags for this Thread

Posting Permissions

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