Hello Guest it is March 28, 2024, 06:55:28 AM

Author Topic: I have CNC'ed my cold saw  (Read 11412 times)

0 Members and 1 Guest are viewing this topic.

Re: I have CNC'ed my cold saw
« Reply #10 on: May 07, 2015, 01:57:28 PM »
Oppppsssss, sorry for the way too large pictures


Jeff

Offline BR549

*
  •  6,965 6,965
    • View Profile
Re: I have CNC'ed my cold saw
« Reply #11 on: May 07, 2015, 02:06:32 PM »
Looks like you have all the basics covered what is it that you need help with ?

(;-) TP
Re: I have CNC'ed my cold saw
« Reply #12 on: May 07, 2015, 02:43:58 PM »
Thanks for the reply.

I really don't know where to start, VB, Brain or MacroPump.

I don't know if I should try to place codes in my program to monitor what has been cut and what is still available as of material in the feeder.

Z axis is for the feeder and the A axis is for the saw head, I do not program the saw head as a rotational axis, just regular depth of cut.

Should I use the Z move as a variable and add each Z move and store it in a UserDro and when this value is equal to 30in (feeder length),return the feeder to home position?

This sound easy but what if remaining stock is only 15in ?

I also have to add another home switch (adjustable) for the saw head as a safety, just to be sure the feeder would not feed the stock if the blade is down (missed step)

Have to monitor that feature also.

Thanks for any help.

Jeff

Offline BR549

*
  •  6,965 6,965
    • View Profile
Re: I have CNC'ed my cold saw
« Reply #13 on: May 07, 2015, 04:01:43 PM »
What you need is to develop a paramateric Gcode SUB program  file to do the actual cutting. On your screen make a place for some DROs to hold the cutting variables. such as Stock Diameter, Length of parts, Number of parts.

As to the Stock length you put an EYE in the moveable vise so that when it is moving to the next cut length and the eye does NOT see the stock then it auto stops with a message "OUT OF STOCK".

The loops through the sub sets up your parts counter.

The fedder runs the stock UP until it hits the limit then moves back to the start of travel point and resets the length to how far it already moved PLUS the travel length. Then it resumes the feed to the required stock length.

SOUNDs a lot more difficult than it is.

The real trick is the parametric sub program and a few macros to control the feeder.

(;-) TP
Re: I have CNC'ed my cold saw
« Reply #14 on: May 07, 2015, 06:28:40 PM »
Hi Jeff  :)
This is how mine worked.
The feeder had 2 limit switches, the one near the saw doubled as a home switch (typical).
There was a sensor#1 in the traveling feeder vise (I called them clamps) and another stationary one (#2) at the full retract position of the feeder slide.
Once the operator entered the part length and the kerf (along with the feeds and speeds) do a cycle start.
Our material was 24' long and we cut the entire stick ..... and many of them for a given part length.
With material loaded, and sensor 2 made, the feeder would retract (via math in the macro) to the greatest number of incremental feeds for the full stroke of the feeder, clamp and feed incrementally until at "0". Then, if #2 is still made, repeat ... until the material clears sensor #2, at which time the feeder only retracts ONE length increment and continues in this fashion until sensor #1 goes clear, which ends the cycle with the entire stick consumed.
It worked exceptionally well but I have since modified it to be a bit less complex. It now uses a PLC, small Text panel for an HMI and Indexing servo drives.
TP and Ger21 helped tremendously. I could not have done it without them .... for sure.
The original used macros, a brain and a small PLC. Also used the CSMIO-M but it was too slow at 100kh.
I'll find the macros and screen for ya if you'd like.

Russ
 
Re: I have CNC'ed my cold saw
« Reply #15 on: May 07, 2015, 06:49:31 PM »
Jeff, I meant to compliment you and say that you've done some beautiful work there ! (finally got a few of the pics loaded).
Real classy. A1 craftsman, you are.
Thanks for posting.
Regards,
Russ
 :)
Re: I have CNC'ed my cold saw
« Reply #16 on: May 07, 2015, 07:13:37 PM »
You guys both did a nice job on your saws. However firing up a pc to cut a piece of metal just seems over the top to me. I have Mach 3 running my homebuilt Cnc which of course needs coordinated motion. However I've already had PC problems  that I had to deal with. Contrast that with all the machines I built using PLCs that have been running for 15 years or more without ever being shut off. In a very short time a PLC will be shown to be an easier and cheaper solution for a saw.  Just because you can doesn't mean you should.
Re: I have CNC'ed my cold saw
« Reply #17 on: May 07, 2015, 08:03:13 PM »
................ firing up a pc to cut a piece of metal just seems over the top to me.  

Hi Gary, I eventually came to that conclusion as well. But, at first I was sort of experimenting with Mach and the materials I had on hand.
Also, this saw runs continuously for a 12 hr shift. We cut 3500+ lbs of .125" OD tubing per week. (just one of many sizes).

Yep, a small PLC, HMI and drives all on rs485 is the bees knees.  :)

It was an fun project and I'm sure Jeff will enjoy his adventure as well.

Russ
 :)



Re: I have CNC'ed my cold saw
« Reply #18 on: May 08, 2015, 09:32:50 PM »
I'm doing a 7500 gallon per day waste treatment system right now. Two blowers, 3 pumps, 5 VFDs, 11 motorized valves, 4 solenoid valves, 3 flow meters, 3 analytical instruments, 3 float switches, two level transmitters, 3 capactive proximity sensors, a PLC, HMI, and a cell modem.  Will run 24/7 for many years.  It turns sewage into crystal clear almost drinking water!
Re: I have CNC'ed my cold saw
« Reply #19 on: May 10, 2015, 05:25:40 AM »
OK, I've done my homework.

Here's the screen I have modified for the saw.

 

Sub Main ()

SawKerf=GetUserDRO(1003)
If SawKerf=0 Then
Message("Saw Kerf can't = 0")
Exit Sub
End If

MaterialLength=GetUserDRO(1004)
If MaterialLength=0 Then
Message("Material Length can't = 0")
Exit Sub
End If

SawRPM=GetUserDRO(1005)
If SawRPM=0 Then
Message("Saw RPM can't = 0")
Exit Sub
End If

SawFeed = GetUserDRO(1006)
If SawFeed = 0 Then
Message("Feed can't = 0")
Exit Sub
End If

StartCutHeight=GetUserDRO(1010)
If StartCutHeight=0 Then
Message("Start Cutting height can't = 0")
Exit Sub
End If

EndCutHeight=GetUserDRO(1011)
If EndCutHeight=0 Then
Message("End cutting height can't = 0")
Exit Sub
End If

'************************************

LengthOfPart=GetUserDRO(1001)
If LengthOfPart=0 Then
Message("Length of Part can't = 0")
Exit Sub
End If

NumberOfParts=GetUserDRO(1002)
If NumberOfParts=0 Then
Message("Number of Parts can't = 0")
Exit Sub
End If

If MaterialLength<((SawKerf*NumberOfParts)+(LengthOfPart*NumberOfParts)) Then
Message("Material length is not long enough for the number of parts")
Exit Sub
End If
 

SetUserDRO(1009,0)
p=GetUserDRO(1009)

'***New File
OpenTeachFile "EqualCut.tap"
Code "(EqualCut.tap)"
Code "G20 G50 G64 G90 G94"
If GetUserLED(1006) Then
ActivateSignal(OUTPUT2)
End If
Code "G4 P0.5"
Code "M3 S" &  SawRPM

If p=0 Then
Code " M200   ( Close Feeder Clamp ) " 'Close Feeder Clamp
Code "G00 A "  &   StartCutHeight
Code " M203                     ( Open Saw Clamp ) "   'Open Saw Clamp
If GetUserLED(1001) then
Code "M8"
End If
Code "G00 Z " & LengthOfPart
Code " M202   ( Close Feeded Clamp ) "  ' Close Feeder Clamp
Code "G01 A " & EndCutHeight & " F " & SawFeed 
SetUserDRO(1009,1)
End If

NewZ=LengthOfPart+SawKerf
p=GetUserDRO(1009)

If p>0 Then
 For i=0 To (NumberOfParts-1)
 NewZ=(NewZ+LengthOfPart+SawKerf)
' Code " M200  ( Close Feeder Clamp ) ' Close Feeder Clamp
 Code "G00 A " & StartCutHeight
 Code " M203                    (  Open Saw Clamp ) "  ' Open Sawlamp
 Code "G00 Z " & (NewZ+SawKerf)
 Code " M202  ( Close Saw Clamp ) "  ' Close Saw Clamp
 Code "G01 A " & EndCutHeight & " F " & SawFeed
 Code " M210  ( Counter Increment ) "
 Next i
 Code "G00 A " & StartCutHeight
'SetUserDRO(1009,0)
End If

Code "G00 A0 "
Code "M30 "
CloseTeachFile
Call LoadTeachFile()
'****Exit Wizard back to mach
Call LoadStandardLayout()

End Sub
 

The Stock feeder is 32in long (travel).  What I would like to add to my macro is,

If the next part to cut is longer than the distance from the feeder vise to the end travel switch, then open saw vise, return the feeder vise to zero (start), close saw vise

and resume the cutting process.

By the way, this macro is one I found on this forum and modified to fit my needs.


Thanks for any help, Jeff