Jump to content
Simio Forum

Change processing time depending on previous server output


Recommended Posts

Hi all,

I made a model of a production line  (starting with 2 servers) and I am wondering whether it is possible to change the processing time of the second server based on the actual output of the first server.

Theoretically seen the processing time of the server 2 = Speed of server 1 *  E , in which E is a fixed formula (connected to server 2) to correct the speed.

So if the first server performs according to expectation (without failures) for example 40 the processing speed of the second server is equal to 40*E with a delay of the conveyor time between server 1 and server 2.

If the server has failure and thus have a lower output (for example, 30), I want to change the processing time of the second server accordingly to 30*E with a delay of the conveyor time between server 1 and server 2.

Does anybody have an idea of how to do the following:

  • How can you monitor the actual output of the first server at each timestep?
  • Is it possible to fix the proposed formula and use it in  an add-on process?
  • How can you take the conveyor time delay into account (using a delay step in the add-on process?)?

I am quite new to the software so I am not sure whether it is possible to model this in Simio.

 

Thank you in advance!

Link to post
Share on other sites
  1. Open your ModelEntity and add a new Real State variable named TimeInServer1 or whatever;
  2. Set ModelEntity.TimeInServer1 = TimeNow when the entity enters Server1;
  3. Set ModelEntity.TimeInServer1 = TimeNow - ModelEntity.TimeInServer1 when the entity exits Server1;
  4. Set Server2 processing time to ModelEntity.TimeInServer1 * E + delay (hours).

Check the attached model for some extra help.

Register Server1 Processing Time.spfx

Link to post
Share on other sites

Thank you for your response!

But im not sure: Is this also possible if the model is extended to 6 servers?

So each server processing time is dependent upon the one in front? I thought I would need to make different state variables for every server (machine)

For example:a machine in a production line needs to slow down with a delay if the machine upfront has reduced or zero speed because of failure.

Link to post
Share on other sites
4 hours ago, Wsimio said:

Is this also possible if the model is extended to 6 servers?

So each server processing time is dependent upon the one in front? I thought I would need to make different state variables for every server (machine)

Sure. It depends on your model logic/design.

 

4 hours ago, Wsimio said:

For example:a machine in a production line needs to slow down with a delay if the machine upfront has reduced or zero speed because of failure.

I would suggest using Server1.Failure.Active expression as a process time parameter. This expression return 1 when Server1 stops due a failure, otherwise it returns 0.

Link to post
Share on other sites

Thank you, i used the server1.failure.active expression.

However, i want to use the average server productivity and not an entity dependent time.

How would you express the productivity of a server in a model state variable?

 

Link to post
Share on other sites
×
×
  • Create New...