Rockwell: Rotary Servo axis (2x)

JPTech

Member
Join Date
Aug 2014
Location
QC
Posts
8
Hi,

I have 2 rotary axis on 2 separate belt (servo) that could possibly enter into collision if not properly program and it is giving me some headaches...

Basically, I have to fill a number of pocket (collator), then when all the pocket are fill, move the axis to a "unloading" station. When the first collator is being fill, the second one needs to be following right behind to make sure to take the place of the first when ever it is full and moving to the unloading station. When the filled belt is now empty, it needs to go right behind the other belt to take it's place when that one is filled.

How would you handle that kind of situation.

I would be happy to add more details.

Thanks
 
Well, I'd probably start by listing all the conditions & possible positions for the system. Based on what you've described the system could leverage a virtual cam which would ensure that the two belts are always synchronized. Beyond that, it's hard to say without having more details.
 
Thanks Vlad!

I though about using a virtual axis but there's something I can't get my head around with the fact that the 2 axis will need to move independently at some point.

Here's quick drawing of what I'm working with.

https://www.dropbox.com/s/cwfm65tuiul2vdy/2axisRotary.jpg?dl=0

Your application makes sense. I've seen many case packers operate in this exact manner. There are many ways to approach this; you probably don't need to do any virtual cam or gearing at all; this could be done with a simple sequencer. (SQI/SQO in the Rockwell world).

What exactly are you struggling with? You should have 4 stations based on what I see: 1. Loading, 2. Unloading 3. Waiting for Loading station 4. Waiting for Unloading station. Based on that, you can write conditions as to where the servos need to be. Once they are in stage 1 or 2, they need to index further to accommodate individual parts.
 
First of all, I'm struggling with the "homing" sequence. How can I home both servo at the same time, or at least or one after the other without having them to collide? Let's say you start you machine and the axis are in "not known" position, how should I handle these situation? In other words, how can I know which is the first and which is the second cart?
 
I haven't fully thought this through (as I am at work and need to earn my pay), but I would consider the following: placing sensors on each track (at least three, maybe four) that the home dogs on each pallet will trip. You could then move the pallets at a fixed speed (the same for each) in the clockwise direction. You could take note of which sensors trip to determine which pallet is closest to the home position (when moving clockwise). Once you have that determined, you could home the pallet closest to the home switches first, then move it to the unload position. Once in that position, the second pallet could be homed, then sent to the load position. The key would be to keep all slow moves and jogging in the clockwise direction until you have at least one pallet homed. If that is too complicated, you could always make a semi-auto homing routine where the operator would jog each pallet to a known position, then start the homing routine from there.
 
A typical way to home this is to wire the home sensors in to the probe inputs of the drives. Gear one train to the other. Move at speed until both sensors are met. Stop the master. Some simple math will give you the offset to the home switch and you would manually set the reference.
 
The easiest way (And the one that makes you lose your mind the least) is to home and position in states. For example, I have states for "Load", "Transport", "Unload" and "Follow" in normal operation. I have states for "Jogging", "A Referenced", "B Referenced" and "Positioning" in the homing sequence.

Here's how I home paired axes like this:
-You need a sensor for each set of collators.
-Only the front of the collator needs a striker for the sensor.
-The sensors/strikers need to be offset so they can't detect the other collator.
-Jog both collators together with the same ramp and speed.
-Use a passive homing method on both collators and make sure you issue the home commands when they are both off the sensors.
-Keep jogging until both collators are homed.
-When either collator hits the home sensor a second time overlap moves with the same speed and ramp.
-CollatorA is going to the "Load" position and CollatorB is going to the "Follow" position.

When I move them, I move them independent of each other and just don't crash them together. The tricky part is around the "Follow" state when one is following the other, and then they change over quickly between the two. My following state position is the position of the front collator + length of collator + bravery offset(5mm). This way the second collator can't ever get closer than 5mm while it is "Following". All the other distances are not close to each other.

I also have a check. If one collator gets within the same position as the other collator's length + bravery offset (When they crash together), I will fault the system and stop them both dead. After that I force the operators to empty out and reference them again. The crash detection has never actually faulted outside of initial commissioning, so I must have managed to program the other stuff ok :ROFLMAO:

Start programming one collator at a time, and physically remove the other one or the bits that can crash together if possible. You want a homing sequence first. Always only allow the axes to move forward/positive. If your axes can be moved by hand or gravity while the machine is down, I suggest using braked servo motors, otherwise you will need a position recovery sequence too, which is a whole other headache.


Sorry for the long read!
 
I think I would try this . . .

Four sets of two proxes each.
Home - which will be before the 'crash point' in front of the Fill position.
Fill position.
Pre-Unload - before the 'crash point' at the unload.
And Unload Position.

When the machine starts up, both carriers move at the same speed. First one to go
through the Home position stops at the Fill position. Second carrier stops at the
Home position. First carrier gets filled, and moves on to the Unload position. Second
carrier fills, and moves to the Pre-Unload. When the one in Unload is emptied it goes
around to the Fill position etc. etc. etc.
Poet.
 
Thank you everyone!!! Sorry for not replying sooner!

I took all of your input into account and I have been able to make it work!

I ended up doing 3 sequence. Home, Priming (starting position), Production.

For the homing, I did use the MAH in combinaison with the MAG. So basically, I MAG the slave axis B with Master axis A then do a MAH of the axis A and after vice-versa.

For the rest I use the 4 positions that couple of you suggest such as Loading, Waiting Loading (follow), Unload, Waiting Unload. I worked with the MAM for moving the axis to specific position and MAJ for loading the unit and for the follow sequence.

Again thanks for all the inputs!(y)
 

Similar Topics

Hi all. I have 1793-IE4 (4)analog inputs modules in a 1794-ADN IOFlex DeviceNet Rack. I cannot find if I can I have access to individual channel...
Replies
1
Views
23
Hi All, Wondering if anyone has a source for information about products with problematic production runs from allen bradley/rockwell. Ive seen...
Replies
2
Views
119
I have a PH meter that I am trying to bring its data into 1756-L81. I have downloaded the Rockwell MODBUS AOI kit, but I am not sure if I need to...
Replies
5
Views
182
Hi all. Customer wants analog faceplates really bad, even if we explained that it doesn't make much sense in his process. What he wants to see...
Replies
5
Views
131
Hello, recently I saw a graphic from any Rockwell App, I cant identify which one is. Attached a SS. Its used to see dashboard from datapoints and...
Replies
2
Views
131
Back
Top Bottom