Oven

Batch processing of inflow (aka batch delay)

Diagram

Information

This information is part of the Business Simulation Library (BSL). Please support this work and ► donate.

An oven (aka batch delay) can be seen as an idealized model of a batch process, e.g., cookies are put on a baking tray, the oven is loaded, the cookies are baked for some time, and finally the oven is unloaded (the process may then start over again).

The parameters or inputs batchSize, maxLoadingTime, processingTime, and setupTime specify the behavior of the batch process. The oven is loaded by a flow connected to its inflow port (usually from a cloud or another stock representing a buffer stock) until either the batchSize is reached (the oven's capacity) or the time since the loading of the oven commenced has reached the maxLoadingTime. It will then close and prevent further inflow for the duration of the processingTime. The unloading of the finished "material" will take place in dt time - a global variable that indicates the shortest possible durationa of any process in a model. The reloading can commence after setupTime has passed since the process has ended. For setupTime = 0 simulatenous loading and unloading will take place.

To initialize the oven, an initialLoad and an initialLoadingTime (e.g., how much time has already passed loading the oven when the simulation starts) have to be given.

Notes

  • Care has to be taking in the case of simultaneous loading and unloading as in the case of the loading rate being higher than the unloading rate the capacity could be reached before the unloading is done so that material would be processed twice.

  • batchSize, maxLoadingTime, processingTime, and setupTime can be time-varying continuous inputs, but are internally recalculated every time the process starts and then are held fixed.

Parameters (15)

init

Value: InitializationOptions.FixedValue

Type: InitializationOptions

Description: Provide InitializationOptions (Free, FixedValue, SteadyState)

hasStockInfoOutput

Value: false

Type: Boolean

Description: = true, if a StockInfoOutput should be added to the stock

initialLoad

Value: 0

Type: OutputType

Description: Amount loaded at start time

initialLoadingTime

Value: 0

Type: Time (s)

Description: Time that has already passed to load the initial load at start time

batchSize

Value: unspecified

Type: OutputType

Description: Constant number of units processed in one batch (optional)

maxLoadingTime

Value: inf

Type: Time (s)

Description: Constant maximum allowed time for loading (optional)

processingTime

Value: unspecified

Type: Time (s)

Description: Constant processing time for the batch process or per unit loaded (optional)

setupTime

Value: unspecified

Type: Time (s)

Description: Time needed after processing is finished before loading can start (set to zero for simultaneous loading and unloading)

unloadingTime

Value: modelSettings.dt

Type: Time (s)

Description: Time needed to unload

hasFixedProcessingTime

Value: false

Type: Boolean

Description: = true, if the processing time is given for the process, otherwise it is the time per unit loaded

hasConstantLoadingTime

Value: false

Type: Boolean

Description: = true, if the maximum allowed time for loading is to be given by the parameter

hasConstantBatchSize

Value: false

Type: Boolean

Description: = true, if the batch size is to be given by the parameter

hasConstantProcessingTime

Value: false

Type: Boolean

Description: = true, if the processing time is to be given by the parameter

hasConstantSetupTime

Value: false

Type: Boolean

Description: = true, if the setup time is to be given by a parameter

hasConstantUnloadingTime

Value: false

Type: Boolean

Description: = true, if the unloading time is to be given as a parameter

Connectors (8)

y

Type: RealOutput

Description: Level or rate information

y1

Type: RealOutput

Description: Level or rate information

y2

Type: RealOutput

Description: Level or rate information

inflow

Type: StockPort

Description: Inflow port of the stock

outflow

Type: StockPort_Special

Description: Special outflow port of the stock (stock sets rate)

y_stockInfo

Type: StockInfoOutput

Description: Optional StockInfoOutput

dataIn

Type: InputConnector

Description: Expandable connector for inputs

dataOut

Type: OutputConnector

Description: Expandable connector for outputs

Components (17)

modelSettings

Type: ModelSettings

Description: Setting important global variables within a model

parMaxLoadingTime

Type: ConstantConverterTime

Description: Constant max loading time

parProcessingTime

Type: ConstantConverterTime

Description: Constant processing time

parBatchSize

Type: ConstantConverter

Description: Constant batch size

u_maxLoadingTime

Type: PassThrough

Description: Variable input of loading time

u_processingTime

Type: PassThrough

Description: Variable input of processing time

u_BatchSize

Type: PassThrough

Description: Variable batch size

parSetupTime

Type: ConstantConverterTime

Description: Constant setup time (optional)

u_setupTime

Type: PassThrough

Description: Variable input of setup time

actualMaxLoadingTime

Type: ClipProcessTime

Description: Maximum allowed loading time

actualProcessingTime

Type: ClipProcessTime

Description: Processing time

actualBatchSize

Type: ZeroIfNegative

Description: Batch size to be processed

actualSetupTime

Type: ZeroIfNegative

Description: Setup time for further calculations

dynamicStockInfo

Type: DynamicStockInfo

Description: Collecting dynamic stock info output information

actualUnloadingTime

Type: ClipProcessTime

Description: Unloading time

u_unloadingTime

Type: PassThrough

Description: Variable input of unloading time

parUnloadingTime

Type: ConstantConverterTime

Description: Constant unloading time

Used in Examples (1)

AssemblyLine

BusinessSimulation.Examples

Modeling a production process

Revisions

  • Fixed missing connect equations to establish potentially present variables in expandable connector for output in v2.1.0.

  • Removed conditionality for expandable connector dataIn in v2.1.0.

  • Connectors InputConnector and OutputConnector changed to encapsulated expandable connector classes in v2.1.0.

  • Continuous inputs made default in v2.1.0 and changed default parameter values to unspecified in v.2.1.0.