logic combinner

logic combinner

a4225283
Enthusiast Enthusiast
2,068 Views
39 Replies
Message 1 of 40

logic combinner

a4225283
Enthusiast
Enthusiast

@moehlmann_fe 

 

https://forums.autodesk.com/t5/flexsim-forum/passive-acceptance-of-tasks/m-p/13850922#M98484


Hi sir
I currently have a model I'd like to modify to resemble a linked function, but I'm finding the overall performance a bit off. Additionally, it has some unexplained errors that I'd like to resolve. I'd also like to change the dispatch method to resemble a linked one, where vehicles will only be dispatched after reaching certain points. However, I didn't build this model from scratch, and I'm still working on understanding it.

 

But I don't think I need to use the NextWorkPoint List to complete it. Can I use the point method to make the judgment? As long as I reach the point with the letter T, I need to complete the judgment method like in the connection (usually the letter T represents an arm). If there is a car, I wait 1.5 seconds for work cp. If there is no car, I wait 5 seconds for work cp. But the main problem is that this model will push the task requirements into the RGV TASK list. Now I am wondering if there is a way to determine whether it is the corresponding task after reaching the T point. Wouldn't this way I don't need to change so many things?

 

0 Likes
2,069 Views
39 Replies
Replies (39)
Message 2 of 40

a4225283
Enthusiast
Enthusiast

@moehlmann_fe 

 

Hello sir, I might need your help!
The problem I just mentioned is quite similar to the one described in the linked post, but I’m having trouble integrating both approaches.

In the linked example, the logic is implemented using nextcp for looping through control points. However, in my model, some control points require a stop while others do not, so I can’t fully adopt that method.

My current idea is to use groups to manage this behavior, but it’s not going smoothly.
Also, I noticed that in the RGV task, there’s a “Travel to Next CP” action, and I’m wondering if this could be a potential breakthrough point — though I still don’t have a clear idea yet.

Finally, my task assignment is designed to push tasks into a centralized task list table, which is quite close to what I want to achieve.
I’m wondering if it’s possible to add some conditions within the current setup so that tasks are only assigned to the AGV that actually reaches the designated point.

a4225283_0-1760961661325.png

I tried to change some of it. I have tried my best. Please guide me again. Thank you.

0 Likes
Message 3 of 40

FelixMoehlmann
Collaborator
Collaborator

It's quite hard to follow the logic in the model since I don't understand any of the chinese activity names. But I can try to give some general advice how the model could changed.

Tt seems that the model works by tokens first pulling an AGV (purple activities), then push themselves to the AGV task list so that the previously pulled AGV can start the task the next time it arrives at a control point.

 

moehlmann_fe_0-1761043165752.png

 

What you can do is remove the purple activities and push the token to the task list without knowing which AGV will do the task. Then add a field to the task list that reads which CP is connected to the object that currently holds the item (this assumes that such a connection always exists).

 

moehlmann_fe_2-1761043573768.png

 

An AGV token can then only pull tasks at the control point it just arrived at (or one connected with a work forwarding connection). The maximum wait time (meaning the delay time for which the AGV waits for a task) could be given by a label on the CPs. So overall this wouldn't use my AGV logic at all and instead just change when/how an AGV is assigned to a task.

moehlmann_fe_4-1761043909207.png

 

moehlmann_fe_3-1761043868237.png

 

 

0 Likes
Message 4 of 40

a4225283
Enthusiast
Enthusiast

Thank you very much for your help! Also, I'd like to ask: I saw a link that mentioned that if the workcp in the WorkForwarding List isn't pulled out, then the next point will need to wait 5 seconds. How can I implement this here? Should the main control logic for RGV be written in the RGV task in PF?

0 Likes
Message 5 of 40

FelixMoehlmann
Collaborator
Collaborator

I don't understand what you mean with "if the workcp in the WorkForwarding List isn't pulled out, then the next point will need to wait 5 seconds".

Tasks are pulled in the activity marked in yellow. Wait times for tasks would best be implemented as a maximum wait time in there. If a task is pulled the token continues in the same block of activities (green arrow). If no task is pulled, the token is released to the top right (red arrow). Any delays depending on a task being pulled or not would thus be implemented at those points.

moehlmann_fe_0-1761114231843.png

 

0 Likes
Message 6 of 40

a4225283
Enthusiast
Enthusiast

a4225283_0-1761114382751.png

What I want to understand is the model mentioned in the link! Like the picture, if the workcp is not occupied, the car will stay for 5 seconds. How can I apply this logic to my model?

0 Likes
Message 7 of 40

FelixMoehlmann
Collaborator
Collaborator

First you need a way to reference the "workcp" based on the control point the AGV arrives at. In the other model this is the purpose of the WorkForwarding connection. In this model those connections are drawn in the opposite direction though (from workcp to "waitcp"). Many of the pairs also have a purple "Break" connection going in the opposite direction but not all. I am going to assume that all stations where this wait time should be applied will have those connections.

moehlmann_fe_0-1761115632562.png

Then you can check if the workcp is allocated like in the other model and determine the maximum wait time based on this.

moehlmann_fe_1-1761115913707.png

 

 

0 Likes
Message 8 of 40

a4225283
Enthusiast
Enthusiast

a4225283_0-1761208923004.png

I think this combination is very successful, but after observation, I found that some indicators of my model are 0? Is there something I did not do well? Or is there something else that caused it to become 0?

0 Likes
Message 9 of 40

a4225283
Enthusiast
Enthusiast

this is combin model

0 Likes
Message 10 of 40

FelixMoehlmann
Collaborator
Collaborator

I can't help you there much. All I can say is that this performance meausure shows the throughput of the activity marked in red in the screenshot below. I don't now if/when/why tokens are supposed to move through that section.

moehlmann_fe_0-1761226876719.png

 

0 Likes
Message 11 of 40

a4225283
Enthusiast
Enthusiast

@FelixMoehlmann 

 

I tried adding a new point connection to change the starting point of this logic, but I don't know why it generates an error message. I also want to know what will happen if I connect two cp points to one object.

0 Likes
Message 12 of 40

a4225283
Enthusiast
Enthusiast

a4225283_0-1761632408332.png

Why do I need to add extra points like this? Because I need to assign tasks only when the car hits the CP point, but my detour path does not necessarily reach the point. So I want to judge at some points whether there are tasks at these points. Do I need to send the car there to accept the task?

0 Likes
Message 13 of 40

FelixMoehlmann
Collaborator
Collaborator

The "connectedCP" list field and query is currently set up to expect a single CP. You could change this though so the field instead stores an array of all CPs connected via "point" connections. The query would then be changed to check if the current CP of the AGV is part of that array.

moehlmann_fe_0-1761641283377.png

 

 The first error I'm getting when I run the model is caused by a CP not having a NextWorkPoint connection.

moehlmann_fe_1-1761641334300.png

 

0 Likes
Message 14 of 40

a4225283
Enthusiast
Enthusiast

a4225283_0-1761649239271.png

Sir, I have connected to NextWorkPoint but the error still occurs at the same time. I would like to know where I went wrong. Thanks.

0 Likes
Message 15 of 40

FelixMoehlmann
Collaborator
Collaborator

There might be other CPs that are missing a connection as well. When an error occurs, put a stop time at the time of the error and check the token moving through the activity mentioned in the error message. Check if all labels are make sense and if the "currentcp" has a NextWorkPoint connection. The code for the "nextcp" label in the marked activity seems to be responsible for most errors. I edited the expression for the "currentcp" label value because the previous code didn't make much sense (was needlessly complex).

moehlmann_fe_0-1761651205686.png

 

0 Likes
Message 16 of 40

a4225283
Enthusiast
Enthusiast

Hi sir I think I have checked it but my model is now unable to pull the list smoothly?!! I want to know what happened

0 Likes
Message 17 of 40

FelixMoehlmann
Collaborator
Collaborator

In the "connectedCP" field you are pushing all controls points connected as a "Location" to the array. These are not part of the NextWorkPoint loop though. The queue the item is in when pushed to the AGV work list (I assume its the one marked with green in the screenshot below) needs to a have connection (for example the "point" connection you had earlier) to a CP that is part of the NextWorkPoint loop and ahead of the spur path (blue). This connection then needs to be used in the "connectedCP" field instead of Location. That way, an AGV that is arriving at the blue CP can pull the item/task. 

moehlmann_fe_1-1761656989400.png

 

 

0 Likes
Message 18 of 40

a4225283
Enthusiast
Enthusiast

Hi sir, my model doesn't have any major errors right now, but what I want to do might be a little different. When I touch a point, I should be assigned a task to pick up the goods at the location; otherwise, it should just pick up the goods at the point, which isn't what I want.

 

a4225283_2-1761709385303.png

 

0 Likes
Message 19 of 40

FelixMoehlmann
Collaborator
Collaborator

I am sorry, but your sentence doesn't make much sense to me. What is the red arrow and 15 supposed to show in the screenshot?

When a token is pushed to the AGV task list, the "connectedCP" field gets all CPs that are connected to the object the item is in with a "point" connection. When an AGV arrives at one of those points it can pull the task token. How long it waits at a CP still functions like in the example model I provided in another post. If the CP the AGV arrived at is connected to a different CP with a "Workforwarding" connection (the connection must originate at the CP the AGV is at), a check is made if the connected CP is allocated or not. If not, the wait time is 5s. If yes, or no such connection exists, the wait time is 5s.

moehlmann_fe_0-1761732720340.png

 

 

0 Likes
Message 20 of 40

a4225283
Enthusiast
Enthusiast

This picture mean  the wait logic because I see my car will load item at my “point” cp  !  This picture is mean the car will be asign task than walk to location point 

0 Likes