I have a few setups that I need to have the chuck in the same spot when loading and unloading the part. I've been using M19 because frankly I don't know of any other way. This works well but I'd like to alter the spot a witch it stops about 90deg or so.
Is this adjustable? The rotational position at witch it come to rest after a M19?For some reason I've got it in my head that this position is somehow tied to the synchronization of threading and rigid tapping witch would make adjusting this not possible?
No?Anyone ever tweaked this simply because of the ease of loading and unloading parts? Got a different/better way that I don't know of?This isn't a big deal and I can just do like I've been doing but a tweak would make it easier on me, normally I like it when that happens.As always Thank You.Brent. Ok, first, specify an 'S' word with your M19, to see if it will index to a certain position.If not, here's how we tackle this on mills with the 0i-MD control. Sometimes after a crash we'll have to re-teach the spindle orient position, to realign the spindle to the tool-change arm.On the 0i- MD control, set the Parameter Write Enable to 1. (Must be in MDI mode, then go to the OFFSET/SETTING screen until you find 'parameter write enable') ThenSYSTEM DIAGNOSIS type '445' and press NO. Watch the value for 445-S1 - turn the spindle by hand and watch to see if this value changes. If so, spin it to the position that you like, and write this number down.
(It goes without saying, write the old value down too, so that you can come back to it.).Now, backup, and go to SYSTEM PARAMETER type '4077' and press NO. Input the value from 445-S1.Then, go into MDI and test it out with an M19.Reset the Parameter Write Enable to 0 when you're all done.I'm guessing that this should probably work on your lathes too.
Specific Output/Input External Out/In General Out/In Can someone give me a quick difference between these I/O types? I am trying to correct our interference cube setup and I thought there was a hard wired IN-Cube signal and Prohibit signal, but it seems our system is using PLC I/O between the robots. Fanuc began as part of Fujitsu and is the world’s largest maker of industrial robots. It recently announced a novel technology that will connect robots to networks so factory owners can download apps to them.
I've had to adjust the orientation position on our lathes with the 0i-TD control, and I'm about 95% sure I used the same procedure. I hope this helps.Last edited by Jashley73; at 08:30 AM. Ok, first, specify an 'S' word with your M19, to see if it will index to a certain position.If not, here's how we tackle this on mills with the 0i-MD control. Sometimes after a crash we'll have to re-teach the spindle orient position, to realign the spindle to the tool-change arm.On the 0i- MD control, set the Parameter Write Enable to 1. (Must be in MDI mode, then go to the OFFSET/SETTING screen until you find 'parameter write enable') ThenSYSTEM DIAGNOSIS type '445' and press NO. Watch the value for 445-S1 - turn the spindle by hand and watch to see if this value changes.
If so, spin it to the position that you like, and write this number down. (It goes without saying, write the old value down too, so that you can come back to it.).Now, backup, and go to SYSTEM PARAMETER type '4077' and press NO. Input the value from 445-S1.Then, go into MDI and test it out with an M19.Reset the Parameter Write Enable to 0 when you're all done.I'm guessing that this should probably work on your lathes too. I've had to adjust the orientation position on our lathes with the 0i-TD control, and I'm about 95% sure I used the same procedure. I hope this helps.Thanks All.No 'C' axis. I'll try M19 Sxx and see what happens.Jashley thank you. I'll check this and see what I find when I get in later on in the day.Ox ya know I really don't know what the minimum rpm is but that might be an option.
Not as easy as M19. Actually I could create a custom M/G code to do this in one shot like M19?Brent. I have no clue as to why that never entered my mind. Its simple and keeps me from screwing with shit when I really don't know what Im doing. Jashley Thank you typing your post sure it would have worked also. No deal on M19 Sxx.So what I did was I entered 119 in 6080 then loaded this%:9020M5M19G97S10M4G4 U1.3M5M99%Execute M119 in MDI and presto.
Every time.Sometimes you fellas have me looking like a genius around here.On the downside I have programed at a PC for so long I've found out I completely forgot how to enter a new program at the control.Thanks to All.Brent. LOL.Yeah I guess so.I while back I changed the parameter on how the Ware offset are applied. Weather on the T call or the next G0 move. I had no idea that if you changed the wear offset while the tool was running that it was applied on the next G0 move after the adjustment. The thing that might have stuck it in my ass was I didn't know why the machine came new it would only except an offset increment of.005 at a time and no bigger then.019 total and I changed it to except bigger.Unbeknownst to be I set myself up for a WTF moment by doing that and I had know idea that I was doing so.Moral of the story is be careful changing parameters because they may have more then one function or serve a purpose that your not aware of.Brent.
I have no clue as to why that never entered my mind. Its simple and keeps me from screwing with shit when I really don't know what Im doing. Jashley Thank you typing your post sure it would have worked also. No deal on M19 Sxx.So what I did was I entered 119 in 6080 then loaded this%:9020M5M19G97S10M4G4 U1.3M5M99%Execute M119 in MDI and presto.
Every time.Sometimes you fellas have me looking like a genius around here.On the downside I have programed at a PC for so long I've found out I completely forgot how to enter a new program at the control.Thanks to All.BrentHello Brent,You could expand on that to make the Macro a bit more flexible as follows:M119 A75. (CALL BLOCK PASSING AN INDEX ANGLE FROM M19 POSITION)%O9020IF #1 EQ #0 TH #1 = 90 (DEFAULT TO 90 IF ANGLE ARGUMENT IS OMITTED)Or add an error trap to alert the operator that the angle argument has been omittedIF #1 EQ #0 GOTO10 (ERROR TRAP FOR MISSING ANGLE DATA)#2 = #1.
60 / 3600M5M19G97S10M4G4 U#2M5GOTO 9 = 1 (MISSING ANGLE SPEC - FIX)N900M99%Regards,Bill. Hello Brent,You could expand on that to make the Macro a bit more flexible as follows:M119 A75.
(CALL BLOCK PASSING AN INDEX ANGLE FROM M19 POSITION)%O9020IF #1 EQ #0 TH #1 = 90 (DEFAULT TO 90 IF ANGLE ARGUMENT IS OMITTED)Or add an error trap to alert the operator that the angle argument has been omittedIF #1 EQ #0 GOTO10 (ERROR TRAP FOR MISSING ANGLE DATA)#2 = #1. 60 / 3600M5M19G97S10M4G4 U#2M5GOTO 9 = 1 (MISSING ANGLE SPEC - FIX)N900M99%Regards,BillHello Bill,Might be a bit over my head on this one. Sometimes when im looking at macro programming it make as much sense as Egyptian Hieroglyphics.But one thing that caught my eye is how does this change the G4 U1.3? If im not mistaken is a dwell in time into a G4 U#2 into an angle setting?The thing I see that might mess this up the way I have is if when the lathe is in second gear Im not sure if a spindle speed of 10 is possible?BrentLast edited by yardbird; at 07:57 AM. Hello Bill,Might be a bit over my on this one. Sometimes when im looking at macro programming it make as much sense as Egyptian Hieroglyphics.But one thing that caught my eye is how does this change the G4 U1.3? If im not mistaken is a dwell in time into a G4 U#2 into an angle setting?The thing I see that might mess this up the way I have is if when the lathe is in second gear Im not sure if a spindle speed of 10 is possible?BrentHi Brent,In your example program where you used a RPM of 10 and a dwell of 1.3 seconds, your desired angle of index must have been 78deg.
My modification to your original Macro Program passes the desired angle as an argument and calculates a dwell to achieve that index angle. The 3600 hard coded in my example is based on a spindle RPM of 10. If 10 revs is not achievable in all gears, you could pass a specific RPM as an argument in the Call Block, or have the Macro determine the Gear the machine is in and use a Conditional Statement in the Macro to branch to a block that sets a suitable Spindle Speed related to the current Gear Range.You should be able to sense the Gear Range by doing a bit-wise XOR of the User I/O Interface, but you would have to determine the I/O bit for each gear first. If you are not confident in doing this, create Custom Macro M Code Call using the number of each Gear Change M code (assuming an M Code is used) to call a Macro that sets the Gear Range in any available Nonvolatile, Common Variable (= #500), and changes the Gear Range. Using this method, the = #500 variable can be read by your Spindle Index Macro to determine the current Gear Range. Something like the following example can be used to set the Gear Range Variable:Because an argument isn't being passed, the M code can be used to call a Subprogram instead of a Macro Program.