Hoist positioning

lauu

Member
Join Date
Aug 2003
Posts
83
Hej there.

I need some input for a new project I got this week.

I am replacing an old Siemens S5 app. that controls a pick and place hoist.

The hoist picks product from a storage area with about 100 places. The storage area look like a spreadsheet i excel. 10 Rows and 10 columns.

y-Distance = 0-10 meter
X-Distance = 0-50 meter
The old system used 3 asyncron motors with encoders controled by VFD, and a "stop" sensor to positioning the hoist (X-,Y-,Z- akse).

The old VFD's is replaced by new ones from Siemens Micromaster 420 or 440 with profibus DP and the S5-PLC is replaced with S7-3152DP.

Encoders is replaced with laser distance measuring sensor from SICK.

My quistion:

What is the best way to positioning the hoist?

1. Err = (SP-PV)

IF Err > xx distance THEN Speed = Max Speed.
IF Err < xx distance THEN Speed = Creep Speed
IF Err = 0 AND Stop Sensor = TRUE THEN Stop hoist

2. I have read this in another thread.
Speed = SQR(SP-PV) * K + Min_Speed
IF Speed > Max_Speed THEN Speed = Max_Speed


3. Other Way


Can I set the RAMP UP/DOWN time like this:

Hoist data X-akse: Max speed = 105 m/min
Max Acc, = 0,4 m/s
²
v0 = 0 m/s
v = at + v0 => t = v/a => t = (105/60)/0,4 = 4,4 s.



I Hope some one could give me some input on this.

Thanks

Jesper.

🤞🏻
 
I like #2 for systems that don't have a real high cylce rate. It is simple to implement and is closed loop. It can take some time to settle in at the end depending on your min speed but that is the only downfall. I would try that first.


You need an additional piece of information for #3 the way you have it set up. You know how long it takes you to stop but you don't know the distance associated with that stop time, or more correctly the time taken to decel a given distance given your accel rate. If I were setting up method #3 I would stick with distance (how far will I go if I start decelling right now from the speed I'm at right now).

Keith
 
Thanks for your answer kamenges!

I think I have made a litte mistake by mixing questions.

What I ment by the #3 "Another Way", was only for you or others to show me others ways of doing things.


The UP/DOWN Ramp time, was a new question.

What I was asking about was if I let say used the #2 method, could I use my calculation to set the Ramp UP/DOWN Time?

Thanks again

Jesper
(y)
 
OK, I understand now.


I think as a start you can use the method #2 you have described. You really haven't defined any performance specs so it's hard to know how complicated you need to get. I recommend #2 because it is a nice middle ground between full-blown motion control and slowwing and stopping based on discrete positions.

As you approach position the error equation will define the decel rate. So you have a lttle bit of an opposed requirement. You want the accel rate in effect as you accelerate but you don't want it in effect as you decelerate. If you have separate accel and decel times that may help. However, you probably also want to issue a bipolar speed command just in case you overshoot your target. If you use a bipolar command the speed limit equation will bring you back to position as opposed to accerating you out the other side. But if you do that the sense of accel and decel change as you cross position. Maybe this isn't a big deal but it is something to keep in mind.

In the cases where I have used this method I have set the accel times in the drives to the minimum value that won't trip the drive or break anything mechanical. Then I did my own speed command ramping in the plc. I just like the control that gives me.

Typically the accel time parameter in a drive is based on the max speed parameter in the drive. If you set a max speed of 1750 RPM and an accel time of 10 seconds you will accelerate to 1750 RPM in 10 seconds. If you change max speed to 1000 RPM then it will take 10 seconds to get to 1000 RPM. Not all drives are like this so check your drive info. But many are.

Keith
 
Where Vc = Velocity Current
Vh = Velocity High Speed Max
Dr = Distance Scaled of current position in relative move
Da = Distance Scaled to Accelerate
Dd = Distance Scaled to Decel

For Acceleration
Dr = |Start Pos - Current Pos|
Vc = ((3 * Vh * Dr^2) / Da^2 - (2 * Vh * Dr^3) / Da^3) + Min Start Speed
If Vc > Vh
Vc = Vh

For Decel
Dr = |Current Pos - End Pos|
Vc = Vh - ((3 * Vh * Dr^2) / Dd^2 - (2 * Vh * Dr^3) / Dd^3) + Min Start Speed
If Vc > Vh
Vc = Vh

This does a couple of neat things. Consider Vh to be a constant, and pull it out. Also pull out Dr/Da^2. Now you're left with

(Vh * Dr/Da^2) * (3 - (2 * Dr/Da ))

What's so neat about this? Consider accelerating starting at 0. Dr/Da will be 0, so you will have 0 + min start speed. As Dr/Da increases to 1, you get Vh, otherwords, full speed. You have a nice curve inbetween thanks to that squared term. A similiar function happens while decelerating. The if statement keeps the Speed from going over max speed.

I use this to run a 5800 pound pipe up 30 feet in the air, and set it down GENTLY (amazingly so) while running at full speed nearly the entire time. My accel length is roughly 5 inches, as well as the decel length.
 
There may be another way around this.
A word of caution, most of my experience is with SEW VSDs.
Many variable speed drives have a servo option, and I know Siemens manufactures servo drives, so you may be able to get this with the drives you have used. With these options, all the functions you are after have already been built in. Your laser sensor would feed position information directly to the VSD. Your PLC would simply send the desired position to the VSD via Profibus, and, once enabled, the drive would simply move to that position. Most of the difficult programming would already have been done. I would reccomend that you do this if your drive has the capability of handling these functions. Your PLC can handle the sequencing and position selection.
 
lauu said:
My quistion:

What is the best way to positioning the hoist?


With the old encoders.... I'm sorry but I did a private record storge and retreavel thing a while back; (10 levels, 4 rows with 20 colums each side, if I remember correctly). Do the math, thats someting like 1600 locations.

There were actually 4 axis involved. Two for the floor plan layout, 1 for the mast, and 1 for the pickup, (left or right). All the encoders were driven by HTD-10 open ended timing belts laid in the tracks. No knowen crashes since commissioning. (but we had a few during trials)...
 
Tanks to all for your inputs.

I will have a closer look at it on monday, I'am quiet bussy wright now with another project I properly have to work the hole weeknd so bare with me and thanks again.

Jesper
 
Speed = SQR((SP-PV) * K)
; Real-type variables, +/-100 % is equal than +/-10000 for Finnish Vacon (Cuttler Hammer in US) drives and +/-100% is +/- 32768 for the Siemens

IF Speed > Max_Speed THEN Speed = Max_Speed
IF Speed < Min_Speed THEN Speed = Min_Speed

Ramp time depends of constant K and it's SQR, the PII is very good K for starting.

I use allways this method. Reason: when using more than 50Hz (60Hz) the VFD lowering voltage and can't brake as well as with whole voltage. It also minimizes the stopping time.

For the lift operation K is differend for downwards than upwards (shorter ramping) becourse of gravity, so use gravity profit.

Br. Seppo Alanen
 
Hej Again

Kamenges and seppoalanen

The SQR((SP-PV) * K) + min_speed is my first choise at the moment.
Do you guys use a "Stop" sensor to stop the drive when SP=PV, or just stop when SP=PV, I'am asking because of the min_speed?
Where dose the equation come from (P-reg)?
Kamenges what performence specs do you need?

CroCop

You gave me a total brain melt down (no offensive).
I tried to play with the equations but I can't figuar it out, please help me.
what is the "Da" and the "Dd" terms and how do I find them.

Doug_Adam

Your have a point there. I don't no Simens Micromaster Drives (I use Danfoss), so I will get the manuel and start reading. I can't use the laser sensor directly to the VFD I think because its interface is profibus and I also need to display
the measured value on a scada-system.

elevmike

I can't use the old decoders, the customer says that they are to expensive to repair so they want's another system. And then a very convincing sailsman came along, and now I'm stok
with the laser distance measuring sensor.


Thanks to all

Jesper


🍻
 
Jesper,

Da is the distance in scaled units you wish to accelerate over.
Dd is the distance in scaled units you wish to decelerate over.

This allows you to speed up on a nice ramp, and slow down with a nice ramp.
 
lauu said:
elevmike

I can't use the old decoders, the customer says that they are to expensive to repair so they want's another system. And then a very convincing sailsman came along, and now I'm stok
with the laser distance measuring sensor.

I Think the encoders cost like $150.00 USD each... Our system was physically small, the enviroment was clean, and just a 20-25 lb load. In a different situation (big & dirty) the laser gizmos might be better suited.

The real fun part is the "which box goes where" thing. A real test of PLC programming prowess, (for me anyway)... I'll spare you the long story, (and me the embarassment), but if your challanged with that let me know and I'll pull the file...

Have fun..
 
Hej CroCop
What is the units?

Vc in meter/sek.
Vh in meter/sek.
Dr in meter
Da in meter
Dd in meter
Min_speed in meter/sek.

I thing my laser distance measure sensor is in unit of milimeters.
So the X-akse => 0 - 500000 milimeters and the y-Akse => 0 - 10000 milimeters

So if:
Sp = 25000 mm
Pv = 0 mm
Vh = 150 m/min => 1,9 m/s
Dr = |Sp - PV| = 25 meter
Da = 5 meter
Dd = 5 meter
min_speed = 0,1 m/s
then acc.

Vc = ((3*1,9*25^2)/5^2-(2*1,9*25^3)/5^3)+ 0,1 =>
Vc = (3562,5/25 - 59375/125) + 0,1 =>
Vc = -332,4 what is this?
What am I doing wrong?

Jesper
 
Jesper,

I made one mistake in writing my formulas. See the Excel Sheet I've attached.

The formula for Decel Should Be

For Decel

Dr = |CurrentPos - End Pos|
Vc = ((3 * Vh * Dr^2) / Dd^2 - (2 * Vh * Dr^3) / Dd^3) + Min Start SpeedIf Vc > Vh
 

Similar Topics

Dears Iam looking for Hoist Crane application specially if there is Siemens application for hoist motion of over head cranes
Replies
6
Views
3,411
Hello All, In using compactlogix. I have two trolleys on one line. One trolley is up and running using compact logix 1769 L33ER. Since I have a...
Replies
2
Views
2,055
Hello buddies, I'm now working with hoist demag model number F24-8D and PLC mitsubishi FX series. Currently the hoist was movement control by...
Replies
6
Views
4,465
dear people, hi ,anyone know how to drive a master movidrive B using the manual function in MT manager? had a jam on a hoist in the fully up...
Replies
9
Views
2,762
I have a question concerning a communication loss from the plc to either the power flex drive or point IO listed in the diagram. Since this is a...
Replies
13
Views
4,615
Back
Top Bottom