1. Home
  2. Phase
  3. Phase Overview

Phase Overview

A phase is a minor processing function exposed by a unit with no knowledge of underlying hardware (i.e. process only) . The unit/EM phase is the process interfaces into what the functions of a unit are.  The phase typically interacts directly with an equipment module but may do a specialized function such as display a message in the unit message window.  The phase interface is designed to focus the user on the procedural aspects of the process rather than the hardware.  It is also the interface between the hardware EM and the procedural batch recipe system. All interaction with the unit equipment by procedural logic is through phases.

The phase faceplate, shown above, is just an instance of the phase and is an optional component of the S88 Builder.

Phase Instance vs Phase Base 

A word about shared phases: Shared phases exist as a single entity but may have many instances as each unit has its own instance for the shared phase which is in the form of the phase faceplate.  For continuity, all phases are treated as shared phases in that they all have a base phase and possibly 1 or more instances (faceplates).  A shared phase can only be controlled by 1 instance at a time.  An instance is not required to use a phase as it may be started by batch, an action or a unit procedure.  The purpose of the instance is to give the operator the ability to interact with the phase and to make parameter and unit selection preferences.

Why Use Phases 

  • Provides a simplified procedural view of the processing function.
  • Provides a 1-to-many interface to EMs (ex: Only need 1 transfer in phase instead of 1 per source).
  • Provides a many-to-1 interface to multiple tasks of a single EM (ex: Recirc/Transfer EM will have a simple phase for each.)
  • Provides a clean/standard interface to higher level systems such as Batch, Sequencer or Unit procedures.


  • Standard States
  • Standard User Interface
  • Unit Selection
  • Has 0 or more (15) Control Parameters
  • Has 0 or more (15) Report Parameters
  • Parameter types may be Integer, Real or Enumeration

Status Information 

The top row of the faceplate shows the Unit Name along with the phase name.  It also shows the state of the phase and its associated EM.  Next to the EM state is a navigation button (actually a live tile) that will open the associated EM.

Remove the phase state button or make it just a graphic to indicate that the state relates to the phase.

The Phase name needs to be configurable so that it is different from the phase Alias used by batch.

The EM state needs to also show the EM’s mode and condition.

Phases all share the same state machine and therefore the same states, only 1 state may be active at a time:

  • Idle Phase is not in any other state
  • Running1 The phase is in its Running State (doesn’t mean the EM is running) and is processing its run logic.
  • Holding The phase is going to its Held State
  • Held The phase is held so no procedural logic is executing in this state
  • Restarting
  • Stopping The phase received a STOP command and is in the process of stopping.
  • Stopped The phase has completed its Stopping phase and is waiting for a RESET command
  • Aborting Same as stop but with ABORT command
  • Aborted
  • Completed The phase ended on its own accord, i.e. it completed its task normally.
  • Resetting Occurs when the phase receives a RESET command to return to IDLE after termination state.

The termination states, Stopped, Aborted and Completed are maintained until the phase is reset so that the object controlling them has an opportunity to observe how the phase ended.  The reset is sent automatically if the phase is owned by the user faceplate.  If a phase appears to be stuck in one of these states then that means the phase owner hasn’t released it yet with the reset command.

1CAUTION! The state of the phase is NOT an indication of the underlying equipment activity.

May need an override to force a phase to reset in case the owning procedure gets out of sequence.  FT Batch has the means to do this for its own phase interface.

NOTE: Phases will move through their states independent of the EM such that EMs with multiple phases will show only the phase that is active as starting/stopping.  Other phases will remain idle.

EM States 

The EM states are similar to the phase states except that it has more standard states and also has configurable states that better describe what it is doing when it is running.

  • Idle
  • Acquiring
  • Starting
  • Running is the standard state but may be substituted for another name
    • Agitating     Examples:
    • Mixing
    • Recirculating
    • Heating
    • Adding
    • Suspended This is a form of holding except it is a sub-state of running
  • Holding
  • Held
  • Restarting
  • Stopping
  • Stopped
  • Aborting
  • Aborted
  • Compete
  • Resetting


The phase State Commands are:

The restart is enabled while the phase is held and simply commands the EM to restart and, once restarted both the EM and phase return to the RUNNING state.  This function is disabled when batch is holding the phase.

Batch may not restart a phase held by the operator but the operator may restart a phase held by batch.

There are no conditions on starting a phase so it will start when the start button is pressed.  The phase will go directly to the RUNNING state and once started the phase will try to identify the EM it is supposed to control and attempt to start it as well.  An alert will be raised if it is unable to identify an EM or cannot start the EM due to no permissive.  The EM will go through its STARTING state and eventually to RUNNING or some other form of running.


In the RUNNING state an EM may temporarily be suspended which will be accompanied by a message to explain what is happening.  While the EM is suspended the phase will remain in its RUNNING state

Once a phase is started it may be held to prevent any additional actions on the phase.   Holding a phase causes the associated EM to also hold.  While in the process of holding, the phase state will be HOLDING until it gets confirmation that the EM is held.  The EM may go through various states prior to holding.  Once held no automatic action may occur on the EM but HELD doesn’t necessarily mean all CMs are off.  An agitator, for example, will remain agitating but maybe at a reduced rate while held.  Typically process EMs remain in a static state while held.

Holding a phase owned by batch will report to the recipe that the phase is held but the recipe will not hold.


Batch and the EM itself may hold the phase if it encounters a condition that must be held.  Following is a list of conditions that cause the phase to hold.


·         Batch Hold – The user may hold the recipe or a phase or the recipe may encounter a failure and hold all phases.

·         EM Tripped – This will also cause a phase failure to be reported to batch which may also hold the recipe.

·         Material Add outside of Tolerance – This will force the EM to hold requiring the user to either restart and try again, open the tolerance window and restart to accept or stop the phase which will hang the recipe.  The user could also put the EM in manual and stop it which will report back to phase that the EM was aborted but allow the phase to complete normally.

·         Hold Expression on the EM.

Stop and abort are very similar except that abort has an overriding timer to cancel various functions that may be hung and to force the end of the EM if it isn’t done in a timely manner. Usually 3s per step.


There is a difference between stopping and aborting an EM in manual mode vs. stopping and aborting the phase.  Stopping and aborting the EM will appear to batch and the phase logic as a normal completion of the phase.  It will be reported that the EM was aborted (for both stop and abort) if an Aborted report parameter exists.  Stopping and aborting the phase will be reported back to batch as a stopped or aborted phase.  The Aborted report parameter will not be affected.  Aborting or Stopping the phase will likely hang the recipe since the Complete state is used in the transition condition.


Other commands 

  • Reset – 40
  • Clear Failures – 130
  • Ack Request – 140
  • Reset Request – 170

Notice that RESET is not shown, that is because the reset is assumed when the phase is completed.  Should this be assumed?  Should a RESET be provided anyway to override the procedural logic if it is confused?



A phase may contain up to 16 real, integer or enumerated control and/or report parameters.  Control parameters are those that affect the process and report parameters are used to report back the status of the process.  All parameters are mapped with matching parameters in the associated EM and may be mapped with parameters in the associated batch phase interface.


Phase parameters are typically EM parameters but not all EM parameters are included with the phase.  Only process related parameters and those that are important to the recipe user are included.  Hardware specific parameters are typically not included.

The parameter area is scrollable so scrollbars will be visible on the right if more parameters exist than what will fill on a page.

Control Parameters 

Phase control parameters are applied when the phase starts or when the Apply (check) button is pressed.  The phase parameters may be modified by the Batch Phase, Unit Parameters, Action Parameters and/or the Unit Procedure but only when they own the phase.  They are applied in the order listed but only if the phase is started by one of those objects.  They are not applied if the phase is started by the phase’s faceplate.

Any changes not applied or changes at the EM directly will be indicated with a pencil icon next to the parameter that was changed.  The user may apply the current set of parameters at any time by clicking the apply button.   If a report parameter is associated with the control parameter in Studio then any applied changes to the parameter in the phase or EM will be reported back to batch as a changed parameter.

Enumerated parameters are presented as a dropdown combobox whose selections are read directly from the S88 Builder database when the faceplate is open.

WARNING!  All phase parameters are configured as reals so the consecutive highest integer value that can be represented is 16,777,216.

Report Parameters 

Phase report parameters are for process related feedback.  These values are only updated while the phase is associated with its EM and while running unless specified to update while idle in S88 Builder Studio.  The phase parameters may be Real, Integer or Enumerations.  Enumeration report parameters will display the enumeration name as read from the S88 Builder Database.  The enumeration box will also have a colored background to indicate the values condition.

Phase Classes 

Typically just the standard class is chosen as the phase class because there is very little difference between phases.  However, certain phases require special processing which require a specific class to function properly.  These are:

  • Standard Default phase class with general running logic where EM runs to completion
  • Message Expects text lines and a prompt parameter to display in the unit recipe message area
  • Transfer Expects a link partner to be identified to transfer material between units
  • Initialize Checks to ensure all unit equipment is ready and in auto and that the unit is empty and RTR
  • Material Phase will be adding material (this isn’t different from the standard but maybe in future)
  • CIP_SYS This phase is commanding a CIP System to select source and destination
  • CIP_UNIT This phase is commanding the Unit being cleaned to select component and route

Message Phase

{to be filled out}

Transfer Phase 

The transfer phase is unique because it must work with another unit phase to complete the transfer since it affects two different units.  This is handled automatically when batch is in control but it must be managed by the operator to effect a successful transfer.

The operator has several possibilities when initiating a transfer.

  1. A transfer out and transfer are both visible w/o Batch ID
  2. A transfer out and transfer are both visible w/ Batch ID
  3. Only the transfer out or transfer in exists

For item’s 1 and 2 the operator must go to and start both transfer’s to start the EM.

Item 2 also requires the correct batch ID be entered at both locations.

Item 3 only requires the operator to start the single phase to start the transfer EM.

Note: Both the transfer in and out phases may exists but it is only necessary to start both if they are visible which is a developer choice.

{to be elaborated}

Initialize Phase

{to be filled out}

Material Phase

{to be filled out}


{to be filled out}

CIP_Unit PHase

{to be filled out}

Link Phase 

A linked phase is used to send messages between multiple phases for coordination.  The two most common linked phases are the Transfer and Sync phases.  The transfer phase (described above) is actually a combination of two sync phases with an EM to boot.  The sync phase simply sends or receives a message and waits with no information passed.

The following tags are used in linked phases:

SndRqst Send Request enabled  
SndRqstPend Send Request is Pending  
SndRqstAbort Send Request Abort  
SndRqstCplt Send Request is Complete  
Rcv* Same as send but for Receive  
RqstActive A batch request is active  
Link1Sent 1st Partner Link  was sent Link1Rqst
Link1Rcvd 1st Link was Received Link1Ack
Link2Sent 2nd Partner Link  was sent Link2Rqst
Link2Rcvd 2nd Link was Received Link2Ack
LinkPending A Link Message is Pending for Phase Completion TransferPending
EndPerm Permissive To End  


Transfer Out (w/o EM) 

  1. Set Link1Sent (actually just indicates that Link1 was messaged)
  2. Set SndRqst along with optional parameters to begin the linked message (send & wait or receive & wait).  Transfer w/o EM or Sync-Send  will Send; whereas, Transfer w/ EM or Sync-Receive will Receive.
  3. Wait for SndRqstCplt Then Set Link1Rcvd (LinkPending = True)
  4. Set Link2Sent
  5. Set RcvRqst
  6. Wait for RcvRqstCplt Then Link2Rcvd = True  (LinkPending = False)

LinkPending = Link1Rcvd AND NOT Link2Rcvd for Transfer Type

A Transfer phase contains 2 Sync links and once the 1st sync has been received it is bad form to complete the phase until the 2nd sync has been received.

Transfer In (w/ EM) 

  1. Set Link1Sent
  2. Set RcvRqst
  3. Wait for RcvRqstCplt Then Set Link1Rcvd (LinkPending = True) and Set LinkUnitID
  4. Set Link2Sent
  5. Set SndRqst
  6. Wait for SndRqstCplt Then Link2Rcvd = True  (LinkPending = False)

*Don’t set LinkUnitID unless IsTransfer

Phase EM Selection 

All phases are identical and all search for an EM based on these criteria:

  1. EM implements the Phase
  2. EM has source containing the specified material or the same material class and type (if material or class/type is provided in phase)
  3. EM’s Source/Destination Unit matches Linked unit (If part of a Link group, ex: Transfer EMs)
  4. EM’s Source/Destination Unit matches the Phase’s Unit (all phases run in a Unit OP and are associated with at least one unit)
  5. If secondary phase, such as XFER_OPTIONS, then the EM must be not IDLE (since secondary phases cannot start EMs and can only modify parameters of running EMs)
  6. If multiple EMs meet the above criteria then the available EM with the highest priority source is chosen (or 1stEM found if all have same priority)

After all of this the Phase will only associate itself with an EM if the chosen one is Ready To Go or only 1 could be found matching all the criteria.

So to make a Phase “Smart Enough” to find an EM based on a desired material you simply need to tell it what the material is that it should be searching for using the MATERIAL “Known Param” parameter in a generic Tote phase, see MAT_ADD_Dry1 phase.  And of course the TOTE vessel must know what it contains.  Going down the selection criteria:

  1. Does EM implements K4_TOTE_ADD1 phase (yes to all K4 Tote Material Add EMs – 6 EMs)
  2. Does EM source contain Walnut Fluff (assuming walnut fluff is in K4 Tote 1, yes to all K4 Tote 1 Material Add EMs – 3 EMs)
  3. Does EM source/destination match linked unit (linked unit not provided)
  4. Does EM source/destination match phase unit (assuming delivery to MT401, yes to MT401_TOTE401 – 1 EM)
  5. Is this a secondary phase (no so ignore running state)
  6. Only 1 EM was found so it is the chosen EM

If both totes contain Walnut Fluff then Step 4 would have found 2 EMs so Step 6:

  1. If 2 EMs were found:
    1. If both are available and have the same priority then the 1stEM (MT401_TOTE401) is chosen
    2. If both are available but 2ndhas higher priority then the 2nd EM (MT401_TOTE402) is chosen
    3. If one is not available then the other is chosen
    4. If neither are available then neither are chosen and the selection logic waits until one is available

Vessel priority is set from Material Manager or can be overridden with custom logic.



Updated on December 14, 2018

Related Articles

Password Protected