AVEVA Batch Management with Foxboro DCS Components Configuration Procedures
- Last UpdatedNov 20, 2024
- 6 minute read
The following guideline shows the minimum steps required to establish communication between AVEVA Batch Management with Foxboro DCS components system and the Foxboro DCS Control system for models and recipes:
-
Start the Environment Display.
-
Use Model Editor to build your process model. To make AVEVA Batch Management with Foxboro DCS components operational using the default configuration directory, you must configure at least one equipment status.
-
Validate the finished model.
Remember that the default equipment status that you define is downloaded from AVEVA Batch Management with Foxboro DCS components to all unit blocks when Batch Manager becomes active (Batch Manager environment parameter). When the parameter is enabled, sequence code (possibly associated with the unit block) should continually update the unit status value to ensure that it contains the current value.
-
Build and validate each recipe. Ensure that the recipes are approved for production.
-
View the model and recipe processing using Simulation Mode.
-
Use the Foxboro DCS Linker to edit the StrMap configuration file. Configure the process model equipment status. Configure ASCII values with their associated unique integer values. AVEVA Batch Management with Foxboro DCS components reads the unit block status value (TagMap file default: II0004). If this value is acceptable at batch run time (as compared to equipment status values), AVEVA Batch Management with Foxboro DCS components allocates the particular unit. Configure equipment status values as corresponding values in the StrMap file, the TagMap file and the model/equipment status. You should also configure the integer value associated with the default equipment status value as a default value in II0004 of all corresponding unit blocks using the ICC.
-
Use the Foxboro DCS Linker to edit the Tag Map configuration file, if you want. For example, you might want to add a CAMPAIGN_ID and LOT_ID as equipment system tag extensions (that is, by removing pound signs (#) and assigning unit block string parameters).
-
Install a copy of the PHASE_EXEC File Configuration block immediately after the unit block and then configure the following parameters:
-
NUM_ID – Number of compounds to receive Batch ID data in their LOOPID register.
-
IDNAMn – Names of all the compounds to receive LOOPID data.
-
NUM_OP – Number of all sequence blocks in the compound being controlled by AVEVA Batch Management with Foxboro DCS components.
-
OPNAMn – Names of all sequence blocks in the compound being controlled by AVEVA Batch Management with Foxboro DCS components.
-
PSTATUS – Assignment for all phase block status words (default: II0008). This status word assignment is required for each sequence block being controlled by AVEVA Batch Management with Foxboro DCS components. This status word physically resides in each sequence block that is controlled by AVEVA Batch Management with Foxboro DCS components. This assignment must be the same for every sequence block. If not, the PHASE_EXEC sequence code requires modifications. This integer assignment should also correspond to the assignment made in the TagMap file (II0008).
-
UNITAVAIL – Unit availability indicator. Default: II0008. In the PHASE_EXEC block this item should be ICC-connected to: UNIT.II0008.
-
UNITCONTROL – Unit control assignment. Default: II0007. In the PHASE_EXEC block, this item should be ICC-connected to: UNIT.II0007.
-
-
Using the Foxboro DCS Linker, Link AVEVA Batch Management with Foxboro DCS components Tags to Foxboro DCS Control Tags. To do this, select the Generate function. The Generate function uses the configuration data in the TagMap configuration file to automatically generate all the required Foxboro DCS Control Suite Compound:Block.Parameter assignments. You must use the Foxboro DCS Linker to modify any of the default assignments that require additional definition or modification.
Some recipe parameters may require modification. Recipe parameters are designated in four categories: String, Discrete, Analog, and Enumeration. As a default, string assignments are converted to Foxboro DCS SN000n assignments, discrete assignments are converted to Foxboro DCS BI000n assignments, analog assignments are converted to Foxboro DCS RI000n assignments, and enumeration assignments are converted to Foxboro DCS II000n assignments.
Assignments are made in alphabetical order (as shown on the Foxboro DCS Linker display) starting with an assignment of RI0001. Assignments progress incrementally for all unused RI locations. Consider this rule when you make manual sequence code assignments, because using similar sequence code assignments reduces link editing requirements. If sequence block integer assignments are required for any AVEVA Batch Management with Foxboro DCS components analog type tags, then you must manually do these configuration assignments using Foxboro DCS Linker assignments.
Note: If you have two batch tags, one analog and one string, and both are linked to the same Foxboro DCS integer tag, it is possible for the system to assign improper values to one of the batch tags. Therefore, when you link multiple batch tags to a single Foxboro DCS tag, ensure that the data class (Analog, Discrete, String or Enumeration) is the same.
-
Configure sequence blocks according to ICC and follow these guidelines:
-
UNIT Block Unit Available configuration (default II0008) should be configured to zero as the default. A non-zero value is used to trigger INTERLOCKED status for all phase blocks in a READY state.
-
UNIT Block Unit Control configuration (default II0007) should be configured to zero as the default.
-
UNIT Block STATUS (default II0004) should be configured to the default integer value as specified in the StrMap file and model/equipment status.
-
The PHASE_EXEC block should have II0008 (UNITAVAIL) ICC-connected to: UNIT.II0008. The PHASE_EXEC block should have II0007 (UNITCONTROL) ICC-connected to :UNIT.II0007.
-
All sequence blocks being controlled by AVEVA Batch Management with Foxboro DCS components should have their status word assignment (default II0008) set to a READY status (value of 1).
-
The following steps describe additional configuration required to run AVEVA Batch Management with Foxboro DCS components, with models and recipes on your Foxboro DCS control system.
-
Use the FB_HLBL code template (HLBL_PHASE.s) for phase logic implementation with the standard HLBL language. The template includes all required phase command/state handling and indicates where you must add application specific logic.
-
Use the SFC_PHASE code template for phase logic implementation with FoxSFC. This template (SFC_PHASE) is functionally identical to the HLBL template. Steps are identified where you must add application specific logic.
-
For each phase logic sequence, identify the ABORT_STEP by either letting the code run to completion and then referencing the II0006 parameter value, or by doing the following.
-
From the default CODE display, set the block to Manual and Active.
-
Type a large value (for example, 200) in the entry box.
-
Select EXEC STEP. The logic immediately jumps to the end and indicates the last step number in the STP field. The required ABORT_STEP is one less than the last step indicated in the STP field.
-
Write the ABORT_STEP into the II0006 parameter using the Control Configurator.
-
Note: Whenever a sequence block is compiled or a block is deleted and undeleted, the connections of that block to the FoxDCSDriver are lost. Running a phase from AVEVA Batch Management with Foxboro DCS components with connections that have been lost appears to stop the processing of Batch Manager. It is important to do a CHECKPOINT to re-establish communication.
INDEPENDENT_SEQUENCE
CONSTANTS
#define NUM_ID 0 /* Adjust for additional equipment compounds */
#define IDNAM1 " /* Enter Names of equipment compounds */
#define BATCHID SN0010 /* Assign Unit Block Batch ID for LOOPID use */
#define NUM_OP 2 /* Adjust for Phase Blocks */
#define OPNAM1 "SFC_PHASE" /* Enter Names of Sequence Blocks */
#define OPNAM2 "HLBL_PHASE"
/* Assign Batch Control Word */
#define UNITCONTROL II0007 /* ICC connect to :UNIT.II0007 */
#define UHOLD 1 /* Assign Batch Control Bits */
#define URESTART 2
#define UABORT 4
#define ABORT_STEP II0006 /* Assign Phase Block Abort Step Word */
#define PCONTROL II0007 /* Assign Phase Block Control Word */
#define PHOLD 1 /* Assign Batch Control Bits */
#define PRESTART 2
#define PABORT 4
#define PSTART 64
#define PRESET 128
#define PSTATUS II0008 /* Assign Phase Block Status Word */
#define PREADY 1 /* Phase Block Status Word values */
#define PHELD 2
#define PRUN 4
#define PDONE 8
#define PABORTED 16
#define PINTERLOCKED 32
#define UNITAVAIL II0008 /* ICC connect to :UNIT.II0008 */
/* Not available <> 0 */
#define MAN_SBX 4 /* TO_MANUAL SBX NUMBER */