New Here Looking for help syncronizing two turret operation
I operate a Okuma LT200MY with OSP100 controller . I am trying to modify a program so that I can have the A and B turret mill simultaneously on the same spindle, doing different operations. Physically the machine can do it. I'm having problems trying to sync the turrets.
The upper turret A is finish milling slots there are 40 of them
I want the lower turret B to chamfer the slots at the same time
The B turret will finish its pass first so I want it to wait for the A turret then the spindle can rotate 12degrees and start the next pass
The program was written with using sub-programs for each operation and P codes to sync them. When run in graphics I get a syncronization alarm, don't remember which one off hand.
Question 1: Is there another G or M code that needs to be used?
Question 2: Do I need to write each pass for each tool in the program and place P codes between each move
Thank you for your help,
Sounds like you are only wanting to doo Z axis drilling with a C index between them?
I would think that you would want "wait" codes between each hole. ???
(Not sure how OSP's handle wait codes tho?)
There are applications that we sometimes come accrost that is physically possible, but sometimes not software possible. One app that I wanted to doo was to run "cylindrical interp" on two turrets on the same C at the same time, but I couldn't slave the 2nd turret to follow C1. But then how many jobs is that an issue?
I am Ox and I approve this h'yah post!
might be better if you could post the alarm, but if you've got P codes in you subs, remember P codes have to be in assending order. so if you have a P200 in your main it will alarm if you go into a sub with say a P150. also if you're looping these subs, you'll need to "reset" the P codes between each loop. you can put a P-5 right before going to the sub & following codes will be assending. probably telling you something you already know, but if not, hope it helps.
I just learned too much about this recently. This was on an ops7000L... ymmv.
G13 and G14 designate the turret the subsequent code would affect.
P codes line up evens from one G13 block to the G14 block.
Using P codes, you can write ALL turret A code, then ALL turret B code, and have the two turrets do thier thing.
For constant surface speed, use G96, G97, G110, G111 (or is it M96/97 etc?) to specify which turret controls the RPM of the spindle. Doing this wrong will generate asynchronous errors. I don't recall exactly how to use those codes.
If you must shange the spindle speed in a G13 sequence, you better have the same spindle speed specified in the concurrent G14 sequence. That will generate an Asynch error.
Basically, treat each turret like its own machine, where it has to specify RPM and all that... it just has to be specified the same with each turret!
I decided to start over today and write each pass with the P(wait) codes in between the individual passes, in the end it helped find one of my problems.
For a better description of what I am doing(was trying to accomplish) with the A turret I am Y axis milling a groove(40of them) to finished size .134. With the B turret I want to chamfer both sides of the grooves with a .25 spot drill while milling.
I think the majority of the problem was I had both turrets trying to control the C axis, neither one liked that idea much. Once I removed all the C axis commands from the B turret all pieces fell into place.
I've used G13 and G14 a little I have a couple jobs where the turrets trade sides of the machine so I'm familiar with those two, I get the added bonus of a G140 and G141 to tell the machine whether its the main spindle or sub spindle as well.
Thanks for the input and ideas,