Studio Logix 5000 - Multiple Axes in Velocity Application

RockyLeafs

Member
Join Date
Aug 2014
Location
Southwestern Ontario
Posts
80
Hello All,

We are developing a machine that will pull in corrugated pipe into a system.
The machine in general is like a worm, as in the pipe has uniform ridges and there will be 8 axes (4 upstream, 4 downstream) working together to pull the pipe through. We have built one already that did work, so we know the mechanical design works. However, we used a different brand for the servo drives, and now we decided to use Rockwell AB servo system instead. Mostly because of brand familiarity and not requiring an outside contractor to program the equipment.

I have some experience dealing with motion drive on their own, but never working in together as a system.

The idea being, all there servos are rotary, so position doesn't really matter while running, just at the start.
Before the start, the servo will all clock to home position (depending on pipe size, the downstream servo may need to clock to a specific position). I'd most like just use a home move (MAH) then a MAM to set all the servo to the start position.

For cycle start, i'd like all 8 servo to move at the same speed and accel/decel. I'm assuming a simple MAJ command would suffice (assuming 8 different MAJ command for each servo), but I"m wondering if there is a way to control all 8 with a single master virtual axis.
The other element to this machine, is that the servos will have to speed up or slow down depending on the infeed of the pipe. So if the pipe is under tension, the servo slow down to allow the pipe to catch up, and if the pipe dropping out of the back end they will speed up.

I've done a little research in the MAPC command, but since I'm not really dealing with position, would MDAC commands for each axis to a virtual axis be a better route? The machine can feed in pipe for an infinite amount of distance/time .

Anyone with some more experience in dealing with multiple axes together I'd appreciate any input or opinion.
 
Yeah I think the virtual master is the way to go. Would anyone have an idea where I would start?
What instruction would I need to get all 8 axes connected to the virtual master, and then how do I get them to run all together by commanding the virtual master?
 
I’m following this thread out of curiosity, so my best inputs are a) motion axis group and b) enable CIP time sync across the board.
 
So.. Here is what I've come across so far
Just a heads up, I'm using an Emulator before I actually move to the machine on the shop floor.

I turn on all servos, home them (immediate because its virtual) then move them to an absolute position (MAH). Axis 1 Position = 0, Axis 2 Position = 50, Axis 3 Position = 75.
After that, I use the Motion Axis Gear instruction (MAG) to gear each axis to a MasterAxis (Virtual Axis).

Each Axis has a GearingStatus bit, which lets me know that all axes are geared and ready to run. I then use a MAJ instruction to the master axis, and like all axis geared to that master are now moving in unison, and the positions are all spaced to my original offset positions. Looks to be working..

I can use MCD instruction to change the speed of the master axis, which then is applied to all the slave axis. Perfect for my on the fly speed adjustment.

Other notes, if I use a MAS stop command on the MasterAxis, the master and slaves all stop. And the gearing remains, so I can simply restart the MAJ command and they all get moving again. Good in a scenario where if I simply stop the machine but don't lose position, to be able to restart again (would be a good pause feature).
If I use the MGS command, all axes in the motion group stop and I lose the gearing. This is probably what I will use on a safety off condition, so that the operator will need to rehome/offset the drive before starting back up.

Hope if anyone like me is looking for a solution they can come across this thread. I'll let you all know if the real world application needs some added coding...
 
What happens if one servo stalls or slows down?

That's my main concern. Hard to simulate that on an emulator so I'm wondering what happens in the real world. I could fault the machine out if the position is too far out

That is also why I considered the MAPC instruction, but couldn't really find a way to do it with velocity instead of position.
It'll be interesting.
 
How much lag are you going to allow before taking action?
If all 8 axes are pushing or pulling the same pipe this shouldn't be an issue but it there two different pipes in the system, it can be. For through put it would be good to run one pipe right after the other. In this case there could be two pipes in the system.
 
All axis will be pulling a continuous pipe. If the pipe is complete, or they have to cut and end off, the operator is to stop the machine and then place the pipe back in the machine. The drives are on cylinders so they pull away when needed, and engage when commanded. The pipe is light enough that if you engage the servo tooling the pipe will adjust to match the tooling profile.

I'll have to watch the lag while it runs, but the previous machine programmer (outside contractor) mention the drives rarely wander.
 
NOTE: This is my first post.

I see two problems.

First problem is your perception of how two/more closed (speed/position) loop drive systems will work together when tightly coupled. Image two identical drive systems that are properly tuned and functioning satisfactorily (uncoupled and independent). Now, couple the two systems together such that if the new system is operated by either drive and a positive command both loads turn in the same direction.

Now, enable both drives and issue the same positive command to both. This system will run in the positive direction for a brief instant and then one or both of the drives will trip on overcurrent or some other problem. The PID control loops of each drive are fighting each other. One has gone into "motoring" (putting energy into the system) and the other has gone into "regeneration" (removing energy from the system). This problem is amplified in systems like yours where wheels pull on linear product because of drive wheel radii differences.

This problem can be fixed by either changing how closed loop control systems are designed or by eliminating the tight coupling between the two systems. If slip is introduced into your system, drive surfaces will wear out quicker and one drive will be doing most/all of the work. Your only option is to properly design system control loops.

The second problem is your perception of the type of closed loop (speed/position) configuration you are using. In RSLogix 5000 you have a position loop that you want to operate at fixed speeds. These position loops are going to fight each other because of the previous stated problem.
 

Similar Topics

Does anyone know how to set the background colors of instuction blocks (TON, MOV, etc)?
Replies
1
Views
129
Hey Guys, I am looking for a cr@cked version of Studio 5000 Logix Emulator V28 or Rslogix5000 V21, which will work with my current emulator...
Replies
1
Views
267
Good Evening , I have version 28 of Studio 5000 from a few years ago . If I got a new CompactLogix CPU , what is the lowest version of...
Replies
4
Views
467
I have installed Studio 5000 Professional version V36 a time ago and installed today Logix Emulate V36. I have a exsisting PLC program, but...
Replies
4
Views
691
Hi all, I'm going to start programming a 1756-L73 and I'm still waiting for the full Studio5000 to be able to start at it in earnest. But I...
Replies
5
Views
423
Back
Top Bottom