Jump to content

ViniciusF

Members
  • Posts

    36
  • Joined

  • Last visited

  • Days Won

    6

ViniciusF last won the day on March 26

ViniciusF had the most liked content!

About ViniciusF

Personal Information

  • First Name
    Vinícius
  • Last Name
    Freitas
  • Company/University Name
    Paragon

Recent Profile Visitors

3,030 profile views

ViniciusF's Achievements

Explorer

Explorer (4/14)

  • One Year In Rare
  • Collaborator Rare
  • Reacting Well Rare
  • First Post Rare
  • Dedicated Rare

Recent Badges

7

Reputation

  1. Hi! Just put a Assign step changing the state of your variable after you clear the Statistics. You can keep the monitor to trigger what you need.
  2. Hi, What I like to do on these cases is to use Resources on a clever way: Create two dummy resources (one for each server). Set the capacity of those resources to how many entities you would allow on the respective conveyor. When an entity hits the Transfernode1, you seize from a list of the two dummy resources. Use a Set Node step to redirect the entity to the according Server depending of the Dummy resource chosen. When the entity leaves the Server (or enters the Server, depending on the logic), release the Dummy resource. You would need only to make the Dummy resource fail together with the server, or just put the failure on the Dummy resources instead of the server. Shouldn't make a big difference depending of what results you would need.
  3. Using a object reference state variable named "Test" on the ModelEntity: (Assign step was just ModelEntity.Test -> Server)
  4. Hi, it worked just fine with a subclassed server here:
  5. I came across with that before, and it is a bit confusing. I'm using version 15.240.27700 I learned that you shouldn't use this Entered Event to control the entity either. For example, If you put a delay on it, the entity will not stop for the delay time. If you trace it, you see that Entered Event is fired, but the process is not executed right away. Instead EnteredAddonProcess is executed before. Not only EnteredAddonProcess is executed before, but the entire logic is executed, so it executes ToOutboundLink before executing the process activated by the EnteredEvent. The reason it works on EnteredAddonProcess is because the token stops there, executes the addon process, then continue. With the Entered Event, the token does not wait.
  6. Ok, just to be sure: Entities on stop1 cannot choose stop1 as a destination, entities on stop 2 cannot choose either stop1 or stop2, and so on. Is your logic already doing that? Personally, I would create a node just before each "Stop" node (which I'm assuming are the nodes of the sources). I would drop the entities there, sending them to their sink (you can use by link weight here, with "!Is.Vehicle" so the entities go to the sink). If the process of loading/unloading is necesseraly simultaneous you need to take some care with what happens if the bus arrives full, but has some entities to drop/pick-up. If you want, dm me with the model, I could help.
  7. Use a search with Maximize Expression. The queue should be ServerX.InputBuffer.Contents and the expression: Candidate.ModelEntity.Variable.
  8. Hi, there is a simple approach you can use. Use Connectors between the queue server and the desks. At Buffer Logic of the Desks, change the Input Buffer Capacity to 0. Create a List with the Input nodes of the seven Desks. On the Output of the queue server change Entity Destination Type to Select From List and the goal to Smallest Value. Keep the default expression. It should work fine.
  9. Hi, You won't need batch logics of the definition. Just the combiner is enough. I made a simplified version of your model. Producto1 requires 1 med and 1 big, while Producto 2 requires 1 small and 1 big. Pay attention to the process that I created at TransferNode1, you'll need to adjust it for the Producto3 and 4. Watch the Combiner Object aswell. Hope it helps. ExampleSimplified.spfx
  10. Hello, I wouldn't use process for this one. There is a simple approach that you can use by modifying the SimBit "CombineMultipleEntityTypeOntoPallets". You'll need 3 ModelEntity Integer States to identify the quantity required of each Bin according to the Product. Let's say ModelEntity.Big, ModelEntity.Small and ModelEntity.Med. You can modify "Ops_Exited" step to assign those quantities. For the Producto1 for example, you'll have ModelEntity.Big == 1, ModelEntity.Med == 1 and ModelEntity.Small == 0. A little tip: you can use "Is.Producto1" (or "Is.Producto2", etc) on a decide step to identify which Producto is it. Now on the Combiner Object, follow the Simbit and change the BatchQuantity, to ModelEntity.Big, ModelEntity.Med and ModelEntity.Small. This should work.
  11. Hi, Usually what I do in cases that I want to check capacity before sending is create a "dummy" Resource. This way I seize its capacity before sending the entity forward. If it has no capacity for a given entity, the entity will just wait until it has capacity.
  12. Hi, it creates a token for each row that matches the condition (given that you did not limit the search). You can access it using TableName.ColumnName.
  13. Hi, One way to do this is put a Dynamic Selection Rule: Smallest Value First on the Worker, with the value expression of: Candidate.Entity.DirectDistanceTo.Object(Worker). This could work.
  14. Hi! I don't think you need to save those times stamps on MyVehicle. I would suggest you to use processes that triggers when the entity leaves the Output Buffer of the source and enters the Input Buffer of the server. To do that, create two process with the corresponding Triggering Event Name: Source1.OutputBuffer.Exited or Server1.InputBuffer.Entered, saving time stamps directly on the MyModelEntity.
  15. Hi! Yes, there is a way. What you could do is use a String.Format expression. This way you can show multiple variables on the dynamic text. On your case something like: String.Format("{0}: {1} {2}{3}: {4}", "Material Costs", MyModelEntity.MaterialCosts, String.NewLine, "ProductionCosts", MyModelEntity.ProductionCosts) should work. As a plus, you could use a state to disable/enable these labels with a button and a process. Something like: Math.If(EnableTxT, String.Format("{0}: {1} {2}{3}: {4}", "State1", ModelEntity.State1, String.NewLine, "State2", ModelEntity.State2), "")
×
×
  • Create New...