The Unit is the highest level of equipment in S88 Builder. A unit is a collection of physical equipment and the control logic that carries out one or more major processing activities. A unit may be no more than a section of pipe or a spot on the floor or it could be several vessels. Units are major structuring elements used in recipes and control logic; they define the major procedure structure of control recipes. The unit exposes its processing capability through the phases it contains. This defines what the operator, recipe or unit procedure can do (such as material additions, transfers, heating or cooling and mixing…). Please note: A vessel is not a Unit.
- Is a group of vessels, CMs, Instruments and EMs that perform a major processing function.
- Contains 1 or more States (we haven’t implemented this, could this be the same as the Unit Procedure Steps?)
- Contains 1 or more Vessels
- Contains 0 or more EMs
- Contains 0 or more(30) Phases
- Contains 0 or more(30) Actions
- Contains 0 or 1 Unit Procedure (continuous) (This suggest the unit procedure is a state machine without start/stop)
- Contains 0 or more Action Procedures (short lived)
- Contains 0 or more(15) Parameters (control and report)
- Contains 0 or more(15) Tags (transition points)
Units operate relatively independent of one another except when transferring material or doing special timing so material is completed or transferred at the right time and rate. Units typically control either their upstream equipment, which brings material into the unit, or their downstream equipment, which takes material out of the unit.
The unit’s faceplate provides the user interface to the various processing objects such as the Unit Procedure, Action, Phases and EMs. Much of this interface can be done through Actions. For example: Instead of opening and starting the mixing EM or Phase the user can click on the Mixing Action button.
Each unit has a faceplate that contains:
- Controls for unit mode management, unit transfer management and unit procedure access.
- Message areas from phases and/or recipe steps
- Status (level, temperature, etc.)
- A tabbed panel for access to specific unit objects
- A panel showing a collection of live tiles representing unit actions, indicating action state and access to an action parameter. There are two tabs for this where the second tab is for maintenance actions.
- A panel showing live tiles representing the collection of unit phases exposed to the HMI. These tiles will be used by the operator to—
- Drill in to follow an alert
- Operate equipment manually from the unit level
- A panel showing a collection of live tiles representing all the associated EMs. Like the phases these tiles show the EM state and provide access to the EM faceplate.
- A panel showing unit control parameters and unit report parameters
- A panel showing material amounts desired and delivered for the current recipe
The unit faceplate has several standard control buttons available to the user.
A button exists to place all unit EMs or all unit CMs into program (automatic) mode and to clear any faults that may exist in those objects. This button is mainly for the convenience to the operator.
Clear To Receive (CTR) and Clear to Send (CTS)
When set the unit may receive and send material from or to other units but when cleared the unit is not capable of receiving or sending material. Transfer and Material Add EMs will be placed into process hold when not CTR or CTS.
The CTR and CTS may be 1-shot set or reset by an Expression or by the Unit Procedure Logic. However, if the user clears either the CTS or CTR then no logic can programmatically override the user and set the CTS or CTR.
Each vessel in the unit has its own CTS, RTS, CTR and RTR where the R prefix indicates Ready. Ready only prevents an operation from starting but does not stop an operation in process as the Clear does. These vessel’s functions are the results of the parent unit’s functions and trip conditions associated with the vessel. At the vessel level the CTS/CTR cause overrides to associate CMs as well as any affected EMs.
The Stop All button will send a software hold command to all EMs and a software override to all CMs owned or associated with the unit. This is a maintained condition which will continuously prevent operation until released. (Should this be maintained? Or should it cause a trip on the CMs instead of an Override. The override condition must be maintained so that it can be released later; whereas, a trip could be a momentary command.)
CMs may be opted out of the stop all command.
This button provides access to the Unit Procedure panel if defined. It will flash if there is any pending Unit Procedure Alert.
This button shows a RED X when a unit procedure hasn’t been defined. This is actually an Error indication in FT View because the associate tag doesn’t exist. Need to determine a way to fix that with visibility or late binding.
The unit state is nothing more than the current step of the Unit Procedure.
Should this be formalized?
There are two message areas, the first is the phase alert message and the second is the Recipe or Unit Procedure message.
All objects controlled by a unit generate a message which can be used to notify or inform users of the objects actions. If an object is in alert then this becomes the alert message which may also be used to identify the object and reset it. The message is passed up the hierarchy of objects until it reaches the unit. At each level, it is displayed and additional information added to it so by the time it reaches the unit it is a comprehensive message relevant to the user.
The user may drill into the originator of the message using the binocular button that accompanies the message. Alternatively, the user may follow the alert navigator to drill through the various levels and arrive at the same location.
This message area contains 3 lines and is set by the message phase of a recipe or by the step and step message of the Unit Procedure. Any prompts by the phase or unit procedure are also illustrated in this message area from a menu of predefined prompts such as OK, RETRY or IGNORE.
This message may also be duplicated directly on the unit animation graphic so the user doesn’t have to open the unit faceplate to see the message.
A unit inherits its primary vessel’s status such as Level, Temperature, CTS, RTS. The primary vessel is the 1’st vessel associated with the unit. All other vessel’s status will have to be accessed through variable definitions or tags. This information is typically displayed as a bar graph or trend chart.
A series of panels accessed through tabs is located at the bottom of the unit faceplate for accessing collections of objects associated or owned by the unit along with control and report parameters.
Each tab contains a badge icon that indicates how many alerts are present in the objects contained by the respective panel. (This functionality is currently broken)
See Tile Page for more details
Actions & Maintenance Actions
The first set of panels is for actions and maintenance actions. Actions provide quick access to common tasks need to be performed by the unit. The maintenance tab is for the not so common actions. Actions are optional because they just trigger functions that already exist in the S88 Builder engine which could be accessed directly. The actions just simplify this interface. Each action is represented by a live tile that illustrate the actions state with color and present an optional control parameter to be used by the action. Clicking an action presents a dropdown menu with options to Play, Pause or Stop the action. If the action is directly associated with a phase then it also includes a phase button to open the phase’s faceplate.
See Actions page for more details.
This panel also contains a collection of live panels that represent all the phases owned or associated with this unit. This too is optional because these phases will be controlled directly by the Recipe or Unit procedure. These buttons give the operator the ability to manually control the phases. Without presenting the phases, the user could still control the underlying EM in manual mode. This is how version 1 was done.
See Phases page for more details.
This panel shows a live tile for each EM associated with the Unit that illustrates the EM’s state and provides access to the EM’s faceplate.
See EM page for more details
The parameters panel holds all the Control and Report parameters configured for the unit.
Optionally this could include the Tag names and values.
Control & Report Parameters
Parameters are used to get and display information for the user. The unit may contain up to 15 control and 15 report parameters. These parameters may be associated with a phase or free standing and used by the Unit Procedure. Control parameters contain values set by the user and report parameters display process information to the user. Control parameters are applied whenever a phase is started (unless it is started by the phase’s faceplate) or when required by the Unit Procedure.
All parameters are internally represented as real data types; however, they may be chosen to be displayed as Real, Integer or Enumeration. There is no support for text parameters with exception to the 3 line Message phase and a single Note parameter reserved for use by every phase. These parameters are used for reporting only and display in the Recipe Message area.
When there is a discrepancy between a unit control parameter value and the same control parameter value at the phase level, whether the operator changed it at the phase level or the operator changed the value at the unit level and has not applied it or the operator has changed the value at the unit level to take affect at the next phase start, this discrepancy will be indicated to the operator and a “Apply” button will become enabled. If no phase is running, the unit level parameter change is simply accepted; there is no discrepancy.
Changes made to the control parameter may be applied to a running phase with the apply button that is enabled whenever any changes are present.
The unit parameters could be placed additionally on the main screen or within the Unit Procedure panel if desired.
See parameter page for more details
Tags are used to contain any information required by the recipe or unit procedure that isn’t directly available from a phase parameter.
Tags are real data types that may be set automatically with a variable definition (currently these are expressions but need to be changed to a variable) or programmatically with custom logic.
Tags may also be given an alias (<unit name>_<tag name>) to be accessed by name; however, they may also be accessed by their ordinal in the tag array. As with the parameters all tags are internally represented as real data types.
For Example: Assume a Unit Procedure needs to know when a Flow Switch has been activated. In the process world of the Unit procedure or Recipe they have no direct reference to the flow switch. However, if unit tag 1 is defined to represent the Flow Switch Limit then the Unit Procedure or Recipe may access the flow switch as <Unit Name>.Tag.
Should these be shown in the unit parameter panel for debugging purposes?
See Tag page for more details
The material tab lists all materials delivered to the unit with the desired amounts and the actual amounts delivered since the unit was reset by the recipe. This tab can be used to check on the progress of the recipe and the amounts of material actually added.
This has yet to be designed.
The tiles are taking up too much room or just don’t blend well together.
S88 Builder Studio
The unit configuration in Studio has the following columns:
|Name||Unique Name up to 16 characters (Typically the P&ID drawing name of the primary vessel)|
|Class||Choose 1 of the standard unit classes or create a new one|
|Description||Description of this unit but is not part of the download|
|ID||A unique number used as the place holder in the logic (this number is for internal use only)|
|Phase ID||Unique ID used to associate this unit with a unit in FT Batch and assigned by batch|
|Vessels||Collection of vessels owned by this unit (the 1st vessel assigned is the primary vessel)|
|Actions||Collection of Unit Actions designed for this unit (Unit actions are not the same as phase actions)|
|Action Order||Set the order for the actions to appear and whether they are maintenance actions|
|Phases||Collection of phases owned by this Unit and if they are visible|
|EMs||Collection of EMs to be included in this Unit faceplate|
|Parameters||Definition for all Unit Parameters and association with phase parameters if required|
|Tags||Transition tag definitions (see Tag page for more details)|
|Control Items||Less used configuration information to customize the behavior and look of a unit. See Control Items page for more details|
|Alias||A valid control logic tag name used to alias the unit. This is an automatic field (cyan) unless edited. The alias is automatically created by removing invalid characters from the unit name.|
The Phase’s column use to be used to indicate whether to show the phase in the unit or not but now it is required for all phases that contain actions for the unit (maybe this isn’t true anymore). Therefore, a visibility or some other property must be added to control if the phase is visible.
Unit Control Items
Control items are used to customize a particular unit with less common elements. New Control Items may be configured by the user as required. The following is a non-exclusive list of unit control items.
|PhaseID||This is the same as the Phase ID column which indicates that the column is actually a control item masquerading as a table column.|
See Control Items page for more details