A unit procedure’s operating mode can be set as:
● Batch / Semi-Continuous, or
● Continuous
Some procedure types are inherently batch (e.g. chromatography). For those procedures the continuous mode options is disabled. On the other hand, any procedure, even those that are inherently continuous (e.g. pumping or a continuous reaction in a CSTR) can be set to semi-continuous operating mode, if needed. In this mode, the procedure is ‘on’ for some time (executing in its natural continuous mode), then it may be shut down for a period of time (i.e., it is ‘off’) as it may not be needed in the context of a batch process. A more intriguing situation appears when a batch procedure is set to operate in a continuous process. For example, suppose there is a batch vessel procedure in a reactor, executing a set of operations like: ‘Charge’, ‘Heat’, ‘React’ and ‘Transfer out’. SuperPro Designer bridges the gap between the continuously flowing material around the procedure to the ‘mini-batch’ executing inside this procedure by assuming that the continuous material entering and leaving the procedure will be held up in some collecting tank(s) - not shown on the flowsheet. The time used to collect this material (holdup time) may be set by the user or it may be dictated by the operating requirements of the batch procedure (see Holdup Time). On the other hand when a continuous procedure is set to operate in a batch process, then its throughput will be based on a batch amount processed per recipe cycle time. You can set the operating mode of a unit procedure through its Procedure Data Dialog.
A continuous procedure is, by default, ‘on’ all the time. However, in a batch flowsheet, the start time of a continuous procedure can optionally by set by scheduling its single operation with respect to other procedures in the recipe. If this is not done, then the continuous procedure will be assumed to start at time zero of the simulation horizon.
When a batch unit procedure, such as chromatography, is set to operate in a continuous surrounding, SuperPro Designer needs to infer the amount of material that gets processed per cycle. The implicit assumption is that in order for this unit procedure to function cyclically in an otherwise continuous environment, there must be a tank that accumulates material for a certain time (at least while the procedure is in progress) and then feeds the next cycle of the unit procedure. This time we call holdup time. There are three options for specifying the holdup time through the “Scheduling tab” of the procedure data dialog:
● Set by User
● Calculated
● Same As Process Time of Oper.
If the “Set by User” option is selected, then the user must set the holdup time value. Naturally, the specified value must be at least as large as the processing time of the step, otherwise overall plant continuity is disrupted.
If the “Calculated” option is selected, the program will calculate the holdup time to be equal to the Cycle Duration (i.e., the duration of the entire unit procedure). Note that this option will not be available if one or more operation process times must be calculated by the program (in that case, the operation’s duration may depend on the amount processed, but the amount processed depends on the holdup time, thus leading to a circular calculation and therefore not allowed). Care must be taken to have the holdup time with a reasonable value: if the value set is too small, then there will not be enough time for the contained operations to execute; if the value is set (or calculated) too high, then the accumulated material that needs to be processed per cycle of the unit procedure becomes too large and if some of the contained operations’ process times depend on the amount of material processed, then their operating times become too large, leading to a process cycle time that may be too large (or at least larger than the set holdup time). It is very easy to destabilize the interdependency between equipment capacity and holdup time if the process time calculation of at least one of the operations in the procedure’s queue, depends linearly on the amount processed: Higher holdup times lead to larger capacity demands which in turn lead to higher process times (and procedure cycle times). that raise the lower limit on holdup times. An effective way to circumvent this self-feeding cycle is described below:
|
A challenging case involving the holdup time appears when all contained operations have their times set by the user. As mentioned previously, in that case, the holdup time is calculated by the program as the time between the start of the first operation and the end of the last operation. If that time happens to be very large and independent of the amount processed per cycle (e.g. it could be due to large reaction/fermentation time) then the sizing demand on the hosting equipment resource may be exceedingly large. To circumvent this predicament you can set the hosting equipment resource to operate in a staggered mode. In that case, the effective value used to estimate the amount of material processed per cycle would be the cycle time divided by N+1, where N is the extra sets of staggered equipment resource units, thereby reducing the capacity demands. For more details on the staggered mode of operation see Staggered Mode. |
If the “Same As Process Time of Oper.” option is selected, the user must select an operation from the list of available operations for this procedure, and the program will set the holdup time equal to the process time of that operation. Note that this list will only include operations whose process time must not be calculated by the program.
Note that for unit procedures whose cycle duration is determined directly by user’s settings (in other words, all contained operations have process times, setup times and turnaround times directly set by the user), the “Calculated” option is selected by default, and therefore the holdup time is assumed to be equal to the duration of the entire unit procedure. This is the most straightforward case where the user does not need to supply the procedure's holdup time (it’s just inferred by the timings of the operations contained in the procedure). However, if the duration of at least one operation in the procedure is calculated by the system, then the user must either select the “Set by User” option and specify a user-defined value for the holdup time, or select the “Same As Process Time of Oper.” option (if there is at least one contained operation whose process time must not be calculated by the program) and set the holdup time to be equal to the process time of a selected operation.
A unit procedure is assumed to capture the execution of a sequence of operations. A completed sequence of operations from the beginning of the first to the end of the last operation (as defined in the procedure’s operation sequence list) is called a unit procedure cycle, and the time elapsed from the beginning of the first operation to the end of the last operation in the sequence is called the unit procedure’s cycle duration.
|
The cycle duration is not necessarily the sum of the execution times (durations) of the operations in the procedure’s queue since there may be some operations that do not start as soon as the previous operation in the sequence ended (in other words, there may be some idle time between back-to-back operations in the sequence). Also, it may be that two (or more) operations may have durations that overlap each other (e.g. two consecutive charge operations and a reaction operation may span a time during which an agitation operation is supposed to be carried out. Such time may be necessary to simulate a simultaneous stirring while charging and having the contents of the vessel react. |
When an operation in the sequence of a procedure is processing material as part of a single batch, sometimes the demand for equipment resource capacity is such that it necessitates the use of multiple units (in other words, there’s not enough capacity to process the material through that step in one run). Very often, due to economic considerations (e.g. if the associated equipment is very expensive) or perhaps due to under-utilization of a given equipment resource, instead of engaging multiple equipment units in parallel, the material to be processed per single batch is split into a number of ‘mini-batches’ and each mini-batch is processed separately through that equipment. For example, consider the case where a large amount of material needs to be passed through a chromatography column. If the column’s total cycle duration (including equilibration, loading, wash and regeneration) is relatively small compared to the time between batches (process cycle time), then instead of demanding the use of multiple columns (say 5), it may be preferable to divide the material into 5 equal amounts. These 5 mini-batches of material are processed by the column one-by-one, and the product streams and wastes are later merged back into a single product stream and a single waste stream. SuperPro Designer makes it very easy to accommodate such processing requirements, without having to show the actual split of the material into 5 cuts and represent each chromatography step separately (this would require 5 distinct icons with products that later merge together). The key is to set the number of cycles parameter of that procedure to a number larger than one (the default value); in our case 5. When this is done, SuperPro Designer will assume that the sequence of operations contained in the unit procedure (equilibration, load, wash and regeneration) will repeat itself in an identical manner. Each such sequential execution of operations (cycle) is assumed (by default) to tightly follow the cycle before it (i.e. there are no time gaps between the successive execution of consecutive cycles). Therefore, the cycle time (i.e. the time interval between consecutive cycle starts) is equal to the cycle duration. If a procedure has been set to have multiple cycles, then there is an option for the user to set the cycle time to any desired value. If the user-defined cycle time is smaller than the cycle duration, then multiple units (operating in staggered mode) will be needed; these extra pieces of equipment will be drawn from the staggered equipment pool (seeEquipment Data Dialog: Equipment tab). If there are no staggered equipment specified on the Equipment Data Dialog, then processing of overlapping cycles is infeasible and SuperPro Designer will issue a scheduling error.
|
Note that you cannot use the start or end time of an operation in any intermediate cycle as the start time reference for the scheduling of other operations. When the start time of an operation (in a multi-cycled procedure) is selected as a reference point, then the start time of the operation as part of the first sequence of operations (cycle) is used. When the end time of an operation (in a multi-cycled procedure) is used as a reference time point, then the finish time of that operation, as part of the last cycle, is used. If you need to schedule or reference start or end times of operations during any of the cycles of a procedure, then it is recommended that you represent each cycle as a separate unit procedure (hosted by the same equipment resource). If you need to have some action(s) happen before the first cycle only or after the last cycle only, then that is another reason that you must represent each cycle as a separate unit procedure (hosted by the same equipment resource). |
.
The periodic repetition of a unit procedure across batches is assumed, by default, to follow the pace dictated by the main recipe (recipe cycle time). Optionally, however, it is possible to declare that a batch procedure has its own pace for repeating its cycle(s), i.e., independent cycling. In such a case, the procedure is executed with a periodicity that is different from the recipe’s cycle time. This independent period (or procedure cycle time) can be set explicitly by the user as soon as he/she declares the procedure as ‘cycling independently of main recipe’ on the Procedure Data Dialog: Scheduling Tab (Batch Process). Alternatively, the user may specify how many cycles of this procedure are to be completed per cycle of the main recipe (equivalent procedure cycles). This number (which can be non-integer), can be greater than 1 for procedures that repeat themselves with a pace faster than the main batch, or smaller than 1 for procedures that repeat themselves with a pace slower than the main batch. From the procedure’s number of equivalent cycles, the program will infer the appropriate procedure cycle time (either larger or smaller than the recipe cycle time). The amount of material processed per each repetition of a procedure with independent cycling is calculated by dividing the material per batch with the number of equivalent cycles. For example, if an independently cycling procedure executes twice as slow as the main recipe, then it should process twice the amount per batch as the main recipe. The start time of the first execution of a procedure with independent cycling is implicitly inferred by the program by examining the start time of the first operation in the procedure’s sequence. Such timing can be tied to any event of the main recipe: the start of the main recipe, or the start or end time of any other operation that is part of the main recipe. Please note that the inverse is not allowed: in other words, the scheduling of any operation in the main recipe cannot be tied to the start or end time of an operation that is part of an independently cycling procedure.
The number of cycles, declaration of a unit procedure as independently cycling, and the cycle time specification or the number of equivalent procedure cycles can all be set or viewed from the Procedure Data Dialog: Scheduling Tab (Batch Process)..
.