Cut to length application, need help please

snaggletto

Member
Join Date
Jul 2004
Posts
61
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 AD DL05, and AD Sureservo system, and Directsoft 5 (100 word demo version). I also have a C-more micro touch screen to input the quantity of parts to cut, and to select each of the 8 position presets.

One of the control options on the Sureservo amp is to use the internal indexer (pulse generator). There are 8 position presets accessed by turning on a unique combination of 3 inputs on the amp itself.

I've included some of my code below. As it sits, the motor will feed one length, count, and then activate the cutter when the "Servo at postion" signal from the amp turns on input X4 on the PLC.

The basic functionality is there, but I have to manually, and repeatedly turn on then off contact C27 to keep looping the program up until my counter is met. In other words, Y2, Y3, and Y4 need to turn on momentarily, just to get the servo moving. Then they need to turn off. The material gets cut when the servo reaches it's preset position. Then Y2, Y3 and Y4 need to cycle on/off again for the next feed length and so on.

I think a timer might be the answer, but the example I've found seems to be an 'on delay' and doesn't look like it would do what I want. I know there is an easy solution, I just haven't figured it out yet. Any help would be appreciated.



 activate cutter 
|X4|-------------(Y0)
|-(C30)

count parts
|C30|-----------|----------|
| CNT CT2 |
| K5 |
|C31|-----------|----------|

|CT2|-------------(C32)

feed material
|C27|---|\C32|-----------(Y2)
|-(Y3)
|-(Y4)

 
Last edited:
snaggletto,

Presuming that c27 is the initiate contact. I changed it to a positive transitional contact and used a sealin bit "C0" and a timer to limit the time.

snagletto.jpg

.
 
Thanks for the quick response.

I understand the latch, and the timer, but I'm not exactly clear on how the positive transitional contact interacts with them both...
 
I made some presumptions based on your post. I presumed you were turning c27 on and off manually.

What I'm thinking you want to do is to
1. Select the length you want.
2. Enter the parts you want cut.
3. Press the "go" button, and the machine will cut parts untill the quantity is satisfied.

Another presumption I'm going to make is that "X4" is from the servo indicating that the servo is "in position". And that this input stays in the "on" state untill a new cycle from y2, y3, y4 are reinitiated.

At this point I'm in trouble because I see you are using a constant preset in your counter. I would think that you want to access the preset from the HMI.
 
A transitional contact acts like a momentary pushbutton. It is only on for 1 scan. Also known as a One-Shot. When C27 changes from False to True, it will turn off after one scan, and remain off until the logic driving C27 turns off.
 
milldrone said:
I made some presumptions based on your post. I presumed you were turning c27 on and off manually.

What I'm thinking you want to do is to
1. Select the length you want.
2. Enter the parts you want cut.
3. Press the "go" button, and the machine will cut parts untill the quantity is satisfied.

Another presumption I'm going to make is that "X4" is from the servo indicating that the servo is "in position". And that this input stays in the "on" state untill a new cycle from y2, y3, y4 are reinitiated.

At this point I'm in trouble because I see you are using a constant preset in your counter. I would think that you want to access the preset from the HMI.

Your presumptions are mostly correct.

The length is preset in the servo amp, I have 8 toggle switches on my HMI to select which preset to use. In this case, preset 8, which requires Y2, Y3 and Y4 to turn on. C27 is the internal PLC contact that my toggle switch turns on. When all is completed, I will have C20-C27, each tied to it's own toggle switch on my HMI.

The number of parts to cut is entered in the HMI, and stored in V1200, which is used as my counter constant. When the number of parts required is met, internal relay C32 should stop the 'loop' on the feed material rung.

Physical input X4 is wired to the servo amp output, "SERVO AT POSITION." As soon as I power up, X4 is "ON". When I request a preset, IE. turn on Y2, Y3 and Y4, X4 turns off (servo at position output turns off) and the motor moves to the preset position. Upon reaching this preset, the servo at position output turns back on, turning X4 back on, triggering the cutter.

In summary, I would like this to work like this;

1. Power up, and ignore X4 so the cutter is not energized. The servo amp powers up with the "servo at position" output energized.
2. Press HMI toggle "SERVO ENABLE."
3. Enter HMI value "number of parts to cut" and load into V1200.
4. Press HMI toggle "length preset 8."
5. Press HMI momentary button "RUN," momentarily energizing Y2, Y3 and Y4.

6. The servo should then move to position, during this time, Y2, Y3, and Y4 should turn off.

7. When the servo reaches position, X4 will instantly turn on and energize the cutter. Wait two seconds, or read an input from a proximity sensor to show that the cutter actually made the cut.

8. Add one to the counter.

9. Again, momentarily energize Y2, Y3 and Y4 to get the servo running to the next incremental preset position and repeat until the required number of parts is reached.

My one concern here is that initiating the servo to move to position and de-energizing the amp output "servo at postion" (tied to my X4 input, cutter trigger)all happens at the same time automatically in the servo amp. I can see that the servo may start to feed material again, before the cutter is fully retracted. My material is flexible, so no damage done, but it would be best to retract the cutter before initiating the feed move.

I guess I need to use X4 as a trigger to an internal relay, so that I can control the logic of the cutter independantly from X4??

Finally, the biggy, is how to 'pulse' the y2,y3 and y4 outputs at the appropriate time.


Eventually, I'm likely to purchase a serial cable to do modbus coms from the PLC to the servo amp. This will allow me to overwrite a single position preset on the servo amp and then I'll be able to have an infinitely adjustable length entered through the HMI, rather than having to manually change 8 presets on the servo amp itself as I'm doing now. Also,I will try the high speed pulse output feature (Mode 30?) on my DL05 DC output PLC as a third control option. The downside here is the puny 5khz pulse rate, which I will have to use electronic gearing, losing resolution on the servo, just to get the motor up to a reasonable speed. However, I want to trudge through this 8-preset configuration first.
 
snaggletto said:
In this case, preset 8, which requires Y2, Y3 and Y4 to turn on. C27 is the internal PLC contact that my toggle switch turns on. When all is completed, I will have C20-C27, each tied to it's own toggle switch on my HMI.

If the signal from Y2, Y3, Y4, is what initiates the servo. Then you can have only 7 presets. If there is another "initate" servo input then Y2=off Y3=off Y4=off would be preset #1.

Otherwise
preset 1 = Y2
preset 2 = Y3
preset 3 = Y2 & Y3
preset 4 = Y4
preset 5 = Y2 & Y4
preset 6 = Y3 & Y4
preset 7 = Y2 & Y3 & Y4
 
snaggletto said:
1. Power up, and ignore X4 so the cutter is not energized. The servo amp powers up with the "servo at position" output energized..

Does this occur when the servo enable is not energised?

snaggletto said:
5. Press HMI momentary button "RUN," momentarily energizing Y2, Y3 and Y4.

6. The servo should then move to position, during this time, Y2, Y3, and Y4 should turn off. ..

This is not what is displayed in this timing chart

snagletto2.jpg


In the chart for position #8 the servo input you labeled as Y3, (position comand select 1) the input to the servo was never turned off. But the "comand trigger" was pulsed for 2 milliseconds minimum.

If I'm reading this chart correctly only the "command trigger" needs to be pulsed.

And the matrix for position 1 through position 8 is binary, offset by 1 so that

............Y4 Y3 Y2
position 1 = 0 0 0
position 2 = 0 0 1
position 3 = 0 1 0
position 4 = 0 1 1
position 5 = 1 0 0
position 6 = 1 0 1
position 7 = 1 1 0
position 8 = 1 1 1
 

Similar Topics

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...
Replies
26
Views
18,819
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,245
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,779
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,799
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,144
Back
Top Bottom