Programming memory sequence

CarlVW

Member
Join Date
Oct 2017
Location
Belgium
Posts
6
Hello,

i have a machine with 3 axis that can run simultaneously controlled by other software but sometimes this goes wrong due operator fault.
So now i want to program a memory function in the plc that knows in what order the axis have been activated and then move these axis 1 by 1, only 1 axis is moving at a time.
They can be activated in different order or only 2 or 1.

So i have these bool variables:
3 x execute from software
3 x busy from axis
3 x done from axis

What is the best way to go ahead with this??

Thanks
 
I would say to use an asynchronous word shift instruction of three registers. Each time you get an execute axis command you place a value in a register. The asynchronous shift will shift if the next register is 0000 down to the end of the shift instruction.
The value in the last register will then activate the axis. Once the axis is complete, a 0000 is placed in the last register. This will allow the next register to move into the last register, etc.

What PLC are you planning on using? This will determine exactly how to do the logic.

Regards,
 
i have tried it with a 3 set/reset functionblocks to memories the activated axis but when for example you activate the 3 axis 1 by 1 ( the first axis is still moving when axis 2 and 3 is activated). when axis 1 is done i the next activated axis should move and when that is done the last. But the order of activated axis is not always the same
123
321
231
213
132
312
or only 2 axis or 1
that is what i'm struggling with, i my case it are axis but it could be also be the same if you use timers and lights for example.
What kind of plc is less relevant, its more how to program it.
 
I would second Garry's suggestion,

You axis execute routine - should take the order of execution from the word data which dictates the order of run.

Regards
 
"but when for example you activate the 3 axis 1 by 1 ( the first axis is still moving when axis 2 and 3 is activated)"

If the axis is still moving when you trigger the next one, it tells me you are not waiting for the done bit.
 
"but when for example you activate the 3 axis 1 by 1 ( the first axis is still moving when axis 2 and 3 is activated)"

If the axis is still moving when you trigger the next one, it tells me you are not waiting for the done bit.

Only 1 axis is supposed to be moving at a time. the issue i have when the first axis is done the other 2 where activated when 1 is moving. They wait until 1 is done but now they are blocking each other because who goes first?
 
Hello,
So i have these bool variables:
3 x execute from software
3 x busy from axis
3 x done from axis

What is the best way to go ahead with this??

Thanks

If the Execute Boolean variables come on in the order of execution then start a timer when each one becomes true. Then compare who has been on the longest. Once an axis is done then reset that axis's execution timer.

If 1>2 and 1>3 then 1
If 2>1 and 2>3 then 2
If 3>1 and 3>2 then 3

This would take care of all combinations.
 
If the Execute Boolean variables come on in the order of execution then start a timer when each one becomes true. Then compare who has been on the longest. Once an axis is done then reset that axis's execution timer.

If 1>2 and 1>3 then 1
If 2>1 and 2>3 then 2
If 3>1 and 3>2 then 3

This would take care of all combinations.

this works, THANKS (y)
 
If the Execute Boolean variables come on in the order of execution then start a timer when each one becomes true. Then compare who has been on the longest. Once an axis is done then reset that axis's execution timer.

If 1>2 and 1>3 then 1
If 2>1 and 2>3 then 2
If 3>1 and 3>2 then 3

This would take care of all combinations.

Nice approach!
 

Similar Topics

I'm new with allen brandley plc. i've programmed a slc 5/03 and works properly but when the power goes down it loads an old programm propably from...
Replies
11
Views
3,985
Ok,I have wrote my first program, and it is quite long. Now I want to take the next step to cut the program down. I have used counters and timers...
Replies
10
Views
2,422
Hello colleagues, Some time ago I started my adventure with programming. With your help and the courses, things are starting to come together...
Replies
13
Views
591
Dear All, I need a sample PLC program to count the output pulse of a mass flow meter so that a specific amount of mass (for example 100gm)can be...
Replies
2
Views
82
Hi Please I have zeilo smart relay #SR2A201BD but I don't have it's programming cable. Can I use any general usb/rs232 converter? Or need...
Replies
2
Views
79
Back
Top Bottom