(Factory Flow Simulation) Group Based Sequential and User Logic

Hello.

This is the use case using “Group based Sequential” and User Logic.

 

Group based Sequential

In the below layout, a part needs to flow Stn10 → [ Stn21 → Stn22 → Stn21 → Stn22 → Stn21 ] → Stn30.

When a part is in Stn21 or Stn22, the next part can not move from Stn10 to Stn21 to prevent stuck.

To do this, we need to use “Group based Sequential”.

 

For Stn21,

Set Activity selection mode = Group based Sequential, and add 3 new activity groups.

Insert each Transform Activity to each Group.

Then define Sequence Mode by clicking “Edit”.

 

Define the Group sequence in the popped-up excel.

 

 

For Stn22,

Set Activity selection mode = Group based, and add 2 new activity groups.

Insert each Transform Activity to each Group.

 

“Group based” allows the Machine to process activities one group at a time, and “Group based Sequential” allows the Machine to receive the next part after processing all groups defined in the sequence.

 

Please, refer to the below video.

 

And the below is the 3dxml made on Cloud.

 

 

User Logic

This time there are 2 part types. To model this, I used User Logics.

 

To control unloading from Stn10, I added Unload activities for each part type and assigned the User Logic which controls to start/stop activities.

 

At Stn21, I also added Unload activities after the last Transform activities of each part, and assigned User Logics to Unload activities.

 

I defined 3 User Logics.

 

In “Initial” logic, I defined 3 variables.

 

U_Stn10 : indicating the resource “Stn10”, which is the Instance Title. The prefix, “U_” is used to define a context resource

U_Stn10\\S_StartActivity : At other resources, start/stop of a U_Stn10 activity can be controlled

      * S_StartActivity : a system variable to start and stop activity triggering in NC machines. The prefix, “S_” means System Variable.

SG_21_Status : will be used with the meaning of 

     0 : there is no part at Stn21 or Stn22, 

     1 : there is a part at Stn21 or Stn22. 

     the prefix “SG_” means Global Variable.

 

 

“Stn10_Unload_Start” is assigned to Unload activities for each part type at Stn10.

If SG_21_Status is 0, which means there is no part at Stn21 or Stn22, keep doing the Unload activity and make SG_21_Status to 1.

Else if SG_21_Status is not 0, which means there a part at Stn21 or Stn22, stop the Unload activity.

 

“Stn21_Unload_End” is assigned to Unload activities for each part type at Stn21.

SG_21_Status = -1 : reset the variable by setting the negative value, announcing there is no part at Stn21 or Stn22 while ending the Unload activity at Stn21.

U_Stn10\\S_StartActivity = true : make the Stn10 activity start again.

 

While running the simulation, we can monitor User Logic Variables since R2024x FD01

 

Please, refer to the below video.

 

And the below is 3dxml made on Cloud.

 

 

 

Thank you.