How to simulate a crane attachment?

How to simulate a crane attachment?

ben_o
Not applicable
253 Views
14 Replies
Message 1 of 15

How to simulate a crane attachment?

ben_o
Not applicable

I am trying to simulate an attachment to a crane, whereby an object (eg a cylinder) is moved to a queue holding a single flowitem, that flowitem is loaded onto the cylinder, the crane then moves the cylinder to a (floor storage) rack bay, the cylinder unloads, then it is moved back to the queue to get the next flowitem.

I am currently trying to use a BasicTE or TaskExecuter to achieve this, but do not know how to program either to do so.

Any help would be greatly appreciated.

0 Likes
Accepted solutions (1)
254 Views
14 Replies
Replies (14)
Message 2 of 15

joerg_vogel_HsH
Mentor
Mentor

What is the cylinder? Is it a transport unit like a pallet or a tote, that contains the item while the crane transports the item? Or is it more a support part like a traverse that belongs and is connected to the crane?

If the item is stacked on the cylinder before the transport starts then this process combines the cylinder and the item. You can use a combiner for such an operation. The cylinder is then an item item, too. The cylinder belongs to the item class, that can stack items like a pallet or a tote. You can make copy of a pallet in the flow item bin and then change the 3D shape of the pallet to a cylinder.

If the cylinder is an extension to the crane hook like a traverse, then you open the properties of the crane and switch to the General tab.

You push the second Edit button from the top in the Visuals/Animations area of the Appearance field. The main window contains then 4 sub windows showing the crane in three normal views and a 3D view. Below you find a Animation creator tool. You need only to push the green plus sign to add an extra object to the crane hook. The object looks like a cube. You can mark the object and edit the visuals at the Quick Properties. If you need the cylinder as a shape you find it in the program directory of FlexSim under fs3d/General.

Message 3 of 15

kari_payton
Not applicable
Accepted solution

@Ben O If you want to visually change how the crane looks, add another object in the animations pane.

11385-crane-cylinder.png

In crane properties "general" tab, go to edit Visuals/Animation. Then add another object by clicking the green plus sign in the Animations and Components Pane. You can then change this object to be whatever you want by going to it's general properties tab. crane-visuals.fsm

Message 4 of 15

ben_o
Not applicable

It is basically equivalent to a pallet, in that the item is contained within it while transported then unloaded into the rack.

I thought about using a combiner, but the only problem is that the item must unpack from the cylinder object to be loaded into the rack, and I can't have 100 separators over the floor rack.

As with the reply below, I would be happy to change the visuals of the crane, but the object on which items get loaded must be separate and have it's own MTBF and MTTR, with a backup to be used in the event of failure.

I have attached a rough model which basically does exactly what I need, apart from that the cylinder moves by itself, whereas I would like it to be transported by the crane.

I hope this insight is helpful and makes it more obvious with regards to what I am hoping to do.

charger-test.fsm

0 Likes
Message 5 of 15

ben_o
Not applicable

Thank you for your response, I would be happy to change the visuals of the crane, but unfortunately the object on which items get loaded must be separate and have it's own MTBF and MTTR, with a backup to be used in the event of failure.

I have attached a rough model which basically does exactly what I need, apart from that the cylinder moves by itself, whereas I would like it to be transported by the crane.

charger-test.fsm

0 Likes
Message 6 of 15

kari_payton
Not applicable

@Ben O ok. Try the attachment. You can use a SubFlow to coordinate activities between two resources. You may have to play around with the speeds to get everything to move exactly at the same time. I also included in the flow a check to see which resource is not idle at the time. 11393-charger-test-1-edited.fsm

Message 7 of 15

ben_o
Not applicable

@Kari Payton thank you for your help, unfortunately when I open the attached file, all I see is an empty model and I can't add anything into it either.

Is there a specific way to open the file which I could try?

0 Likes
Message 8 of 15

kari_payton
Not applicable

@Ben O try this one using FlexSim 2017.11393-charger-test-1-editedflexsim2017.fsm

Message 9 of 15

ben_o
Not applicable

@Kari Payton unfortunately that won't load properly either.

Again I get an empty model and errors like the below example when I try to add a Global Table:

time: 0.000000 exception: Exception caught in flexscript execution of VIEW:/nodefunctions/menucommands/Tools/addglobaltable line 16 instruction 37. Discontinuing execution.

time: 0.000000 exception: Exception caught in flexscript execution of VIEW:/nodefunctions/menucommands/Tools/addglobaltable line 16 instruction 37. Discontinuing execution.

time: 0.000000 exception: Exception caught in TreeNode::callMemberFunction() flexscript execution VIEW:/nodefunctions/menucommands/Tools/addglobaltable

Then I get similar exception errors from doing anything else. Could it have to do with me using an educational license?

0 Likes
Message 10 of 15

kari_payton
Not applicable

@Matthew Gillespie or @Ben Wilson do you know what's the issue here why he can't open the models?

Message 11 of 15

Ben_WilsonADSK
Community Manager
Community Manager

@Ben O, what version of FlexSim are you using? FlexSim can't open models that were saved in a later version.

For instance, a model saved in 17.1 can't be opened in 17.0 or 16.2.

Bugfix numbers are an exception. For instance, a model saved in 17.1.2 CAN be opened in 17.1.1.

If this is your issue, trying to open newer models with an older version of FlexSim, you could download the latest FlexSim version, using it to open Kari's model just as a viewer. It may not be licensed, but you can use the free Express version to open and view models.

0 Likes
Message 12 of 15

ben_o
Not applicable

@Ben Wilson unfortunately I am using a university provided version 16.2.0, and as such I cannot update to, or install, any more recent versions (university owned computer administrator restrictions).

I would download an express version on my own laptop to take a look, but from what I can see here on the downloads page, there is no version for Mac OS, and I only have access to a MacBook Pro.

It seems I am a bit stuck here, I really appreciate your help @Kari Payton and I'm sorry I currently can't utilise it as I would hope to.

0 Likes
Message 13 of 15

Ben_WilsonADSK
Community Manager
Community Manager

My understanding is that the Mac virtualization options are no better now than they were 2 years ago, at least as far as graphics support is concerned. So that leaves Bootcamp.

If you were able to set up dual-booting on your Mac, that would appear to be your only option. Or working with the university to get a newer version installed.

Newer versions of FlexSim can be installed on the same system with older versions, so it would be safe to have both 18.0 and 16.2 installed on the same computer at the same time. In your university's case, the 16.2 would remain licensed, but the 18.0 would run in the free Express configuration

0 Likes
Message 14 of 15

kari_payton
Not applicable

11393-charger-test-1-editedflexsim2016.fsm try again in 2016 with this file. @Ben O

Message 15 of 15

ben_o
Not applicable

Thank you so much for taking the time to get it working in the 2016 version.

It now opens and loads correctly, it took me a couple of tries with no success due to the errors below, but after one reset it began to work as expected.

As you say I'll have to tweak it a bit and I'm currently trying to understand the whole subflow system, but thank you again for showing that it can (kind of) be done, I really appreciate it.

If only cranes could transport task executers it would be so much simpler...

time: 7.118059 exception: Exception caught in start() of activity "Join" in "SubFlow". Continuing throw...
time: 7.118059 exception: Exception caught in TreeNode::callMemberFunction() c++/dll execution. Throwing...
MODEL:/Tools/ProcessFlow/SubFlow/Unload>variables/callbackNode c: /Tools/ProcessFlow/SubFlow/Unload>variables/callbackNode thisClass: /Tools/ProcessFlow/SubFlow/Unload>variables/callbackNode
time: 7.118059 exception: Exception Caught in TaskExecuter::beginTask(treenode task) object: /Crane1
time: 7.118059 exception: Exception Caught in TaskExecuter::finishTask(treenode task) object: /Crane1
time: 7.118059 exception: Exception Caught in TaskExecuter::onTimerEvent(treenode involved, int code, char *datastr) object: /Crane1
time: 7.118059 exception: Exception Caught in TaskExecuter::onTimerEvent(treenode involved, int code, char *datastr) object: /Crane1time: 7.118059 exception: Exception Caught in ObjectFunction251__project_library_FlexSimObject_behaviour_eventfunctions_OnTimerEvent object: /Crane1 i: /Crane1>variables/activetasksequence/ts3/task1 class: /Crane1
time: 7.118059 exception: Exception caught in TreeNode::receivemessage()
time: 7.118059 exception: Exception caught in Executive::processeventinlist(). Throwing.
time: 7.118059 exception: Exception caught in Executive::steptotime(). Throwing.
time: 7.118059 exception: Exception caught in Executive::tick(). Throwing.
time: 7.118059 exception: int runthemessageloop() #4
exception: core->theexecutive.tick();
time: 7.118059 exception: int runthemessageloop() #6
0 Likes