Jump to content

Conditional Routing (by link weight) is not working


AlexDCave
 Share

Recommended Posts

The conditional routing by link weight (PackFeed2 - Conveyor22 or Conveyor 23; PackFeed4 - Conveyor26 or Conveyor27) is not working for me. The current file is set to make the decision by initial priority, but I have tried other methods with no success:

> Assign ModelEntity.Priority with addon process, then route by link weight of ModelEntity.Priority=="X"

> Assign link weight by ModelEntity.EntityType

> Assign link weight by ModelEntity.BatchMembers.Contains("X")

I think this may not be working because they are arriving as a parent/member batch. Is there a different link weight condition that may work. Please note I have 1 parent type and 2 member types. The decision needs to based off of the member entity. 

The area of concern is towards the end of the process at the top left of the simio (file attached).

APS Design 2.spfx

Edited by AlexDCave
Link to comment
Share on other sites

Hello Alex,

You cannot directly see the variables of a member which is inside a batch unless you use a process looking for it (with a Search and extracting the required value)

An easier method is to transfering the value of the variable of interest (Member.Priority) to the holding Parent (for exemple, onto Parent.My1stMemberPriority) and run your decision logic pointing to it.

Regards,

Link to comment
Share on other sites

Hello AlexDCave,

welcome in the Simio Forum!

I looked in your model and saw you use "ModelEntity.InitialPriority". This value is every time 0. So the link weight expression in your links are false every time.
I attached you the model "APS Design 2 - ATS 1.spfx". I added only one little Notify-Step. So you can debug your model and check the logic. Maybe this will help you in the future by the debugging of your model.

In my opinion you can use the "ModelEntity.Priority" or make a own little state in your ModelEntity. Then you have to set the values to "11", "12" or "13" or what else.
I made you an example for a working solution and upload it with the name "APS Design 2 - ATS 1.spfx".

What I did:
1) I create a ModelEntity state "MyOwnIntegerState".
2) I changed your link weight logic on on the links by the node "PackFeed2".
3) I added the process "Output_WasherEntrance_Entered" to set the own ModelEntity state.

I hope this will help you!

Feel you free to ask, if you have another question.

Best regards
Pascal

APS Design 2 - ATS 1.spfx APS Design 2 - ATS 2.spfx

Link to comment
Share on other sites

*If you need a custom logic, because you have a lot of batch members, you can add a entered process in the node. Then you can use a search step and search your right member. Then you can use a Decide-Step or what else and use the "SetNode-Step" and not the link weight logic. So you can set the taget destionation with the SetNode-Step :-). Or, you write the state in the Parent-Entity after these Entitiy left the Combiner. They are different options to solve this problem.

Link to comment
Share on other sites

Hello,

In response to JBeltran:

I can figure out how to grab the variable member.priority. If I was able to do that, the rest would be easy I think. I played around with the search function and it didn't seem to work (maybe I am using it wrong?)

 

In response to ATSProThiede:

The instance I uploaded was only using the InitialPriority because that was my latest attempt. I had attempted other options that I noted in the OP. Also, you can change the InitialPriority away from 0 in the entity's options. My problem is that only the parent's values are able to be seen. I have no criteria to change the ModelEntity.Priority because the decision needs to be based off of the entity type of the member. The file you attached does not work properly. I turned off the H1BUnits source, so everything should go to packlane1, yet some go to packlane2 or even bypass both to the sink. I have done quite  a bit of digging and have found probably 3-4 other feeds that were never answered as member data seems to be difficult to access.

Thank you both for the feedback. Please let me know if you have other ideas or I didn't properly test your reply.

 

Best regards,

Alex

 

Link to comment
Share on other sites

  • 2 weeks later...

Does anyone know how to utilize the memberinput@"combiner" in a process? 

I tried a process "UnitIdentity" with a decision step "MemberInput@PalletLoad==H1BUnit" to set a real state "UnitTypeID" and a ModelEntity.Picture so I can utilize the link weights further downstream. I placed this in the Processing Add-On for the combiner. I have attached the file. It feels so close to a resolution and any help would be appreciated!

 

Best regards,

Alex

APS Design 2.spfx

Link to comment
Share on other sites

×
×
  • Create New...