question

Kaspar Chabot avatar image
0 Likes"
Kaspar Chabot asked Kaspar Chabot commented

ASRS: stop lifting if speed exceeds a certain value

Hi,

for a specialized automated warehouse, I am trying to figure out an easy way to model an asrs crane which can stop lifting (go up/down) when the horizontal movement speeds exceeds a certain value. This is required for safety reasons since the crane lifts very long and heavy objects.

Is there any way to do this with the standard ASRS? Or would I need to get a TE/BasicTE and use process flow/custom code to model this?

Kind regards,

FlexSim 17.0.2
asrsspeedstopmovementlifting
· 6
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Sam Stubbs avatar image Sam Stubbs ♦ commented ·

Well the max speed variable on any object means that the object cannot go above this speed. Do you in your logic change this variable dynamically somewhere?

0 Likes 0 ·
Kaspar Chabot avatar image Kaspar Chabot Sam Stubbs ♦ commented ·

It's more like I want the speed of the lifting to depend on the speed of the movement alongside the rail. I could maybe access the lifting speed through a variable in the tree with getvarnum(...) like you suggest, but the problem is that I don't know how to place a trigger on the current horizontal speed going above a certain value.

0 Likes 0 ·
Sam Stubbs avatar image Sam Stubbs ♦ Kaspar Chabot commented ·

If this is the case, if you are setting the maxspeed variable dynamically. You could just program the ASRS to be stopped (call a stopobject command) right there. Whenever you are assigning a maxspeed value, if it exceeds the max value you have for safety reasons, stop the object there in that same code. Would that simulate what you are trying to achieve?

0 Likes 0 ·
Show more comments

1 Answer

Steven Hamoen avatar image
1 Like"
Steven Hamoen answered Kaspar Chabot commented

@Kaspar Chabot The moving of the ASRS and the moving of the lifting are both kinematics. With getkinematics you can get a lot of information about what the movements exactly are. So you can get the starttime and create a new kinematics with the same properties as the normal moving but just enter the maxspeed above which the up/down movement would stop. The time that is returned is the time it hits this threshold speed. Then you should be able to deactivatekinematics on the forkkinematics. But this last command did not seem to work. (strange because I can do that with the normal travelling but not with the forks, maybe somebody from Flexsim could answer why)

You could give it a new initkinematics and that overwrites the current ones. You need this anyway because it has to finish the movement when the speed has come below the threshold speed again and the forks have to start moving again. This way you would be able to do exactly what you want. Other, a more complex but more powerfull solution, would be to create a module, make a descendant of the ASRS and program your own ;-)

· 1
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Kaspar Chabot avatar image Kaspar Chabot commented ·

For now a simpler solution will do, but if we will be doing a lot of warehouse simulations I'll think about making my own module, thanks!

0 Likes 0 ·