cut to length application

david90

Member
Join Date
Apr 2010
Location
ca
Posts
202
What's the best ladder logic programming design for a cut to length machine? I would like it to have at minimum run,stop and jog function. Could somebody point me to an example code?
 
Last edited:
were going to need a better description of what hardware you have. type of motor type of drive, PLC? Is the shears on pneumatics, hydraulics?
how many degrees of freedom does the shears have, Are they simply open shut or do they move as well?
 
the motor that moves the material to the shear is a large 100HP motor controlled by a DC drive. The DC drive is configured for a 2 wire start stop. The DC drive has an analog input which can be used to control the motor's speed. The system has a measuring wheel with a 1024 PPR encoder which measures the material as the motor pushes it to the shear. The system should have start, stop, jogfwd, jogRev function. All functions with the exception of the E-stop will be controlled from an Eaton's controller shown below.

When I press start, here's what suppose to happen. The motor should start pushing the material to the shear. As the material moves toward the shear, it turns a measuring wheel with an encoder which output to the controller. The controller counts the pulses and stops the motor at a preset or desired length. After that, the controller delays for 1 sec before outputting a signal to a relay which extends a shear to cut the material. Before retracting the shear, the motor should reverse to pull the material back a bit before retracting the shear to prevent the material from briefly catching on to the shear's blade. The material should move forward to the original position after the shear retract to prepare for the next cycle.

I'm trying to automate the system using Eaton's fusion controller. This controller is counter and PLC in one package. The controller has an encoder feedback input, analog output, high speed counter , LCD, buttons and limited ladder logic programming capability.

Here's a picture of it.

ct_127323.jpg


I don't expect people to know about this controller so I won't ask questions that are specifically about to this controller.

My question is mainly on how to design the ladder logic code. I'm interested in learning how to design as well as implementing the design with ladder logic. I have minimal experience with PLC and ladder logic. I do have good experience with C++ programming though but it doesn't help with ladder logic :).

Should I use a flow chart based design? Here's what the design looks like
1.jpg
 
Last edited:
david90 said:
The controller counts the pulses and stops the motor at a preset or desired length.
What about ramping down?
Waiting for inposition?
After that, the controller delays for 1 sec before outputting a signal to a relay which extends a shear to cut the material.
That is a long time and lost production.

Before retracting the shear, the motor should reverse to pull the material back a bit before retracting the shear to prevent the material from briefly catching on to the shear's blade.
Ok, now we know why.
What about ramping up and ramping down and then waiting for inposition then raise the shear. Then wait for the shear to be clear.

The material should move forward to the original position after the shear retract to prepare for the next cycle.
This seems like a wasted step. Why not index forward the cutlength plus the "clear shear" distance. This skips the retracing the "clear shear" move.

I'm trying to automate the system using Eaton's fusion controller. This controller is counter and PLC in one package. The controller has an encoder feedback input, analog output, high speed counter , LCD, buttons and limited ladder logic programming capability.
It will work, eventually. The right tools depends on whether you are making many of these or just one.

With the right tool the motion program would be done in about it took me to write this. Something with sequential function charts or a built in state machine would make this go faster.

Yes, you should use a statemachine.
http://www.cs.umd.edu/class/sum2003/cmsc311/Notes/Seq/impl.html
In PLCs there is usually a bit for each state. That looks like the F contracts. I don't see any outputs just the means of making the transition from one state to another.

I think you have the right idea. It is just the details that will take time to figure out.
 
What about ramping down?
Waiting for inposition?

That is a long time and lost production.


Ok, now we know why.
What about ramping up and ramping down and then waiting for inposition then raise the shear. Then wait for the shear to be clear.


This seems like a wasted step. Why not index forward the cutlength plus the "clear shear" distance. This skips the retracing the "clear shear" move.


It will work, eventually. The right tools depends on whether you are making many of these or just one.

With the right tool the motion program would be done in about it took me to write this. Something with sequential function charts or a built in state machine would make this go faster.

Yes, you should use a statemachine.
http://www.cs.umd.edu/class/sum2003/cmsc311/Notes/Seq/impl.html
In PLCs there is usually a bit for each state. That looks like the F contracts. I don't see any outputs just the means of making the transition from one state to another.

I think you have the right idea. It is just the details that will take time to figure out.

Should I regard each of the machine's action (move, stop, shear down (cut), move backward a little, shear up) a state? When do I put the machine's action in a state and when do I put separate them in two different states?
 
Should I regard each of the machine's action (move, stop, shear down (cut), move backward a little, shear up) a state?
Yes.

When do I put the machine's action in a state and when do I put separate them in two different states?
it is easier when each state definition is as small as possible. Some states may last only one scan. Show us your best attempt so we have some idea of how your controller works.
 
Here is my new state diagram. Is it possible to add a pause state that causes the system to pause but return to the previous state with the start cmd?

I reverse the motor prior to retracting the shear to prevent the shear from catching on to the material on its way up.

Any general suggestions or comments on my design will be appreciative.
3.jpg
 
the motor that moves the material to the shear is a large 100HP motor controlled by a DC drive.....

Before retracting the shear, the motor should reverse to pull the material back a bit before retracting the shear to prevent the material from briefly catching on to the shear's blade.....

I know that you are specifically asking for help with the controls side of this but if I woke up in your situation, I'd be looking for a better way to do the retract functionality that you need. Perhaps if the material that you are moving is flexible enough and there is enough room between the shear and the spool/drive mechanism, a cylinder that would push enough bend to cause the material to withdrawl from the blade. There are certainly other methods, this is simply an example. If you used some other method to retract the material you'd save wear on the motor, could feed material at the same time your retracting mechanism was indexing which would increase production, and likely save a little on the electric bill. This assumes that the machine design would allow for this and that your customer is receptive to changing the machine.
 
Thanks for the input. The reversing of the motor feature makes the program a bit awkward but currently it's not a concern right now. There are other issues that I would like to address and solve first before trying to find an alternative to reversing the motor.

I would like to give the operator the ability to jog the motor. In the state diagram, where would be the best place for this functionality? What are some safety concerns regarding the jog function?
 
Last edited:
I would like to give the operator the ability to jog the motor. In the state diagram, where would be the best place for this functionality? What are some safety concerns regarding the jog function?

Not much for diagrams....

You need to have a signal on the blade that its in the top position then you will enable the operator to jog and have a manual switch, then you can have that sub-routine run when in manual also have an auto position and run the auto sub when true

The best way I have found to write this type of program is to talk it out.... and make every 'state'ment one paragraph then you can move the paragraphs where needed

You know that in your first cycle the machine needs to be in home position, so the first would be check to see that all safeties are in place and the blade is in the upper pos

Next feed the material... {insert code} .... Stop feed

Cycle blade ( more code} .... verify blade

Rev material {more code}....

Cycle blade ( more code} .... verify blade is up


This is something like I would start with, that said Peter is the pro so anything he says read it...
 

Similar Topics

Hello, This is my first serious PLC project. I'm self educated, and trying to build a servo driven cut to length machine for our shop. I'm using...
Replies
8
Views
10,847
Hi... I have an cut to length application using vector motor and powerflex700VC. Line speed is 40 MPM, cut length is 2000 mm +/- 2 mm and type of...
Replies
27
Views
10,250
Our customer has a Hydra-Draw machine. This machine pulls coiled steel rod through a die and then cuts-to-length. The hydraulic cylinder is...
Replies
0
Views
2,780
Hi.. For cut length application, how to define accuracy of cutting length (we need +/- 1mm)? I used compactlogix with 2048 ppr encoder and...
Replies
1
Views
4,801
Hi... I want to using Unidrive SP2402 for cut to length machine with running speed at 30 meter/min. I use AC motor (c/w 1024 ppr encoder as speed...
Replies
0
Views
5,147
Back
Top Bottom