question

Neil Wu avatar image
0 Likes"
Neil Wu asked Neil Wu commented

Exception caught when redirect AGV

I think the problem happened bacause of redirect() function,but I can't figure out why.

I try to redirect the AGV to another control point when it block the other AGV.

The code is written in On AGV Allocation Failed event.

Does anyone have an idea how to solve this?

Thanks!

test.fsm


FlexSim 21.2.0
agvexception error
test.fsm (54.8 KiB)
5 |100000

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

1 Answer

Felix Möhlmann avatar image
1 Like"
Felix Möhlmann answered Neil Wu commented

The exception likely occurs because of using "redirect" while the blocking AGV is currently idle. It will make the AGV move, however it won't create a task sequence, which in turn probably causes an exception when the AGV arrives at the redirect destination.

If, instead of redirecting, you create a task sequence for the AGV to travel to the destination this won't occur.

Another issue seems to be that you use "agv.accumAheadAGV" to get a reference to the blocking AGV. However, if the blocking AGV is situated on a different path, sufficiently far ahead of the current AGV, this command will return NULL. So I would recommend to get a reference to the blocking AGV through other means. In the attached model I use the nodes that link the cp to the AGV (cp -> allocations -> AGV reference in navigator -> AGV). There might be a nicer way to do this, but it works for now.

pushBlockerAGV.fsm


pushblockeragv.fsm (55.5 KiB)
· 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.

Neil Wu avatar image Neil Wu commented ·

Thank you ,that's what I need!

0 Likes 0 ·