Wonderware Corporation
All rights reserved. No part of this documentation shall be reproduced, stored in a
retrieval system, or transmitted by any means, electronic, mechanical, photocopying,
recording, or otherwise, without the prior written permission of the Wonderware
Corporation. No copyright or patent liability is assumed with respect to the use of the
information contained herein. Although every precaution has been taken in the
preparation of this documentation, the publisher and the author assume no
responsibility for errors or omissions. Neither is any liability assumed for damages
resulting from the use of the information contained herein.
The information in this documentation is subject to change without notice and does
not represent a commitment on the part of Wonderware Corporation. The software
described in this documentation is furnished under a license or nondisclosure
agreement. This software may be used or copied only in accordance with the terms of
these agreements.
Trademarks
All terms mentioned in this book that are known to be trademarks or service marks
have been appropriately capitalized. Wonderware Corporation cannot attest to the
accuracy of this information. Use of a term in this book should not be regarded as
affecting the validity of any trademark or service mark.
Wonderware, InTouch and FactorySuite Web Server are registered trademarks of
Wonderware Corporation.
FactorySuite, Wonderware FactorySuite, WindowMaker, WindowViewer, SQL
Access Manager, Recipe Manager, SPCPro, DBDump, DBLoad, HDMerge,
HistData, Wonderware Logger, Alarm Logger, InControl, InTrack, InBatch,
IndustrialSQL, FactoryOffice, FactoryFocus, License Viewer, Scout, SuiteLink and
NetDDE are trademarks of Wonderware Corporation.
Contents 1
Contents
CHAPTER 1: Welcome to InBatch Premier Edition
3
Overview........................................................................................................ 3
Flexible Recipes and Process Lines ........................................................... 4
Process Modeling ....................................................................................... 4
Creating and Linking Tags ......................................................................... 5
Materials Tracking Management................................................................ 5
Recipe Management................................................................................... 6
Batch Management..................................................................................... 7
Batch History.............................................................................................. 8
Batch Reports ............................................................................................. 8
FactorySuite Integration ................................................................................ 9
Tag Management ........................................................................................ 9
Tag Communications.................................................................................. 9
Batch Alarms............................................................................................ 10
Windows 2000 Terminal Services Support.................................................. 10
Extensibility ................................................................................................. 10
Managing InBatch Configurations............................................................... 10
InBatch Program Menus .............................................................................. 11
Batch Server ............................................................................................. 11
Batch Development Client ....................................................................... 11
Batch Runtime Client ............................................................................... 12
Information Server ................................................................................... 12
InBatch Programs ........................................................................................ 12
Configuration Programs ........................................................................... 12
Run-time Programs .................................................................................. 13
Utility Programs ....................................................................................... 17
InBatch Configuration Architecture ............................................................ 17
InBatch Runtime Architecture ..................................................................... 18
ibDdeRequestStr..................................................................................... 538
ibDdeTermTopic..................................................................................... 538
Script Add-On Function Error Reference .................................................. 538
C H A P T E R 1
Contents
• Overview
• FactorySuite Integration
• Extensibility
• Managing InBatch Configurations
• InBatch Program Menus
• InBatch Programs
• InBatch Configuration Architecture
• InBatch Runtime Architecture
Overview
InBatch Premier Edition is a flexible batch management system that is designed to
be configured quickly and easily once fundamental concepts are understood. It is
extremely important to read this section of the manual before attempting to use the
batch system.
Once basic batch system concepts are understood, you should be able to build and
edit configurations quickly without using this manual. As with most menu driven
systems, you will become more proficient by using the manual as a reference to
improve your understanding of the batch system and how to apply features that may
not be obvious.
Consistent with the Instrument Society of America (ISA) S88.01 standard, InBatch
allows you to create recipes quickly and easily and simulate their execution against
a model of the process – all before writing one line of control code. InBatch also
provides complete production history and materials genealogy.
4 Chapter 1
InBatch’s powerful batch engine, combined with its integration to InTouch™ and
other Wonderware FactorySuite™ components, means that you can reduce the cost
and time to implement your batch-related processes by up to 60% over competitive
solutions.
InBatch provides out-of-the-box batch management functionality that eliminates
the need for unsustainable custom code in a programmable logic controller (PLC)
or distributed control system (DCS) and dramatically reduces the life-cycle
engineering effort. The sophisticated batch engine is responsible for unit-to-unit
material tracking, short term scheduling, dynamic batch and equipment
management, and batch history and reporting. The batch management system also
supports redundancy for critical applications.
Process Modeling
A batch processing plant consists of units and connections. Units process and/or
hold materials whereas connections transfer materials between units.
A unit is a vessel that can hold and/or process materials. Some units have no
processing capabilities, as is the case with bulk storage vessels, manual add
stations, and hold tanks. Other units have significant processing capabilities, as is
the case with most reactors, blenders, mixers, dryers, retorts, and washers.
Examples of processing capabilities are agitating, mixing, heating, cooling,
blending, and packaging. Other examples of units are storage tanks, silos, ovens,
fillers, washers, retorts, molders, bottlers, wrappers, cartoners and palletizers.
Connections consist of equipment such as pumps, valves, separators, condensers
and flowmeters that are necessary for transferring a product from one unit to
another.
All units that have the same processing capabilities or perform the same function
are grouped into one process class. All the connections between the same two
process classes are grouped into one transfer class. Process Classes and Transfer
Classes define a family of units and connections, respectively. The ability to group
units and connections into classes is the essence of a true flexible batch system.
Processing and transferring capabilities are defined by phases. Each phase is an
independent action that may contain a unique set of Parameters. Parameters
configure the phase based on recipe requirements. Phases can be automatically
executed by the control system or manually executed by an operator. The execution
of automatic phases is performed by the control system using Phase Logic.
Welcome to InBatch Premier Edition 5
The materials database is used by the Recipe Editor in the construction of recipes.
Only materials in the materials database can be used in recipes.
When new bulk ingredients are received, the unit location may be entered into the
materials database by plant personnel. A lot identification can also be assigned to
the material. Multiple lots of the same ingredient may be stored in the same vessel.
The batch management system updates the database when ingredients are used and
when intermediates or finished goods are produced. The database provides for easy
access to WIP information and can be used to update higher level material
management and material resource planning (MRP) systems with ingredient usage
information, WIP, and finished goods production. The Materials Editor is not an
inventory management system, but may be used to complement existing systems.
Recipe Management
InBatch Recipe Management provides the capability to create recipes according to
the guidelines outlined in the ISA S88.01 Flexible Batch Standard. A three-level
hierarchical approach to recipe building features the use of unit procedures,
operations and phases.
The batch management system provides recipe management that enables master
recipes to be constructed and edited. Master recipes are not process line specific;
rather, they are equipment independent. They can be assigned to any process line
(train) that has units belonging to the classes of process equipment defined in the
recipe. A master recipe becomes a control recipe when units, defined in the train,
are dynamically allocated and used to produce a batch.
A master recipe is not necessarily size specific, but can be scaled to the batch size
defined by production scheduling. All formula quantities for ingredients,
intermediates, by-products, and finished goods are entered as either actual
quantities or can be expressed as a percent of the total batch size. Quantities
expressed in percentages are scaled by the batch management system when the
batch is executed.
The Recipe Editor provides several text and graphical editors to develop and
maintain recipes. Recipes can be saved, retrieved, and printed. A version history
capability provides an accurate time stamped history of all changes that have been
made to the recipe.
Welcome to InBatch Premier Edition 7
Batch Management
Batch Management consists of batch scheduling, batch initialization, co-ordination
of batch execution with the control system, interfacing with operators, and batch
history activity. These concepts are further described in the following section.
Scheduling
Batch Scheduler is responsible for dispatching the batches that are ready to run to
the plant operators. Scheduling involves the manual entry of the batch
identification, master recipe, batch size, and Train into the Batch Scheduler. Each
batch that is added to the scheduler, must be initialized before it can be executed.
Batch Initialization
Each batch must be initialized before it is executed. The initialization process
involves validation of the recipe, checking if the Train exists, checking if the bulk
materials defined in the recipe are available in the Train, ensuring that the recipe’s
equipment requirements are satisfied by the Train, and verifying that the Process
Model database is compatible with the recipe.
Batch Management
Batch Manager directs and supervises the execution of each batch. Batch Manager
interprets recipes and enables the control system. Based on the recipe’s procedure,
blocks of control software referred to as phase blocks, are signaled for execution by
Batch Manager. Phase block control logic, located in the control system, is
responsible for controlling the process. Prior to starting each phase block, Batch
Manager verifies that the phase block is ready for execution. If it is ready, the phase
parameter values are downloaded to the block, and then the block is started.
Batch Manager also interfaces with Batch Display which provides a user interface
for operators. Batch Display provides information about all batches that are
initialized and/or executing in the system. Operators can put a batch or phase in
hold. They can also use the interface to restart and abort batches or phases. The
interface also allows operators to change phase parameter values, acknowledge the
execution of phases, review phase interlock statuses, and enter comments during
batch execution.
Batch Manager co-ordinates the usage of process units for each batch and is capable
of managing the simultaneous execution of a large number of batches. Each batch is
a unique entity within the batch system. In batch systems that contain simultaneous
batch executions, contention for the allocation of the same process units may occur.
Batch Manager allocates units to batches as they become available and releases the
units when they are no longer required by the batch.
Flexible batch systems using controllers must take the approach in which a
supervisory computer becomes an active participant in batch execution. The reason
for this is attributed to the very sophisticated unit management in a flexible batch
system. Most controllers do not have the ability to program a unit manager that is
capable of interpreting and executing recipe procedures that can be constructed in
the batch control system.
8 Chapter 1
A master recipe uses classes of process units, not specific units. This means that
phases pertain to a class of units, not to a specific unit. When Batch Manager
executes a master recipe, each phase encountered is converted into a unit specific
phase. This process is called master recipe to Partial control recipe conversion. The
Train assigned to produce the batch specifies all of the units that can be used. The
Batch Manager automatically converts the master recipe into a control recipe based
on the units found in the Train.
History
Batch Manager captures and stores all processing and operator activity during the
execution of a batch.
Batch History
InBatch uses Microsoft SQL Server for its historical database. This approach is
very open and allows easy access to all batch history.
The batch management system is responsible for logging all information related to
the production of a batch into the history database. This data includes all of the
events, process data, production information, material usage, operator comments,
operator actions, equipment used to produce the associated batch, and all batch-
related process alarms.
Batch Reports
InBatch uses a web-based interface for report configuration, scheduling and
viewing. The reporting system utilizes Seagate Crystal Reports Professional™ for
report development. This approach is very flexible and allows the creation of
custom reports. InBatch includes a set of predefined report templates. Utilizing
these templates, you can create customized reports to suit your specific
requirements. The batch system also allows you to configure and execute historical
reports during runtime. Report execution can also be configured to automatically
trigger during batch execution or at the end of a batch.
Welcome to InBatch Premier Edition 9
FactorySuite Integration
The following section describes the integration of InBatch with the FactorySuite.
Tag Management
InBatch interfaces to other FactorySuite components like InControl™, IOServers,
and InTouch™ software through tags. There are several InBatch components that
create, edit, link, validate, communicate and, in general, manage tags. These
components are discussed below.
Model Editor
The Model Editor is used to construct the plant model consisting on units,
connections, phases, phase parameters and segments. Tags are automatically
created using these names and are used by the InBatch to communicate with PLC or
DCS systems.
TagLinker
The tags created by the Model Editor and TIM can be linked to control system
addresses using the InBatch TagLinker. The TagLinker provides capabilities to link
tags automatically using default links, manually through the graphical user
interface, or by external interfaces using a comma separated variable format
import/export file. The TagLinker also validates Model and TIM tags.
Tag Communications
All tag communications between InBatch and FactorySuite™ is through DDE,
OPC, or the SuiteLink™ protocol. Tag communications between InBatch and
FactorySuite™ are used to interface to unit control logic, phase logic and operator
displays. There are two utilities or tools available to diagnose, troubleshoot and
exercise tags communications between InBatch and FactorySuite™.
TagView Tool
The TagView tool is used to monitor InBatch tags at run time.
10 Chapter 1
Batch Alarms
Batch alarms, in InBatch, are captured, associated with a batch and stored in the
history database. The Unit or Connection Name parameter of the tag is the key in
accomplishing this objective. All alarms from a designated InTouch™ aqpplication,
are monitored by the batch control system. If the first peice of the tag name
corresponds to a unit, connection, or segment name in the InBatch model, the alarm
is automatically logged to the InBatch History and associated to the batch that was
active in the named equipment at the time of the alarm.
Extensibility
InBatch includes ActiveX™ objects, ActiveX Servers and a library of API
functions that allow integration with external applications such as ERP and
scheduling systems. These features allow you to develop custom applications that
access the batch control system that share and exchange formulas/recipes, materials
and production results.
InBatch uses Microsoft SQL Server for its historical database. This approach is
very open and allows easy access to all batch history.
These features make it easy for you to integrate with enterprise resource planning
(ERP) and advanced planning systems (APS), allowing InBatch to be a key link in
successful supply chain management initiatives.
Batch Server
When you install a Batch Server, the following menu items appear in the InBatch
Server menu. Each menu item is described below.
Environment Display starts the Environment Display and initializes the
background processes necessary to access InBatch configuration and runtime
applications.
Release Notes displays a summary of user documentation issues, and known
issues and solutions for the batch system.
What’s New displays a summary of the enhancements and features that are
included in the batch system.
Uninstall Server starts the unInstallShield program which allows you to
remove the InBatch Batch server from your computer.
Information Server
When you install an Information Server, a menu is created which contains the
BatchInfoServer submenu. The following summary describes these menu items and
other installed components.
BatchAdmin starts the Batch Admin web page which allows you to configure
certain system and web reporting settings on the batch system.
uninstall Information Server starts the unInstallShield program which allows
you to remove the Information Server software from your computer.
WWLogger starts the WWLogger application which displays all system
activity, such as starting and stopping of applications, warning messages and
error messages.
InBatch Programs
The following section summarizes the programs that are available from the
Environment Editor. Program summaries are divided into three categories:
configuration programs, runtime programs and utility programs.
Configuration Programs
The following configuration programs are used to develop and manage your batch
system.
Run-time Programs
The following run-time programs are used by the batch system during batch
execution.
Note InBatch 8.0 is the last release that shall support the InBatch Batch Function
Tags and the TIM system. Wonderware strongly suggests you use the BatchHook
Active X automation server interface for customizing the batch engine.
Utility Programs
The following Utility Programs are provided with the batch system to help assist
your development and runtime processes.
LinkDB Imp/Exp
EnvDB
Lock Manager
(lm_tcp)
BatchSched
(OCXBatch) InSQL
InfoMngr BatchMngr
BatchDspl
(OCXBatch, LogMngr
SFCOCX)
SQLServer
TIMBatch
TIMSec
TIMFunc
TrainEdit UnilinkMngr
ModelDB SysTagMngr
LogDB
IBHist
SimMngr
IBCli IBServ
LinkDB TIMDB
WindowMaker/Viewer
IO Server InControl
SFC Batch InBatch Wizards InBatch Tag
Alarm/Event
ActiveX ActiveX and Script Browser
Interface (.dlls)
Object Object Functions Server
System Installation 19
C H A P T E R 2
System Installation
This section describes the installation options for your InBatch system components.
Contents
• Overview
• Setting up an InBatch 8.0 System
• Installing InBatch Information Server Components
• Installing an InBatch Server
• Installing an InBatch Runtime Client
• Installing an InBatch Development Client
• Installing Seagate Crystal Reports Professional 8.0
• Installing Internet Information Server (IIS)
• Uninstalling InBatch Software
• Upgrading from InBatch 7.x to InBatch 8.0
Overview
An InBatch system consists of several different station types. These include a Batch
Server, Information Server, and Batch Clients (Runtime and Development). Each
station will include both InBatch Software and other additional required software.
A typical batch system would consist of a Batch Server, an Information Server, and
Batch Clients that are connected over a network.
InBatch 8.0 features integration of Windows 2000 Terminal Services. Batch Clients
(Runtime and Development) can be installed on the Terminal Server. You cannot
install a Batch Server on a Terminal Server.
Note When installing InBatch applications on the Terminal Server, you must use
the Windows Control Panel - Add Programs option rather than the standalone Setup
program that is associated with an InBatch installation. By using the Control Panel /
Add Programs option, the Windows Terminal Server is able to properly manage the
multisession environment. If you do not install your applications using this method,
you will not be able to access the client applications from operator stations.
20 Chapter 2
Additional Included
Required with
InBatch Station Type Operating System Software package
InTouch 7.1 or No
InTouch 7.1.1
InTouch 7.1 or No
InTouch 7.1.1
Additional Included
Required with
InBatch Station Type Operating System Software package
Wonderware No
Industrial SQL
Server 7.1 OR
Microsoft SQL
Server 7.0 Service
Pack 3 OR Microsoft
SQL Server 2000
SP1
Windows 2000 No
Service Pack 2
Note It is recommended that you do not install Crystal Reports (any version) on an
InBatch Server Station.
If you have not installed the prerequisite software, then a System Information
window will be displayed which will inform you of the prerequisite software
that is needed for the computer. You will not be able to install the InBatch
software until the required prerequisite software is installed.
1. Insert the InBatch CD into the CD-ROM drive. The auto-run capability of
Windows will start the setup program. If it does not, select Run from the Start
menu and enter E:\setup.exe.
2. On the Welcome to FactorySuite 2000 window, click Next.
3. On the FactorySuite 2000 License Agreement window, click Yes to accept the
license agreement.
4. When prompted to review the FactorySuite Release Notes, say No to continue
the installation.
5. On the FS2000 Products window, choose to install InBatch.
6. On the Installation Options window, choose to install the InBatch software.
7. You will be prompted to review the Release Notes. It is recommended that you
review the Release Notes, as they may contain important information regarding
the installation procedure.
To view the Release Notes click Yes. When finished reviewing the Release
Notes close them and continue to the next step in this installation procedure.
8. On the Select Components window, enable the Information Server checkbox.
Disable all other checkboxes.
9. On the SQL Server Login window, enter or select a Server.
10. On the SQL Server Login window, enable the Use SQL Server authentication
radio button.
11. On the SQL Server Login window, for the Login Name enter sa. Leave the
Password field blank.
12. On the SQL Server Login window, click OK to continue the installation.
13. On the History Database Creation window, enter the name and location of the
history database that you will use with your InBatch 8.0 system.
Note It is recommended that you create the log files on a different physical
drive than where the database files are located.
14. On the History Database Creation window, if necessary, change the Initial DB
Size.
15. On the History Database Creation window, if necessary, change the Initial Log
Size.
16. On the History Database Creation window, click Create Databases.
17. On the Archive Database Creation window, enter the name and location of the
archive database that you will use with your InBatch 8.0 system.
Note It is recommended that you create the log files on a different physical drive
than where the database files are located.
24 Chapter 2
18. On the Archive Database Creation window, if necessary, change the Initial DB
Size.
19. On the Archive Database Creation window, if necessary, change the Initial Log
Size.
20. On the Archive Database Creation window, click Create Databases.
21. On the Information Components window, accept the default Destination Folder
or browse to select a different location. Click Next to continue the installation.
22. On the InBatch Server Information window, enter the host name of your
InBatch Server in the Host1 field.
Note The host name entered in the Host1 field must match the case of the
InBatch Server’s TCP/IP host name. For the Windows 2000 operating system,
the host name is all capitalized.
To view the Release Notes click Yes. When finished reviewing the Release
Notes close them and continue to the next step in this installation procedure.
8. On the Select Components window, enable the Batch Server checkbox. The
Batch Clients checkbox will also be enabled since the Batch Client
applications are part of the Batch Server installation. Click Next to continue
the installation.
9. On the Information Server Hostname window, enter the host name of your
Information Server. Click Next to continue the installation.
10. On the InBatch Installation Location window, accept the default Destination
Folder or browse to select a different location. Click Next to continue the
installation.
11. On the Setup Complete window, click OK to reboot the computer.
If you have not installed the prerequisite software, then a System Information
window will be displayed which will inform you of the prerequisite software that is
needed for the computer. You will not be able to install the InBatch software until
the required prerequisite software is installed.
1. Insert the InBatch CD into the CD-ROM drive. The auto-run capability of
Windows will start the setup program. If it does not, select Run from the Start
menu and enter E:\setup.exe (where E: is your CD-ROM drive).
2. On the Welcome to FactorySuite 2000 window, click Next.
3. On the FactorySuite 2000 License Agreement window, click Yes to accept the
license agreement.
4. When prompted to review the FactorySuite Release Notes, say No to continue
the installation.
5. On the FS2000 Products window, choose to install InBatch.
6. On the Installation Options window, choose to install the InBatch Software.
7. You will be prompted to review the Release Notes. It is recommended that you
review the Release Notes, as they may contain important information regarding
the installation procedure.
To view the Release Notes click Yes. When finished reviewing the Release
Notes close them and continue to the next step in this installation procedure.
8. On the Select Components window, enable the Batch Clients checkbox.
Disable all other checkboxes.
9. Click on the Change button.
10. On the Select Sub-components window, enable the Batch Runtime Client
checkbox. Disable the Batch Development Client checkbox. Click Continue.
11. On the Select Components window, click Next to continue the installation.
12. On the Information Server Hostname window, enter the host name of your
Information Server. Click Next to continue the installation.
13. On the InBatch Runtime Client Configuration Data window, enter the host
name of your InBatch Server in the Host Name field.
Note The host name entered in the Host Name field must match the case of the
InBatch Server’s TCP/IP host name. For the Windows 2000 operating system, all
characters in the host name are capitalized.
To view the Release Notes click Yes. When finished reviewing the Release
Notes close them and continue to the next step in this installation procedure.
10. On the Select Components window, enable the Batch Clients checkbox.
Disable all other checkboxes.
11. Click on the Change button.
12. On the Select Sub-components window, enable the Batch Development Client
checkbox. Disable the Batch Runtime Client checkbox. Click Continue.
13. On the Select Components window, click Next to continue the installation.
14. On the Information Server Hostname window, enter the host name of your
Information Server. Click Next to continue the installation.
15. On the InBatch Development Client Data window, enter the Host Name for the
InBatch Server, the letter of the local drive that was mapped to C:\Program
Files\FactorySuite\InBatch directory on the InBatch Server, and the directory
in which the InBatch Development Client files will be installed.
28 Chapter 2
Note The host name entered in the Host Name field must match the case of
the InBatch Server’s TCP/IP host name. For the Windows 2000 operating
system, the host name is all capitalized.
Note When asked to register the software, choose to register the software later.
1. If you have not done so already, install Windows NT 4.0 Service Pack 6a.
2. Install Windows NT 4.0 Option Pack:
A. If a dialog pops up that states ‘Setup detected the Windows NT 4.0 SP4 or
greater is installed on your machine. We haven’t tested this product on
SP4’. Choose Yes to continue with the installation.
System Installation 29
B. Read the end user license agreement. Click Accept to continue the
installation.
C. Choose the Typical installation.
D. Accept the default settings for Microsoft Internet Information Server.
E. Accept the default settings for SMTP Service.
3. Reapply Windows NT 4.0 Service Pack 6a.
4. Install MDAC 2.5 Service Pack 2.
A. Insert the InBatch CD into the CD-ROM drive. The auto-run capability of
Windows will start the setup program. If it does not, select Run from the
Start menu and enter E:\setup.exe (where E: is your CD-ROM drive).
B. On the Welcome to FactorySuite 2000 window, click Next.
C. On the FactorySuite 2000 License Agreement window, click Yes to accept
the license agreement.
D. When prompted to review the FactorySuite Release Notes, say No to
continue the installation.
E. On the FS2000 Products window, choose to install InBatch.
F. On the Installation Options window, choose to install the prerequisite
software.
G. On the System Installation Options window, enable the MDAC 2.5 SP2
radio button. Click Next.
H. On the Microsoft Data Access Components 2.5 Setup window, enable the
‘Yes, I accept all of the terms of the preceding license agreement.’
checkbox. Click Next.
I. On the Microsoft Data Access Components 2.5 Setup window, click Next
to begin the installation.
J. On the Microsoft Data Access Components 2.5 Setup window, enable the
‘Let me restart the system later’ radio button. Click Finish.
K. On the FS2000 Products window, click Exit.
L. Restart the machine.
4. The Remove Programs From Your Computer dialog appears. This dialog will
provide the status of the uninstall.
Note During the uninstall the ’Removed Shared File?’ window may pop up.
Click the Yes To All button to remove all shared files.
5. At the completion of the uninstall, if it was unable to remove all items then
click on the Details button to view items that were not removed. Make note of
the items that were not removed and click OK to close the Remove Programs
From Your Computer window.
6. Remove all items that may have been left behind, including the \InBatch folder.
7. Restart the machine.
Note During the uninstall the Removed Shared File? Window may pop up.
Click the Yes To All button to remove all shared files.
6. At the completion of the uninstall, if it was unable to remove all items then
click on the Details button to view items that were not removed. Make note of
the items that were not removed and click OK to close the Remove Programs
From Your Computer window.
7. Remove all items that may have been left behind, including the \InBatch folder.
8. Restart the machine.
Note During the uninstall the Removed Shared File? Window may pop up.
Click the Yes To All button to remove all shared files.
System Installation 31
5. At the completion of the uninstall, if it was unable to remove all items then
click on the Details button to view items that were not removed. Make note of
the items that were not removed and click OK to close the Remove Programs
From Your Computer window.
6. Remove all items that may have been left behind, including the \InBatch folder.
7. Restart the machine.
Note During the uninstall the Removed Shared File? Window may pop up.
Click the Yes To All button to remove all shared files.
4. At the completion of the uninstall, if it was unable to remove all items then
click on the Details button to view items that were not removed. Make note of
the items that were not removed and click OK to close the Remove Programs
From Your Computer window.
5. Restart the machine.
6. The Information Server uninstall does not remove the AdminWeb, ReportWeb,
and BatchWeb default websites from Microsoft Internet Information Server.
To remove the websites, use the following procedure:
A. If using the Windows NT 4.0 Server operating system: On the Start menu,
select Programs > Windows NT 4.0 Option Pack > Microsoft Internet
Information Server > Internet Service Manager. This will start the
Microsoft Management Console. Expand the Internet Information Server
icon.
If using the Windows 2000 Server operating system: On the Start menu,
select Programs > Administrative Tools > Internet Services Manager. This
will start the Internet Services Manager.
B. Expand the icon for the hostname of your Information Server.
C. Expand the icon for the Default Website.
D. Right-click AdminWeb and select the Delete option.
E. Right-click ReportWeb and select the Delete option.
32 Chapter 2
Note The cleanup instructions assume that during the SQL Database creation
portion of the Information Server install, the default names for the history and
archive databases were not changed from BatchHistory and BatchArchive
respectively.
Note If you are installing InBatch Premier edition and are upgrading from 7.1 to
8.0, but you did not purchase a security license, you must copy a default security
database (from the default configuration database folder) into the config_a folder to
ensure that security will be not be enabled.
The procedure for upgrading an InBatch 7.x system to an InBatch 8.0 system is as
follows:
1. Perform the Upgrade Preparation steps detailed in the 'Upgrade Preparation'
section.
2. If you are using your existing SQL Server machine then follow the procedure
detailed in the 'Upgrading SQL Server Machine To InBatch Information
Server'.
If you are using a new SQL Server machine then setup an InBatch Information
Server per the procedure detailed in the 'Installing InBatch Information Server
Components' section.
3. Install a Batch Server per the procedure detailed in the 'Installing an InBatch
Server' section.
34 Chapter 2
4. Install Batch Clients per the procedures detailed in the 'Installing a Batch
Runtime Client' and 'Installing a Batch Development Client' sections.
5. Upgrade the configuration databases per the procedure detailed in the 'Upgrade
Configuration from InBatch 7.x to InBatch 8.0' section.
Upgrade Preparation
1. All open batches should be closed prior to running the upgrade. The batch
schedule is not preserved by the upgrade.
2. Open Environment Editor and make note of your configuration settings. If you
have customized the environment you will need to re-customize it after the
upgrade.
3. Make a backup copy of your configurations.
4. Install the InBatch 7.x software
5. If on Windows NT 4.0 SP5 or lower then you must upgrade to Windows NT
4.0 SP6a.
Use the following procedure to uninstall the InBatch 7.x software.
1. On the Batch Development Client, un-map the drives to the Batch Server.
2. Uninstall the Batch Development Client and reboot the machine.
3. Uninstall the Batch Runtime Client and reboot the machine.
4. On the Batch Server, remove the batch history DSNs
5. Uninstall the Batch Server and reboot the machine.
6. Remove any \InBatch folders that remain after the un-installs.
If you do not plan to convert your InBatch 7.0 history databases then follow
the procedure detailed in the 'Installing InBatch Information Server
Components" section.
System Installation 35
7. If you plan to convert your InBatch 7.1 history databases then follow the
procedure detailed in the 'Upgrade InBatch 7.1 History Database to InBatch
8.0' section.
If you do not plan to convert your InBatch 7.1 history databases then follow the
procedure detailed in the "Installing InBatch Information Server Components"
section.
Note It is recommended that you create the log files on a different physical
drive than where the database files are located.
11. On the History Database Creation window, if necessary, change the initial DB
size.
12. On the History Database Creation window, if necessary, change the initial log
size.
13. On the History Database Creation window, click Create Databases.
14. On the Archive Database Creation window, enter the name and location of the
Archive database that you will use with your InBatch 8.0 system.
Note It is recommended that you create the log files on a different physical
drive than where the database files are located.
15. On the Archive Database Creation window, if necessary, change the initial DB
size.
36 Chapter 2
16. On the Archive Database Creation window, if necessary, change the initial log
size.
17. On the Archive Database Creation window, click Create Databases.
18. On the machine to be used as the InBatch 8.0 Information Server, start
Microsoft SQL Server Enterprise Manager.
19. On the Tools menu, select Data Transformation Services and then point to
Import Data.
20. On the DTS Import Wizard, click Next.
21. On the next DTS Import Wizard dialog, select the Source drop-down arrow
and select 'Microsoft ODBC for SQL Server'.
22. Select the Server that contains the InBatch 7.0 History database that you want
to convert.
23. Click the Database drop-down arrow, and select the database that you want to
convert.
24. Enable the 'Use SQL Server authentication' radio button, and enter the
Username and Password as required. Click Next.
25. Click the Destination drop-down arrow and select 'Microsoft OLE DB
Provider for SQL Server'.
26. Select the Server that you will be using as the InBatch 8.0 Information Server.
27. Click the Database drop-down arrow, and select the history database that was
created by running IB71_SQL_Install.exe. Click Next.
28. Choose to copy tables.
29. Enable all of the Source table checkboxes except for the CodeTable and
UserProfile.
30. In the Source Table column, select InBatchAdmin, click the Destination Table
drop-down arrow, and then select BatchAdmin.
31. In the Source Table column, select the BatchLogID table.
32. In the Transform column, click the ellipses button for BatchLogID.
33. On the Column Mappings tab, for Recipe_Type and Recipe_State Destination,
set the Source to <ignore>.
34. Ensure that all Source and Destination Names (except for Recipe_Type and
Recipe_State) are the same. To change the mapping, click the entry in the
Source column and then select the field, from the drop down list, that matches
the entry in the Destination column.
35. Click OK.
36. Click Next.
37. Enable the 'Run Immediately' and 'Save DTS' checkboxes.
38. Click Next.
39. A default Name and Description are provided. You can modify these entries.
40. Enable the 'Use SQL Server authentication' radio button.
41. For the Username enter sa. Leave the password blank.
System Installation 37
where
Example:
where
Example:
59. Enable the 'Connect to SQL Server to obtain default settings for the additional
configuration options' checkbox.
60. Enter a Login ID and Password for an account with administrative privileges.
Default Login ID is 'sa' and Password is blank. Click Next.
61. Enable the 'Change the default database to:' checkbox and then select your
batch history database. Click Next.
62. When finished, click OK on the ODBC Data Source Administrator window.
63. On the machine to be used as the InBatch 8.0 Information Server, insert the
InBatch CD into the CD-ROM drive. The auto-run capability of Windows will
start the setup program. If it does not, select Run from the Start menu and enter
E:\setup.exe (where E: is your CD-ROM drive).
64. On the Welcome to FactorySuite 2000 window, click Next.
65. On the FactorySuite 2000 License Agreement window, click Yes to accept the
license agreement.
66. When prompted to review the FactorySuite Release Notes, say No to continue
the installation.
67. On the FS2000 Products window, choose to install InBatch.
68. On the Installation Options window, choose to install the InBatch software.
69. You will be prompted to review the Release Notes. It is recommended that you
review the Release Notes, as they may contain important information regarding
the installation procedure.
To view the Release Notes click Yes. When finished reviewing the Release
Notes close them and continue to the next step in this installation procedure.
70. On the Select Components window, enable the Information Server checkbox.
Disable all other checkboxes.
71. Click the Change button.
72. On the Select Sub-components window, enable the Information Server
Components checkbox. Disable all other checkboxes. Click Continue.
73. On the Select Components window, click Next.
74. On the Information Components window, accept the default Destination Folder
or browse to select a different location. Click Next to continue the installation.
75. On the InBatch Server Information window, enter the host name of your
InBatch Server in the Host1 field.
Note The host name entered in the Host1 field must match the case of the
InBatch Server's TCP/IP host name. For the Windows 2000 operating system,
the host name is all capitalized
where
Example:
6. Run the convert80.bat file that is located in the \convert folder. The syntax for
running the file is as follows:
where
Example:
7. On your existing SQL Server machine, bring up the Control Panel. (In the steps
that follow you will be configuring the BatchHistory DSN.)
8. In the Control Panel window, double-click the ODBC Data Sources icon.
9. In the ODBC Data Source Administrator window, select the System DSN tab.
Click Add.
10. In the Create New Data Source window, select SQL Server for the driver.
Click Finish.
11. In the Create a New Data Source to SQL Server window, enter BatchHistory
for the Name of the data source.
12. Select the SQL Server. Click Next.
13. Enable the 'With SQL Server authentication using a login ID and password
entered by the user' radio button.
14. Click Client Configuration.
15. In the Edit Network Library Configuration window, enable the 'TCP/IP' radio
button. Click OK to close the window.
42 Chapter 2
16. Enable the 'Connect to SQL Server to obtain default settings for the additional
configuration options' checkbox.
17. Enter a Login ID and Password for an account with administrative privileges.
Default Login ID is 'sa' and Password is blank. Click Next.
18. Enable the 'Change the default database to:' checkbox and then select your
batch history database. Click Next.
19. When finished, click OK on the ODBC Data Source Administrator window.
20. On your existing SQL Server machine, insert the InBatch CD into the CD-
ROM drive. The auto-run capability of Windows will start the setup program.
If it does not, select Run from the Start menu and enter E:\setup.exe (where E:
is your CD-ROM drive).
21. On the Welcome to FactorySuite 2000 window, click Next.
22. On the FactorySuite 2000 License Agreement window, click Yes to accept the
license agreement.
23. When prompted to review the FactorySuite Release Notes, say No to continue
the installation.
24. On the FS2000 Products window, choose to install InBatch.
25. On the Installation Options window, choose to install the InBatch software.
26. You will be prompted to review the Release Notes. It is recommended that you
review the Release Notes, as they may contain important information regarding
the installation procedure.
To view the Release Notes click Yes. When finished reviewing the Release
Notes close them and continue to the next step in this installation procedure
27. On the Select Components window, enable the Information Server checkbox.
Disable all other checkboxes.
28. Click the Change button.
29. On the Select Sub-components window, enable the Information Server
Components checkbox. Disable all other checkboxes. Click Continue.
30. On the Select Components window, click Next.
31. On the Information Components window, accept the default Destination Folder
or browse to select a different location. Click Next to continue the installation.
32. On the InBatch Server Information window, enter the host name of your
InBatch Server in the Host1 field.
Note The host name entered in the Host1 field must match the case of the InBatch
Server's TCP/IP host name. For the Windows 2000 operating system, each
character of the host name is capitalized.
Environment Required
Note You must manually reconfigure the Environment
database after the conversion.
History Required
Materials Required
Note Material characteristic values are converted to real
data types.
Recipe Required
Report Required
Note You will need to copy any customized Crystal Report
files to the Information Server. Do not overwrite any of the
Crystal Report files that were installed as part of the
Information Server software.
Security Required
1. Start the Environment Display and then perform an Exit and Shutdown.
2. Close the WWLogger.
3. Select Run from the Start menu and enter C:\Program
Files\FactorySuite\InBatch\bin\CvtMaster.exe.
4. Acknowledge the message that informs you to backup your configuration and
ensure that the Information Server is operating properly.
5. Click the Configuration button to browse and select the location of your
configuration.
Note If you are converting a configuration that contains a Report database, the
conversion utility will require that you enter a path name for the location on the
Information Server where report output files will be stored. It is recommended that
you create a folder on the Information Server for this purpose.
6. If applicable, enter a path name for the location on the Information Server
where report output files will be stored.
7. Click Convert.
When the conversion has finished, a window will display the databases that
were converted, those that failed to be converted or were skipped, and those
that were up to date. A detailed log of the conversion operations is contained
in the DbCvt.txt file. This file is located in the configuration folder specified
earlier.
8. Copy CfgModelDB.dat, CfgModelDB.dbd, and CfgModelDB.key from the
converted configuration to C:\Program
Files\FactorySuite\InBatch\cfg\config_A.
9. Copy ModelDB.dat, ModelDB.dbd, and ModelDB.key from the converted
configuration to C:\Program Files\FactorySuite\InBatch\cfg\config_A.
10. Copy MaterialDB.dat, MaterialDB.dbd, and MaterialDB.key from the
converted configuration to C:\Program
Files\FactorySuite\InBatch\cfg\config_A.
11. Copy RecipeDB.dat, RecipeDB.dbd, and RecipeDB.key from the converted
configuration to C:\Program Files\FactorySuite\InBatch\cfg\config_A.
12. Copy SecurityDB.dat, SecurityDB.dbd, and SecurityDB.key from the
converted configuration to C:\Program
Files\FactorySuite\InBatch\cfg\config_A.
Note If you had Link and Process Logger databases configured in InBatch 7.x
then CfgLinkDB.dat, CfgLinkDB.dbd, CfgLinkDB.key, LinkDB.dat, LinkDB.dbd,
LinkDB.key, LoggerDB.dat, LoggerDB.dbd, and LoggerDB.key may also be
copied to the \config_A directory.
Environment Management System 45
C H A P T E R 3
Environment Management
System
Contents
• Overview
• Using Environment Display
• Starting and Stopping Applications from Environment Display
• Using Environment Editor
• Adding Applications to the Environment
• Assigning Application Parameters
• User Defined (Other) Applications
• Using Environment Manager
• Automatic Start-up and Shutdown of Runtime
46 Chapter 3
Overview
You can use Environment Editor to define the applications that run on a Batch
Server. An Environment is configured by selecting applications from a list of
available applications. The editor then sorts and displays the list of selected
applications in the order that they will be executed. This sequential ordering is
necessary due to interdependencies of batch applications.
Environment Manager determines which applications will be displayed in the
Environment Display by reading the environment database. Environment Manager
ensures that the proper interdependent applications are running and displays an
appropriate error message otherwise. For example, you want to add Batch Display
to the Environment Display. The operation of Batch Display requires the server
capability of Batch Manager. Therefore, the editor must ensure that Batch Manager
is selected or already in the system.
Environment Display is the user interface to the batch server applications.
Operators typically use Environment Display to view the status of background
applications and start foreground applications.
The Environment Management System provides an environment for editing an off-
line copy of the Process Model database (CfgModelDB). This capability allows you
to edit an off-line copy of the model while the batch system continues normal
runtime operation. After you complete your changes to the model, you can
shutdown the runtime system, update the configuration process model database
with the runtime process model database, and then restart the system.
3. When the Environment Display starts it also starts the Wonderware Logger.
The Wonderware Logger displays messages for all system activity for the
Batch Server, Runtime Clients and Development Clients such as startup,
shutdown, warnings and errors along with time and date stamps. If the
Wonderware Logger is closed, it can be restarted by selecting the Windows
Start menu, click Programs, point to Wonderware FactoySuite, Common
and then point to WWLogger.
48 Chapter 3
File Menu
The Environment Display File menu provides system functions for the
Environment Display application.
File/Exit
Use the File/Exit menu to stop the Environment Display application. Selecting
File/Exit does not stop background runtime applications or services.
File/Terminate App
Use the File/Terminate menu to terminate applications that failed to start or stop in
the batch system (default timeout is two minutes). The File/Terminate App option
can only be selected when applications are available for termination.
Environment Management System 49
To terminate an application:
1. From the Applications list, select the application(s) you want to terminate.
2. Click Terminate.
3. Click Close.
Note By default, Environment Manager waits 120 seconds before declaring that
an application is available for termination. It may be necessary to increase this
system timeout value. For more information on changing the default system
timeout value, see ‘Environment System Timeout’ later in this section.
Note An Exit and Shutdown completely stops the batch system. If you are not
logged on to the operating system with administration privileges, you will not be
able to restart Environment Manager or Environment Display. To restart the batch
system, a user with proper administrative privileges must log on. To avoid this
situation you can configure security for the Environment Display Exit & Shutdown
function using the security system.
For more information on configuring security, see Chapter 13, "Security System."
Update Menu
The Environment Display Update menu allows you to modify the environment
(runtime and configurations) based on changes that you have made to the batch
system.
Update/Environment
Use the Update/Environment command to re-initialize the Environment Manager
and Display based on the environment database configuration. Changes that you
make to the environment database with the Environment Editor are not active until
you update the environment.
Note You cannot update the environment when any other batch application is
running. This includes applications started on a batch client that access your batch
server. All batch applications, including the runtime system, must be shutdown
before the update can be successfully executed.
50 Chapter 3
Update/Runtime
The environment system provides you with the ability to make off-line changes to
process models and tag linker databases. Use Update/Runtime to copy the
contents of the process model, link, and TIM configuration databases into the
corresponding runtime databases. Changes that you make to a process model are
not active until you update the runtime databases. You cannot perform an
Update/Runtime on a running system.
WARNING! The contents of the runtime process model, link, and TIM databases
will be overwritten by the configuration databases when you perform a runtime
update. You should backup your runtime databases before proceeding.
Update/Configuration
The environment system provides you with the ability to discard any off-line
changes to the process model and tag linker databases. Use Update/Configuration
to copy the contents of the process model, link, and TIM runtime databases into the
corresponding configuration databases. You cannot perform an
Update/Configuration on a running system.
WARNING! The contents of the configuration process model, link, and TIM
databases will be overwritten by the runtime databases when you update the
configuration. You should backup your databases before proceeding.
Environment Management System 51
View Menu
The Environment Display View menu allows you to monitor the operation of
background applications that were started by the batch system.
View/Status
Use the View/Status menu to display the System Application Status window. This
window displays the current status of the background applications that were
automatically started with the Environment Display. Each application listed in the
window must be “Running” in order to initiate any of the associated configuration
and runtime applications.
The Database Manager entry refers to the database lock manager (lm_tcp). The
History Queue entry refers to the History Queue Manager. The Security
System entry refers to the Security Manager. These applications are executed
as an operating system service and are started by the Environment Manager.
Note The System Application status window will show the status of the
Redundancy Manager if redundancy is being used.
3. Click Close.
Help Menu
The Environment Display Help menu contains commands that provide you with
access to the online help system and information regarding product version.
Help/Help Topics
Use the Help/Help Topics command to display the help contents for Environment
Display.
52 Chapter 3
Note Using the License utility is beyond the scope of this User's Guide.
Application Icons
Configuration and runtime applications that have a user interface and were
configured in the environment editor will appear as icons in the environment
display. All of the applications in the Environment Display are started by double-
clicking the application's icon.
Runtime Applications
Runtime applications can be started and stopped from the Environment Display.
Runtime applications run as Windows NT services. You can start and stop
individual or multiple applications.
2. All the runtime applications are stopped in the same order in which they were
started.
When an application is stopped, a message indicating the application’s status is
displayed in the Status column of the Runtime Application Display. As each
application stops, its Status will change from Started to Stopping, and then,
finally to Stopped.
An error message will be displayed if you attempt to stop an application that
has a interdependent client application running.
File Menu
The Environment Editor File menu provides system functions for the Environment
Editor application.
File/Exit
Use the File/Exit menu to close Environment Editor.
Edit Menu
The Environment Editor Edit menu allows you to view and modify environment
system parameters.
Edit/System Parms
Use the Edit/System Parms menu to modify the parameter values assigned to
background service applications (e.g. Lock Manager and Redundancy Manager)
that are started prior to all applications.
3. From the Parameters list, select the item that you want to edit.
56 Chapter 3
4. In the Value field, enter the required value in accordance with the table below.
Parameter Description
Max locked files The maximum number of database files under lock
manager control. Default is 256.
Max locks in queue The maximum size of the file lock request queue. Default
is 128.
Max users The maximum number of users lock manager may control.
Default is 32.
Redundancy Time-out The number of seconds that the backup computer will wait
when a communication failure occurs before it becomes a
master. (Applicable to redundant systems only).
User ID Time-out The number of seconds that the current User ID will be
retained before it must be reentered. The default value of 0
retains the User ID indefinitely.
Number Recipe Levels Number of levels to the recipe procedure for InBatch
Premier Edition Only. Valid values are 2 and 3. Default is
3. This parameter is ignored by InBatch FlexFormula
Edition.
Allow Sync Approvals Allows the Recipe Edit user to optionally retain all recipe
approvals when syncing recipes. Options are 1 or 0. A
value of 0 will completely remove this feature from
RecipeEdit. Default is 1.
5. Click Change.
If you do not click Change, the values that you entered will not be updated.
6. Click Close to close the Edit System Parameters window.
Note You must shutdown and restart your batch system in order for system
parameter changes to take effect.
Help Menu
The Environment Editor Help menu contains commands that provide you with
access to the online help system and information regarding product version.
Help/Help Topics
Use the Help/Help Topics command to display the help contents for Environment
Editor.
Note Using the License utility is beyond the scope of this User's Guide.
Note When you add an instance, a unique name is automatically assigned. You
can use Environment Editor to change the name. Instance names within the batch
system must be unique. If they are not, an error message will appear.
Adding Applications
To Add an Application:
1. On the Environment Editor window, click the Add button.
2. The Add Application window will appear.
58 Chapter 3
The Applications list contains all of the batch system and user defined
applications that can be added.
3. In the Applications list, select the item that you want to add.
4. Click Apply to add your selection to Environment Editor’s Application list.
Clicking OK also adds an application; however, the Add Applications
window will close.
5. Click Close to close the Add Applications window.
Note Applications in the Environment Editor Application list are shown in the
sequence in which the batch system will execute them.
The Applications list contains all of the batch system and user defined
applications that can be added.
3. In the Applications list, select the item that you want to add as an instance.
4. Click Apply to add the instance to Environment Editor’s Application list.
Clicking OK also adds an application; however, the Add Applications
window will close.
5. Click Close to close the Add Applications window.
6. The default instance name will appear in the Environment Editor
Application list and in the Instance name field.
60 Chapter 3
2. If you want create a new parameter, click the New button and then enter an
appropriate parameter Name and Value.
Parameters Description
Seconds per Phase Length of time for which each new phase is executed. Default value of 30
seconds.
Write R/O Tags Enables writing to read-only tags in the batch system.
Parameters Description
Configuration Enter the name of the configuration defined in the Process Log Editor.
Parameters Description
Restarting Batches All batches are resumed in their previous state upon system restart.
Phase/Batch Status Batch Manager controls all active phases upon a single batch phase becoming
held or restarted.
Init Status Tags The Batch Manager sets all unit and segment status tags to the default value
defined in the Process Model.
LIFO Materials Material consumption uses LIFO instead of the default FIFO method.
Unit States Enables the use of Unit State System tags by Batch Manager. Refer to Chapter 9,
"Batch Management System." for details on Unit Control using Unit State tags.
COM Interface Enables the use of COM for Batch Hooks in Batch Manager.
Server Node ID Sets Batch Server Unique Indentifier. Allows multiple batch servers to use a
single history database. (Use only the characters A thru Z to define the ID)
Disable Warm Restart Disables loading and saving of warm restart information. Batches will be lost
when application stops.
Parm Time (msecs) Time, in milliseconds, between each attempt to read a parameter tag value with a
valid timestamp. The default value is 50 msecs. This parameter determines how
often Batch Manager tries to read the parameter values at the end of a phase.
Parm Timeout (sec) Time, in seconds, of all attempts to read a parameter tag value before a timeout
failure. The default value is 30 seconds. A value of zero disables retries. This
parameter determines how long Batch Manager will continue to retry reading
parameters before generating an error.
Semi-Auto On Abort Batch is placed in semi-automatic mode when a phase is aborted.
Parameters Description
Manual Operations Enable the selection of Manual Operation from Batch Display.
Environment Management System 63
Parameters Description
Access Name Access name for which IBCli will obtain values for the assigned tags
Advise All Performs an Advise All on initialization.
Backup App Secondary application from which IBCli will look for tag values if there is a
communications failure.
Backup Node Secondary workstation from which IBCli will look for tag values if there is a
communications failure.
Backup Topic Secondary topic from which IBCli will look for tag values if there is a
communications failure.
Connect Time (sec) Time after which an IBCli connect to the I/O server will time-out.
Disable Timestamp Disable end-of-phase timestamp feature for this topic.
Force Use Tag Name Use tag name instead of the defined item name.
Ping Time (sec) Time after which IBCli will ping the I/O server to detect a connection loss.
Recon Time (sec) Time after which IBCli will attempt to re-establish communications with the I/O
server.
Response Time (sec) Time after which an IBCli request to the I/O server will time-out. Default is 15
seconds.
Verbose Mode Enables extensive messaging for IBCli information and application errors.
64 Chapter 3
TIMBatch (TIMBatch)
Parameters Description
Use 3 Levels When set, uses all 3 levels of the recipe procedure in InTouch wizard Phase and
Phase Edit lists. InBatch Premier Edition Only. This parameter is ignored in
FlexFormula Edition
Wizard Compatibility Allows InTouch Batch Wizards to continue functioning by removing new
columns of information.
3. Enter a Name (16-char max), Type, Parameters, (optional), and select Client
Of/Server To designations (optional).
The Type drop-down menu lists three application types.
Type Description
Editor Designates the application as a configuration application within the Environment
system.
Single Runtime Designates the application as a runtime application that can only be added once
to the Environment system.
Multiple Runtime Designates the application as a runtime application that can be added more than
once to the Environment system.
The Client Of and Server To selections define the list item location in the Add
Applications list. The selection of this location is important since the custom
application will also appear in the Runtime Applications Display. The order that
the applications are listed is essential for proper batch system operation. Editors do
not appear in the Runtime Application Display and are placed at the end of the
Applications list in the Add Applications window.
Note Remember that changing the Timeout value has a global effect; that is,
Environment Display will wait the specified amount of time before it reports any
application that is available for termination.
-s – This option stops only the runtime applications. These applications pertain
to those found in the Runtime window opened from the Environment Display.
This option will also automatically halt all batch client applications such as
Batch Scheduler, Batch Display, etc.
-x – This option performs stops all applications. This is identical to performing
an Exit and Shutdown command from the Environment Display. This option
will also automatically halt all batch client applications such as Batch
Scheduler, Batch Display, etc.
Note One of the above options is required when executing the application. There
is no feedback from this application. It executes without any confirmation.
Considerations
• Stopping the batch system automatically can be accomplished by using the
functionality provided by most intelligent UPS systems. Typically, a UPS has
an option that will allow the user to configure a command file, such as a batch
file, that will be executed upon loss of power. Parameters, such as time delay,
etc., associated with this execution can usually be configured. This provides a
very easy method for stopping the batch runtime system.
• Depending on the number of runtime and client applications that are started,
the batch system may take several minutes to completely shutdown. The UPS
must provide ample time for a complete, undisturbed shutdown.
• After an Exit and Shutdown occurs (- x), a confirmation dialog appears on the
screen if the Environment Display is active. This must be acknowledged
manually to completely close the Environment Display application. However,
failure to manually acknowledge this dialog does not result in any problems or
loss of data. All InBatch services and databases close prior to this confirmation
dialog.
• Starting the batch system automatically can be accomplished by creating a
batch file that starts the etcmds program. This batch file must be placed in the
Windows Start-up program group.
sleep 150
etcmds -r
• The start runtime option will not initiate any client applications such as Batch
Scheduler, Batch Display, etc.
• Exercise caution when restarting the batch system. The batch management
system will retain knowledge of all active batches and phases. If the controller
resets with a power outage, the batch system and the controller logic may lose
synchronization. Procedures should be implemented to recover from such a
situation. Options include manually restarting all previously active phases,
putting a UPS on the controller, or aborting all active phases prior to shutdown.
Process Modeling 69
C H A P T E R 4
Process Modeling
Contents
• Overview
• Units
• Process Classes (Processes)
• Connections
• Transfer Classes (Transfers)
• Define Process and Transfer Capabilities
• Segments
• Equipment Status
• Tags
• Tag Definition
• Process Modeling Summary
• Example: Process Phases and Tags
• Model Editor
• Units Tab
• Processes Tab
• Connections Tab
• Transfers Tab
• Segments Tab
• Equipment Status Tab
70 Chapter 4
Overview
Batch processing facilities are typically comprised of a variety of vessels, and the
equipment necessary to move materials and products between the vessels. Use the
Process Modeling Editor to configure a batch control system in a manner that
facilitates recipe creation and the execution of recipes within batches.
Process models for batch facilities are based on two primary modeling approaches:
the Comprehensive Model and the Connectionless Model. You can also use a
Hybrid Model that contains elements of both. To ultimately decide which approach
is optimal for your specific application, you should analyze the theoretical batch
philosophy of the company, the process that is being modeled, the flexibility
requirements, the user interface requirements of the recipe builder and process
operators, and the historical batch recording requirements.
A summary of these approaches, including the benefits and liabilities of each, is
described in this section. All of the features of the Process Modeling Editor are
described, regardless of which modeling approach you choose.
Comprehensive Model
A comprehensive model approach uses all of the available configuration tools of
the flexible batch system. It also provides complete material tracking and ease-of-
use for the recipe builder and operators.
In a comprehensive model, the physical process is defined with units and
connections. This gives the sophisticated batch engine the information it needs to
most efficiently orchestrate your batch process. It also saves you from writing a lot
of custom code in the control system that would otherwise be required to coordinate
material transfers between units. This is the preferred modeling technique since it
leverages the full power of the batch system.
A unit is defined as any vessel that can hold and/or process materials. Examples of
units are bulk storage vessels, reactors, blenders, mixers, hold tanks, etc. Unique
statuses can be defined that describe the possible states that each unit can assume.
In addition to units, the comprehensive model includes information about the
material transfer capabilities between units. A connection is any means of getting
materials from one units to another. This might be automatic equipment that
transfers product between units such as pumps, values, and piping. Or it might be a
manual transfer such as an operator carrying a tote. A semi-automatic transfer is
one in which an operator may be required to prepare some equipment such as a
flexible pipe connection or hose, before the automated transfers can take place. All
of these situations can be accurately modeled.
Process Modeling 71
Some plants have single units with connections to multiple units while others have
multiple connections between two units. After all, there may be more than one way
of getting material from Unit ‘A’ to unit ‘B’. Connections can be further divided
into segments. Connection availability is determined by the status of all of the
segments that are a part of the connection. Unique statuses can be defined that
describe the possible states that each segment can potentially assume.
All units that have the same processing capabilities or perform the same function
are grouped in the same process class. All connections between the same two
process classes are grouped in a transfer class. The processing and transferring
capabilities for each of these classes are defined with phases. Each phase is an
independent action that requires a unique set of parameters. Parameters configure
the phase based on a recipe’s requirements. A phase can be executed either
automatically or manually. The batch management system is responsible for
coordinating unit-to-unit management.
Connectionless Model
A connectionless model approach uses a subset of the available configuration tools
of the flexible batch system. This approach requires a more complete understanding
of the process by the recipe builder and the operators. With some extra work in the
control system logic, a connectionless model approach can also provide complete
material tracking.
In a connectionless model, the physical process is defined with units only. Units are
the same in any model, that is, any vessel that can hold and/or process materials.
Unique statuses can be defined that describe the possible states that each unit can
assume.
All units that have the same processing capabilities or perform the same function
are grouped in the same process class. The processing capabilities of each class are
defined with phases. Each phase is an independent action that requires a unique set
of parameters that configure the phase based on a recipe’s requirements A phase
can be executed either automatically or manually.
The connectionless model approach does not use connections and segments. The
movement of material between units is accomplished using complementary process
phases. For example, to move material from a reactor to a mix tank, a discharge
phase associated with the reactor and a charge phase associated with the mix tank
are required. The recipe builder is responsible for coordinating these two phases as
part of the recipe procedure. Coordination of unit-to-unit management is the
responsibility of the operator or control system.
Proper material tracking within a connectionless transfer requires the definition of
input parameters for the appropriate source class discharge phase, and the definition
of output parameters for the appropriate destination class charge phase.
Hybrid Model
The hybrid model approach uses a combination of elements of the comprehensive
and connectionless models. It allows you to configure a process in a way that
maximizes the benefits of both approaches by providing all of the available
configuration tools, material tracking and ease-of-use for the recipe builder and
operators.
72 Chapter 4
In the hybrid model, the physical process is defined with units and connections.
However, only the static, non-flexible material paths are defined as connections.
Flexible paths or those that involve many possible destinations are not defined as
connections. Like the comprehensive and connectionless models, all of the units
that have the same processing capabilities or perform the same function are grouped
in the same process class, and all connections between the same two process classes
are grouped into a transfer class.
Flexible paths that are not defined with connections will use the complementary
process phase approach.
For more information on complementary process phases, see “Connectionless
Model” on page 71 in this section.
The hybrid approach’s most beneficial advantage is that it can minimize the overall
number of connections and associated tags in the model, while preserving all of the
connections for paths that are constant.
Units
A unit is a group of processing equipment that performs one of the following
functions.
1. The unit processes materials; examples are reactors, mixers, blenders, and
retorts.
2. The unit holds materials; examples are manual add stations, hold tanks, bulk
storage vessels, and filling stations.
Units can have unique attributes, such as capacity or material of construction,
which define the processing capabilities or limitations of the unit.
Connections
A connection defines a group of equipment such as valves, pumps and flow meters
that transfer materials from a source unit to a destination unit. All connections
between units must be defined when configuring the process model. Some
processes may have more than one connection between the same two units. In this
case, each connection is defined separately.
Process Modeling 75
Phases
A Phase is an independent process action. Phase Logic refers to the logical steps
and sequences within the control system that occur during the execution of a phase.
Phase logic can be constructed to automatically accommodate formula parameter
values received during runtime. Parameter values originate within a recipe.
Phase Types
There are three types of process phases and four types of transfer phases. Process
phases are classified as either automatic, manual, or data. Transfer phases are
classified as either automatic, semi-automatic, manual, or data.
Automatic Phases
Automatic phases are executed by the control system. Therefore, there must be
phase logic in the control system for the phase to execute. Examples of automatic
phases include bulk add, discharge, heat, and mix.
Manual Phases
Manual phases are executed by the batch management system in conjunction with
an operator. The control system is not involved in the execution of a manual phase.
Therefore, no phase logic is required. Examples of manual phases include manual
add and test.
76 Chapter 4
Semi-automatic Phases
Semi-automatic can only be defined for transfer phases. Successful execution
requires the operator and the control system to work together in order to
successfully complete the phase. Semi-automatic phases require control system
phase logic. An example of a semi-automatic phase is drum add.
Data Phases
Data phases are executed by the batch management system. They have no phase
control or status tags for handshaking with the control system, and do not require
operator acknowledgement. They do not have control button capability, but do
allow formula parameter assignments. When a data phase is encountered during
batch execution, the batch manager automatically writes (downloads) all
parameters values to the control system.
Note Data Phases are intended to be used to write a Target value to a controller. If
the process model has only parameter Target tags created, then the Target value
will be written to both the Target and Actual in history. If Actual tags have been
created in the process model, then the Actual value from the controller will be
written to history.
Phase Logic
Phase Logic refers to the steps and sequences in a control system that are exercised
during the execution of a phase. Phase logic will make the control system program
very structured, and is required to support every phase defined as automatic or
semi-automatic. For example, if a process class of blenders has three automatic
phases, each blender in the process class will require three phase logic blocks.
Similarly, phase logic blocks are required for each automatic and/or semi-automatic
phase defined for each connection assigned to a transfer class. The logic for each
may be identical; however, the physical I/O and internal address assignments are
different for each blender in the class. Manual phases are executed by the batch
management system through interaction with operators and do not require phase
logic.
Process Modeling 77
This diagram shows the structured interface between phase logic and the batch
management system.
Phase Parameters
Phase parameters are used to configure, control, and monitor a phase. There are
four types of parameters; Formula Parameters, Phase Control and Status Bits,
Interlocks, and Control Buttons. Each of these types is shown in the table following
the definitions.
Formula Parameters
There are three types of formula parameters: Input, Output, and Process Variable.
A recipe consists of a header, a procedure, equipment requirements, and a formula.
The formula contains the defined Input, Output, and Process Variable parameters.
Input and output parameters are used to define and track material transfer
quantities. Process variable parameters define setpoints. Parameter elements, such
as high and low deviation, are used to quantify, define, and track the formula when
a batch is executed. Units of Measure can also be assigned to Process Variables.
Interlocks
Each phase logic block may require interlocks. Interlocks provide safety and
security for personnel and equipment by preventing the execution of a phase when
other equipment or operators are not ready. All tags within the system can be
assigned as an interlock to a phase. There is no limit to the number of interlocks that
can be assigned to a phase. The physical interlocking is performed in the control
system, not by the batch control system. In this case, the batch control system
serves as a diagnostic tool by displaying the status of interlocks.
Control Buttons
Operators use control buttons to initiate or alter process actions during phase
execution. Control buttons are included in user interfaces for batch execution
displays. There are two control buttons available for each phase. Control buttons
are associated with the values of discrete tags.
A summary of all phase parameters is displayed in the following table.
Segments
A segment is a subsection of a connection. Segments may be defined in the process
model whenever multiple connections share the same equipment and when it is
necessary to prevent the automatic use of common segments. Examples of
segments are sections of common piping, shared valves and shared pumps.
Segment definition and usage is optional. If you do use segments in your model, it
is not necessary to assign segments for all of the connections.
Equipment Status
An equipment status represents the transition states of units and/or segments and is
defined in the process model. Equipment Status is evaluated before the allocation of
units and/or connections. The use of equipment status is optional.
Units of Measure
A unit of measure is an attribute of a formula parameter and can be defined for
process variables only. They are defined in the process model. An example of
assigning a unit of measure might involve a process variable formula parameter
named Temperature. The unit of measure assigned to this parameter might be
Degrees F. Each process variable in your process model should have a unit of
measure assignment.
Enumeration
An enumeration is a data class which is identified by a Set Name in which a list of
integer values correspond to an alpha-numeric string value .
The enumeration data class is available for process variable formula parameters.
Enumeration data class Set Names and Values are defined using the Process Model
Editor. Each Enumeration Set Name is a associated with at least one Enumeration
Value and Name. An example of an Enumeration is the Set Name ‘BOOLEAN’. In
this example, you could associate the values 0 and 1 with the names ‘FALSE’ and
‘TRUE’ respectively. The use of Enumerations is optional.
Tags
A tag is a collection of data or information that is given. Tags are named and
defined with the Process Model Editor. A tag usually corresponds to a control
system data point. Tags are also used to configure batch control system applications
such as recipes and reports. All tagnames must be unique.
There are eight tag types in the batch control system: Unit Tags, Process Tags,
Connection Tags, Transfer Tags, System Class Tags, System Unit Tags, System
Connection Tags, and System Segment Tags. Each type has a unique responsibility
as described below.
80 Chapter 4
Value
from
Control
Tag Type Use System Comments
Unit Process Modeling: Yes
Transfer and Process Phase Interlocks
All SCADA Applications
Process Process Modeling: No Note 1: For each process tag, the Model
Process Phase Control Buttons Editor automatically creates one unit
Process Phase Control Bits tag for each unit in the process class.
Process Phase Status Bits Note 2: For each process class, the
Process Phase Formula Parameters Modeling Editor automatically creates a
Recipes: set of System Class Tags.
Transition Logic Note 3: For each unit in the process
class, the Model Editor automatically
creates a set of System Unit Tags.
Connection Process Modeling: Yes
Transfer and Process Phase Interlocks
All SCADA Applications
Transfer Process Modeling: No Note 1: For each transfer tag, the Model
Transfer Phase Control Buttons Editor automatically creates one
Transfer Phase Control Bits connection tag for each connection in
Transfer Phase Status Bits the transfer.
Transfer Phase Formula Parameters
Recipes:
Transition Logic
System Class Process Modeling: No Note 1: System tags are internal batch
Process Phase Formula Parameters control system tags and are updated by
Transfer Phase Formula Parameters the batch management system.
Recipes: Note 2: System Class tags are
Transition Logic automatically generated for each
process and transfer class defined in the
process model.
System Unit All SCADA Applications No Note 1: System Unit tags are
automatically created for each unit
assigned to a process class.
System All SCADA Applications No Note 1: System Connection tags are
Connection automatically created for each
connection assigned to a transfer class.
System All SCADA Applications No Note 1: System Segment tags are
Segment automatically created for each defined
segment.
Unit Tags
Unit tags define data points that are uniquely associated with a single processing
unit.
Process Modeling 81
Process Tags
Process tags define all of the data points that are common to all of the units
associated with a process class. Each automatically defined process tag generates a
set of unit tags for each member in the process class. For example, if there are three
units in a process class and one process tag is entered, three unit tags are created:
one for each unit in the process class. Each of these unit tags may correspond to a
specific address in a control system. Process tags are indirectly associated to the
control system by way of the unit tags that they create.
Process tags have an abstract nature; that is, they are not directly associated with the
control system. They represent a set of unit tags. Process tags become unit tags
when a batch is executed in a process. Process tags may be used as part of recipe
transition logic.
Connection Tags
Connection tags define data points uniquely associated with a connection.
Transfer Tags
A transfer tag defines the data points that are common to all of the connections
associated with a transfer class. Each automatically defined transfer tag generates a
set of connection tags for each member in the transfer class. For example, if there
are three connections in a transfer and one transfer tag is entered, three connection
tags are created; one for each connection in the transfer class. Each of these
connection tags may correspond to a specific address in a control system. Transfer
tags are indirectly associated with the control system by way of the connection tags
that they create.
Transfer tags are abstract in nature; that is they are not directly associated with the
control system. They represent a set of connection tags. Transfer tags become
connection tags when a batch is executed in a process. Transfer tags may be used as
part of recipe transition logic.
System Tags
System tags are automatically created by the Model Editor when a process class,
transfer class, or segment is added to the model. There are four types of system
tags: System Class tags, System Unit tags, System Connection tags, and System
Segment tags. System class tags are identical to process/transfer tags, system unit
tags are identical to unit tags, and system connection tags are identical to
connection tags. System segment tags are similar to system connection tags.
System class tags do not correspond to a specific address in the control system.
They are internal batch control system tags. However, they may be assigned to
formula parameter elements and used in recipe transition logic. System unit,
connection, and segment tags may be assigned to the control system and can be
used in SCADA applications.
82 Chapter 4
Tag Definition
A tag consists of a structured name. Each tagname must be unique within the batch
control system. The terms tagname and tag will be used throughout the
documentation to refer to tags in the process model.
Tagname
A tagname is a unique, structured name that defines one data point. Tagnames have
a hierarchical structure. The highest level of the structure depends on the tag type.
The Unit name is the highest level for unit tags, the Process class name for process
tags, the Connection name for connection tags and the Transfer class name for
transfer tags. Each is followed by Phase, Parameter and Element.
Tagname Structure
Phase Name 8
Parameter Name 8
Element Name 5
Delimiters
Item Delimiter
Between Names - (dash)
Before Attribute . (period)
Process Modeling 85
Automatically
Tag Appended
Classification Parameter Name Element Name Description
Unit System not used CAMPN Campaign ID
Tags LOTID Lot ID
BATCH Batch ID
RECID Recipe ID
RECNM Recipe Name
BATSZ Batch Size
BATST Batch Status
BATMD Batch Mode
USTAT Unit Status
ALLOC Unit Allocation
LASTR Last Recipe ID
USTATE Unit State
Connection not used CAMPN Campaign ID
System Tags LOTID Lot ID
BATCH Batch ID
AVAIL Connection Availability
ALLOC Connection Allocation
LASTR Last Recipe ID
Segment not used CAMPN Campaign ID
System Tags LOTID Lot ID
BATCH Batch ID
USTAT Segment Status
ALLOC Segment Allocation
LASTR Last Recipe ID
Phase Control CONTROL_STATUS START Start
Tags HOLD Hold
RSTRT Restart
ABORT Abort
RESET Reset
Phase Status CONTROL_STATUS READY Ready
Tags HELD Held
RUN Run
DONE Done
ABRTD Aborted
INTLK Interlocked
Unit Control not used UHOLD Unit Hold
Tags URSTR Unit Restart
UABRT Unit Abort
86 Chapter 4
Automatically
Tag Appended
Classification Parameter Name Element Name Description
Phase Parameter Name ACT Actual
Parameter Tags TAR Target
HIDEV High Deviation
LODEV Low Deviation
HILMT High Limit
LOLMT Low Limit
PRACT Preact
LOTCD Lot Code
MATID Material ID
Tag Description
Each tag can be given a 120-character description. This allows for complete
documentation of every tag in the system.
Data Class
A tag can be classified as discrete, analog, string or enumeration. Discrete tags have
two logical states; zero (0) and one (1). Analog tags reflect the process status with a
numerical value and may have many states. String tags are identified by an
alphanumeric value and may contain up to 80-characters. Enumeration tags are
identified by an integer value which represents a textual enumeration name.
Access Mode
Access Mode defines whether a tag is Read-only or Read/Write. A check box is
used to select the access mode for a tag.
Process Modeling 87
Example Plant
Process Modeling 91
Model Editor
Use Model Editor (ModelEdit) to create and edit the process model. While you are
using the Model Editor, all additions and changes that you make to the model are
dynamically updated in the process model configuration database (CfgModelDB).
Model Editor will guide and verify, where possible, that entries and assignments are
made correctly. It is ultimately the user’s responsibility to accurately define the
process model.
Once all of the configuration changes have been made, the Environment Display
Update Runtime menu option must be used to copy the process model
configuration database (CfgModelDB) to the process model runtime database
(ModelDB). This will allow the runtime system to access the configuration changes.
The Environment Display Update Configuration menu option should be used to
copy the process model runtime database (ModelDB) to the process model
configuration database (CfgModelDB).
As you read this section, please note that all of editors and windows utilize the
following conventions:
Editors:
Whenever you enter new elements you must click the Add button. If you make
changes to an element, you must click the Change button. To remove elements,
click Delete.
Element
Deleted Related Deletions
Unit All unit tags associated with the unit
All unit tags associated with the Process Class to which the unit is assigned
All connections in which the unit is a source or a destination
Process Class All process tags associated with the class
All unit tags resulting from the process tags
All process phases associated with the class
All transfers in which the class is a source or a destination
Connection All connection tags associated with the connection
All connection tags associated with the Transfer Class to which the connection is assigned
Transfer Class All transfer tags associated with the transfer
All connection tags resulting from the transfer tags
All transfer phases associated with the class
Note You cannot delete a Unit that is assigned to a train until you remove the unit
from each train. When you delete a unit that is assigned to a train(s), the train names
in which the unit has been assigned will be displayed in the WW Logger.
Note Model Editor will not start if you are running Train Editor or TagLinker. You
cannot start more than one instance of Model Editor.
File Menu
The Process Model Editor File menu provides system functions for the Process
Modeling Editor.
File/Validate
Use the File/Validate menu to initiate a validation of the process model database.
Validation consists of a verification of the following elements.
• All Automatic phases have tag assignments for (minimally) the Start, Reset,
Ready, and Done phase control and status bits.
• All Semi-Automatic phases have tag assignments for (minimally) the Start,
Reset, Ready, and Done phase control and status bits.
• All tags assigned to an Edit Allowed or Edit Required actual element of a
formula parameter must have a read/write access mode.
• At least one equipment status has been defined.
• One of the defined equipment statuses has been assigned as the default status.
94 Chapter 4
File/Print
Use the File/Print menu to print one or more formatted reports. The reports allow
you to select the elements of your process model.
File/Print Preview
Use the File/Print Preview menu to view one or more formatted reports on the
screen. The reports allow you to select the elements of your process model.
File/Print Setup
Use the File/Print Setup menu to setup your printer using the standard windows
printer dialog. Refer to your Windows NT documentation for more information.
File/Exit
Use File/Exit to close the Process Modeling Editor window.
Note All of your work is automatically saved in the configuration process model
database as you edit the process model. You do not have to be concerned about
saving your changes.
Edit Menu
The Process Modeling Editor Edit menu contains a list of items that correspond to
the Process Modeling Editor tabs. Each of the associated Process Modeling Editor
tabs are discussed later in this section.
Edit/Units
Use the Edit/Units menu to display the Process Modeling Editor Units tab.
Edit/Processes
Use the Edit/Processes menu to display the Process Modeling Editor Processes
tab.
Edit/Connections
Use the Edit/Connections menu to display the Process Modeling Editor
Connections tab.
Edit/Transfers
Use the Edit/Transfers menu to display the Process Modeling Editor Transfers
tab.
96 Chapter 4
Edit/Segments
Use the Edit/Segments menu to display the Process Modeling Editor Segments
tab.
Edit/Equipment Status
Use the Edit/Equipment Status menu to display the Equipment Status tab.
Edit/Units of Measure
Use the Edit/Units of Measure menu to display the Units of Measure tab.
Edit/Enumeration
Use the Edit/Enumeration menu to display the Enumeration tab.
Help Menu
The Process Modeling Help menu contains commands that provide you with access
to the online help system and information regarding product version and licensing.
Help/Help Topics
Use the Help/Help Topics menu to display the online help for the Process
Modeling Editor.
Units Tab
Use the Units tab to define and edit process model units for the processing vessels
in the plant.
All of the available units in your process model are listed in the Units list box.
The selected unit name appears in the Name box. Information regarding the
Unit appears in the Description box.
Adding Units
To Add a Unit:
1. In the Name box, enter a name for the unit (8-char max).
2. In the Description box, you can optionally enter text describing the unit (120-
char max).
3. Click Add to include the new unit in the Units list.
The editor will verify all unit names to ensure validity and uniqueness. You
will be prompted to change the unit name in the event you enter a duplicate.
3. In the Description box, you can optionally enter text describing the unit (120-
char max).
4. Click Change to update the unit in the Units list.
The editor will verify all unit names to ensure validity and uniqueness. You
will be prompted to change the unit name in the event you enter a duplicate.
Deleting Units
To Delete a Unit:
1. From the Units list, select the Unit that you want to delete.
2. Click Delete.
If you attempt to delete a unit that is part of a train, the following Process
Modeling Editor warning will appear, and the unit will not be deleted. In this
case, you must first delete the unit(s) from the train, and then delete the unit
from the model.
Attributes are not available for tags of String or Enumeration data type.
2. In the applicable Assign Attribute Tags window, select the desired attribute.
3. Click Apply to associate the selected attribute with the Unit Tag.
4. Click Close to close the Assign Attribute Tags window.
Processes Tab
Use the Processes tab to define and edit process class units for the processing
vessels in the plant.
All of the available Process Classes (processes) in your process model are
listed in the Process Classes list box. When a process class is selected, its
name appears in the Name box. Information regarding the Process Class
appears in the Description box.
1. From the Process Classes list, select the Process that you want to delete.
2. Click Delete.
3. When you delete a Process Class, the editor will display a warning message
indicating the relationship of the tags in process class to other batch system
elements. Read any such warning messages very carefully.
Assign Units
A process class can have one or more units assigned to it. Use the Assign Units
button on the Processes tab to associate units to a process class.
2. All of the units that are currently assigned to the selected Process Class will be
displayed in the Units list.
3. You can select and deselect units appearing in the Units list.
4. If you want to add additional units to the Units list, and ultimately, the process
class, click the Assign Units button.
The Assign Units to Process window will appear.
104 Chapter 4
The Units list will display all of the units (unassigned and previously assigned
units) that can be assigned to the process class. Units that were previously
assigned are, by default, selected.
5. In the Units list, select the desired units.
6. Click Apply.
The selected units will appear in the Units list on the Processes tab.
2. If Attributes have already been created for the process class, they will be
appear in the Process Attributes list.
3. If you are adding a new Attribute, enter a name in the Name box (16-char
max).
4. Click Add.
5. The Process Attributes list will display the attribute.
Note The editor will verify all new attribute names to ensure validity and
uniqueness. You will be prompted to change the name in the event you enter a
duplicate.
Note It is important to remember that for every process tag that is created, unit
tags are automatically generated for each unit assigned to the class. These unit tags,
not the process tags, are associated to data points in the control system. However,
the process class tags are available for assignment to formula parameters and to the
recipe builder through the transition logic expression builder.
Use the Edit Process Tags window to Add, Change or Delete Process Class Tag
properties.
Attribute tags are not available for tags of String or Enumeration data type
2. Select the desired attribute from the Assign Attibute Tags window.
3. Click Apply to associate the selected attribute with the process class tag.
4. Click Close to close the Assign Attribute Tags window.
Save History
Use the Save History Control/Status Activity and Parameter Status check boxes
to configure the type of phase activity that will be stored in the history database. All
data stored in the history database is stamped with the time and date. You can
enable both check boxes if required. Use of this History feature is optional.
Control Buttons
You can include Control Buttons as part of the user interface. The buttons are a
part of the selected process class phase. To use a control button, you must associate
a tagname with the desired button.
For more information on Control Buttons, see “Process Phase Configuration” and
“Additional Phase Configuration” later in this section.
Interlocks
Use the Edit Process Interlocks window to configure interlocks for a process class
phase. To assign interlocks, you must associate unit tags with the process phase and
process class.
For more information on configuring Interlocks, see “Process Phase Configuration”
and “Additional Phase Configuration” later in this section.
To Configure Interlocks:
1. On the Edit Phases window, click the Interlocks button.
The Edit Process Interlocks window will appear.
The window shows all of the available units in the process class and any tags
(process class/transfer) assigned to the selected unit.
Process Modeling 113
Formula Parameters
Use the Edit Formula Parameters window to configure formula parameters for a
process class phase.
For detailed information on configuring Formula Parameters, see “Process Phase
Configuration” and “Additional Phase Configuration” later in this section.
Phase
Phase Control/Status Interlocks and
Phase Logic Parameters Formula Control
Name Required Required Parameters Buttons
Heat Yes Yes Rate Temp As Needed
Cool Yes Yes Rate Temp As Needed
Soak Yes Yes Time Temp As Needed
Agitate Yes Yes Time As Needed
AgitOn Yes Yes None As Needed
AgitOff Yes Yes None As Needed
Charge Yes Yes Quantity As Needed
Discharg Yes Yes Quantity As Needed
116 Chapter 4
Target Element
The target element is available for all parameter and data class combinations and is
configured as follows:
1. Select the Enable Display check box if the target value is to be displayed
during the runtime execution of the phase. If a tag is assigned to the element,
the value assigned in the recipe will be written to the control system by the
batch management system prior to the start of the phase. Typically, the phase
logic will use the target value to determine when to end the phase.
2. If the operator is allowed to modify the target, enable the Edit Allowed check
box.
3. If the operator must modify the target, enable the Edit Required check box.
4. A Default Value can be assigned to the target element for process variable
parameters of any data class.
Actual Element
The actual element is available for all parameter and data class combinations and is
configured as follows:
Process Modeling 117
1. Select the Enable Display check box if the actual value is to be displayed
during the runtime execution of the phase. If a tag is assigned to the element,
the batch management system will read the value of the tag, in real-time, from
the control system during the execution of the phase.
2. If the operator is allowed to modify the actual value, enable the Edit Allowed
check box.
3. If the operator must modify the actual, enable the Edit Required check box.
Preact Element
The preact element is available for analog input parameters and is configured as
follows:
1. Select the Enable Display if the preact value is to be displayed during the
runtime execution of the phase.
118 Chapter 4
2. If a tag is assigned to the element, the preact value defined in the process
model will be written to the control system by the batch management system
prior to the start of the phase.
Material ID Element
The material id element is available for analog input and output parameters and is
configured as follows:
1. Select the Enable Display if the material id value is to be displayed during the
runtime execution of the phase.
2. If the operator is allowed to modify the material id, enable the Edit Allowed
check box.
3. If the operator must modify the material id, enable the Edit Required check
box.
Formula parameter configurations for the automatic process phase examples given
earlier are shown below.
Actual Element
a) Agitate Speed Process Variable Yes Yes No No
a) Agitate Time Process Variable Yes Yes No No
b) AgitOff N/A N/A N/A N/A N/A N/A
c) AgitOn Speed Process Variable Yes Yes No No
d) Charge Quantity Input Yes Yes No No
e) Cool Temp Process Variable Yes Yes No No
Rate Process Variable Yes Yes No No
f) Discharg Quantity Output Yes Yes No No
g) Heat Temp Process Variable Yes Yes No No
Rate Process Variable Yes Yes No No
h) Soak Temp Process Variable Yes Yes No No
Time Process Variable Yes Yes No No
High and Low Deviation Element
a) Agitate Speed Process Variable Yes Yes No No
Time Process Variable Yes Yes No No
b) AgitOff N/A N/A N/A N/A N/A N/A
c) AgitOn Speed Process Variable Yes Yes No No
d) Charge Quantity Input Yes Yes No No
e) Cool Temp Process Variable Yes Yes No No
Rate Process Variable Yes Yes No No
f) Discharg Quantity Output Yes Yes No No
g) Heat Temp Process Variable Yes Yes No No
Rate Process Variable Yes Yes No No
h) Soak Temp Process Variable Yes Yes No No
Time Process Variable Yes Yes No No
High and Low Limit Element
a) Agitate Speed Process Variable Yes Yes N/A N/A
Time Process Variable Yes Yes N/A N/A
b) AgitOff N/A N/A N/A N/A N/A N/A
c) AgitOn Speed Process Variable Yes Yes N/A N/A
d) Charge Quantity Input Yes Yes N/A N/A
e) Cool Temp Process Variable Yes Yes N/A N/A
Rate Process Variable Yes Yes N/A N/A
f) Discharg Quantity Output Yes Yes N/A N/A
g) Heat Temp Process Variable Yes Yes N/A N/A
Rate Process Variable Yes Yes N/A N/A
h) Soak Temp Process Variable Yes Yes N/A N/A
Time Process Variable Yes Yes N/A N/A
120 Chapter 4
Manual and data process phases do not have control system phase logic, and
therefore, they do not have tag assignments for Phase Control/Status Bits or
Interlocks. Control Buttons are optional for manual phases but are not available for
data phases. Formula Parameters are optional for both phase types.
Manual and data phases are executed by the batch management system. Manual
process phases must be acknowledged by the operator before they are considered
done. Acknowledgment can only be accomplished once all of the phase edit and
comment requirements have been satisfied. Data phases do not require operator
acknowledgement.
The batch control system can be configured to handle many different manual and
data process phases. Described below are several examples that can be configured.
The phase names are used only for example purposes.
1. Phase Name: QASample (Manual)
The instruction will be given to the operator to take a sample of product to QA
for testing.
2. Phase Name: OpAction (Manual)
This phase is a general purpose message phase. This phase can be used anytime
the operator must be instructed to perform a task. The instructions are entered
as part of the recipe.
3. Phase Name: Agitate (Manual)
The operator will be instructed to manually start the agitator, a timer, and
adjust the agitator speed.
4. Phase Name: MixSpeed (Data)
In the middle of a mixing phase, the mix speed must be set to a higher speed.
The MixSpeed phase simply downloads the new setpoint. The existing tag
from the mixing phase can even be used.
5. Phase Name: EqStatus (Data)
This phase uses the Equipment Status (USTAT) tag from the unit in the target
of it’s Status string parameter. This phase can used in a product recipe to set
equipment statuses to values such as “Used”, or “Dirty” after a product recipe,
or “Clean” after a cleaning recipe.
6. Phase Name: GetInfo (Data)
This phase reads data from an external instrument to log into the batch history.
Perhaps the temperature of the batch is desired, but there is really no automatic
phase for monitoring this value. The GetInfo phase can be used at critical
points in the batch to capture a temperature reading.
Possible phase parameter configurations for the manual and data process phase
examples are shown below.
Phase
Phase Control/Status Interlocks and
Logic Parameters Formula Control
Phase Name Required Required Parameters Buttons
QASample No No none N/A
OpAction No No none N/A
Agitate No No Time Speed N/A
MixSpeed No No NewSpeed N/A
122 Chapter 4
Phase
Phase Control/Status Interlocks and
Logic Parameters Formula Control
Phase Name Required Required Parameters Buttons
EqStatus No No Status N/A
GetInfo No No Temp N/A
Connections Tab
Use the Connections tab to define all the material and product paths in the plant.
Editing Connections
To Edit a Connection:
1. In the Name box, enter a name for the connection (8-char max).
2. In the Description box, you can optionally enter text describing the connection
(120-char max).
3. In the Preact box, you can optionally enter the a value.
Preact is a value that is equal to the difference between the target quantity
(preset) and the actual quantity (actual) that is delivered when material is
transferred through a connection. Many times, there is dribble or free fall of
product in the connection when a transfer occurs. This results in overflow. The
preact defines the anticipated overflow; that is, the difference between the
target and the actual. The preact value is only used in transfer phases.
The control system phase logic must include appropriate logic in anticipation
of receiving a preact during the execution of a recipe. Also, there are no
automatic adjustments made to the preact value by the batch control system.
Any calculations and adjustments that are to be made to the preact must be
done at the control system level. This is explained further in the section
associated with automatic transfer phases.
124 Chapter 4
Note Because of the relationship that connections have with units and their parent
transfer class, the source and/or destination units may not be changed. In order to
change the source and/or destination unit for a connection, the existing connection
must be deleted and a new connection must be created.
To Assign a Segment:
Note If you have not assigned segments, the Segments list will be empty.
2. All available segments will be displayed in the Segments list box. Segments
that were previously assigned are selected by default. In the example shown,
the selected segments are being assigned to the Bulk Tank1 to ReactorA
connection.
3. Select the appropriate Segment(s) from the list.
4. Click OK.
126 Chapter 4
Connection Tags
Each connection in a process model may have tags associated with it. Use the Edit
Connections Tags window to associate tags with a connection. Connection tags are
virtually identical to unit tags, except connection tags are associated with the
connections between units. All of the tags that are associated with a connection
must be entered using the Edit Connections Tags window.
A Connection tag consists of the following elements. Some elements are required,
while others are optional.
• Phase Name (Optional, 8-char max)
• Parameter Name (Optional, 8-char max)
• Element Name (Required, 5-char max)
• Description (Optional, 120-char max)
• Data Class (Required, Analog, Discrete, String or Enumeration)
• Access Mode (Required, Either Read Only or Read/Write)
• Attribute (Optional, Select from available InTouch dot fields)
Transfers Tab
Use the Transfers tab to define all of the transfer classes in your process model. A
transfer is a group of connections in which all of the source units have the same
process class and all of the destination units have the same process class.
Connections are assigned to transfers based on their source and destination units.
Unlike a connection, which cannot have the same source and destination unit
assigned, a transfer class may have the same source and destination process class
assignment.
Editing Transfers
To Edit a Transfer:
1. In the Name box, enter a name for the transfer (8-char max).
2. In the Description box, you can optionally enter text describing the transfer
(120-char max).
Assign Connections
Each transfer class can have one or more connections assigned to it.
Transfer Tags
Each transfer class may have tags associated with it. Use the Edit Transfer Tags
window to associate tags with a transfer class. All tags associated with a transfer
phase or common to all connections in the class must be entered using the Edit
Transfer Tags window.
Note It is important to remember that for every transfer tag created, connection
tags are automatically generated for each connection assigned to the class. These
connection tags, not the transfer tags, are associated to data points in the control
system. However, the transfer class tags are available to the recipe builder through
the transition logic expression builder.
A Transfer tag consists of the following elements. Some elements are required,
while others are optional.
• Phase Name (Optional, 12-char max)
• Parameter Name (Optional, 16-char max)
• Element Name (Required, 16-char max)
• Description (Optional, 120-char max)
• Data Class (Required, Analog, Discrete, String or Enumeration)
• Access Mode (Required, Either Read Only or Read/Write)
Process Modeling 131
Save History
Use the Save History Control/Status Activity and Parameter Status check boxes
to configure the type of phase activity that will be stored in the history database. All
data stored in the history database is stamped with the time and date. You can
enable both check boxes if required. Use of this History feature is optional.
Control Buttons
You can include Control Buttons as part of the user interface. The buttons are a
part of the selected transfer class phase. To use a control button, you must associate
a tagname with the desired button. Control buttons are not available for data type
phases.
For more information on Control Buttons, see “Transfer Phase Configuration” and
“Additional Phase Configuration” later in this section.
The window shows the configuration for the selected Transfer Class and Phase.
2. Configure the Phase Control and Phase Status bits as required.
For more information on Phase Control/Status bits, see “Transfer Phase
Configuration” and “Additional Phase Configuration” later in this section.
Interlocks
Use the Edit Transfer Interlocks window to configure interlocks for a transfer
phase. Interlocks are not available for data type phases.
For more information on configuring Interlocks, see “Transfer Phase
Configuration” and “Additional Phase Configuration” later in this section.
To Configure Interlocks:
1. On the Edit Phases window, click the Interlocks button.
The Edit Transfer Interlocks window will appear.
The window shows all of the available units in the transfer class and any tags
(process class/transfer) assigned to the selected unit.
Process Modeling 137
Formula Parameters
Use the Edit Formula Parameters window to configure formula parameters for a
transfer class phase.
For detailed information on configuring Formula Parameters, see “Transfer Phase
Configuration” and “Additional Phase Configuration” later in this section.
The window shows all of the Formula Parameter configuration for the selected
Transfer Class and Phase.
For detailed information on configuring Formula Parameters, see “Transfer Phase
Configuration” and “Additional Phase Configuration” later in this section.
Phase
Phase Control/Status Interlocks
Phase Logic Parameters Formula and Control
Name Type Required Required Parameters Buttons
BulkAdd Automatic Yes Yes Quantity As Needed
Separate Automatic Yes Yes Quantity As Needed
Package Automatic Yes Yes Quantity As Needed
Size
Count
Condense Automatic Yes Yes None As Needed
Transfer Automatic Yes Yes None As Needed
LoadBulk Automatic Yes Yes Quantity As Needed
DrumAdd Semi-Automatic Yes Yes Quantity As Needed
Input parameters have seven elements. The parameter name defines a family of
information. Elements define the members of the family. The seven elements for
input parameters are Target, Actual, High Deviation, Low Deviation, Preact, Lot
Code, and Material ID.
Output parameters have three elements. The parameter name defines a family of
information. Elements define the members of the family. The three elements for
output parameters are Target, Actual, and Material ID.
Process variables parameters have six elements. The parameter name defines a
family of information. Elements define the members of the family. The six elements
for process variable parameters are Target, Actual, High Deviation, Low Deviation,
High Limit, and Low Limit.
The configuration of the parameter type, data class, and elements is extremely
important. The batch management system will control a phase and interact with
both the control system and the operator based on the configuration of the
parameters. Described below is a detailed explanation of the results that can be
expected for different parameter configurations.
Target Element
The target element is available for all parameter and data class combinations and is
configured as follows:
1. Select the Enable Display if the target value is to be displayed during the
runtime execution of the phase. If a tag is assigned to the element, the value
assigned in the recipe will be written to the control system by the batch
management system prior to the start of the phase. Typically, the phase logic
will use the target value to determine when to end the phase.
2. If the operator is allowed to modify the target, enable the Edit Allowed check
box.
3. If the operator must modify the target, enable the Edit Required check box.
4. A default value can be assigned to the target element for process variable
parameters of any data class.
Actual Element
The actual element is available for all parameter and data class combinations and is
configured as follows:
1. Select the Enable Display if the actual value is to be displayed during the
runtime execution of the phase. If a tag is assigned to the element, the batch
management system will read the value of the tag, in real-time, from the
control system during the execution of the phase.
2. If the operator is allowed to modify the actual value, enable the Edit Allowed
check box.
3. If the operator must modify the actual, enable the Edit Required check box.
142 Chapter 4
Preact Element
The preact element is available for analog input parameters and is configured as
follows:
1. Set the Enable Display if the preact value is to be displayed during the runtime
execution of the phase.
2. If a tag is assigned to the element, the preact value defined in the process
model will be written to the control system by the batch management system
prior to the start of the phase.
1. Set the Enable Display if the lot code value is to be displayed during the
runtime execution of the phase.
2. If the operator is allowed to modify the lot code, enable the Edit Allowed
check box.
3. If the operator must modify the lot code, enable the Edit Required check box.
4. If a tag is assigned to the element, the value assigned by the operator or the
control system will be written to the batch management system during the
execution of the phase.
Material ID Element
The material id element is available for analog input and output parameters and is
configured as follows:
1. Set the Enable Display if the material id value is to be displayed during the
runtime execution of the phase.
2. If the operator is allowed to modify the material id, enable the Edit Allowed
check box.
3. If the operator must modify the material id, enable the Edit Required check
box.
Formula parameter configurations for the automatic and semi-automatic
transfer phase examples presented earlier are shown in the following table.
Phase
Phase Control/Status
Logic Parameters Formula Interlocks and
Phase Name Required Required Parameters Control Buttons
ScaleAdd No No Quantity No Interlocks
Control Buttons As
Needed
ManAdd No No Quantity No Interlocks
Control Buttons As
Needed
AckAdd No No Quantity No Interlocks
Control Buttons As
Needed
PartsAdd No No Quantity No Interlocks
Control Buttons As
Needed
Fill No No Quantity No Interlocks
Control Buttons As
Needed
External No No as needed N/A
Process Modeling 147
Segments Tab
Use the Segments tab to define, edit and delete segments in your process model.
Segment names must be unique. If you attempt to enter a duplicate segment name, a
message box will be displayed, indicating that the segment already exists. If you
attempt to delete a segment that is assigned to a connection, a warning message will
be displayed. Deleting segments can affect other portions of your process model.
All of the segments that have been defined for the process model will appear in
the Segments list.
To Edit a Segment:
1. On the Segment tab, enter or edit the Name (8-char max) and optional
Description (120-char max).
2. Click Add to include the segment in the process model or click Change if you
are editing an existing Name or Description.
For more information on assigning segments to connections, see “Assign Segments
to Connections” earlier in this section.
Equipment statuses represent the various states that a unit or segment may possess
at any point during the process. You must define one default status. The default
status defines the initial state that the batch management system assumes for all of
the units and segments. All status changes are recorded in the historical database.
There is a system tag that is automatically generated for each unit and/or segment
defined in the process model. The equipment statuses define the possible values of
this system tag. The statuses are used by the batch management system when
evaluating the availability of a unit or connection.
The availability of a unit is determined by the current status. If the status is set to
“available,” the batch management system can allocate the unit. If the status is not
available, the unit cannot be allocated.
The availability of a connection is determined by the current status of all of the
segments that comprise the connection. If a connection does not contain one or
more segments, the connection is always available.
All of the statuses that have been defined for the process model will appear in
the Status list.
Process Modeling 151
3. Click Add to include the equipment status in the process model or click
Change if you are editing an existing Name or Description.
All of the units of measure that have been defined for the process model will
appear in the Units of Measure list.
2. Enter/Edit a Name (16-char max).
3. Click Add to include the unit of measure in the process model or click Change
if you are editing an existing Name or Description.
File Structure
<Line 1> ImportUOM1
<Line 2> ImportUOM2
<Line 3> ImportUOM3
|
|
|
<Line n> ImportUOMn
Enumeration Tab
Use the Enumeration tab to add, change, delete, import and export process model
enumeration set names and values. Enumeration Set Names must be unique
within your process model. Enumeration Values must be unique for a given Set
Name. You can use the same Enumeration Value in another Set Name, or you can
enable a check-box to ensure that the Enumeration Values are unique across all Set
Names within your process model. It is important to remember that deleting or
changing Enumeration Set Names and Values affects the Enumerations list in the
Formula Parameter editor.
Enumerations are used only with process variables and are available for selection
using the Formula Editor.
Each Enumeration Set is defined by one or more enumeration integer values. And
each enumeration value is associated with an alpha-numeric string. The
enumeration value is used by the batch system whenever the associated process
variable is encountered as part of phase execution. The alphanumeric string that is
associated with the value is used for display purposes only. You can modify the
string without affecting the way that a process variable is used. However, before
you modify Set Names or assigned values, you should carefully consider how the
process variable is used and what the effect of changing the name will cause.
All of the enumeration sets that have been defined for the process model will
appear in the Sets list.
2. Enter/Edit a Set Name (16-char max).
3. Click Add to include the Set Name in the process model or click Change if
you are editing an existing Set Name.
4. In the Enumerations pane, enter a Name (16-char max) and a Value (Integer,
0-32767). By default, the Value is automatically assigned.
5. Click Add to include the Name and Value in the process model or click
Change if you are editing an existing Enumeration.
Process Modeling 155
• Select the desired control and status tags manually by enabling the appropriate
check box for each option.
• Click the Select Required button to enable the check box for the Start, Reset,
Ready, and Done options. This represents the minimum set of tags that must be
created.
• Press the Select All button to enable the check box for all of the options.
After the check boxes are enabled for the required control and status options, click
the Create Tags button to create and assign the appropriate tags.
Use the Clear All button to de-select the all check boxes for all of the control and
status options.
Use the Delete Tags button to remove the tags from the options selected. A warning
message must be acknowledged before you can delete the tags.
Use the Clear Tag button to remove the tags from the option selected.
Process Modeling 157
Edit Interlocks
An interlock is a condition that prevents the execution of a phase. This could be a
process alarm condition or an open valve. A phase may have one or more
interlocks. However, the batch system does not perform the interlocking logic. The
physical interlocking for safety and equipment damage prevention is the
responsibility of the control system. The batch control system does provide the
ability to display the interlocks for each phase on the Batch Display. This allows
operators to quickly and easily identify and fix the interlocks that are preventing a
phase from executing.
158 Chapter 4
Assign Tags
Interlock assignments are made to each phase in a class using Unit and Connection
tags.
In the Tag Selection window, select phase interlock tags. The Tags list in the Edit
Processes (or Transfers) window will display the assigned tag(s).
Note The Data Class radio button can be used to change the data class of a process
variable. If the user changes the data class by accident and answers no to the dialog
prompt, the radio button may not reset to the true data class. Users should reselect
the correct data class in this situation.
Each parameter element can be assigned to a tag. Tags are either automatically
created and assigned, or they are manually created and assigned.
Each element can be further configured for operator interaction. The Enable
Display check box specifies whether or not the element will be displayed to an
operator. The Edit Allowed check box specifies whether or not an operator is
allowed to modify the element at runtime. The Edit Required check box
specifies whether the operator is required to modify the element at runtime.
However, the Edit Required option applies only to the end of the phase. An
Acknowledge on Entry setting used in conjunction with an Edit Allowed
target element can be used to effectively represent an edit that is required prior
to the start of the phase.
7. Element Default Values (Optional)
Process Modeling 161
Default values can only be defined for process variable formula parameter
elements. The default value is set to zero if it is not explicitly defined. These
values will be used by the batch management system unless changed in the
recipe.
The High Limit and Low Limit default values are used by the Recipe Editor to
prevent the user from entering an out of range value. When an out of range
value is entered into a recipe, an error message is displayed and the Recipe
Editor will clamp the value to the default limit.
C H A P T E R 5
Tag Linker
Tag Linker is an editing utility which provides a means of configuring InBatch tags
as internal memory tags or linking them to an item of an external IO server
application much in the same way as the Tagname Dictionary functions within
InTouch. Tag Linker also provides powerful filtering and selection tools for making
changes to multiple tags at once. Finally, Tag Linker contains a flexible export
utility that creates a comma separated variable (.csv) file of user-selected tags for
direct import into InTouch using the DBLoad utility.
Tag Linker allows you to link InBatch tags with an I/O Server, link InBatch tags
with InTouch tags, and export tags for use by InTouch DBLoad utility.
Contents
• Overview
• When to Use Tag Linker
• Using Tag Linker
• Access Editor
• Tag Configuration
• Export Editor
• Control System Interfacing Example
168 Chapter 5
Overview
Within the InBatch environment, tags control batch processes and the provide
control system interface. InTouch uses tags for features such as graphical object
animation and control system interface. Each tag has a unique name and is
associated with a specific class of data. Tags are created during InBatch and
InTouch application development. InBatch Wizards automatically generate tags
when the wizard is created.
In order for InTouch and InBatch applications to communicate with each other
and/or control systems, all of the required tags must be properly configured. All
communications between InBatch and other applications is accomplished using
SuiteLink.
For environments in which there are interactive InBatch and InTouch applications,
Tag Linker is used to select, edit and then export InBatch tags to a comma separated
variable (.csv) file. The .csv file contains InTouch compliant tag names, including
access names. The tags in the .csv file can be imported into the InTouch application
using the InTouch DBLOAD utility
Note InTouch permits defining remote tag sources from which tags can be viewed
and remotely referenced in an application. InBatch can be one of these external
sources. If tags are remotely referenced, using the DBLOAD utility to import the
InBatch tags from the exported .csv file is unnecessary.
Model Configuration
Model
Editor Database
Configuration
Link
Database
InTouch
InBatch
InTouch
For more information on browsing and referencing remote InBatch tags from
InTouch, see Chapter 19, "InTouch Batch Tag Browsing and Referencing."
Tag Linker is associated with three categories of InBatch tags; Process Model Tags,
TIM (Tag Interface Management) Tags, and Batch Function Tags. The three types
are defined below:
Process Model Tags are all of the unit, connection, and segment tags that are
generated when the process model is developed. These are the only tags that are
displayed and can be edited by the Tag Linker. Process Model Tags are further
categorized as one of two types; System Tags and Equipment Tags.
Tag Linker 169
System Tags are associated with units, connections and segments and are
generated by InBatch as the units, segments, and connections are created in the
model. System Tags are not associated with phases and are therefore
distinguished by a triple-hyphen in the tag name. Most of these tags are string
tags. Although the Access of these tags can be changed, it is strongly
recommended that these tags be left as InBatch Memory tags! Adverse
performance can occur if these tags are written to by anything but InBatch. The
exception to this rule is the equipment status tag (Unit---USTAT or Segment---
USTAT).
Equipment Tags are associated with a specific phase or phase parameter and
are generated by the user when a phase is created. These tags are generally
"owned" by an IO server, InTouch, or another server application, however, they
can be defined as InBatch memory tags for simulation purposes.
TIM Tags provide batch and recipe related information to a batch client such as an
InTouch application using InBatch wizards.
For more information on TIM Tags, see Chapter 22, "Tag Interface Management
(TIM) System."
Batch Function Tags are a set of tags that provide a custom interface to special
InBatch batch management functions. These tags are not required unless
customized batch management operation is required
For more information on Batch Function Tags, see Chapter 22, "Tag Interface
Management (TIM) System."
Note The Tag Linker supports an import/export feature that will allow an external
spreadsheet application such as Microsoft Excel to configure the batch system tags.
Note Only one instance of the Tag Linker can be active. Also, Tag Linker will not
start if the Process Modeling Editor or Train Editor is running.
170 Chapter 5
4. Use the window to view and configure tags. System functions are accessed
from the File menu and configuration dialogs are available from the Edit menu.
File Menu
The Tag Linker File menu provides system functions for the Tag Linker. The File
menu items are described below.
File/Runtime Export
Use this command to perform a Runtime Export of the current tag configuration.
The Export Results dialog is displayed and provides messages on the progress on
the export. This option is used to export all requested tags using the configuration
information defined in the Tag Linker. This option should be used if the control
hardware (InControl, PLC, etc.) will be executing the phases.
File/Simulation Export
Use this command to perform a Simulation Export of the current tag configuration.
The Export Results dialog is displayed and provides messages on the progress on
the export. This option is used to export all requested tags as InBatch Memory tags.
This option should be used if the InBatch Simulation Manager (SimMngr) will be
executing the phases.
Tag Linker 171
File/Export Tags
Use this option to display the Export File Selection window. A File name can be
specified to which all Tag Linker configuration data will be written. The default file
location is the current configuration (config_A) directory. The file format is
comma-separated variable (csv). If the specified file exists, a message is displayed
prompting whether or not it is acceptable to overwrite the file.
Note The name must include the complete patch and the .csv extension.
This option does not provide filtering of the tag list. The exported file contains an
exact image of the configuration Tag Linker database (CfgLinkDB). Once
exported, tag configuration information can be modified. Modifications to the file
only affect the configuration of the tags in the CfgLinkDB based on the changes
you made to the exported file.
Note You should not add or remove tags to/ from the exported file. If you delete
tags from the file and then select the File/Import Tags menu option, the
configuration of those tags within the configuration link database is not modified. If
you add tags to the file and then perform an Import, the additional tags are ignored
since they do not already exist in the database.
7 Initial Value 131 characters string Tag initial value. Applicable to link type =
"Memory".NOTE: Can represent a numeric
value conversion based on tag actual data
type(READ-WRITE)
8 Access 15 characters string The Access Name that "owns" this tag. The
Access Name must exist in TagLinker. Assigned
a value for Link Type = "Memory". (READ-
WRITE)
10 Min Raw long_min, double Tag minimum raw value. Applicable to tags with
long_max Data Class Analog. Value = 0 if not relevant.
(READ-WRITE)
11 Max Raw long_min, double Tag maximum raw value. Applicable to tags
long_max with Data Class Analog. Value = 0 if not
relevant. (READ-WRITE)
12 Min Scaled long_min, double Tag minimum scaled raw value. Applicable to
long_max tags with Data Class = "Analog". Value = 0 if not
relevant.
(READ-WRITE)
13 Max scaled long_min, double Tag maximum scaled raw value. Applicable to
long_max tags with Data Class = "Analog". Value = 0 if not
relevant.
(READ-WRITE)
14 Data Type Float, Integer, enum Tag actual data type. Applicable to tags with
or empty Data Class ="Analog". Empty if not
relevant.(READ WRITE)
File/Import Tags
This option displays the Import File Selection dialog. A File name can be
specified from which all Tag Linker configuration data will be read. . The default
file location is the current configuration (config_A) directory. The file format is
comma-separated variable (csv). If the specified file exists, a message is displayed.
Note The name must include the complete patch and the .csv extension.
Tag Linker 173
File/Validate
This command initiates a validation of the Tag Linker configuration. Validation
consists of verifying all Accesses, Attributes, and links. Depending on the size of
the process, the Validation option may be time consuming.
If the validation is successful, a Validate message dialog will be displayed. If
validation errors exist, the associated tags will be displayed along with a validation
error or warning message.
Note Error messages must be corrected. However, warning messages need not be
corrected prior to system operation.
File/Print
Use this command to select reports and configure printer options.
File/Print Preview
Use this command to select reports and then preview them on the screen.
174 Chapter 5
File/Print Setup
Use this command to configure your Windows. Refer to your Windows
documentation for more information.
File/Exit
Use this command to close the Tag Linker.
Note Your work is dynamically saved in the configuration link database as you
edit and make changes to the linker configuration. Therefore, you do not have to be
concerned with saving your work.
Tag Linker 175
Edit Menu
The Tag Linker Edit menu contains the commands that are used to access the Tag
Linker's configuration windows.
Edit/Access
Use this command to display the Access Editor.
Edit/Export
Use this command to display the Export Editor.
View Menu
The Tag Linker View menu contains the commands that are used to modify the tags
that are displayed in the main window and the selection mode for modifying the
tags.
View/Filter
Use this command to display the View Filter Selection window.
176 Chapter 5
View/Single Selection
Use this command to select single tags from the main window.
View/Multiple Selection
Use this command to allow the selection of multiple tags from the main window.
Help Menu
The Tag Linker Help menu contains the commands that are used to access the main
help screen, and information about the version and licensing of the application.
Help/Help Topics
Use this command to display online help for Tag Linker.
Access Editor
Use the Access Editor to define Access Names.
An Access Name represents a data source for InBatch tags. An Access consists of
an Access Name (16-characters maximum), an Application, a Topic, and an
InTouch Node designation if applicable. The editor will verify all new access
names to ensure uniqueness.
Two Access Names are provided by default: ControlSystem and InTouch. The
default access names can be changed; however, they cannot be deleted. It is
recommended that these default names be changed to relate to your application.
When the process model is created, all of the tags associated with it are stored in a
configuration link database. The default Access Names allow the process model to
operate and simulate batch operation.
Tag Linker 177
The InTouch access name is initially assigned to the Application: VIEW (InTouch
WindowViewer) and converses by way of the Topic: TAGNAME. Application
identifies the node and name of an InTouch application (e.g. \\BEN\VIEW). The
node name, BEN, identifies a specific network path where the InTouch application
is located, while VIEW is the name required for InTouch server conversations. The
Topic identifies the group of elements within the application through which
conversations will be established. The InTouch Node check box is enabled for the
InTouch access name, indicating that this access is connecting to an InTouch node.
All Access Names associated with InTouch require the Application name, VIEW,
and Topic, TAGNAME.
You can create Access Names by following these guidelines and referring to the
appropriate control system documentation.
Note It is required that only SuiteLink IO servers be used with InBatch. SuiteLink
provides the robust and reliable communications protocol that InBatch demands.
Tag Configuration
The following section describes how to configure tags in a batch system.
Tag Selection
The Tag Linker window list is, by default, initially empty. This indicates that no
tags have been selected.
178 Chapter 5
The View Filter Selection window lists all of the Units, Connections and
Segments that are available in the current configuration process model database.
Select the appropriate equipment using the Control (or Shift) key and then the OK
or Apply command button to update the display. Equipment is de-selected by
holding the Control key and selecting with the mouse.
The Analog, Discrete, String, Enumeration, and Attributes radio buttons allow
additional filtering based on data class. Data classes are defined when tags are
created.
WARNING! When in multiple selection mode, ensure that your modifications are
appropriate for all selected tags. Changes cannot be undone.
Item Definition
The Item Definition area identifies three parameters (each associated with a radio
button) that are related to the tag name and properties. Only one of the three
parameters can be selected. The Item is associated with a specific location of data;
such as a tag name or a PLC register. The Use Tag Name option is selected when
you want the actual name of a tag to be used in the export. Select InBatch Memory
Tag when there is no external source for the tag. This option also initializes the
value of the InBatch Memory Tag for analog, discrete or string tag types as
specified in the Initial Value field. If no value is entered, the initial value is set to 0
for analog tags, 0 (Logical False) for discrete tags, or empty (null) for string tags.
Tag Linker 179
Access Assignment
The Access Assignment area allows you to assign one of the Access Names that
were created using the Access Editor. The Access button displays the Access
Names dialog. Select the appropriate access and assign to the tag.
Export Tag
The Export Tag check box allows you to enable or disable the export of the
associated tag. Not all tags from the InBatch model are necessarily required for an
InTouch application. If a tag is going to be used within the InTouch application and
contained in the InTouch tagname dictionary, you must select the option. If a tag is
not required, it can be de-selected.
Note Exporting tags that are not required in InTouch is acceptable and perhaps
convenient. However, batch utilities constantly monitor and manage InBatch and
InTouch processes. A high quantity of unnecessary tags can degrade overall system
performance.
For more information on alternatives to exporting tags from InBatch and loading
the tags into InTouch, see Chapter 19, "InTouch Batch Tag Browsing and
Referencing."
Scaling Options
180 Chapter 5
The Scaling Options area applies to analog tags only. Min Raw and Max Raw are
associated with the values output from a source such as a PLC. Min Scaled and
Max Scaled are scaling factors associated with InBatch
The Data Type area applies to analog tags only and allows the user to set the type of
numeric data with which a tag is associated. The options are either Float (floating
point) or Integer.
Export Editor
The Export Editor groups tags by their Access Names. You can select which
access names (tag groups) are exported to the .csv file. Multiple csv files can be
created for different InTouch applications such as an operator workstation, a
supervisory node, or a batch scheduling node. Each different type of InTouch
application is called a Client Type. A Client Type consists of a Client Type name
(14-characters maximum), Accesses for which to include the tags in the csv file,
TIM Tags and Batch Function Tags check boxes, and an Output Path/Filename.
Tag Linker 181
Client Types are user defined and are typically represent your batch control system
architecture. Before you can export tags, you must determine for each Client Type:
• Does the associated InTouch node provide tag data?
• Does the InTouch node require access to data from an external control system
or InBatch?
• Does the InTouch application use InBatch Wizards?
• Does the InTouch application use Batch Function Tags?
• What is the name of the .csv file that you want to export to?
If the InTouch application provides tag data to InBatch, select the appropriate
access name from the Export Access as InTouch Memory tags list box.
If the InTouch application requires access to tag data that is associated with external
control systems or InBatch, select the appropriate access name(s) from the Export
Access as InTouch IO Tags list box.
Note An access name; for example, InTouch, can be associated with either the
Export Access as InTouch Memory tags or the Export Access as InTouch IO
Tags classification, not both.
When you are using InBatch Wizards, you must enable the TIM Tags selection
button and then enter the Number of Clients that will be served. The Number of
Clients parameter is ultimately used at runtime by the batch management system. It
specifies how many InTouch applications potentially require access to the batch
information for the selected Client Type. To differentiate each set of TIM Tags
within InBatch, the batch management system appends an instance number to the
Client Type name.
For example, if two InTouch nodes utilize the same client type; that is, the same
tags, then the Number of Clients should be set to 2. This instance number must be
used within InTouch as well to point InTouch to the appropriate set of TIM Tags
assigned to that node. The Access Name and the IB_TIM_ACCESS_TAG tag in
the InTouch application are used to make this designation. The values for this
access name and tag must contain the Client Type name with appropriate instance
number appended. The diagram below shows the InTouch definition required for
the second node in this example.
182 Chapter 5
If you are using Batch Function Tags, enable the Batch Function Tags check box.
Batch function tags are used to access strategic points, or hooks, within the
execution of the batch management system by way of InTouch scripts. There are
five hook points.
Hook Description
Phase Prepare Called at the beginning of every phase.
Phase Prepare Called at the end of every phase.
Evaluate Equipment for Allocation Called before units and connections are allocated.
Log Equipment Status Called when the status of a unit or segment changes.
Equipment Allocation Changes Called whenever a unit or connection becomes allocated or
released.
For more information on how to use the Batch Function Tags, see Chapter 22, "Tag
Interface Management (TIM) System."
WARNING! Only enable the Batch Function Tags for one client. This client is
then responsible for managing these tags.
You will need to specify a .csv file name for the export in the Output
Path/Filename field. Ensure that you include the full path and file name, including
the .csv extension. If you do not specify a path, the file will be located in the current
InBatch configuration (config_A) folder.
Tag Linker 183
This following table further illustrates how Access Names are created in an
InTouch application for tags which are exported from Tag Linker and then imported
using the DBLOAD utility. The Node Name for each would correspond to the host
name of the appropriate computer (Batch Server, IO Server, etc.) and has been
omitted from the table. The TI Direct IO Server (TIDIR) has been used as an
example for the control system interface.
All of the tags assigned to this Access Name are now associated with the "TIDIR"
IO Server located on "plcnode". If you have multiple topics for the "TIDIR" I/O
Server, or if you are using multiple IO servers, you will need to add a new Access
Name for each.
Many of the tags that were created when the Process Model was constructed need
to be assigned the appropriate Access Name and associated with the proper Item.
Using Tag Linker's View Filter Selection dialog, select the required tags or groups
of tags and then assign the appropriate Item Name. In our example, we would
assign values such as "V100" and "C15000" to the Item Name field. You can
change the Access for each tag if required. Since we are only using one Access
Name in our example we do not have to do this. Other parameters such as scaling,
can be entered.
Some tags (by default) are not associated with an Access Name. Instead, they have
the "InBatch Memory Tag" parameter enabled. These tags are typically the system
tags (string tags) which are used by InBatch to store system information during
runtime. If you need to use the information in these tags at the PLC level, you must
enter and Apply the appropriate Item Name.
Once you have made the necessary modifications, select the File/Validation menu
option for Tag Linker. You may see a warning during the validation indicating that
the InTouch Access does not have tags associated with it. This is not unusual. The
InTouch Access is used only when InTouch is used as an IO server.
When you perform a "simulation export" and then a subsequent DBLOAD,
InTouch is configured to obtain all of its control system tag data directly from the
InBatch Server. Now that an actual control system has been implemented, we want
InTouch nodes to communicate with it to obtain tag data. To accomplish this, first
select the File/Runtime Export, and then use the DBLOAD utility to load the .csv
file.
For each Access that was defined using the Tag Linker you will need to configure
and run one instance of the IBCli application. The only exception to this is if you
get a warning message during Tag Linker validation indicating that no tags are
associated with a particular access. In this case you do not need an instance of
IBCli. IBCli is configured using the Editor. For each instance of IBCli you need to
configure several application parameters. For the purpose of our example, we need
to configure one instance as follows:
Access Name:TI_Tags
Verbose Mode
The Access Name argument is required and should match one of the Access Names
defined using the Tag Linker Access Editor. The Verbose Mode parameter option is
useful for troubleshooting.
Materials Editor 187
C H A P T E R 6
Materials Editor
Use the Materials Editor to define materials, assign material locations, and track the
usage and production of materials in a batch processing facility.
Contents
• Overview
• Using the Materials Status Window
• Using the Materials Editor
• Using the Material Location Assignment Editor
Overview
The Materials Editor provides a graphical user interface to the Materials Database.
All of the materials that will be used during recipe creation must be defined within
this database. Use the Materials Editor to define Ingredients (Raw Materials),
Intermediates (Premixes), Finished Goods, By-Products, and Other ingredients.
In addition to the defining materials to be stored in the Materials Database, you can
use the Materials Editor to configure tracking the location of materials that are
stored in units. This is typically associated with bulk ingredients and intermediate
materials. The batch management system uses the unit assignments to determine
where an ingredient is located when a batch is executed. This capability allows
ingredient locations to be independent of recipes and control system logic, and
permits ingredients to change locations without affecting recipe execution.
systems with ingredient usage information and intermediate and finished goods
production.
Note The Materials Editor is not, within itself, an inventory management system.
However, it can be used to complement existing systems.
The following diagram provides an overview of the Material Editor and its
relationship with other system components.
188 Chapter 6
Materials Editor 189
The status of all of the materials in the Materials Database will be displayed. If
there are no materials defined in the in the database, the list will be empty.
File Menu
The Materials Status File menu provides access to the system functions for
materials management.
File/Validate
Use the File/Validate menu to validate materials database entries. Validation
consists of verifying that all of the units assigned to the materials exist within the
process model.
message will be displayed indicating that the materials configuration is valid. If
validation errors exist, the associated tags will be displayed as an error message.
File/Print
Use the File/Print command to select from one or more pre-formatted reports, and
then print the materials status. The print window also provides standard Windows
printer options.
To Print a Configuration:
1. On the menu bar, click File and select Print.
2. The Print window will appear.
Note If you want to print several reports, press and hold the control or shift key,
while selecting from the list with the left mouse button.
File/Print Preview
Use the File/Print Preview command to select one or more formatted reports, and
then view the report(s) on the screen.
Note If you want to preview several reports, press and hold the control or shift
key, while selecting from the list with the left mouse button.
File/Print Setup
Use the File/Print Setup command to select and configure a printer. Refer to your
printer manufacturer’s documentation for more information.
File/Exit
Use the File/Exit command to close the Materials Editor.
Note All of your work is dynamically saved in the materials database as you edit
and make changes. Therefore, you do not have to be concerned with saving your
work.
Materials Editor 193
Edit Menu
Use the Edit menu to access the Materials Editor and the Materials Location
Assignment Editor.
Edit/Materials Editor
Use the Edit/Materials Editor command to display the Materials Editor window.
For more information on the Materials Editor, see “Using the Materials Editor” on
page 196 later in this section.
Edit/Material Locations
Use the Edit/Material Locations command to display the Material Location
Assignment Editor window.
For more information on editing Material Locations, see “Using the Material
Location Assignment Editor” on page 198 later in this section.
View Menu
Use the Materials Status View menus to view a list of the materials that are assigned
to units. You can also use the menu to filter the materials ID list by specifying a
portion of a material ID. A find option is also provided for a direct search of a
Material ID.
View/Assigned Units
Use the View/Assigned Units menu to display a list of all of the Unit to Material
assignments.
All of the Unit assignments, material Type and Material ID are listed.
3. Click Close to close the Assigned Units window.
194 Chapter 6
View/Partial List
Use the View/Partial List menu to filter the list of available Unit Assignments.
This option is especially useful in helping you narrow your focus when there is a
large number of Material IDs for a given ingredient type.
3. In the Partial ID text box, enter the first portion of the Material ID (16-char
max) that you want to use as your filter.
4. Click OK.
5. The Material ID list will now show all of the Material IDs that include the
filter.
View/Full List
Use the View/Full List command to display a list of all of the materials in the
Materials Database.
View/Find
Use the View/Find command to search for a specific Material ID.
3. In the Material ID text box, enter the Material ID (16-char max) that you
want to search for.
4. Click OK.
5. The Material ID list will now show only the Material that you entered.
If you enter a non-existent Material ID, an error message will be displayed.
Help Menu
Use the Materials Status Help menu to access to the online help system and
information regarding product version.
Help/Help Topics
Use the Help/Help Topics command to display the help contents for Materials
Status.
WARNING! Deleting materials from the materials database can affect recipe
execution. Before you delete or modify a material, ensure that you understand how
your particular application manages materials.
Defining Materials
Material Definition requires the assignment of the following characteristics. Some
elements are required while others are not.
• Type (Required)
Each material must be defined as an Ingredient, Intermediate, Finished
Good, By-Product, or Other.
• Material ID (Required, 16-char max)
• Name (Optional, 40-char max)
This name can be used to represent the actual name of the material.
• Description (Optional, 120-char max)
• Unit of Measure (Optional, 12-char max)
• High Deviation (Optional, value between 0.00 and 100.00 inclusive)
This value represents the General or default, high deviation when the material
is used in a recipe.
• Low Deviation (Optional, value between 0.00 and 100.00 inclusively)
This value represents the General, or default, low deviation when the material
is used in a recipe.
• Characteristics (Optional)
Each material can have an unlimited set of characteristics. Characteristics help
distinguish materials from one another. They also allow you to separate lots of
the same material. A characteristic consists of a Name (16-char max), Data
Type (Real, Integer or String) and a Default Value. Examples of
characteristics include potency, density, color, and brix.
Note Additions, deletions, and changes must first be made to the material before
the characteristics can be updated.
To Define a Material:
1. In the Materials Editor, click the Materials drop-down arrow and select a
material type (Ingredient, Intermediate, Finished Good, By-Product, or
Other.)
You can use the Find button and View Partial List check box to search all of
the defined materials in the database. This is useful when you want to enter
new materials that are similar to existing entries.
2. Enter a Material ID, Name, Description, Unit of Measure, and High and
Low Deviations as described earlier in this section.
3. Click Add to include the entry in the materials database.
Note When you change the default characteristic Data Type, the corresponding
Actual Value is reset with the Default characteristic value. Therefore, before you
change a Material Characteristic Data Type, you should consider how this will
affect your material definitions.
Note The default FIFO material usage can be changed to last-in, first-out (LIFO)
by assigning the LIFO Materials application parameter to Batch Manager in the
Environment Editor.
The batch management system will also add lot tracking records for all materials
produced in batches by phases that have output formula parameters. These
materials can then be consumed by subsequent phases with input parameters.
Note The Materials Editor does not require that lot tracking information be
defined for all materials used in production. The batch management system will
record the lot tracking information to the historical database if this information is
defined, but if the information is not defined, the batch management system will
still execute all batches using the material.
Note The Materials Editor uses the contents of the runtime process model
database. It may be necessary to perform an Update/Runtime from Environment
Display in order for the Unit Selection window to show the correct list. If the list is
empty, it is likely that you need to perform an Update/Runtime.
C H A P T E R 7
Recipe Editor
The batch control system coordinates the construction and management of recipes
in accordance with the guidelines outlined in the Instrument Society of America
(ISA) S88.01 Flexible Batch Specification. Consistent with this standard, Recipe
Editor supports all three sublevels of the recipe procedure.
The batch control system provides a recipe management system that enables Master
Recipes to be constructed and edited. Master recipes are not process line specific.
They can be assigned to any process line that has the classes of process equipment
defined in the recipe. A master recipe becomes a Control Recipe when it is assigned
to a Train and it is initialized by the batch management system. A control recipe is
process line specific.
for ingredients, intermediates, by-products, and finished goods are entered as either
actual quantities or as a percent of the batch size. Quantities expressed as
percentages are scaled by the batch management system when the batch is
scheduled and initialized.
Contents
• Overview
• Using Recipe Editor
• Header
• Equipment Requirements
• Formula
• Building a Recipe Procedure
• Building Recipes in a Connectionless Process Model
Overview
A recipe consists of four parts. They are the Header, the Equipment Requirements,
the Formula, and the Procedure.
204 Chapter 7
Header
A recipe Header identifies and documents each recipe. The header consists of a
Recipe ID, Recipe Name, Recipe State, Recipe Type, Product ID, Product Name,
Minimum Batch Size, Maximum Batch Size, Default Batch Size, and Comment.
Equipment Requirements
Equipment Requirements specify the process classes and attributes required by a
recipe. When defining attributes, you must specify the minimum and maximum
values for each attribute. For example, if a recipe requires a 500 or 1000 pound
reactor, the minimum and maximum values for the attribute “Capacity” would be
500 and 1000, respectively. When a very specific characteristic is required, the
minimum and the maximum should be assigned the same number.
When trains are defined, it is possible to have multiple destination units available
for a given transfer. There may be times when you want to give an operator the
flexibility to select a destination unit and other times when this selection is
automatic. You can enable this feature when you define equipment requirements for
a recipe.
The Recipe Editor automatically inherits all process and transfer phases associated
with the process classes defined in the equipment requirements. These are the only
phases that you can use to build a recipe procedure.
Normally, whenever you define process instances, you would also define all of the
resulting transfer instances. Defining multiple instances allows the recipe builder to
simultaneously process-in or transfer-to multiple units within the same process
class. A process instance can have a specific attribute range or it can have a specific
unit assignment. This gives the recipe builder the ability to create equipment
independent or dependent recipes.
Formula
The Formula specifies the inputs (raw materials, ingredients), outputs
(intermediates, finished goods, and by-products), and process variables for a recipe.
Input and output quantities can be entered as actual values or as percentage value.
Process variable values are entered as actual quantities. Default tolerances for
ingredients and process variables will be automatically displayed. However, the
default tolerances can be changed for the current recipe or can be disabled
altogether.
Procedure
The procedure defines the sequence of process actions needed to execute one batch
of a recipe. A procedure is constructed using unit procedures, operations, phases,
transition logic, branch objects, and loop objects. Unit Procedures are associated
with a process instance and are defined in the recipe. Operations provide a
convenient way of grouping the phases that are associated with the recipe.
Operations are defined during recipe construction. Phases are defined when you
create the process model.
206 Chapter 7
Phases are configured with parameters. A parameter is assigned a value when the
recipe formula is entered. Parameter types are either input, output, or process
variable. When the recipe is executed by the batch management system, the values
assigned to the parameters are written to the control system.
provides the ability to redirect the execution of a procedure based on the result of a
Boolean expression. Expressions can be constructed using process class and/or
instance tags, transfer class and or instance tags, and predefined functions such as
questions that prompt an operator. These questions are displayed and then answered
by an operator when the recipe procedure is executed.
allow the recipe builder to execute simultaneous unit procedures, operations and
phases, execute one of many unit procedures, operations or phases, and execute
operations simultaneously on two or more units.
allow the recipe builder to re-execute unit procedures, operations and phases based
on an evaluated transition logic expression.
Unit Procedures
A Unit Procedure is a process action consisting of one or more operations. The Unit
Procedure names are defined by the recipe builder. A process instance must be
assigned to each Unit Procedure created. All process phases associated with the
assigned process instance, and all transfer phases associated with a transfer instance
that has the assigned process class as either its source or destination class, can be
used to define the unit procedure. Some examples of unit procedures and associated
process class instances are provided in the following table.
Operations
An Operation is an independent process action which identifies one or more phases.
The operation names are defined by the recipe builder. Defining an operation
simply requires the assignment of a name. Some examples of operations are
provided in the following table.
Operation Name
Add and Process
Transfer-MixTank
Recipe Editor 207
Operation Name
Fill and Package
Transfer-RecvTank
Phases
A phase is an independent processing action. Automatic and semi-automatic phases
are executed by the control system using Phase Logic. Phase logic is constructed in
a manner where it is automatically configured through phase parameters and
enabled and monitored by the batch management system when recipes are
executed.
Manual and data phases have no phase logic and are executed by the batch
management system. Typically, a manual phase is used to instruct an operator to
perform a function such as manually adding an ingredient, or performing a test
sample. A data phase may be used to read or write values to the control system or
an external device with operator interaction or formal phase logic.
208 Chapter 7
In addition to the types of phases previously described, there are two special phases
that can be used at any time in a recipe procedure to reserve ownership of specific
units or connections to a batch. These phases are named Allocate and Release.
When a unit or connection is allocated, it is owned by the batch until it is either
released as part of the recipe procedure or the batch finishes, or an operator
manually releases it.
Parameters
You can use Formula Parameters to further define the execution of a phase.
Formula parameters are defined in the process model editor. There are three types
of parameters:Inputs, Outputs, and Process Variables.
will hold process variable values. Output parameters will hold output quantities
based on the formula. As a procedure is constructed, each element of the formula is
assigned to a parameter.
Transition Logic
In addition to defining process actions and the sequence of execution, there is a way
to control (enable/inhibit) the execution of the parts of a recipe procedure based on
operator decisions or process conditions, unit status, and batch information. This is
achieved through the use of Transition logic.
With transition logic, a Boolean expression is constructed and evaluated. If the
expression evaluates to TRUE, the execution of the recipe moves to the point below
the transition logic. If the expression evaluates to FALSE, the recipe execution will
stop and wait for the transition logic to evaluate to TRUE.
Transition Logic is constructed with the expression builder using:
1. Process Class and/or Instance Tags
2. Transfer Class and/or Instance Tags
3. Pre-defined Functions (Ask, Not, WaitSec, WaitMin, WaitHour)
4. Constants
The following table shows all of the available transition logic operators.
For more information on building expressions, see Chapter 14, "Expression Editor."
Operator Symbol
Negate -
Multiply *
Divide /
Modulus %
Add +
Subtract -
210 Chapter 7
Operator Symbol
Less Than <
Greater Than >
Less Than or Equal To <=
Greater Than or Equal To >=
Equal To =
Not Equal To <>
AND &
Or ¾
Assign :=
Not Not
File Menu
The Recipe Editor File menu provides system functions for the Recipe Editor. The
File menu items are described in the following sections.
212 Chapter 7
File/New
Use the File/New command to create a new recipe and clear an open recipe from
memory. If prior editing had been done and not saved, a message box will be
displayed providing the option to discard the changes before clearing the recipe.
File/Open
Use the File/Open command to open an existing recipe and clear an open recipe
from memory. If prior editing had been done and not saved, a message box will be
displayed providing the option to discard the changes before opening the recipe.
To Open a Recipe:
1. Click File, and then select Open.
You can also click the Open icon on the main toolbar.
All of the recipes in the recipe database will be listed. You can sort the list by
clicking a list heading.
3. Click Open.
4. Double-click the required list item.
You can also open a recipe by double-clicking an item.
5. The recipe that you selected will appear in the Recipe Editor window.
Recipe Editor 213
To Find a Recipe:
1. Click the Find button.
2. The Recipe Find window will appear.
3. In the Search For text box, enter the text that you want to search for.
The space character acts as a wildcard entry. Entering a space character in the
Search For text box will cause every item in the list to be searched.
4. From the In drop-down list, select whether you want to search the Recipe ID,
Recipe Name, State or Type, or all of these fields.
5. Enable the Case Sensitive check box as required.
6. Click Find Next.
The first Recipe that matches your criteria will be highlighted in the Recipes –
Open list box. You can click Find Next to continue searching and scrolling
through the list.
7. When you identify the recipe that you want, click Open on the Recipes –
Open window.
8. Recipe Editor will display the selected recipe
File/Save
Use the File/Save command to save changes to an open recipe. The File/Save can
also be used as a Save As function by specifying a different Recipe ID when you
are prompted to save the recipe. The first time that you save a recipe, you will be
required to enter a Recipe ID (16-char max) and an Author (30-char max). You can
also enter optional Comments that describe any changes or details that you want to
document. All subsequent changes to a recipe will require the entry of an Author.
You can effectively copy a recipe simply by saving it with a unique Recipe ID.
If you attempt to enter a Recipe ID that is not unique, a warning message will be
displayed that prompts you to overwrite the current version.
There will be occasions when either the Recipe ID and/or the Author is
automatically supplied. The Recipe ID is supplied when the current recipe has
already been assigned an ID. You can change this information at any time as
explained earlier. The Author field is supplied when the batch security system is
enabled and the Recipe Editor Author function has been assigned to require security
clearance. In this case, security clearance will be required whenever the save menu
option is selected. The corresponding Done By user entered in the security
clearance request will be automatically assigned to the Author field. This field may
not be changed.
Recipe Editor 215
To Save a Recipe
1. Click File, and then select Save.
You can also click the Save icon on the main toolbar.
3. Enter a Recipe ID, Author and Comments as described earlier in this section.
4. Click Save.
File/Delete Recipes
Use the File/Delete Recipes command to remove a recipe from the recipe database.
Any recipe defined in the database can be deleted; however, you can only delete
one recipe at a time. If you delete the recipe that is currently open, you will have to
use the File/New command to clear the deleted recipe from the display.
To Delete a Recipe
1. Click File, and then select Delete Recipe.
2. The Recipes – Delete window will appear.
216 Chapter 7
File/Validate
Use the File/Validate command to initiate a validation of the current recipe. The
validation process consists of the following elements.
• Verify that the process model database information used in the recipe exists.
This includes process classes, phases, parameters, and tags.
• Verify that the material database information used in the recipe exists.
• Verify that the minimum, maximum, and default batch sizes defined in the
recipe header are appropriate. (Minimum <= Default <= Maximum)
• Verify that all of the formula parameters defined in the recipe procedure are
linked to the appropriate information.
• Verify that all transition logic, including loop logic, is valid.
Note The validation process only verifies user configured information. Because of
the flexibility provided in constructing recipe procedures, it is impossible to verify
a recipe design. This verification is the responsibility of the user.
The validation does not check the document path specified for a document that is to
be viewed as part of a phase's execution.
The validation process does not verify the existence of reports on the Information
Server. This verification is the responsibility of the user.
To Validate a Recipe
1. Click File, and then select Validate.
Recipe Editor 217
You can also click the Validate icon on the main toolbar.
File/Approvals
Use the File/Approvals command to approve any recipe in the database for
production or for testing. Approvals are required before the Approved for
Production check box can be set. A recipe cannot be scheduled as part of a batch
unless the Approved for Production or Approved for Test check box has been
enabled. The levels of approval required are configured in the Security Editor. If
security is not enabled, the Approved for Production or Approved for Test check
box must be manually enabled each time the recipe is saved. There are five levels of
recipe approval permitted. The first level corresponds to the author. The remaining
levels of approval are numbered two through five and can be assigned based on
your requirements.
Note In order to prevent the same person from approving recipes at different
levels, each level of approval should be assigned a different security level.
You approve the recipe by selecting the appropriate level command button on the
Approvals and entering information required by the security request windows.
Levels may be approved in any order, but the Approved for Production or
Approved for Test check box cannot be enabled until all of the required levels have
been satisfied. The Approved for Production or Approved for Test check box can be
enabled or disabled at any time for recipes in which all levels of approval have been
satisfied.
For more information on configuring security, see Chapter 13, "Security System."
To Approve a Recipe
1. Click File, and then select Approvals.
You can also click the Approvals icon on the main toolbar.
Note Recipe approvals made on version 8.0 and later show the time/date stamp of
the electronic signature. If recipe approvals were made on a prior version of the
batch software, the time/date of the electronic signature is not available.
File/History
Use the File/History command to view the construction history for any recipe in
the database. You can view the Version, Date of creation, and recipe Author for
each entry.
Note Old versions of recipes cannot be executed. If multiple recipe versions are
required, It is recommended that you enter the version identification in the Recipe
ID.
File/Import/Export
Use the File/Import/Export command to export recipes to files and import recipes
from a file. You can copy and/or move recipes between local recipe databases
(those on your server) and across a network.
To Export a Recipe:
1. In the Import/Export window, enter a directory or select it from the
Directories list.
2. From the Recipe IDs list, select the required recipe(s).
3. Click Export.
This will create the recipe file(s) (.rcp extension) in the directory that you
selected. If the recipe file exists, the Duplicate Recipe window will appear
prompting you overwrite the existing file. Acknowledge the prompt as
required. You can also specify a different file name in the text box.
Recipe Editor 221
Note The file that is created contains information in a proprietary format Do not
attempt to view or edit the contents.
To Import a Recipe:
1. In the Import/Export window, enter a directory or select it from the
Directories list.
2. From the Recipe IDs list, select the required recipe(s).
3. Click Import.
This will create the recipe file(s) (.rcp extension) in the directory that you
selected. If the recipe file exists, the Duplicate Recipe window will appear
prompting you to overwrite the existing file. Acknowledge the prompt as
required. You can also specify a different file name in the text box.
Note After you import a recipe, you should validate and approve it using the
Recipe Editor.
WARNING! Do not attempt to import files that were not created by performing a
recipe export. An application error will occur.
Note It is recommended that you back up your recipe databases prior to using the
Synchronize Recipe feature.
To Synchronize Recipes:
1. On the menu bar, click File and select Sync and Validate Recipes.
The Sync & Validate Recipe window will appear.
Note If you have a Recipe open, you must close it before you can use the
synchronization feature.
3. Enable the Retain Recipe Approvals check box to retain the Approvals that
are currently assigned to each recipe in the database.
If you disable the Retain Recipe Approvals check box, you will be required to
enter new Approvals.
Note By default, the Retain Recipe Approvals is enabled. If you have disabled
the Allow Sync Approvals parameter in Environment Editor, the Retain Recipe
Approvals check box cannot be selected.
File/Print
Use the File/Print command to select one or more pre-formatted reports, and then
print the section(s) to a printer or a file. Printed output supports the use of
PostScript formatting for graphical representation as well as a Standard format that
is text-only. You can optionally print your reports on a grey background. The Print
window also allows you to select and configure the Properties of the printer
To Print a Recipe:
1. On the menu bar, click File and select Print.
You can also click the Print icon on the main toolbar.
File/Print Preview
Use the File/Print Preview command to select one or more pre-formatted reports,
and then preview them on the screen.
To Preview a Recipe:
1. On the menu bar, click File and select Print Preview.
You can also click the Print Preview icon on the main toolbar.
2. Select one or more reports and then click OK to preview your selections.
File/Print Setup
Use the File/Print Setup command to select and configure a printer. Refer to your
printer manufacturer’s documentation for more information.
File/Exit
Use the File/Exit command to close the Recipe Editor.
Note If you have edited a recipe and did not save it, you will be prompted to save
or discard the changes prior to closing the Recipe Editor.
Edit Menu
The Recipe Editor Edit menu provides system functions for the Recipe Editor.
Header
Use the Edit/Recipe Header menu to create and edit recipe header information.
Edit/Recipe Header
Use the Edit /Recipe Header command to define the name and other identification
information for a recipe. A Recipe Header contains the elements show in the
following list. Not all of the elements are required.
• Recipe ID (Required; Display only; Defined when recipe is saved)
• Recipe Name (Optional, 16-char max)
• Recipe State (Required, Defaults to the default State defined in the Recipe
State Editor)
• Recipe Type (Optional, Defaults to the default Type defined in the Recipe
Type Editor)
• Product ID (Optional, 16-char max)
• Product Name (Optional, 16-char max)
• Minimize Batch Size (Required, Defaults to zero if left blank)
• Maximize Batch Size (Required, Defaults to zero if left blank)
• Default Batch Size (Required, Defaults to zero if left blank)
• Comments (Optional, No size restrictions)
The Recipe ID is the only field that cannot be edited from the Header. The Recipe
ID is the unique identifier for the recipe and defined when the recipe is saved.
You can also click the Header icon on the main toolbar.
For more information on defining Recipe States, see “Recipe State Editor”
later in this section.
4. Click OK.
5. The State will appear in the Recipe Editor window.
For more information on defining Recipe Types, see “Recipe Type Editor”
later in this section.
4. Click OK.
5. The State will appear in the Recipe Editor window.
Equipment Requirements
Use the Edit/Equipment Requirements menu to define the equipment requirements
for your recipe.
Edit/Equipment Requirements
Use the Edit/Equipment Requirements command to access the Equipment
Requirements Editor which you will use to edit recipe equipment requirements.
Equipment requirements identify the process classes and/or process and transfer
instances from which process and transfer phases can be used while building the
procedure. The equipment requirements are also used by the batch management
system to verify train selection during batch scheduling, and also which units will
be selected from the train when the batch is executed. You must define recipe
equipment requirements before you can construct a recipe procedure.
The equipment requirements for a recipe consist of the following items.
• Process Classes (Required, One or more selected from the process model)
• Process Instances (Optional, One Process Instance is created by default for
each selected Process Class. At least one Process Instance is required for a
recipe.)
• Transfer Instances (Optional)
Recipe Editor 229
• Unit Selection Mode (Required, Defined for each process class and/or
instance)
• Attributes (Optional, Available for each process class and/or instance for
which process class attributes were defined in the process model)
• Unit Assignments (Optional, Required for equipment dependent recipes only)
• Comments (Optional, No size restrictions)
Recipe Editor gives you the ability to define equipment independent or equipment
dependent recipes. An equipment independent recipe does not have units assigned
to its process instances. An equipment dependent recipe is associated with specific
units assigned to one or more process instances. In actuality, the recipe procedure is
associated with instances within a class. For example, the process class “Reactors”
might have 2 process instances: “ReactorA” and “ReactorB.” ReactorA and
ReactorB are still classed based, but can be independently referenced in the recipe.
Note It is very important for you to remember that adding process instances is not
necessary if your requirements need only one unit from within the same process
class.
Note You can delete Process class assignments with the Equipment Requirements
Editor. Deleting a process class will remove all of the process and transfer instances
that are associated with the deleted class. Phases previously assigned to instances
associated with the deleted process class must be manually deleted from the recipe
procedure. Until you delete these phases, the recipe will become invalid. Should
this condition arise, a message box will be displayed.
Recipe Editor 231
Process Instances
Use the Process Class Instance Editor to define the specific process instances
necessary for recipe construction. Instance names must be unique. The editor
verifies the name to ensure validity and uniqueness.
Note Deleting a process instance will also remove all of transfer instances that
were defined using the deleted process instance. If you delete all of the instances for
a process class, there will no instances available for assigning operations in the
Procedure Editor. New instances can be defined, or the process class can be deleted
and reassigned using the Equipment Requirements Editor in order to return the
default instance name. All of the phases that were assigned to a deleted process
instance must be manually deleted from the recipe procedure. The recipe will
become invalid until the phases are removed.
If your recipe procedure requires multiple process instance names, you should first
change the name of the default instance, and then add the required instances.
Remember that if you delete default process instances, then the default transfer
instances are deleted as well. Also, if you retain the default instance and name, and
do not use it in the procedure, the batch management system will require an extra
unit in the train in order to initialize the recipe.
Note Multiple process instances are not required unless you have a batch
execution requirement for the simultaneous allocation of more than one unit from
the same process class.
The Name box in the Process Class Instance Editor window displays a
default instance name which is the same as the selected process class name. If
you only need one unit from the class for the recipe, then you can use the
default name. If more than one unit is required from the process class, you
must define multiple instance names.
3. In the Name box, enter an appropriate Process Instance name.
4. Click Add.
All of the units assigned to the selected process class in the process model will
be displayed.
4. Select a Unit from the list and click OK.
The unit that you select is assigned to the instance. The unit name is displayed
in the Process Class Instance Editor window along with the appropriate
process instance name
234 Chapter 7
Note If a specific unit has been assigned to a process instance, you cannot set the
selection mode. In this case, the batch management system allocates the assigned
unit when the recipe executes.
Attributes
Use the Attributes list and, Min and Max text boxes, to provide additional
equipment requirements for a recipe.
The batch management system uses attributes to allocate units in the train assigned
to a batch only if the unit attribute values satisfy the corresponding recipe attribute
requirements. Attributes are defined for the process class in the Process Modeling
Editor
For more information on Process Class Attributes, see Chapter 4, "Process
Modeling."
The assigned attributes are valid only for the selected process instance and the
recipe that you are creating. The attribute range consists of a minimum value (Min)
and a maximum value (Max).
Note If a specific unit has been assigned to a process instance, an attribute range
cannot be defined. The batch management system is required to allocate the
assigned unit when the recipe is executed as part of a batch.
Recipe Editor 235
In the example, the batch management system must allocate a reactor as the
destination unit in order to execute the bulk addition. The unit selection mode and
the capacity attribute range defined in the recipe are evaluated by the batch
management system and compared with the unit attribute values defined in the
process model editor. The following table shows variety of scenarios and the result
of the batch management system for the previous example.
Minimum Maximum
Process Unit Capacity Capacity
Instances Assigne Selection Attribute Attribute
Defined d Units Mode Value Value Resultant Unit Selected
Reactors None Automatic 0 0 Reactor A or Reactor B
Reactors None Automatic 0 2000 Reactor A or Reactor B
Reactors None Automatic 0 1000 Reactor A
Reactors None Automatic 2001 3000 Batch cannot be initialized
because train does not
contain an acceptable unit.
Reactors None Manual 0 0 User selects Reactor A or
Reactor B
Reactors None Manual 0 2000 User selects Reactor A or
Reactor B
Reactors None Manual 0 1000 Reactor A is automatically
selected because it is the
only reactor satisfying the
attribute range.
Reactors ReactorA N/A N/A N/A Reactor A
Reactors ReactorB N/A N/A N/A Reactor B
First_Reactor None Automatic 0 2000 Reactor A or Reactor B
First_Reactor None Manual 0 2000 Reactor A or Reactor B
First_Reactor None Manual 0 2000 Reactor A or Reactor B
Second_Reactor None Manual 0 2000 selected for the
First_Reactor instance. The
other reactor would be
selected for the
Second_Reactor instance.
First_Reactor None Manual 0 2000 The user must manually
Second_Reactor None Manual 0 2000 select Reactor A or
Reactor B for the
First_Reactor instance. The
other reactor would be
automatically selected for
the Second_Reactor
instance.
First_Reactor ReactorA N/A N/A N/A Reactor A is allocated for the
Second_Reactor None Automatic 0 2000 First_Reactor instance.
Reactor B is allocated for the
Second_Reactor instance.
Recipe Editor 237
Minimum Maximum
Process Unit Capacity Capacity
Instances Assigne Selection Attribute Attribute
Defined d Units Mode Value Value Resultant Unit Selected
First_Reactor ReactorA N/A N/A N/A Reactor A is allocated for the
Second_Reactor ReactorB N/A N/A N/A First_Reactor instance.
Reactor B is allocated for the
Second_Reactor instance.
Transfer Instances
Use the Transfer Class Instance Editor to define the specific transfer instances
necessary for recipe construction. Instance names must be unique. The editor
verifies the name to ensure validity and uniqueness.
A transfer class instance consists of the following:
• Name (16-char max)
• Source Instance
• Destination Instance
You will use the names defined for the instances while you are building a recipe and
are assigning phases to an operation.
Note Multiple transfer instances are not required unless more than one process
instance has been defined for a process class, or if multiple connections require
simultaneous allocation from the same transfer class during batch execution.
The default transfer instance name is the same as the name of the transfer class. The
source and destination instances associated with the default transfer instance
correspond to the first process instances defined for the source and destination
process classes. If multiple process instances have been defined for a process class,
then multiple transfer instances must be defined so that the recipe builder can
differentiate the transfer phases into and out of each process instance.
If your recipe procedure requires multiple transfer instance names, you should first
change the name of the default instance, and then add the required instances.
If multiple transfer instance names are required, change the name of the default
instance first, then add any other required instances.
Note If you delete a transfer class instance, you will have to manually delete the
phases that were previously assigned. The recipe will become invalid until the
phases are removed.
All available transfer classes along with their source and destination classes defined
in the process model are listed. Note, in the lower pane of this window, that there is
a single transfer instance displayed for each transfer class.
Note If multiple transfer instances are being created from process classes that
contain multiple process instances, it is possible for a transfer instance to be defined
for which a connection does not exist in the process model. Therefore, the recipe
builder must be sure that the physical process model contains a connection that is
represented by the defined transfer instances.
Formula
A recipe formula consists of the inputs, outputs, and process variables that are used
in the recipe procedure. You define these parameters using the Formula Inputs
Editor, the Formula Outputs Editor, and the Process Variables editors described
in the following section.
defined in the materials database prior to development of the recipe. Inputs and
outputs must be selected for a recipe before they can be used in the procedure. Once
defined, the inputs and outputs are available for assignment in phases that have
input or output parameters defined. Value assignments for each material can be
made from the respective editor or locally at each phase. The process variable
editor displays all of the process variable type parameters that are used in phases in
the recipe procedure. Phases with process variable parameters must be edited in the
procedure editor before they can be displayed in the process variable editor. Value
assignments for each process variable can be made while constructing the recipe
procedure or from the process variable editor after the procedure is constructed.
Edit/Formula Inputs
Use the Edit/Formula Inputs command to access the Formula Inputs Editor
window which you use to define the input materials that will be used in the recipe.
Formula inputs are the materials that will be used as raw materials in the recipe
procedure. All phases that have an input parameter defined must have an input
material assigned.
The same material can be added to the Recipe with as many configurations as you
require. Inputs that you define and add do not necessarily need to be used in the
recipe procedure.
Note The single instance of a material may be assigned to the input parameter of
more than one phase, and unique quantity values may be assigned to each
parameter. However, one material may not be used as both a percent value and an
actual value within different phases in a recipe. If this is desired, the material must
be added twice to the Formula Inputs Editor Inputs list.
All of the materials in the materials database of the selected Type, will be
listed. The material types include Ingredients, Intermediates, Finished Goods,
By-Products, and Other.
Recipe Editor 243
3. Click the Type drop-down arrow, and select the applicable material type.
4. Select the required Material(s) from the list.
5. Click OK.
All of the materials in the materials database of the selected Type, will be
listed. The material types include Ingredients, Intermediates, Finished Goods,
By-Products, and Other.
3. Click the Type drop-down arrow, and select the applicable material type.
4. Select the required Material from the list.
5. Click OK.
The new material will retain the values and phase assignment that were
assigned to previous input.
3. In the Material ID text box, enter the required Material ID and then click OK
or Apply.
If the material is located in the materials database, then the material is added to
the list in the Formula Inputs Editor window. If the material does not exist in
the materials database, an error message is displayed.
General (default) tolerances are defined for each input as part of their entry
into the materials database. These tolerances are displayed in the high and low
deviation fields as percentages. The tolerances can be also be assigned as
Recipe specific. If you do not want to assign a tolerance, use the None option.
You can change input material tolerances using the Formula Inputs Editor
window or by directly editing the phase in the recipe procedure.
5. If you specified Recipe as the Tolerance, enter a High Deviation and Low
Deviation.
6. In the Unit of Measure text box, enter an appropriate term (16-char max).
(e.g. Kgs, Liters, Gallons, etc.)
7. Click Change.
Edit/Formula Outputs
Use the Edit/Formula Outputs command to access the Formula Outputs Editor
window which you use to define the materials that will be produced by the recipe.
All phases that have output parameter definitions must have an output material
assigned. A single instance of a material may be assigned to the output parameter of
more than one phase, and unique quantity values may be assigned to each
parameter. However, the same material cannot be used as both a percent value and
an actual value within different phases of a recipe. If this is required, you must add
the material twice.
All of the materials in the materials database of the selected Type, will be
listed. The material types include Ingredients, Intermediates, Finished Goods,
By-Products, and Other.
Recipe Editor 247
3. Click the Type drop-down arrow, and select the applicable material type.
4. Select the required Material(s) from the list.
5. Click OK.
All of the materials in the materials database of the selected Type, will be
listed. The material types include Ingredients, Intermediates, Finished Goods,
By-Products, and Other.
3. Click the Type drop-down arrow, and select the applicable material type.
4. Select the required Material from the list.
5. Click OK.
The new material will retain the values and phase assignment that were assigned to
previous input.
3. In the Material ID text box, enter the required Material ID and then click OK
or Apply.
If the material is located in the materials database, then the material is added to
the list in the Formula Inputs Editor window. If the material does not exist in
the materials database, an error message is displayed.
Process Variables
Formula Process Variables correspond to all of the process variable formula
parameters defined for the phases used in the construction of the recipe. Process
variable formula parameters are defined in the Process Modeling Editor. Use the
Process Variables window to redefine the names or values assigned to process
variable parameters.
Recipe Editor 249
Edit/Process Variables
Use the Edit/Process Variables command to edit formula process variables.
The list shows all of the process variables used in the phases of the recipe
procedure. The list will be empty until you use phases that contain process
variable parameters in the recipe procedure. Following recipe procedure
creation, you can change process variable parameter in the Process Variables
window or directly in the specific phase.
For each process variable displayed in the list, the phase Type, Name, Value,
Tolerances, and Description are displayed. This information is derived from
the process model database.
3. Select a Process Variable from the list.
4. In the Name text box, enter an appropriate name (16-char max).
5. In the Value text box, enter an appropriate value.
Note The Value must be within the range of the High and Low Limit values
defined for the parameter in the process model database.
6. Click the Tolerances drop-down arrow and select General, Recipe, or None
as required.
7. In the High Deviation and Low Deviation text boxes, enter values that are
consistent with the Tolerance that you specified.
8. Click Change.
250 Chapter 7
All of the unit procedures that have been previously saved will appear in the
list.
3. In the Unit Procedure Name text box, enter an appropriate name.
4. In the Comments box, enter a description for the unit procedure (optional).
5. Click Change and then Close.
Recipe Editor 251
Operations Library
The following section describes how to use the Operations Library.
Edit/Operations Library
You create and initially save Recipe Operations during recipe construction.
For more information on saving operations, see “Building a Recipe” later in this
section.
Use the Edit/Operations Library command to edit the name and description of
recipe operations that were created during recipe development and then store them
for future use.
Operation Name (16-char max) and optional comments of unlimited length. The
Operation Library is recipe independent and there is no limit to the number of
operations that you can store.
All of the operations that have been previously saved will appear in the list.
3. In the Operation Name text box, enter an appropriate name.
4. In the Comments box, enter a description for the Operation (optional).
252 Chapter 7
Edit/Recipe States
Use the Edit/Recipe States menu to access the Edit Recipe States window.
Recipe states are defined on a global basis throughout the entire recipe management
system and are available for every recipe created. Examples of Recipe States might
include Test, Production and Archive.
Recipe States consists of Name (16-char max) and an optional description. All
recipes must contain a State assignment in order for the recipe to be valid.
Edit/Recipe Types
Use the Edit/Recipe Types menu to access the Edit Recipe Types window.
Recipe Types are defined on a global basis throughout the entire recipe
management system and are available for every recipe created.
View Menu
Use the Recipe Editor View menu to show or hide toolbars, change the
magnification (zoom-in or zoom-out) of the unit procedures, operation and phase
displays, show or hide the unit procedures, operations and phases views.
254 Chapter 7
View/Main Toolbar
To view the Main Toolbar:
• Click View and then enable the Main Toolbar menu item.
View/Operation Toolbar
To view the Operations Toolbar:
• Click View and then enable the Operation Toolbar menu item.
You can also use the Show/Hide Operations View icon on the main toolbar.
View/Phase Toolbar
To view the Operations Toolbar:
• Click View and then enable the Phase Toolbar menu item.
You can also use the Show/Hide Phases View icon on the main toolbar.
View/Status Bar
To view the Status Bar:
• Click View and then enable the Status Bar menu item.
View/Operation View
Use the View/Operation View menu item to show or hide the Operations pane and
toolbar.
View/Operation Zoom In
To Zoom In on a Recipe Operation:
• Click View and then select Operation Zoom In to increase the displayed size
of objects in the recipe operation pane.
You can also use the Operation Zoom In icon on the main toolbar.
View/Phase View
Use the View/Phase View menu item to show or hide the Phases pane and toolbar.
View/Phase Zoom In
• Click View and then select Phase Zoom In command to increase the displayed
size of phases in the recipe phase pane.
You can also use the Phase Zoom In icon on the main toolbar.
Help Menu
The Recipe Editor Help menu contains commands that provide you with access to
the online help system and information regarding product version.
Help/Help Topics
Use the Help/Help Topics command to display the help contents for Recipe Editor.
Procedure Layout
The Recipe Editor Procedure window is divided into three re-sizeable panes: Unit
Procedures, Operations and Phases.
Unit Procedures
The Unit Procedures pane is used to layout the sequence of user-defined unit
procedures that are executed when the recipe is scheduled as part of a batch. Each
unit procedure should contain at least one phase. The operation sequence can be
constructed using any of the procedure objects described later.
Sequence of Operations
The Sequence of Operations pane is used to create a sequence of user-defined
operations that are executed when the recipe is scheduled as part of a batch. Each
operation should contain at least one phase. The operation sequence can be
constructed using any of the procedure objects described later.
258 Chapter 7
Sequence of Phases
The Sequence of Phases section of the Procedure window is used to create a
sequence of phases that are executed within an operation. The phases are defined in
the process modeling editor. The phase sequence can be constructed using any of
the procedure objects described later.
Procedure Objects
Recipe procedures are constructed using one or more of the various objects that are
available within the editor. These objects are accessed from one of the dockable
toolbars.
Undo
The Undo icon is used to undo the most recent change.
Note There is only one level of undo available. Undo is only applicable to the
creation and deletion of objects.
Zoom In
The Zoom In icon is used to enlarge the Unit Procedure pane. There are 10 levels
of magnification available.
Zoom Out
The Zoom Out icon is used to reduce the sequence of operations display. There are
10 levels of reduction available.
260 Chapter 7
Operations Toolbar
Add Operation
The Add Operation icon is used to enter a user-defined operation. The operation
name is displayed on the object.
Load Operation
The Load Operation icon is used to load a pre-defined operation from the Operation
Library.
Cut Operation
The Cut Operation Object icon is used to remove an object from the Operations
pane and store it in the Windows clip board.
Recipe Editor 261
Copy Operation
The Copy Operation Object icon is used to copy an object.
Paste Operation
The Paste Operation Object icon is used to paste an object.
Undo
The Undo icon is used to undo the most recent change.
Note There is only one level of undo available. Undo is only applicable to the
creation and deletion of objects.
Zoom In
The Zoom In icon is used to enlarge the sequence of operations display. There are
10 levels of magnification available.
Zoom Out
The Zoom Out icon is used to reduce the sequence of operations display. There are
10 levels of reduction available.
262 Chapter 7
Phases Toolbar
Add Phase
The Add Phase icon is used to add a phase to the procedure. The phases that are
available are read from the process model. The phase name and the associated
process or transfer instance name are displayed on the object.
Cut Phase
The Cut Phase Object icon is used to remove an object from the Phase pane and
store it in the Windows clip board.
Copy Phase
The Copy Phase Object icon is used to copy a object.
Recipe Editor 263
Paste Operation
The Paste Phase Object icon is used to paste an object.
Undo
The Undo icon is used to undo the most recent change.
Note There is only one level of undo available. Undo is only applicable to the
creation and deletion of objects.
Zoom In
The Zoom In icon is used to enlarge the sequence of phases display. There are 10
levels of magnification available.
Zoom Out
The Zoom Out icon is used to reduce the sequence of phases display. There are 10
levels of reduction available.
The unit procedure will be added to the library list along with the Process Class,
Process Instance, the Date the unit procedure was added, and all phases and
configuration information.
Note Unit Procedures in the library may have the same name. However, each
operation is individually maintained. Also, the unit procedure in the library can be
sorted according to each field by clicking the appropriate column header.
To Load an Operation:
1. On the Unit Procedures toolbar, click the Load Unit Procedure icon.
2. The Load Unit Procedure window will appear.Select the Unit Procedure
that you want to load from the list.
3. Click OK.
The unit procedure will be added to the procedure beneath the location of the
cursor.
You can also add an operation by clicking the Unit Procedures Library icon
and then dragging the target operation into the recipe procedure.
Note Remember that adding unit procedures from the library may result in the
addition of process and transfer instances to the recipe equipment requirements.
You must ensure sure that the recipe equipment requirements have only the
required instances defined. When the recipe is scheduled as a batch, the train must
have equipment for each instance regardless of whether the instance is called in the
procedure. If not, the batch cannot be initialized
Storing Operations
As you create your recipe you can use one of two methods to store the operation in
the library.
1. You can double-click the target operation to display the Operation Properties
window and use it’s Save Operation button to store the operation.
The operation will be added to the library list along with the Process Class,
Process Instance, the Date the operation is added, and all phases and configuration
information.
Note Operations in the library may have the same name. However, each operation
will be individually maintained. Also, the operations in the library can be sorted
according to each field by clicking the appropriate column header.
Loading an Operation
As you create your recipe you can use one of two methods to load an operation
from the main toolbar.
To Load an Operation:
1. On the Operations toolbar, click the Load Operation icon.
3. Select the Operation that you want to load from the list.
4. Click OK.
The operation will be added to the procedure beneath the location of the cursor.
You can also add an operation by clicking the Operations Library icon and
then dragging the target operation into the recipe procedure.
Operation Validity
When you attempt to load an operation into a recipe procedure, the following
checks are performed to ensure the validity of the operation.
• The Process Class assigned to the operation must exist in the Equipment
Requirements Editor. If the class does not exist, an error message will be
displayed and the load will fail.
• If the process class exists, the process instance is automatically added to the
recipe equipment requirements. A message must be acknowledged for each
instance.
• Materials included in the operation definition can optionally be added to the
recipe formula. A message must be acknowledged for each material.
268 Chapter 7
Note Remember that adding operations from the library may result in the addition
of process and transfer instances to the recipe equipment requirements. You must
ensure sure that the recipe equipment requirements have only the required instances
defined. When the recipe is scheduled as a batch, the train must have equipment for
each instance regardless of whether the instance is called in the procedure. If not,
the batch cannot be initialized
The Process Instances in the list correspond to the process class selections and
instance definitions that you defined using the Equipment Requirements
Editor.
Recipe Editor 269
To Insert an Operation:
1. On the Operations toolbar, click the Add Operation icon.
To Insert a Phase:
1. On the main toolbar, click the Add Phase icon.
Transition Objects
Use the Add Unit Procedure Transition, Add Operation Transition and Add
Phase Transition icons to insert a transition object into the respective procedure
sequence beneath the current location of the cursor.
4. On the Transition tab, enter a Label (8 char max), Name (16 char max) and
optional Description (120 char max).
When a transition is added, it is automatically assigned a unique Label
(numeric value). The Name is initially the same as the Label. You can edit
these as required. The Label however, must be unique. If it is not, a warning
message will be displayed.
5. On the Expression tab, click the Expression button.
6. The Expression Editor window will appear.
272 Chapter 7
Use the Expression Editor to construct transition expressions. You can build
expressions using process and transfer instance tags, mathematical operators,
and pre-defined functions. Several examples of valid expressions are shown in
the following tables.
For more information on building expressions, see Chapter 14, "Expression
Editor."
7. After you have entered the required expression, close the Expression Editor
window.
8. On the Transition Properties window, click Close.
Expression Result
{TAG A} TRUE if TAG A is greater than 0.
FALSE if TAG A is 0.
Not({TAG A}) TRUE if TAG A is 0.
FALSE if TAG A is greater than 0.
{TAG A}>100 TRUE if TAG A is greater than 100.
FALSE if TAG A is less than 101.
{TAG A}&{TAG B} TRUE if TAG A and TAG B are both greater than 0.
FALSE if TAG A or TAG B is 0.
Recipe Editor 273
Expression Result
Ask(“Continue?”) A question will be displayed to the operator. The result is TRUE if the
Operator answers Yes. The result is FALSE if the Operator answers No.
AskDoneBy(“Continue?”) Same as the Ask question except that the question can only be answered by
a user with the proper security clearance.
AskCheckBy(“Continue?”) Same as the Ask question except that the question can only be answered by
a user with the proper security clearance, and the question must be verified
by another qualified user.
WaitSec(s) Batch execution will be delayed the specified amount of seconds.
WaitMin(m) Batch execution will be delayed the specified amount of minutes.
WaitHour(h) Batch execution will be delayed the specified amount of hours.
Note When entering questions, you are limited to 40 characters. The Expression
Editor will allow you to enter more than 40 characters. However, during execution,
the entry will be truncated and only the first 40 characters will be displayed.
Branch Objects
The Add Unit Procedure Branch, Add Operation Branch and Add Phase
Branch icons insert a branch object into the respective procedure sequence beneath
the current location of the cursor.
Branch objects are used to execute multiple operations or phases at the same time,
or to make a choice between running one of several operation or phases. There is no
limit to the number of branch objects that you can use in a procedure.
: All and One.
4. In the Branch Size text box, enter the number of branches you want to add
(max of 20).
While you are limited to 20 branches, you can nest branches for added
flexibility. By default, the Branch Size is 2.
5. Click the Execute Type drop-down arrow and select All or One.
For more information on Branch Types, see “Branch Execute Types” on
page 274 later in this section.
6. Click Change and then Close.
7. The branch will be inserted into the recipe procedure.
Use the Execute Type: All branch object when simultaneous execution of
operations or phases is required. The batch management system evaluates the
branch beginning with the left-most leg. If the transition logic is TRUE or if there is
no transition logic, operations or phases in the leg will be executed. Any transitions
that are not on the first iteration, are continuously evaluated until their state
becomes TRUE and all legs are executed. The batch management system will not
continue beyond the Branch Return object until all of the legs have been executed.
Recipe Editor 275
The Execute All Branch object is graphically displayed as two parallel horizontal
lines.
Note Batch Manager will not continue past the Branch Return object until all
transition logic and operations or phases in all of the legs are executed. Therefore,
when constructing procedures you must ensure that all of the legs associated with
the Execute Type: All branch can be executed.
Loop Objects
The Add Unit Procedure Branch, Add Operation Loop and Add Phase Loop
icons insert a loop object into the respective procedure sequence beneath the current
location of the cursor.
Loop objects are used to re-execute unit procedures, operations or phases that are
built inside of the object. Any procedure object, including other loops, can be
placed inside a loop structure
Objects are inserted within the loop by positioning the cursor on the top portion of
the object and following the normal insertion directions described earlier. The
bottom portion of the loop object contains a transition object that must be defined
with the Expression Editor. The result of the evaluation of the expression
determines whether the objects contained within the loop are re-executed or not. If
the expression is TRUE, loop execution returns to the top of the loop. If the
expression is FALSE, then execution proceeds below the loop.
Note You cannot add a loop around an existing operation or phase. However, you
can drag-and-drop existing objects into a loop object.
Recipe Editor 277
Note Use the Undo icon to undo the most recent deletion. Only one level of undo
is provided.
This example shows the deletion of an entire branch that includes one BulkAdd
and two ManAdd Phases.
Recipe Editor 283
To Delete a Loop
1. Position the cursor on the Loop Return object of the loop that is to be deleted.
2. Click the Delete icon.
284 Chapter 7
This example shows the deletion of loop which includes a Heat phase, an
Agitate phase, and two phase transitions.
Operation Properties
Use the Operation Properties window to edit the properties of any operation
object.
Phase Properties
Use the Phase Properties window to edit specific elements of the phase including
its Phase definition, Instructions, Parameters and Document properties.
Phase Tab
Use the Phase Tab to configure how the phase will interact with the batch system
and operators.
Reports that appear in the list are located on the Information Server. You can
manually enter the name of a report in the Report text box; however, you must
ensure that the report exists on the Information Server. Report names are not
validated as a part of the recipe validation.
When an Information Server is installed, all reports are (by default) are located in
C:\Program Files\FactorySuite\InBatch\BatchInfoServer\Crystal folder. If the
Information Server is installed on a different drive, then the report path must be
edited using the Administration Web page. Users must take this into consideration
as recipes which include reports are created and edited. Otherwise, report execution
may fail at run time.
For more information on changing the report path, see Chapter 24, "System
Administration."
290 Chapter 7
7. In the Comment pane, enable the Required check box if you want to require
the entry of operator comments during phase execution.
This will cause the Edit Comment button to be displayed on the Batch Display
and will pause recipe execution until the entry is completed.
For more information on the Batch Display, see Chapter 9, "Batch
Management System."
8. In the Execution pane, enable the Continue Mode check box if you want the
batch management system to allow recipe execution to continue when a Run
status is received from the phase.
If Continue Mode is disabled, recipe execution will not continue until a Done
status is received from the phase.
For more information on the batch management, see Chapter 9, "Batch
Management System."
9. Click Change and then Close.
Instructions Tab
Use the Instructions tab to enter specific work instructions that will be displayed to
an operator as part of phase execution.
The instructions that you enter will be displayed to an operator when the phase
is executed.
4. Enable the Append Unit/Connection Description check box if you want to
append the description of the unit or connection (as found in the process
model) to the instruction display when the phase is executed. This feature is
important when there are may manual type connections in that it allows you to
define all of the instructions in the model instead of having to enter the
instruction into the procedure for each recipe.
5. Click Change and then Close.
Parameters Tab
Use the Parameters tab to display and define specific formula parameter values.
These parameters were initially defined using the Process Modeling Editor.
There are three types of formula parameters: Input, Output, and Process Variable.
Process Variable parameters require the assignment of a value if the default value is
not acceptable. In addition, if the phase is used more than once in the procedure, the
parameter name may be changed in order to associate each parameter with its
respective phase. Input and Output parameters require a material assignment.
For more information on Input Parameters, see “Edit/Formula Inputs” earlier in this
section.
294 Chapter 7
Document Tab
Use the Document tab to assign the file name of a document or program that you
want operators to view and optionally acknowledge as part of a phase’s execution.
Acknowledgment can be specified to occur at the start of the phase (On Entry) or
as the last step (On Exit) of the phase. When the phase executes, Windows will
launch a program based on the file extension. For example, if the extension is
“.html,” Windows could launch a browser.
For more information on associating file extensions with programs see your
Windows user references.
An example of how you might implement the Document Viewing feature could be
based on a requirement that operators must view material safety data and then
acknowledge the action. Furthermore, you might have the material safety data
stored in an HTML document on a network at the address
“http://Material_Safety.html.”
296 Chapter 7
Note If you are using batch clients in your system, and intend to execute a recipe
that uses the Document Viewing feature, make certain that each client is properly
configured to access the document. One way to ensure this is to place all of your
document files in a folder that is shared for your client systems.
Actual document viewing and acknowledgment is a function of the View Doc and
View Doc Ack buttons on Batch Display.
For more information on the Batch Display, see Chapter 9, "Batch Management
System."
On Entry - Enable this radio button if you want to require an operator and/or
supervisor, or person with a comparable security level, to verify and confirm
viewing of the document as the first step of the phase. During recipe execution, the
option requires the operator to press the View Doc and View Doc Ack buttons on
the Batch Display. You can configure the buttons to require the entry of security
identification numbers and passwords as the first step of the phase. Configuration
of the appropriate Done By and Check By security levels is performed in the
Security Editor.
Prior To Edit - Enable this radio button if you want to require an operator and/or
supervisor, or person with a comparable security level, to verify and confirm
viewing of the document as the last step of the phase. During recipe execution, the
option requires the operator to press the View Doc and View Doc Ack button on the
Batch Display. You can configure the buttons to require the entry of security
identification numbers and passwords as the first step of the phase. Configuration
of the appropriate Done By and Check By security levels is performed in the
Security Editor.
For more information on the configuring security, see Chapter 13, "Security
System."
C H A P T E R 8
Train Editor
Use Train Editor to create and edit lines of production that will be used when you
schedule batches.
Contents
• Overview
• Using Train Editor
• Assigning Units to Trains
• Assigning Attributes to Trains
Overview
Use the Train Editor to create lines of production that are assigned to scheduled
batches. The batch management system is responsible for scheduling and executing
batches. Batches include a recipe and a train assignment. A recipe is typically
equipment independent. The train provides a list of potential equipment to the batch
engine for dynamic selection during batch execution. If a unit is not in the assigned
train, then it is not available to be used for the scheduled batch.
A train can contain one or more units, and a unit can be a part of multiple trains.
Trains provide a way to represent various paths through the process.
The train data is maintained in the process model database. The Train Editor writes
to both the configuration process model database and the runtime process model
database. Trains can be added at any time during batch system execution.
300 Chapter 8
Note Only one instance of the Train Editor can be running. You cannot start Train
Editor if the Process Modeling Editor or Tag Linker application is running.
302 Chapter 8
File Menu
Use the File menu to access system functions for Train Editor.
File/Print
Use this command to display the Print window. The Print window contains a
Select Reports list box with several pre-formatted reports. It also allows you to
output to a printer or a file, as well as select the number of copies that you want to
print.
File/Print Preview
Use this command to display the Select Reports window.
Train Editor 303
Select the report(s) that you want in the list. If you want to preview several reports,
press and hold the Control (or shift) key while selecting.
File/Print Setup
Use this command to display the Print Setup window. Refer to your Windows
documentation for more information.
File/Exit
This command is used to close the Train Editor.
Note All of your work is saved in the configuration process model database and
the runtime process model database as you edit and make changes to the trains.
Therefore, you do not have to be concerned with saving your work.
Help Menu
The Train Editor Help menu contains the commands that are used to access the
main help screen, and information about the version and licensing of the
application.
Help/Help Topics
Use this command to display online help for Train Editor.
4. Select the appropriate units from the list and then click OK or Apply to add the
units to the train.
C H A P T E R 9
Contents
• Overview
• Using Batch Scheduler
• Using Batch Display
• Batch Manager
• Batch Execution
• Warm Restart
308 Chapter 9
Overview
Scheduling: Batch Scheduler prepares the batches to be executed. Scheduling
involves the manual entry of the batch identification, master recipe identification,
quantity to be produced, and Train identification into the schedule window. Once
entered, the batch can be initialized.
Initialization: Each batch must be initialized before it can be executed. The
initialization process involves validation of the recipe, verifying that the Train
exists, the bulk materials defined in the recipe are found in the Materials database,
the recipe equipment requirements are satisfied by the Train, and the Process Model
database is compatible with the recipe. Initialization is performed using Batch
Scheduler.
Batch and Unit Management: Batch Manager directs and supervises the
execution of each batch. Batch Manager is a recipe interpreter and control system
enabler. Based on the recipe procedure, blocks of control software, referred to as
phases, are signaled to execute by Batch Manager. Automatic and semi-automatic
phases are programmed logic blocks existing in the control system. They are
responsible for controlling functions associated with a unit or a connection. Prior to
enabling each phase, Batch Manager verifies that the phase is ready to be executed.
If so, phase parameter values are downloaded to the phase, and the phase is started.
Batch Manager also interfaces with the Batch Display application. Batch Display
provides operators with information on all batches running in the system. Using this
display, operators can put a batch or phase in hold, restart and abort batches or
phases, and change the batch execution mode. Batch Manager also has a Jump
Mode that allows the execution point of a an active batch that is in hold to be
changed. Operators can use this feature to either jump ahead during recipe
execution or repeat phases that have already executed. In addition, operators can
change phase parameter values, acknowledge the execution of phases, review phase
interlock status, and enter comments. All of these can be done while a batch is
executing.
Batch Manager coordinates the usage of process units for each batch. Each batch is
a separate entity and contends along with other batches to own the process unit(s) it
needs. Batch Manager assigns (Allocates) ownership of units to batches as units
become available and releases (Releases) units when no longer required by the
batch.
Flexible batch control systems must be designed with the supervisory workstation
being an active participant in the execution of a batch. The reason for this is that
unit management is very sophisticated in a flexible batch system. Most control
systems do not have the ability to program a unit manager capable of interpreting
and executing complex recipe procedures.
A Master Recipe uses classes of process units, not specific units. This means phases
pertain to a class of units, not a specific unit. When Batch Manager executes a
Master Recipe, each phase encountered is converted into a unit or connection
specific phase. This process is called Master Recipe to Partial Control Recipe
conversion. The Train assigned to produce the batch contains all the units that can
be used. Batch Manager automatically converts the Master Recipe to a Control
Recipe based on the units in the Train and whether or not they are available.
Batch Management System 309
Once a batch is done, the operator has the option of saving the As-Built recipe to
the recipe database. All final formula targets, and optionally all the specific
equipment used for the recipe, can be saved. These capabilities allow the recipe,
which may have produced a high quality batch, to be re-executed at a later date.
History: Batch Manager captures all batch execution events and operator activity
during the execution of a batch and sends this information to the historical database.
For more information on the data that is stored and the format in which it is stored,
see Chapter 10, "History System."
Only one instance of Batch Manager can be active in your batch management
system. There are no restrictions on the number of Batch Runtime Clients that you
can have in a system. Batch Manager interfaces with several databases as well as
with the clients. The interaction is described below.
• Master Recipes are retrieved from the Recipe Database (RecipeDB) when a
batch is initialized.
• The Process Model Database is used to transform the Master Recipe to a
Control Recipe.
• The Materials Database is used to retrieve the location and Tracking IDs of
materials that are stored in units. The Materials Database is updated by Batch
Manager when materials are used and when materials are produced.
• All batch execution events and operator activity are logged to the Historical
Database.
• Batch Scheduler manipulates the Batch Database through Batch Manager.
Several Batch Schedulers can be running in a system, but there is only one
schedule database.
• Batch Runtime Clients and Batch Display provide a window into Batch
Manager. From these, operators can select a batch, start a batch, put a batch in
hold, restart a batch, and abort a batch. All information needed to monitor and
interact with the process during the execution of a batch is provided.
• Batch Manager interacts with Phase Logic (Phases) located in the control
system. As each phase is to be executed, Batch Manager checks if the phase is
ready. If the phase status is ready, any configured phase parameter values are
written to the phase, then the phase is started. When the phase completes its
task, it informs Batch Manager by setting the Done status. Batch Manager
responds by enabling the Reset command and returning the phase to Ready.
310 Chapter 9
Note Batch Manager must be running prior to the start of Batch Scheduler.
Use this window to schedule, initialize and monitor batches. Use the menu or the
toolbar to access system functions and options for Batch Scheduler.
File Menu
Use this menu to access system functions for Batch Scheduler.
File/Print
Use this command to display the Print window which allows you to setup your
print device, assign one or more reports, and then print to the selected device.
312 Chapter 9
File/Print Preview
Use this command to select one or more reports and then preview the report(s) on
the screen will cause the Select Reports window box to appear.
File/Print Setup
Use this command to setup your print. Refer to your Windows documentation for
more information.
File/Exit
Use this command to close Batch Scheduler.
Edit Menu
Use this menu to access commands that you can use to modify the schedule list in
Batch Scheduler. Complementary toolbar buttons also provide the same capability
as the menu item. The toolbar button icons are shown below.
Edit/Delete
Use this command to removes the selected batch from the schedule. Only batches
with a status of Open, Ready, Done, or Aborted can be deleted. A message box will
be displayed requiring confirmation of the deletion.
This option is also available from the Delete button in the toolbar.
Batch Management System 313
Edit/Cleanup
Use this command to remove all of the batches from the schedule list that have a
status of Done or Aborted. It is recommended that you use this command on a
regular basis, to minimize the size of the Batch Scheduler list.
This option is also available from the Cleanup button in the toolbar.
Edit/Move Up
Use the Move Up command to move the selected batch one row toward the top of
the schedule list. This option is typically used in conjunction with the Execute in
Order option to sequence the scheduled batches for production.
This option is also available from the Move Up button in the toolbar.
Note If you sorted the Batch Schedule list using the Filter option, batches will be
executed in the order defined by your sort preferences. In this case, Move Up
option is not available.
Edit/Move Down
The Move Down command will move the selected batch one row toward the
bottom of the schedule list. This option is typically used in conjunction with the
Execute in Order option to sequence the scheduled batches for production.
This option is also available from the Move Down button in the toolbar.
Note If you sorted the Batch Schedule list using the Filter option, batches will be
executed in the order defined by your sort preferences. In this case, the Move
Down option is not available.
View Menu
Use this menu to access the commands that allow you to sort the batch schedule list,
display error messages, and enable or disable Batch Scheduler's status bar.
View/Batch Editor
Use this command to edit existing batches or to add new batches to the schedule
list.
314 Chapter 9
View/Undo Sorting
Use this command to undo any sorting that you applied to the Batch Schedule list.
By default, batches are listed in the order that they were initially scheduled.
View/Filters
Use this command to display the Schedule Filters window.
CLB
Use the CLB tab to sort the list of scheduled batches based on any combination of
campaign, lot and batch.
Recipe
Use the Recipe tab to sort the list of scheduled batches based on any combination
of Recipe IDs, Types and States.
Batch Management System 315
Train
Use the Train tab to sort the list of scheduled batches based on one or more train
assignments.
Mode/Status
Use the Mode/Status tab to sort the list of scheduled batches based on any
combination of batch execution mode and status.
316 Chapter 9
View/Errors
Use this command to view the Errors window. The Errors lists all of the batch
errors that are associated with the list of scheduled batches.
View/Toolbar
Use this command to enable or disable Batch Scheduler’s toolbar.
View/Status Bar
Use this command to enable or disable Batch Scheduler’s status bar.
Batch Management System 317
Initialize Menu
The Batch Scheduler Initialize menu contains the commands that you will use to
prepare the scheduled batches for execution.
Initialize/Batch
Use this command to initialize the selected batch. The command is not available
unless the selected batch has an Open status.
Initialize/All
Use this command to initialize all of the batches in the schedule that have an Open
status.
The initialization process performs the following checks to ensure that the batch
can be properly executed.
Recipe Verification
Verifies that the recipe assigned to the batch exists. If the recipe does not exist, an
error is displayed. The recipe must be created or another recipe must be assigned to
the batch.
Recipe Validation
The recipe assigned to the batch is validated with the process model database and
the materials database. If the recipe is not valid, an error is displayed. The recipe
must be changed, or the process model database and/or the materials database must
be checked and corrected.
Train Verification
Verifies that the train assigned to the batch exists. If the train does not exist, an error
is displayed. The train must be added using the Train Editor or another train must
be assigned to the batch.
Quantity Verification
Verifies that the quantity assigned to the scheduled batch is greater than the recipe
minimum batch size specification, and less than the recipe maximum batch size
specification. If the quantity is less than the minimum batch size, an error is
displayed. The quantity assigned to the batch or the recipe minimum batch size
must be changed.
When the batch has been successfully initialized, the status will change from Open
to Ready. A selected batch can be “un-initialized” by clicking on the Change
button. The batch status will change from Ready to Open. This can only be done to
batches that are Ready.
WARNING! Batch Manager verifies that all units required by the recipe are
available in the train. Connections and possible paths through the train are not
verified. Thus, if a connection is not available in the train, it is possible to take a
path through a train that results in a dead-end situation.
In this example, the recipe requires a transfer from Process Class A to Process Class
C. The recipe will initialize properly on either Train 1 or Train 2, but will not
execute properly on Train 2. The reason for this is that although Train 2 has the
correct unit, it does not have the connections needed to execute the recipe.
Process Class A
Unit 1 Unit 4
Process Class B
Unit 2 Unit 5
Process Class C
Unit 3 Unit 6
Train 1 Train 2
Options Menu
Use the Batch Scheduler Options menu to access commands that you can use to
modify the execution of batches in the schedule list.
Options/Execute in Order
Use this command to enable or disable the Execute in Order mode. When
disabled, batches can be randomly selected and started. When enabled, batches can
only be started for each train in the order in which they are displayed in the
schedule.
Note If you sorted the Batch Schedule list using the Filter option, batches will be
executed in the order defined by your sort preferences. In this case, the Execute in
Order option is not available.
Help Menu
The Batch Scheduler Help menu contains the commands that are used to access the
main help screen, and information about the version and licensing of the
application.
Help/Help Topics
Use this command to access Batch Scheduler’s online help system.
Defining a Batch
A batch is defined by a Campaign ID (16-chars max), Lot ID (16-char max),
Batch ID (16-char max), Recipe, Quantity (8-char max), Train, and Mode of
operation. The scheduler will verify all new batch names to ensure validity and
uniqueness.
Batch Identification
Each batch is identified by a unique three-part hierarchical name. The highest level
is the Campaign ID, followed by the Lot ID, and finally the Batch ID. The Batch ID
must be entered manually by an operator. It is not necessary to use all three of the
identification fields. The Campaign field is required. The Lot and Batch fields are
optional.
320 Chapter 9
All historical information about a batch is logged to history using the batch
identification. If the batch identification is not unique, duplicates can exist in the
historical database. Batch Scheduler will only verify that the batch identification is
unique among the batches currently in the schedule window. Batch Scheduler does
not verify that the identification for a batch is unique throughout the history
database.
Recipe Assignment
The Recipe button displays the Recipes window.
A recipe can be selected by double-clicking a list item. The list contains the recipes
in the recipe database that have been Approved For Production or Approved For
Test. You can use the Find button to search for a specific recipe in the database.
The find options allow you to search All of the recipes, or select a recipe based on
Recipe ID, Name, State or Type. Use the Filter button to filter recipes based on
their ID, Name, State or Type. After you select a recipe, it appears in the Recipe
field of the Batch Scheduler window.
Recipe filtering is only applied when the Recipes window is open, and you have
defined specific filtering criteria. When you close the Recipes window, any
previous filtering criteria is no longer applicable.
Quantity Assignment
The Quantity field defines the size of the batch to be produced. The Quantity must
be manually entered by the user. Input and Output quantities that have been
specified as percentages in the selected recipe are automatically scaled to the
appropriate actual quantities based on the batch size entered.
Train Assignment
The Train button displays the Trains window. A train can be selected by double-
clicking on the desired entry in the list. The selected train name will be displayed in
the train field of the Batch Scheduler window.
Batch Management System 321
Mode Description
Automatic The recipe procedure is executed exactly as defined in the recipe.
Semi-Automatic Each phase must be acknowledged by the operator before it is executed.
Prior to acknowledging the phase, phase parameter values can be edited.
Manual Any phase in the recipe defined for equipment that is allocated to the batch
can be manually executed.
For more information on dynamically changing the batch mode, see “Batch
Execution Modes” on page 347 in this section.
Status
Each batch in the schedule list has a Status. The status shows the current state of
the batch. There are nine possible statuses as shown here.
Status Description
Open Batch has been added to the schedule list, but has not been initialized.
Ready Batch has been successfully initialized.
Run Batch has been started and is running.
Held Batch has been held.
Done Batch has completed normally.
Aborting Batch is in the process of being aborted.
Aborted Batch has been aborted.
Locking Batch is in the process of aborting phases and entering Jump Mode.
322 Chapter 9
Status Description
Locked Batch has been successfully locked and Jump Mode is enabled.
Add
The Add button places an entry in the schedule list with the defined batch
information. The batch will be displayed in the list of scheduled batches with a
status of Open. When a batch is added in which the quantity is greater than the
recipe maximum batch size, the Scheduler will display a window asking the
operator to confirm the addition of multiple batches each with the recipe default
value as its quantity assignment. If Yes is selected, the number of batches needed to
produce the entered quantity is automatically generated, and all of the batches will
be added to the list. If No is selected, no batches will be added to the list. If no
quantity is specified, the default batch size is used.
Change
The Change button is used to record modifications that are made to any of the
fields for the selected batch. Only batches with a status of Open or Ready can have
their schedule information changed. Batches that are Ready and are changed will
return to an Open status and will require re-initialization.
Clear All
The Clear All button is used to clear all of the schedule edit fields.
Note Batch Manager must be running prior to the start of Batch Display. The
batch system supports the operation of multiple instances of Batch Display. This
requires you to configure multiple instances of Batch Scheduler using Environment
Editor.
For more information on setting up multiple Batch Scheduler instances, see Chapter
3, "Environment Management System."
2. Use the Batch Display window to monitor and modify batch execution. Batch
Display displays the execution of a single batch.
3. Use the menu bar to access system functions for Batch Display.
File Menu
The File menu provides system functions for Batch Display.
324 Chapter 9
File/Exit
Use this command to close Batch Display.
Actions Menu
The Batch Display Actions menu contains the commands that are used to access
Batch Display options.
Actions/Manual Operation
Use this command to initiate the scheduling of the selected batch in a fully-manual
operation mode. This type of batch is called a phantom batch. Within the batch
management system, a phantom batch is identified as follows.
Field Value
Campaign ID <MANUAL OPER>
Lot ID <MANUAL OPER>
Batch ID <MANUAL OPER>
Mode Manual
Manual Operation provides the capability to execute the phases for all of the units
and connections in the process model. Manual Operation is especially helpful
during startup and system verification. Manual Operation option is available only
when is configured to use the Manual Operations application parameter is
configured for Batch Display using the Environment Editor.
The execution mode for a phantom batch is always Manual.
When the phantom batch is selected, all of the phases for any allocated units can be
executed. Units must be manually allocated from the Equipment Allocation
window in order to have phases to execute. There is no history of activity
associated with the phantom batch. A phantom batch is removed from the schedule
by putting the Batch in Hold and then selecting Abort.
For more information on Manual Operation, see ‘Manual Operation’ later in this
section.
This window allows you to save the recipe associated with a completed batch to be
saved to the recipe database. All final target values for formula parameters will be
saved. The user also has the option to save the recipe as an equipment dependent
recipe by enabling the Save Runtime Equipment check box. Additionally, recipe
approvals can be retained by enabling the Retain Recipe Approvals check box.
This allows the recipe to be immediately scheduled. The operator also has the
option of overwriting the existing recipe or changing the Recipe ID and saving it as
a new recipe. If the existing recipe is overwritten the version number is
incremented. Regardless of the options selected, the operator must enter their name
in the Author field and optionally enter a comment. The comment is saved as part
of the version history.
Note If the Recipe was created as read-only, you will not be able to save it with the
same Recipe ID. You can however, save it using a different Recipe ID.
Note A message will be displayed advising you that all Held phases will be
aborted if you continue. Interrupting recipe execution using this feature should be
carefully planned to avoid undesirable results.
Windows Menu
Use the Batch Display Windows menu to access the batch configuration windows.
Windows/Schedule
Use this command to display the Schedule window. The Schedule window
provides a list of all batches that are scheduled and active in the system. Any batch
with a status of Ready, Run, Held, Done, Aborting or Aborted is considered active.
The list also indicates which batch requires action by displaying double-asterisks
(**) in the Action column of the list. Double-clicking a batch in the Schedule list
changes the Batch Display to show information for the selected batch.
This option is also available from the Schedule icon in the Batch Display
Toolbar.
Windows/Batch Messages
Use this command to display the Batch Messages window.
The Batch Messages window contains all messages associated with the batch that
you are currently viewing. It also displays messages to alert operators of other
batches that require operator action. The messages are summarized in the following
section.
• Waiting for the operator to answer a transition logic question.
• Waiting for a transition logic expression or wait function to conclude.
• Waiting for the operator to manually select a unit to allocate to an instance. The
instance name is provided in the message.
328 Chapter 9
• Waiting for equipment to become available for allocation to the current batch.
The instance name is provided in the message.
• Waiting for the operator to acknowledge the beginning of a phase. The
equipment, operation, and phase requiring the acknowledge is provided in the
message.
• Waiting for the operator to acknowledge the end of a phase. The equipment,
operation, and phase requiring the acknowledge is provided in the message.
• Waiting for the operator to edit one or more phase parameters. The equipment,
operation, and phase requiring the parameter editing is provided in the
message.
• Waiting for the operator to enter a comment for a phase. The equipment,
operation, and phase requiring the comment is provided in the message.
• Waiting for an operator action on another batch. The campaign, lot, and batch
identification information is provided for the batch requiring the action.
This option is also available from the Batch Messages icon in the Batch
Display Toolbar.
Windows/Equipment Allocation
Use this command to display the Equipment Allocation window. This option is
also available from the Equipment Allocation icon in the Batch Display
Toolbar.
Batch Management System 329
Use this window to view the status and availability of the units and/or connections
in the train assigned to the selected batch. The Equipment Allocation window is
only available for batches that have status of Run, Held, or Aborting.
Each unit in the train will have a Status corresponding to one of the statuses
defined in the Process Modeling Editor. Each connection in the train will have a
status of Available or Unavailable. This status corresponds to the status of any
segments that were assigned to the connection in the process model. If segments
were not assigned to a connection, the status of the connection will always be
Available. The status of a connection will be Unavailable if any one of the segments
assigned to the connection has an equipment status that has not been marked as
Available in the process model.
The Allocation of a unit or connection relates to the ability of the unit or
connection to be allocated by Batch Manager. The Ready allocation value means
that the unit or connection is available to be allocated. The Allocated value means
that the unit or connection is allocated by a batch. A Busy value indicates that the
unit or connection has been allocated by another batch.
Any unit or connection in the Train, if Ready, can be manually allocated by
selecting the unit or connection, selecting the proper instance, and then clicking on
the Allocate button. The instance names correspond to those defined in the recipe
assigned to the selected batch. This will allocate the chosen instance to the selected
unit or connection. Any unit or connection in the Train, if Allocated, can be
manually released by selecting the unit or connection and clicking on the Release
button. Manual allocation and release overrides automatic and recipe allocation.
330 Chapter 9
The Allocation Queue button allows you to display a list of the batches that are
waiting for the selected equipment. The list is displayed in the order that the batch
will execute in the unit. Using the arrow buttons provided in the Equipment
Allocation Queue window, a user can, after selecting a batch from the list, move it
up or down in the queue. The batch at the top of the list is the next batch to execute.
The View Filter options allow you to enable and disable the display of Units and/or
Connections in the equipment list.
The Unit Control options enable the particular Unit Control tags for the selected
unit. This provides individual control over each unit in the process. There are two
Hold Propagation Modes available. In addition to the Hold Propagation modes,
Unit Control can be further enhanced by using Unit State system tags.
Note There is an assumption that a Unit in a Held state can be restarted and will
then immediately change to a Run or Alarm state. If this mode does not appear to
function as described, you should review the Restart logic that you are utilizing.
Note There is an assumption that a Unit in a Held state can be restarted and will
immediately change to a Run or Alarm state. If this mode does not appear to
function as described, you should review the Restart logic that you are utilizing.
This option is also available from the Offline Phase Editor icon in the Batch
Display Toolbar.
Windows/Transition Logic
Use this command to display the Active Transitions window.
For more information on viewing active transitions, see “Active Transition
Objects” on page 344 in this section.
This option is also available from the Active Transitions icon in the Batch
Display Toolbar.
View Menu
The Batch Display View menu contains the commands that are used to toggle the
display of the application toolbars and status bar, as well as to change the focus of
the unit procedure, operations and phases displays. The menu options are described
below.
332 Chapter 9
View/Errors
Use this command to display the Errors window. All batch errors will be contained
in this list.
This option is also available from the Errors icon in the Batch Display
Toolbar.
View/Main Toolbar
To view the Main Toolbar:
Click View and then enable the Main Toolbar menu item.
View/SFC Toolbar
To view the SFC Toolbar:
Click View and then enable the SFC Toolbar menu item.
View/Status Bar
To view the Status Bar:
Click View and then enable the Status Bar menu item.
View/Operation View
Use the View/Operation View menu item to show or hide the Operations pane.
View/Operation Zoom In
To Zoom In on Operations:
Click View and then select Operation Zoom In to increase the displayed size
of objects in the operation pane.
You can also use the Operation Zoom In icon in the Main Toolbar.
View/Phase View
Use the View/Phase View menu item to show or hide the Phases pane.
View/Phase Zoom In
To Zoom In on Recipe Phases:
• Click View and then select Phase Zoom In command to increase the displayed
size of phases in the phase pane.
You can also use the Phase Zoom In icon in the Main Toolbar.
View/Large Icons
To View Large Icons:
• Click View and then enable the Large Icons menu item to increase the size of
the icons on the toolbars.
Help Menu
The Batch Display Help menu contains the commands that are used to access the
main help screen, and information about the version and licensing of the
application.
Help/Help Topics
Use this command to display the online help for Batch Display.
Batch
Control
Buttons
Phase Batch Phase
Parameter Phase Display Batch Question Control
List List Toolbar SFC Toolbar Identification List Buttons
Manual Operation
The Manual Operation icon is used to display a phantom batch.
Save Recipe
The Save Recipe icon is used to display the Save Control Recipe window.
336 Chapter 9
Schedule
The Schedule icon is used to display the Schedule window.
Batch Messages
The Batch Messages icon is used to display the Batch Messages window.
Equipment Allocation
The Equipment Allocation icon is used to display the Equipment Allocation
window.
Active Transitions
The Active Transitions icon is used to display the Active Transitions
window.
Errors
The Errors icon is used to display the Errors window.
Jump Mode
The Jump Mode icon is used to activate the Jump Mode.
SFC Toolbar
Operation View
The Operation View icon is used to show or hide the operations pane
Batch Management System 337
Operations Zoom In
The Operation Zoom In icon is used to enlarge the sequence of operations
display. There are 10 levels of magnification available.
Phase View
The Phase View icon is used to show or hide the phases pane
Phases Zoom In
The Phase Zoom In icon is used to enlarge the sequence of phases display.
There are 10 levels of magnification available.
Batch Identification
Across the top of the Batch Display main window is the batch identification
information. Included here are the Campaign ID, Lot ID, Batch ID, Mode, Status
and Action.
Phase List
The Phase List contains a dynamic list of active phases. The equipment allocated
for each phase and the status of each phase is also included in the list.
Question List
The Question List contains a dynamic list of active questions. Answering a question
requires the selection of the question and the appropriate answer button.
Instruction List
The Instruction List provides a list of instructions associated with the phase
selected in the Phase List.
338 Chapter 9
Color Description
Cyan Continue Mode Execution
Gray Inactive
Green Active
Yellow Completed
Sequence of Phases
The Sequence of Phases dynamically shows the current phases executing in the
selected batch for the selected operation. The status of each phase in the SFC is
represented with colors.
Color Description
Gray Inactive
Green Active
Red Interlocked, Held, or Waiting for Operator Action
Yellow Completed
• The recipe procedure can be viewed for each batch, showing the status of each
phase.
• Batch control buttons including Start, Hold, Restart, and Abort.
• Phase control buttons including Start, Hold, Restart, and Abort.
• View and control of current Phase Status, Parameters, and Instructions.
• Ability to enter Comments associated with a phase or with the batch.
• Ability to View and Acknowledge external documents.
• Ability to view Interlocks for each phase.
• A list of Transition Logic Questions and the ability to answer the questions.
• A Message Line displays Operator commands.
• View Transition Logic Status
• Force Transition Logic
• Edit phase parameter values when a batch is active.
• Edit phase parameter values when a batch is not active (Phase Parameter Editor
window).
Batch Control
Batches that are initialized have a status of Ready. If a batch is Ready, it can be
selected from the Schedules window and started using the Batch Start button.
Batches that are running have a status of Run. If a batch has a status of Run, the
batch can be put in Held. If a batch has a status of Held, the batch can be Restarted
or Aborted.
For more information on dynamically changing the batch mode, see “Batch
Execution Modes” on page 347 in this section.
Phase Comments
The Edit Comment button displays the Comment window.
While a phase is executing, a comment associated with the selected phase can be
entered. The comment is stored in the historical database. If phases are not
executing and a comment is entered, it is stored as a general comment associated
with the batch. If a phase is active, the operator can change the comment type to
Batch if the comment is not related to the phase.
After a batch is initialized, but before it is started, the user can enter batch
comments. However, the unique batch identification record is not created until the
batch is started. Thus, if a batch is added, comments are entered, and then the batch
is changed or deleted, unrecoverable comment records will be created that will have
a batch key field that does not point to a valid batch ID log record. Therefore,
comments should be entered only after starting a batch.
Phase Interlocks
The Interlocks button displays the Interlocks window. This is used to view the
status of the interlock tags for any active phase in the procedure.
Equipment Selection
The Select Equipment button displays the Equipment Selection window.
Batch Management System 341
This window contains a list of possible units that can be allocated for a particular
recipe instance. Whenever Manual Unit Selection is configured for a process
instance in the recipe Equipment Requirements Editor, the operator must select the
equipment that will be allocated and used by the current batch. In the Equipment
Selection window shown, the operator must choose from two units which one is to
be allocated for the first reactor process instance.
The Equipment Selection window is dynamic. The current status of units that are
available for selection is displayed in the window. If the status of any equipment
changes while the window is displayed, the status displayed will update
accordingly. The status of units displayed in the Equipment Selection window
corresponds to those statuses defined in the process model. As long as the new unit
status represents an available status, the unit will remain displayed in the list.
Phase
Status Description Action
Wait Phase is waiting for operator action. Message line will Acknowledge or Edit
indicate whether a comment or an acknowledge is required. Comment.
Wait Phase is currently running. Phase can be run after Acknowledge “Unexpected
acknowledging the message. Batch Manager will wait until Status Window.”
the phase is Ready.
Run Phase is executing. Phase Hold
Held Phase is in Hold; Phase can be Re-started or Aborted. Phase Restart or Phase Abort
Done Phase execution is complete. N/A
Interlocked Interlocks are preventing the phase from executing. Select Interlocks button.
Aborted Phase has been Aborted. N/A
Answering Questions
Transition objects that have been configured in the recipe to ask a question of the
operator are in the Questions List box. The operator must select the question that is
to be answered and click the Yes button.
Depending on the recipe, there may only be one question or there may be several.
For an Execute All branch, all of the questions must be answered. If the branch is
an Execute One, then only one question must be answered.
If the question applies to a loop object, then the question is a Yes or No question. If
the answer is Yes, then the loop back will be executed.
Phase Acknowledgment
Any phase in the recipe that has been configured with an Acknowledge On Entry or
Acknowledge On Exit option, as well as all semi-automatic phases will require the
operator to acknowledge the phase when executed. A message will be displayed in
the Message box when an acknowledge is required. The Acknowledge button must
be selected when required.
Note Phase parameter changes are dynamic and will be used during the execution
of the batch if made for a phase that has not yet executed. Phases that are not
running are displayed in the list.
344 Chapter 9
When a transition is selected, its expression is displayed and if tags are associated
with the expression, they are displayed along with their current value.
Any active transition object must have a result of False. The Transition can be
forced to True by selecting the active transition and selecting the Force to True
button.
Batch Manager
Batch Manager is the most fundamental and integral part of the batch management
system. The execution of every batch is controlled and monitored by Batch
Manager. Another of its responsibilities is the management of multiple batch
execution and the dissemination of all of the batch information to Batch Scheduler
and Batch Display. Each batch server supports a single instance of Batch Manager.
Batch Execution
Batch Manager is responsible for the execution of all of the batches running in the
system at any point in time. There are many different areas of functionality that
Batch Manager must coordinate while executing batches. These include allocation
of equipment, batch execution modes and mode changes, unit selection, process
phase execution, and transfer phase execution.
There are three types of equipment allocation that are available: Automatic, Recipe,
and Manual. There are three modes of batch execution: Automatic, Semi-
Automatic, and Manual. There are two methods for selecting units for a batch:
Automatic and Manual. There are two categories of phases: Transfer and Process.
There are three types of phases: Automatic, Semi-Automatic, and Manual. Each of
the batches may have any combination of the above options. Each of the areas is
described below.
Equipment Allocation
In order to execute any phase as part of a batch, equipment must be allocated to the
batch. If suitable equipment had been previously allocated to the batch, then that
equipment is used. If equipment has was not been previously allocated, then the
batch management system must allocate suitable equipment to the batch before
proceeding with phase execution. There are three approaches to allocating
equipment for a batch. They are, Automatic Allocation, Recipe Allocation, and
Manual Allocation. Each allocation approach is described below.
Manually allocating a unit allocates and reserves only the selected unit. Manually
allocating a connection allocates and reserves only the selected connection. Neither
the source nor the destination unit is allocated when a connection is manually
allocated. Units and connections that are manually allocated are released when the
operator manually releases the unit or connection from the Equipment Allocation
window or when the batch is complete.
Manual Allocation is especially important when executing batches in Manual
Mode. Only the phases associated with manually allocated units and/or connections
can be executed. Furthermore, if a batch is started in Manual Mode, there are no
units or connections allocated. Units and/or connections must be allocated
manually before any phases are available for execution.
Hold a Batch
When the Batch Hold button is selected, Batch Manager will put the batch in Held.
The actions taken in response to a Batch Hold depend on the way in which Batch
Manager is configured in the Environment Editor. If configured by default (that is
without any application parameters in the Environment Editor), when the Hold is
initiated, the batch status will change to Held and the Unit Hold tag for each unit
allocated to the batch will be set. It is the responsibility of the control system logic
to alter the status of the phases associated with the unit(s). Typically, the phases are
put in the Held status. However, the results of a batch hold can be unique for each
phase.
Note When the Batch Hold button is clicked it is possible that the Batch Abort
will become available before all the phases are in the Held status. If a user quickly
presses the Batch Abort button before all the phases are in the Held status, any
phase, not in the Held state, will not respond to the Phase Abort command issued by
the Batch Abort command. In this situation the phases will remain in Held or the
last status. The Batch status will remain Aborting until all phases have completed.
Phases in Run will completed normally, or can be manually held and aborted. To
resolve this situation, verify all phases are in Held before pressing the Batch Abort,
manually abort all phases in Held, or assign security to the Batch Abort button. In
most cases this will allow enough time for all phases to go to the Held state.
Restart a Batch
When the Batch Restart button is selected, Batch Manager will restart the batch.
The actions taken in response to a Batch Restart depend on the way in which Batch
Manager is configured in the Environment Editor. If configured by default (that is
without any application parameters in the Environment Editor), when the Restart is
initiated, the batch status will change to Run and the Unit Restart tag for each unit
allocated to the batch will be set. It is the responsibility of the control system logic
to alter the status of the phases associated with the unit(s). Typically, the phases are
put in the Run status. However, the results of a batch restart can be unique for each
phase.
If Batch Manager is started with the Phase/Batch Status application parameter
defined in the Environment Editor, Batch Manager manages all phase restart
activity. As above, when a Batch Restart is triggered, the batch status will change to
Run and the Unit Restart tag for each allocated unit is set. In addition, a phase
restart signal is sent to any phase in the batch that has a status of Held. However,
unlike with hold commands, an individual phase restart will not cause the batch and
all other phases to restart.
The batch restart concept is further advanced if the Unit States application
parameter is defined for Batch Manager in the Environment Editor. If this
parameter is defined by itself without also defining the Phase/Batch Status
application parameter, Batch Manager monitors the unit state tags for each
allocated unit. Batch Manager will not permit a Batch Restart for any batch which
has allocated units and these units are in a state other than Held (i.e. the Alarm state
must be cleared). Typically, units will be in the Held state from the Batch Hold
command. All allocated units must be changed to Held in order to restart the batch.
Unit state changes are the responsibility of the control system. Once the required
unit states are in Held, the Unit Restart tag is set for each allocated unit. If both the
Unit States and Phase/Batch Status application parameters are defined, Batch
Manager will use the unit states to determine when to propagate phase restart
commands. In this case, a batch and all held phases will not be automatically
restarted if any unit is in a state other than Held.
Abort a Batch
When the Batch Abort button is selected, Batch Manager will abort the batch. The
actions taken in response to a Batch Abort depend on the way in which Batch
Manager is configured in the Environment Editor. If configured by default (that is
without any application parameters in the Environment Editor), when the Abort is
initiated, the batch status will change to Aborting and the Unit Abort tag for each
unit allocated to the batch will be set. It is the responsibility of the control system
logic to alter the status of the phases associated with the unit(s). Typically, the
phases are put in the Aborted status. However, the results of a batch abort can be
unique for each phase. Once all phases have completed or aborted, the batch status
will change to Aborted. The batch status will remain Aborting as long as phases are
active.
Note When Batch Abort is selected, a window appears prompting the user to
confirm the Abort. When Yes is clicked, Batch Manager will abort the batch.
350 Chapter 9
Note Error messages are not displayed when unexpected unit states are received
when one of the following conditions apply.
If a unit is not allocated and has an Available status, the unit should have a state of
Ready. A unit state of Run, Held, or Alarm is not permitted.
If a unit is allocated and phases for that unit are active, the unit should have a state
of Run, Held, or Alarm. A unit state of Ready is not permitted.
It is the responsibility of the user to avoid the conditions that are described. If either
condition exists, you must manually change the unit state.
Automatic to Manual
Any active phases will continue to run to completion. Batch Manager will monitor
these phases and will Reset the phases when they are Done. No new phases will be
executed. Batch Manager will maintain its position in the recipe procedure, and the
operator may manually execute any of the phases associated with allocated
equipment.
Semi-automatic to Automatic
Any phases that are running will continue to run. Any phase waiting for an operator
Acknowledgment or any new phase encountered will automatically start. This
assumes that the phase is not configured for Acknowledge on Entry in the recipe
procedure. If this is the case, the Acknowledge will still be required.
Manual to Automatic
Execution of the recipe will begin from the point where Manual Mode was started.
Phases will start as configured in the recipe procedure. Any phases started in
Manual Mode will complete and will be Reset by Batch Manager. Any equipment
that was manually allocated will stay allocated until a Release phase for the
equipment is encountered or the batch completes.
Manual to Semi-automatic
Execution of the recipe will begin from the point where Manual Mode was started.
Phases will require an Acknowledge before they can be started. Any phases started
in Manual Mode will complete and will be Reset by Batch Manager. Any
equipment that was manually allocated will stay allocated until a Release phase for
the equipment is encountered or the batch completes.
352 Chapter 9
Process Phases
The following section describes how to configure a process phase.
Automatic Phases
When an automatic process phase is encountered, Batch Manager will first check if
a suitable unit is allocated. If so, Batch Manager will evaluate the status of the
phase. If the phase is Ready, the formula parameter values are downloaded to the
control system and the phase is started. Typically, the phase status will change to
Run. Batch Manager will monitor the status of the phase waiting for it to change.
Under normal circumstances, the phase status will eventually go to Done. Upon
seeing the Done, Batch Manager will Reset the phase. The phase status will return
to Ready. When Batch Manager evaluates the phase and finds a status of
Interlocked, Batch Manager will wait indefinitely until the interlock has cleared.
When Batch Manager finds a status of Run, Held, Done, or Aborted, Batch
Manager will display an error message for an unexpected phase status.
Batch Management System 353
Manual Phases
Manual Type Process Phases require unit allocation and also require the operator to
Acknowledge the completion of the phase. Manual Process Phases typically
include instructions which the operator must perform. When the instructions have
been performed, the operator Acknowledges the phase.
Manual phases can also be used to write data to the control system. This is
accomplished by assigning a tag to the Target element in the process model. When
the phase is executed, Batch Manager will write the Target Value, that was assigned
in the recipe, to the control system.
When the addition requires multiple lots of same material, the operator must enter
the lot code for the first lot and Acknowledge the completion of the phase. Batch
Manager will decrement the actual quantity from the target, recalculate the target
quantity, and re-execute the phase. This will occur until the original target is
achieved.
Transfer Phases
The following section describes how to configure a transfer phase.
Batch Management System 355
Note The FIFO approach can be changed to last-in, first-out (LIFO) by using the
LIFO Materials application parameter for Batch Manager in the Environment
Editor.
356 Chapter 9
When the addition requires multiple lots of same material, the operator must enter
the lot code for the first lot and Acknowledge the completion of the phase. Batch
Manager will decrement the actual quantity from the target, recalculate the target
quantity, and re-execute the phase. This will occur until the original target is
achieved.
Note Use caution when enabling the continue mode property for any phase within
a loop object. Because of the risk of re-executing an active phase, batch execution
will not proceed into the loop in which a phase with the continue mode property
enabled is active. As soon as the phase completes, batch execution will proceed into
the loop.
Because the phase is executing normally, it will also have to finish just like a
normal phase. Batch execution will not end until all phases have completed.
Therefore, any phase with the continue mode property enabled is required to
complete either normally according to the internal phase logic or based upon some
external signal. An example of the use of the continue mode is vessel agitation. It is
not unusual for agitation to span multiple operations. When this is required, the
recipe builder is forced to use "one-shot" phases that start the agitator and then
complete, or to use complex branching to keep the agitator running throughout the
course of the multiple operations. Using one-shot phases is undesirable because
even though the agitator remains running, the phase is no longer active and cannot
be controlled. The branching option is also undesirable if the recipe builder does
not have experience with the process. The continue mode option allows the
agitation phase to be placed in the recipe as required without complex branching
and will remain active until it ends on its own or until another phase or external
signal tells the phase to end. Thus, it is always visible and can be controlled.
Unit 1 Unit 2
Pump 1
Unit 3 Unit 4
There are several methods for managing the contention of the use of the pump. One
of the methods defines each source unit - destination unit combination as a
connection in the process model. With this method only one of the transfers (one
connection) can be functioning at any one time because there is only one Pump. For
this method in the above example, there will be one connection phase for each
connection. Therefore, in our example, there will be four phase logic blocks in the
control system. Since there is only one pump to handle all four connections, the
four phase logic blocks must be interlocked with one another.
Using this method, contention for use of the pump is handled as follows. When the
batch in Unit 1 or Unit 2 is ready to transfer to either Unit 3 or Unit 4 and the
destination unit is Ready, then Batch Manager will allocate the destination unit.
Knowing the source unit and the destination unit, Batch Manager can determine
which phase logic block to enable to execute the transfer. If a transfer phase is
executing between Unit 1 and Unit 3, the phase blocks associated with the three
other connections are inhibited because of the interlocking done in the control
system. If Batch Manager needs to execute a transfer between Unit 2 and Unit 4, it
will wait until the Unit 1 to Unit 3 transfer is complete. When the transfer is
complete, the interlocks will be released on the three other connection phases. The
phase status will change from Interlocked to Ready, and Batch Manager will then
be able to proceed with the transfer.
Another method requires defining segments, as well as connections, in the Process
Modeling Editor. The segments would assume one of the statuses defined in the
model. The availability of each of the connections would correspond to the status of
all of the segments that have been assigned to the connection. Batch Manager
would only be able to utilize connections that were available.
Using this method, contention for use of the pump is handled as follows. When the
batch in Unit 1 or Unit 2 is ready to transfer to either Unit 3 or Unit 4 and the
destination unit is Ready, then Batch Manager will evaluate the availability of the
connection from the status of each segment assigned to the connection. If an
available connection is found, the destination unit and connection are allocated, and
the proper connection phase is enabled. This method requires no extra control
system interlocking. When the transfer is complete, the segment statuses will
change accordingly, and the availability of the connection will be automatically
updated.
360 Chapter 9
If connections and/or segments are not defined in the process model and transfers
are performed by coordinating the simultaneous execution of multiple process
phases, Batch Manager evaluation process is different. Batch Manager will insure
that a suitable source unit and destination unit are allocated. However, the control
system will be responsible for interlocking the remaining process phases from
executing until the transfer of material has been completed.
Report Triggering
Reports can be linked to any phase in a recipe procedure. The report will be
triggered when the phase is complete. Also, if an end of batch report was defined,
Batch Manager will signal the Information Server upon completion of the batch.
Batch Manager will pass the name of the report, the Campaign ID, Lot ID, and
Batch ID.
Reason: You are attempting to Start a batch that appears to have a status of READY.
Just prior to starting the batch, another operator either Started it from another
Batch Display or the status of the batch was changed to OPEN, using the Batch
Scheduler.
Corrective Action: Select another batch.
Error: Cannot find recipe!
Reason: You are attempting to Start a batch whose recipe has been deleted from the
recipe database.
Corrective Action: Re-schedule the batch with a valid recipe.
Warm Restart
Batch Manager has the capability to recover from abnormal events such as system
shutdowns due to hardware failures and other unanticipated failures. This
functionality is known as Warm Restart. As the batch management system executes
batches, all batch execution and equipment allocation information is written to
multiple data files. In the event of a system failure, these files will be read by the
batch management system when restarted. The data in these files allows the batch
management system to resume batch operation.
Batch Execution
As the batch management system executes batches and allocates equipment, Batch
Manager stores each event in data files residing in the .BatchWR folder. By
retaining all of the batch execution and equipment allocation actions, Batch
Manager can resume batch execution following a system failure. In the event of a
failure, the sequence of operation in the following list will occur. Operator
interaction is denoted where applicable.
1. Upon the occurrence of a system failure, the batch control system must be
completely shutdown if the failure did not automatically accomplish this.
2. The batch control system must then be restarted.
3. All equipment allocated by any of the previously active batches will remain
allocated.
4. All batches previously in the Batch Scheduler will be returned to the scheduler
with their previous status. The exceptions to this are that the Execute in Order
option in the Batch Scheduler will not be set upon restarting the system and all
batches that were in the run state prior to the failure will be in the held state
when the system is restarted.
For more information on changing the mode in which batches are resumed, see
“Batch Restart Mode” on page 364.
5. The statuses of all phases are unchanged during a system failure that does not
involve the control system. In other words, phases that were executing before
the failure will continue to execute during the failure. However, phases that
previously had or change to a status of held, done, or aborted will remain in
that state until the batch management system is restarted. Batch Manager
resumes the batches controlling these phases, and upon resuming these
batches, Batch Manager restarts or resets the affected phases.
6. The mode of all batches and the value of all phase parameters will be
unchanged following the restart of a failed system.
For example, suppose the batch management system was controlling a phase that
was previously in a status of Run. If the batch control system is shutdown and the
phase in the control system continues execution and becomes Done before the batch
control system is restarted, the batch management system recognizes this as a valid
status transition, updates the status of the phase to Done, and initiates a phase Reset.
However, if the control system is also shutdown and the status of the phase
becomes Ready, then Batch Manager assumes the control system and possible
human intervention caused the phase to go to Ready. Batch Manager assumes the
phase is done and continues on to the next phase.
366 Chapter 9
Manual Operation
The flexibility that Manual Operation provides does present the possibility of some
unusual phase states. This section describes the precautions and considerations that
you should be aware of when using phantom batches. If you need to access Manual
Operation, you must be aware of the phases that are executing manually, and must
be able to resume or abort the phases after a system failure. You should also be
aware of how Batch Manager initializes Batch Display for Target, Hi Dev and Lo
Dev values when tags are assigned to them.
If Manual Operation is being utilized and a system failure occurs, the following
sequence of events will occur. Operator actions are required to rectify the manual
operation status.
1. All equipment that had been manually allocated in order to execute phases
through the manual operation batch will not be allocated when the system is
restarted.
2. All phases that were active prior to the system shutdown will be active while
the system is shutdown. However, the state of the phases will be unknown to
the system when it is restarted.
3. The operator using manual operation is responsible for returning to the manual
operation batch, manually allocating the equipment that had been previously
manually allocated, and starting the phases that had been previously active.
4. Upon re-starting the previously active phases, the status of the phase will be the
current status of the phase in the control system. Thus, the phase may go to run,
held, done, or aborted depending on the actual state of the phase in the control
system.
5. The operator can continue manual operation as normal.
Note Manual Operation can be made accessible only by personnel with the proper
security clearance. Therefore, it is their responsibility to clean up the manual
operation phases following a system failure. Failure to properly clean up the
manually operating phases can cause problems when scheduled batches require the
use of the “stray” phases. It is also recommended that when Manual Operation is in
use and a system failure occurs, that Batch Manager be restarted without the
Restarting Batches option. This will ensure that all batches are resumed in held and
that none of these batches can automatically allocate equipment that is needed to
clean up any phase executed using manual operation.
The following table shows the relationship between each tag data class and
element, and how the Enable Display and Edit Allowed attributes are forced in
Batch Display.
C H A P T E R 1 0
History System
The History System databases are located on a Batch Information Server. The
Information Server uses Microsoft SQL Server which stores and archives all
information related to the production of a batch. This includes events, process data,
production information, material usage, operator comments, operator actions,
equipment used, etc. Historical data can be accessed with Seagate Crystal Reports
to develop comprehensive reports for your batch system requirements.
Contents
• Overview
• History Database Tables
Overview
Historical batch information is stored on a Batch Information Server. The
Information Server uses Microsoft SQL Server, and is dedicated to the task of
providing all of the historical database requirements for the batch system. At the
Batch Server, a message queue mechanism guarantees that data is transmitted to the
Information Server. This “guaranteed delivery” is accomplished by maintaining the
data locally in the case of a disconnection and then retransmitting the data when the
connection is restored. All data is time stamped by the Batch Server so that if data
communications to the Information Server is interrupted, the time and date stamps
are still valid. Data transmission to the Information Server is the responsibility of
the History Queue Manager (HistQMngr) which runs on the Batch Server.
This User’s Guide is not intended to describe how to use Microsoft SQL Server.
However, you may want to use such tools as Microsoft Enterprise Manager for
maintaining and viewing information about the historical databases. For more
information on using Microsoft SQL Server refer to the appropriate user references.
For more information on maintaining your history databases, including History
Archiving procedures, see Chapter 24, "System Administration."
For more information regarding the Information Server and how to use Seagate
Crystal Reports, see Chapter 11, "Reporting System."
370 Chapter 10
Archive History
This table provides a history of archive activity.
AuditEvent
The AuditEvent table contains one record for every security system event that is
generated during batch execution.
BatchAdmin
The BatchAdmin table contains records for archive tasks defined in History
Archive. History Archive is responsible for the data in this table. The structure of
this table is presented below.
BatchDetail
The BatchDetail table contains a record for every event in the execution of a batch.
Events are defined using an Action Code. The Action Codes are defined in the
CodeTable table. Batch Manager is responsible for the data in this table. The
structure of this table is presented below.
BatchIdLog
The BatchIdLog table contains a record for each batch produced. Batch Manager is
responsible for the data in this table. The structure of this table is presented below.
BatchQuestion
The BatchQuestion table contains a record for every question displayed and
answered by the operator during the execution of a batch. Batch Manager is
responsible for the data in this table. The structure of this table is presented below.
CodeTable
CodeTable contains the codes and descriptions that are used in as part of other
history tables. This table is a permanent part of the history database and is not
modified during batch execution. The structure of this table as well as the codes are
presented below.
Code Description
201 Batch received Start
202 Batch received Hold
203 Batch received Restart
204 Batch received Abort
205 Batch set Done
206 Batch set Closed
207 Batch Warm Restart
208 Batch Redundancy Switchover
209 Batch Set Aborted
210 Allocate
211 Release
221 Wait for Allocate
222 Received Allocate
223 Wait for Entry Ack
224 Received Entry Ack
225 Received Interlock
226 Received Ready
374 Chapter 10
Code Description
227 Set Start
228 Received Run
229 Set Hold
230 Received Held
231 Set Restart
232 Set Abort
233 Received Aborted
234 Received Done
235 Set Reset
236 Received Bad Ready
237 Received Bad Run
238 Received Bad Held
239 Received Bad Done Aborted
240 Received Bad Interlock
241 Wait for Req Edits
242 Received Req Edits
243 Wait for Req Cmmt
244 Received Req Cmmt
245 Wait for Exit Ack
246 Received Exit Ack
247 Wait for Start
248 Received Start
249 Resync
250 Wait for Entry Doc View
251 Received Entry Doc Ack
252 Wait for Entry Doc Ack
253 Received Entry Doc Ack
254 Wait for Exit Doc View
255 Received Exit Doc View
256 Wait for Exit Doc Ack
257 Received Exit Doc Ack
260 Batch mode changed to Automatic
261 Batch mode changed to Semi-Automatic
262 Batch mode changed to Manual
265 Set Control Button1
266 Set Control Button2
270 Unit Hold set
271 Unit Restart set
272 Unit Abort set
273 Force Transition True
275 Transition Stop
History System 375
Code Description
276 Transition Start
277 Transition Stop
278 Transition True
279 Transition False
300 Yes
301 No
305 Approved for Production
306 Approved for Test
400 Batch set Run
401 Batch set Held
402 Batch set Aborting
403 Batch received Lock
404 Batch received locking
405 Batch received Locked
406 Batch received Unlock
410 Unit received Ready
411 Unit received Run
412 Unit received Held
413 Unit received Alarm
414 Skip
415 Done
Config
This table is used by the reporting system to hold configuration settings.
DocViewEvent
The DocViewEvent table contains one record for each event that is generated when
batch execution requires a user to view and acknowledge an external document.
EquipStatus
The EquipStatus table contains a record for every unit or segment status transition.
Batch Manager is responsible for the data in this table. The structure of this table is
presented below.
ErrorQ
The ErrorQ table is used by the History Queue.
Event
The Event table stores all InTouch Alarms and Events that the batch system can
associate to specific batches.
MaterialChar
The MaterialChar table contains a record for every characteristic defined for a
material used in a batch. Batch Manager is responsible for the data in this table. The
structure of this table is presented below.
MaterialInput
The MaterialInput table contains a record for every material consumed in a batch.
Batch Manager is responsible for the data in this table. The structure of this table is
presented below.
MaterialInputChange
The MaterialInputChange table contains a record for every quantity change made
by an operator for a material consumed in a batch. Batch Manager is responsible for
the data in this table. The structure of this table is presented below.
MaterialOutput
The MaterialOutput table contains a record for every material produced in a batch.
Batch Manager is responsible for the data in this table. The structure of this table is
presented below.
OperatorComment
The OperatorComment table contains a group of one or more records for every
comment entered by an operator during a batch. Each record contains a portion (40
characters) of the comment. The SeqNum field defines the comment sequence.
Batch Manager is responsible for the data in this table. The structure of this table is
presented below.
PhaseInstruction
The PhaseInstruction table contains a group of one or more records for every phase
instruction presented to an operator during a batch. Each record contains a portion
(40 characters) of the instruction. The SeqNum field defines the instruction
sequence. Batch Manager is responsible for the data in this table. The structure of
this table is presented below.
ProcessLog
The ProcessLog table contains a record for every data sample logged. Process Log
Manager is responsible for the data in this table. The structure of this table is
presented below.
ProcessVar
The ProcessVar table contains a record for the value of every phase process variable
parameter associated with a batch. Batch Manager is responsible for the data in this
table. The structure of this table is presented below.
History System 381
ProcessVarChange
The ProcessVarChange table contains a record for every change made to a phase
process variable parameter by an operator during a batch. Batch Manager is
responsible for the data in this table.
ReportDef
ReportLog
ReportOutputTypes
ReportPrinters
ReportQueue
ReportQueueParams
ReportViewers
Transition
The Transition table contains a record for every transition event. The events are:
Start Transition, Transition False, Transition True and Transition Forced. Batch
Manager is responsible for the data in this table.
TransitionExpression
The TransitionExpression table contains a record for each Transition Expression
that is encountered during batch execution.
UserProfile
The UserProfile table contains a record that describes a user's identification.
C H A P T E R 1 1
Reporting System
The reporting system provides users with the ability to schedule, view and print
reports relating to the batch history that is stored on the Batch Information
Server (BIS). The user interface for the reporting system is a web browser which
functions as a reporting client by way of an HTTP connection. Accesses to all
report configurations and batch history on the Batch Information Server is
established using a Microsoft Internet Information Server (IIS).
Contents
• Reporting System Components
• Reporting System Architecture
• Reporting System Security
• Using The Batch Reporting System
• Creating Reports
Information Server
The Information Server is an Intel-based PC, running under Windows NT 4.0 or
Windows 2000, that is dedicated to batch information management. The Batch
Information Server contains Microsoft SQL Server, a History Queue, History
Queue Reader Service, Report Queue, Report Queue Reader Service, and the Web
Server (IIS) components.
386 Chapter 11
History Queue
The History Queue is a first-in-first-out (FIFO) queue which is located on the
Information Server that is responsible for transferring all historical data from the
Batch Manager on the Batch Server to the Batch History Database on the
Information Server. The History Queue is also responsible for notifying the report
queue of End-of-Batch and End-of-Phase events which trigger reports.
Report Client
A Report Client is a Microsoft Internet Explorer (5.x or higher) that accesses the
Information Server by way of an HTTP connection (internet or intranet). The
Microsoft IIS on the Information Server contains the Active Server Page (ASP)
content for all Report Configuration, Report Scheduling and Report Viewing.
Report Configuration
Report Configuration is accomplished using ASP content that is hosted on the
Information Server and accessed using a Report Client. Report Configuration
allows users to create the mapping between the named report and the actual Crystal
Reports report file (.rpt) on disk. This tool also allows users to define the
Information Server’s report output printer and/or report file output path.
Report Queue
The Report Queue is a First-In-First-Out (FIFO) queue located on the Information
Server that handles all requests for reporting activity. The queue also contains all
parameter data necessary for the execution of the report.
Report Schedule
Report Scheduling is accomplished using ASP content that is hosted on the
Information Server and accessed using a web browser on a client PC. It also allows
users to define schedules for the reports. Users can schedule reports on a one-shot
basis or a repeating basis.
Reporting System 387
Report View
Report Viewing is accomplished using ASP content that is hosted on the
Information Server and accessed using a web browser on a client PC. Report
Viewing allows users to run and view reports on demand. It also provides the ability
to save reports to disk and/or print them.
Reporting Portal
Web Page
ReportSchedule
ReportConfig
ReportView
Report
Output
REPORTING CLIENT
HTTP
Web Browser
Batch Reporting
Web Server (IIS)
Server Components:
- Define
Crystal Server - Schedule
Component - Demand
- Security Intrface
Report Config
Crystal Reports Table
Directory
History
Tables
SQL Job
Table
BATCH INFORMATION
SERVER
388 Chapter 11
Note InBatch 8.0 does not support expression triggered reports. If you were using
expression triggered reports in a previous version, they are converted when you
upgrade the databases and will appear in the list of configured reports on the
ReportWeb web page. The report names will exist in the ReportDef table in batch
history. However, these reports will not be generated.
Batch Reporting
To open the Batch Reporting web page:
On the Environment Display, click the BatchReport icon.
Reporting System 389
If you want to access the Batch Reporting web page from a different computer on
your network, you will need to use the following URL address: http://<computer
name>/ReportWeb, where <computer name> is name of the computer on which the
Information Server is installed.
390 Chapter 11
Report Configuration
The Report Configuration web pages allow you to view, edit, delete, and add report
configurations to the reporting system.
2. All of the reports that have been previously configured will appear in the
Configured Reports list.
Reporting System 391
3. When you have finished entering the required configuration data, click the
Add Report button.
2. Edit the report configuration using the Report Configuration Parameters table
shown earlier.
3. When you have completed your editing, click the Update Report button.
Note Before you delete any reports, it is recommended that perform a back up.
Report Scheduling
The Report Schedule web pages allow you to define schedules for the reports that
you have configured. Reports can be schedule for one-shot execution or on a
recurring basis. The schedules are stored on the Information Server and can be
edited as your specific application requires.
2. All report schedules that have been previously defined will appear in the
Report Schedule list.
396 Chapter 11
Preset Duration - Fifteen Minutes, Thirty Minutes, One Hour, Two Hours, Four Hours,
Eight Hours, One Day (24 Hours), and One Week
3. The Edit Report Schedules page shows all of the details of the schedules that
have just been defined.
4. When you have finished entering the required schedule data, click the Save
Report Data button.
398 Chapter 11
5. On the Report Schedule - Report Detail page, select the report schedule
interval at which the report recurs. The options are as follows.
• Add One Time Schedule
• Add Daily Schedule
• Add Weekly Schedule
• Add Monthly Schedule
Reporting System 399
Parameter Description
Name The name of the report.
Options Enable this check box if you want to enable the report. If the box is not enabled, then
the report will not be executed.
Run Date/Time Date and the Time that you want the report to execute.
Parameter Description
Name The name of the report.
Options Enable this check box if you want to enable the report. If the box is not enabled, then
the report will not be executed.
Occurs The frequency of recurrence (in days).
Daily Frequency The time and recurrence of the report. The options are:
Occurs Once At - Enter the specified time at which you want the report to execute.
Occurs Every - Enter the interval (in Hours or Minutes), and start and ending time at
which you want report execution to occur.
Duration The length of time during which you want the report to execute. The options are:
No End Date - Use this option if you want report execution to occur on a recurring
basis (no stop date).
End Date - Use this option in conjunction with the Start Date to specify the duration of
the reporting period.
Parameter Description
Name The name of the report.
Options Enable this check box if you want to enable the report. If the box is not enabled, then
the report will not be executed.
Occurs The frequency of recurrence (in weeks). Check boxes are provided so that you can
select the day(s) of the week on which you want the report to occur.
400 Chapter 11
Parameter Description
Daily Frequency The time and recurrence of the report for selected day. The options are:
Occurs Once At - Enter the specified time at which you want the report to execute.
Occurs Every - Enter the interval (in Hours or Minutes), and start and ending time
(hh:mm am/pm) that you want report execution to occur.
Duration The length of time during which you want the report to execute. The options are:
No End Date - Use this option if you want report execution to occur on a recurring
basis (no stop date).
End Date - Use this option in conjunction with the Start Date to specify the duration of
the reporting period.
Parameter Description
Name The name of the report.
Options Enable this check box if you want to enable the report. If the box is not enabled, then
the report will not be executed.
Occurs The frequency of recurrence (in months). The options are:
Specify the Day of the Month on which you want the report to occur.
Specify the day of the week and the monthly recurrence of the report.
Occurs Once At - Enter the specified time at which you want the report to execute.
Occurs Every - Enter the interval (in Hours or Minutes), and start and ending time that
you want report execution to occur.
Duration The length of time during which you want the report to execute. The options are:
No End Date - Use this option if you want report execution to occur on a recurring
basis (no stop date).
End Date - Use this option in conjunction with the Start Date to specify the duration of
the reporting period.
Reporting System 401
6. After you have defined the required Report Schedule, click Add Schedule on
the Edit Report Schedules page.
3. Edit the Report Properties as required. Refer to the Report Schedule Properties
described earlier for more information. After you have completed your
changes, click the Save Report Data button to apply the changes.
402 Chapter 11
4. To edit a Report Schedule, click the Name of the schedule that you want to
edit.
5. Refer to the Report Schedule Properties described earlier for more information.
6. After you have completed your changes, click the Edit Schedule button to
apply the changes. The content of the page will vary depending on the type of
schedule that you have defined.
Report Viewing
The Report View web pages allow you to Run and View reports that have been
defined in your system.
2. All of the reports that have been previously defined will appear in the Reports
list.
404 Chapter 11
To Run a Report:
1. On the Report View page, click the Run button associated with the report that
you want to view. This displays the Report View - Run Report page.
2. The contents of the Run Report page will vary depending on the type of report
that you have defined.
3. After entering the required information, click the Run button.
The specific output for a report depends upon the configuration defined earlier
in this section. Running a report may result in an output to a browser window, a
file on disk, a printer device and so on.
Reporting System 405
To View a Report:
1. On the Report View page, click the View button associated with the report that
you want to view. This displays the View Report page.
All instances for the selected report that have been printed to a disk file are
listed.
2. Identify the instance (as determined by Date/Time) and then click the
corresponding View button.
Report formats are defined when you configure a report and include: Crystal
Report, CSV, Excel, Text and Word.
Creating Reports
The reporting system provides a Batch Journal report template which consists of a
comprehensive journal of batch history for a specific batch. Other report templates
are provided with the software; however, they are not supported and should only be
used as examples which you can use to design your own custom templates.
C H A P T E R 1 2
Process Logging
The Process Logging system captures data at periodic time intervals or based on the
occurrence of events, and then logs the data to a printer or to the history database
for storage.
Contents
• Overview
• Process Log Criteria
• Using Process Log Editor
• Creating a Process Log Group
• Using Process Log Manager
Overview
Use Process Log Editor to create Process Log Configurations and store them in the
Process Log Database. A Process Log Configuration consists of one or more groups
of tags with each group having its own logging criteria. The criteria specify how the
groups of tags and their respective values will be sampled and logged at runtime by
the Process Log Manager.
408 Chapter 12
Log Trigger
The Log Trigger defines the condition(s) that initiate logging for the group. The
Log Trigger options are Always and On Event. If Always is selected, logging will
begin as soon as the run-time Process Log Manager is started. If On Event is
selected, a true/false Boolean expression is evaluated. If the result of the expression
is true, logging occurs.
Expressions are defined using the Expression Editor. The Expression Editor is
used to create a true/false Boolean expression using any of the tags in the process
model. A Boolean expression, for example, could simply be a discrete tag. When
the tag is true (value of 1), logging for the group will begin. When the tag is false
(value of 0), logging will stop. An example is provided later in this section.
For more information on building expressions, see Chapter 14, "Expression Editor."
Log Interval
The Log Interval defines the frequency of sampling for each tag in the group. The
interval options are On Event, 2 seconds, 5 seconds, 10 seconds, 30 seconds, 1
minute, 5 minutes, 15 minutes, 30 minutes, 1 hour, 2 hours, 4 hours, and 24
hours. If On Event is selected, a true/false Boolean expression must be defined.
The Expression Editor is used to create a true/false Boolean expression using any
tag in the process model. Each time the expression is true, the data values for each
of the tags in the group will be logged.
Note Logging only takes place when the trigger and interval settings are satisfied.
Process Logging 409
This example shows a simple Boolean expression that initiates logging whenever
ReactorA is allocated.
For more information on building expressions, see Chapter 14, "Expression Editor."
Data Destination
The data destination defines where the logged data will be directed during run-time
execution. Data can be logged to the Historian, a Printer, or both.
Tags
Tags that are logged as part of the group are assigned from the Tag Selection
window which is accessed from the Process Logger Group Editor. All analog and
discrete tags in the process model database are available for selection. You can
select as many tags as you want.
410 Chapter 12
Note If you modify a Process Log Configuration that is in use by the runtime
system, you should stop and then restart the Process Log Manager so that your
changes take effect.
File Menu
Use the File menu to access system functions for your process log configurations.
File/New
Use the File/New command to create a new process log configuration.
Note If you have edited a configuration and do not save it, you will be prompted to
save or discard it prior to the creation of a new configuration.
File/Open
Use the File/Open command to open an existing process log configuration.
To Open a Configuration:
1. On the menu bar, click File and select Open.
2. The Configurations window will appear.
Note If you have edited a configuration and did not save it, you will be prompted
to save or discard it prior to opening a different one.
3. From the Configurations window, select the configuration that you want to
open.
4. Click Open.
File/Save
Use the File/Save command to save a process log configuration.
To Save a Configuration:
1. On the menu bar, click File and select Save.
2. The Configurations window will appear.
Note The save option is unavailable if you have opened a configuration but have
not made any changes,.
File/Validate
Use the File/Validate command to validate a process log configuration. The
validation process verifies that all of the tagnames assigned in the configuration are
available in the process model.
To Validate a Configuration:
1. On the menu bar, click File and select Validate.
412 Chapter 12
2. The Validate window will appear. If the validation is successful, the window
will display the message: “Process Log configuration is valid.” If the
configuration contains errors, all invalid tagnames will be listed.
File/Delete
Use the File/Delete command to delete a process log configuration from the
database.
To Delete a Configuration
1. On the menu bar, click File and select Delete.
2. The Delete window will appear, requiring you to confirm the deletion.
Note When you delete a process log configuration, it is removed from the
database. However, Process Log Editor will still display the Configuration Name
and Description of the deleted configuration. To clear these fields, you must use
the File/New command.
File/Print
Use the File/Print command to select from one or more pre-formatted reports, and
then print the process log configuration. The print window also provides standard
Windows printer options.
To Print a Configuration:
1. On the menu bar, click File and select Print.
2. The Print window will appear.
Process Logging 413
Note If you want to print several reports, press and hold the control or shift key,
while selecting from the list with the left mouse button.
File/Print Preview
Use the File/Print Preview command to select one or more formatted reports, and
then view the report(s) on the screen.
Note If you want to preview several reports, press and hold the control or shift
key, while selecting from the list with the left mouse button.
File/Print Setup
Use the File/Print Setup command to select and configure a printer. Refer to your
printer manufacturer’s documentation for more information.
File/Exit
Use the File/Exit command to close the Process Log Editor.
Note If you have edited a configuration and did not save it, you will be prompted
to save or discard the changes prior to closing the Process Log Editor.
Edit Menu
Use the Edit menu to access system functions to define the criteria for your process
log configuration.
Edit/Groups
Use the Edit/Groups menu to define the criteria for your process log
configurations. For each group that you define, you must configure the general
logging criteria and tags. General logging criteria consists of configuring a Log
Trigger, Log Interval, and a destination for the logged data. The tags that are
available for selection are those that exist in the process model.
Process Logging 415
Note All Group Names are verified for uniqueness when you click Add or
Change.
3. Select the printer that you want from the list and then click OK.
To Select Tags:
1. On the Process Logger Group Editor, click Select Tags.
2. The Tag Selection window will appear.
Process Logging 419
3. From the list, select the tags that you want to include in the process log.
Note You can sort the list by clicking a column heading. For example, to sort the
list by parameter, click the Parameter heading. If you want to select multiple tags,
press and hold the control or shift key, while selecting from the list.
4. Click OK.
5. The Tag Selection window will close and the tags that you selected will appear
in the Process Logger Group Editor.
420 Chapter 12
Note If you have not entered a Configuration name, you will be prompted to do
so. If you have made changes to an existing configuration, you will be prompted to
overwrite the configuration. If you have not made any changes to the configuration,
the Save option is unavailable.
Process Logging 421
WARNING! If you stop the Process Log Manager while it is in the process of
logging data at a fast interval, or if there is batch activity that will result in data
logging, data loss can result. It is strongly recommended that you only stop Process
Log Manager when logging activity is minimal.
Note If a batch is not active within the unit or connection, the value is not logged.
422 Chapter 12
Security System 423
C H A P T E R 1 3
Security System
The Security System provides a high level of protection for all recipe and batch
management applications, functions, operator stations, and products. System design
is open and completely configurable allowing external applications to be easily
interfaced
Configuration of the system consists of defining system security parameters,
security levels, operator stations, user accounts, application access security levels,
and application function security levels.
Contents
• Overview
• Using Security Editor
• Security System Configuration
• Security Levels
• Operator Stations
• User Accounts
• Applications-Functions
Overview
The security system consists of the Security Editor, Security Manager, and a
Security Application Program Interface (API).
The Security Editor is used to edit the system security configuration. All of the
batch management system applications and functions are provided with the system.
All applications utilize the Security API when security clearance is required. When
needed, the application prompts the operator for their ID and password. The
information is compiled into a security request message and sent to the Security
Manager along with the application and/or function name, the operator station from
where the request was made, and if applicable, the recipe identification code. The
Security Manager compares the security request with the information defined in the
security database and returns an OK or NOT OK result to the application making
the request. The application acts on the result accordingly.
424 Chapter 13
Note The InBatch security system is independently licensed for the FlexFormula
and Premier Edition. Unlicensed users see a license error in the Wonderware
Logger when trying to launch Security Editor. This will occur whether you are
using a Batch Server or a Development Client.
Note If security has been enabled for accessing Security Editor, the Security
Clearance Request window will be displayed and you will be prompted to enter a
valid User ID and Password.
File Menu
Use the Security Editor File menu to access system functions for Security Editor.
File/Validate
Use this command to validate security configuration. Validation consists of
verifying that all the recipes assigned to users exist in the recipe database and that
the Password Timeout and Password Reuse values are non-negative.
If the validation is successful, the validation window will indicate that the
configuration is valid. If validation errors exist, the associated tags will be
displayed along with a validation error message.
File/Print
Use this command to display the Print window.
Use the Select Reports list box to select one or more formatted reports.
Security System 427
File/Print Preview
Use this command to display the Select Reports window. You can select the
report(s) that you want and then preview them on the screen.
File/Print Setup
Use this command to setup up your printer devices. Refer to your Windows
documentation for more information.
File/Exit
Use this command to close Security Editor.
Note All of your work is saved in the security database as you edit and make
changes to the security configuration.
Edit Menu
Use the Security Editor Edit menu to access security configuration windows.
Edit/Security Levels
Use this command to access the Security Levels Editor.
Edit/Operator Stations
Use this command to access the Operator Stations Editor.
Edit/User Accounts
Use this command to access the User Accounts Editor.
Edit/Applications-Functions
Use this command to access the Applications-Functions Editor.
428 Chapter 13
Help Menu
Use the Security Editor Help menu to display online help and view version
information for Security Editor.
Help/Help Topics
Use this command to display online help for Security Editor.
Security Enabled
Use the Security Enabled check box to enable or disable the entire security system.
Disabling the system may be desirable during start-up or when maintenance is
required on the process.
Retries
The Retries entry is associated with the number of requests a user is permitted to
attempt in order to obtain a security clearance. If the number of retries is exceeded,
an error message shall be displayed and access will be denied. For example, if the
retries value is set to 2, the error message is displayed following the third invalid
entry. If desired, the operator may immediately re-attempt to obtain security
clearance.
Password Timeout
The Password Timeout specifies the time period, in days, that a password is valid.
Any passwords older than the set period will automatically expire. After a timeout,
the user will be required to enter their old User ID and Password before security
clearance is granted. The user will then be required to change their password when
security clearance is requested
Password Reuse
The Password Reuse specifies the time period, in days, which must pass before a
password can be re-used. This feature prevents operators from repeatedly using the
same password.
Security System 429
Comment
This optional field can be used to document or comment on the security system
configuration.
Security Levels
Use the Security Levels Editor window to add, delete, and change security levels
in the system. Security level names are verified to ensure uniqueness. New security
levels can be added to the security system at any time. There is no restriction placed
on the number of security levels that you can assign.
Note When a security level is deleted, all users that are assigned that level will
have their security level assignment deleted. If a user does not have a security level,
the user will not be able to obtain security clearance.
430 Chapter 13
Operator Stations
The Operator Stations Editor dialog is used to add, delete, and change operator
stations in the system.
New operator stations can be added to the security system at any time, and there is
no limit to the number of stations that can be defined.
An operator station can be any computer that is a part of your system. The name
defined for the Batch Server or a Batch Development Client corresponds to the
network host name assigned to the node. The name defined for the Batch Runtime
Client corresponds to the Client Type Instance.
Note Both the network host name and the client type instance name must be
defined for nodes that function as both a batch server and a runtime client.
User Accounts
Use the User Accounts window to add, delete, and change users in the system.
User account names are verified to ensure uniqueness. New users can be added to
the security system at any time, and there is no limit to the number of user accounts
that can be defined.
You can assign passwords to a user and select specific recipes and operator stations
on which the operator is authorized. These account configuration options are
described in the following section.
Security Level
Security Levels typically define a user’s job function, such as Operator, Supervisor,
Lab Technician, Mixer Operator, Boiler Operator, Control Engineer, etc.
Assign security levels by clicking Security Level button.
Password
A password can be assigned to a user be selecting the Password button. A
password must contain between 6 and 12 characters.
Because the combination of user ID and password will always be unique in the
system, duplicate passwords are permitted. Passwords expire when the Password
Timeout period defined for the system is reached. User passwords are
independently maintained.
If an invalid password is entered or the new and verified passwords are not the
same, an error message is displayed.
All passwords in the system are stored and transmitted in an encrypted format.
Security System 433
Recipes
Use the Recipe Access window to assign recipes to a user. You can assign as many
recipes to a user as required. If you do not want an operator to have recipe access,
you do not have to grant it. Recipe assignments provide protection against operators
working on products for which they have not been trained.
Recipes can be assigned to a user by selecting the Recipes button.
All of the recipes that have been approved for production or approved for test in the
Recipe Editor are available for assignment. In addition, all recipes can be assigned
by enabling the All Recipe Access check box.
Note Security for the Delete Recipe Function does not restrict the user to a
specific number of recipes to access when the recipe access list is intended to be
restricted. This allows the user to delete any recipe in the list, not just the ones he is
restricted to. RecipeEdit does not use Security Editor's list of recipes assigned to a
user. Recipes that are available for configuration in the Security Editor restrict
runtime access only. That is, the configuration that you are changing is applicable
when the listed recipes are executed as part of a batch. There is no real correlation
between recipe definition in the security editor and the Recipe Editor. To more
appropriately manage these types of requirements, you may want to configure each
user's security model (That is, the definition and configuration of users, levels,
operator stations, etc.). When you are setting up the accounts, you can configure
each for unauthorized recipe deletion, saving, etc.
434 Chapter 13
Operator Stations
Use the Operator Stations window to assign specific operator stations to users.
You can assign as many operator stations to a user as required. If you do not want
an operator to have access to an operator station, you do not have to grant it.
Operator station assignments provide protection against operators working at
operator stations for which they have not been trained or should not have access.
Operator stations can be assigned to a user by selecting the Op Stations button.
All operator stations that have been defined using the Operator Stations Editor are
available. You can assign all stations by enabling the All Station Access check box.
Security System 435
Applications-Functions
Use the Applications-Functions Editor to add, delete, and change applications or
functions defined for an application, assign security levels to restrict access to
applications, and assign security levels required for the done-by and check-by
functions. A description of the applications and their associated functions is
described later in this section.
436 Chapter 13
Note When designing a new application, make sure that you use the same
application ID when making security clearance requests through the Security API.
The Security System is provided with the standard batch management system
applications. Each application has a pre-defined ID and name. The ID is used
whenever a security clearance request is sent to the Security Manager. The default
application ID and name cannot be changed. If the ID and/or name information is
altered, an error message is displayed.
All security levels that have been defined in the Security Levels Editor are
available.
Note To properly enable security, you must enable the check box in the
Applications-Functions Editor and define at least one level of security Access.
Security System 437
Note When designing a new function, make sure to use the same application ID
when making security clearance requests through the Security API.
The Security System is provided with a standard set of appropriate functions for
each Batch management system application. Each function has a pre-defined ID
and name. The ID is used whenever a security clearance request is sent to the
Security Manager. The default function ID and name cannot be changed. If the ID
and/or name information is altered, an error message is displayed.
Note Security is not enabled unless the appropriate check box has been set and
one or more Done By security levels have been defined. Also, Checked By security
is not enabled unless there is also Done By security defined. If the Done By security
levels are removed and there are Checked By security levels assigned, an error
message is displayed notifying the user that Done By levels cannot be removed.
Finally, security can be enabled for functions even if security is not enabled for the
parent application.
438 Chapter 13
Runtime Security
The runtime security system interfaces with the security database and the security
API to permit or deny requests for security clearance that are received from the
batch control applications.
Changing Passwords
Use the Change Password (ChgPwd) window to change user passwords whenever
required.
The window prompts the user for their User ID, Current Password, New
Password, and to Verify Password. If all of the information has been entered
correctly, the user has successfully changed their password.
If an invalid user identification or current password is entered or the new and
verified passwords are not the same, an error message will be displayed.
The user must enter their User ID and Password. If the user is permitted to access
the application, the application will start when OK is clicked.
If the user is not permitted to access the application, an error message will be
displayed notifying the user that permission has been denied. The error message
will also provide some information as to why access was denied.
If the user’s password has not yet been defined or the password has expired, the
New Password window will be displayed. This will require the user to enter their
current User ID and Password, and then enter and verify a new password.
Security System 441
The user must enter their User ID and Password. If the user is permitted to perform
or verify the function, the function will execute when OK is clicked.
If the user is not permitted to access the function, an error message will be
displayed notifying the user that permission has been denied. The error message
will also provide some information as to why access was denied.
If the user’s password has not yet been defined or the password has expired, the
user will be required to enter User ID and Password as explained earlier in this
section.
Note When a user-defined application or function is executed, the code for the
application and/or function must transmit the required security request to the
Security Manager through the Security API. As with the default applications and
function, the user must enter their ID number and password. If the user is permitted
to use the application or function, it will be performed. If the user is not permitted
to access the application or function, one of the above error messages will be
displayed notifying the user that permission has been denied.
442 Chapter 13
Expression Editor 443
C H A P T E R 1 4
Expression Editor
The Expression Editor is used within the Recipe Editor and Process Log Editor to
construct expressions. An expression consists of predefined functions. For each
application, the expression normally returns a logical true or false result.
Expressions are entered when recipes or other configurations are defined.
Expressions are stored as part of the configuration. Each application uses the
Expression Editor for different reasons. The Recipe Editor uses the Expression
Editor to construct true/false Boolean expressions for transition logic and loop-back
logic. The Process Log Editor uses the Expression Editor for defining a Log Trigger
and a Log Interval. In all cases, the Expression Editor functionality is the same.
Contents
• Using Expression Editor
• Expression Elements
• Expression Building Rules
• Expression Examples
Editing an Expression
Expressions are defined in the Edit Area. The Edit Area functions very similar to a
word processor. All entries are automatically inserted to the right of the cursor.
Therefore, each time a numeric key, operand, or delimiter key is selected, the
character will be inserted. Your computer keyboard can also be used to enter an
expression.
After the expression is completed, click OK or Apply to save the expression to the
target object. If the expression is not valid, an error message will be displayed
indicating the nature of the error. The cursor will be positioned near or immediately
after the error.
Numeric
Formatting
Edit Area Keypad Operators
Commands
Delimiters
Formatting
Functions Commands
Edit Buttons
The Formatting Commands (Space, Back Space, New Line, Tab, Store, Recall,
Clear, and Reset) are available to assist you in constructing expressions. The Store
and Recall are two buttons that are especially helpful for reusing expressions.
Expression Editor 445
Whenever the Store button is selected, the expression displayed in the Edit Area
will be stored. The Recall button is used to retrieve and re-display the stored
expression. This feature is extremely helpful when there are several expressions
that are similar. The Store and Recall buttons would be used as follows.
1. After completing the first expression, save the expression to the target object
(for example, a recipe transition object or a report expression trigger) by
clicking Apply, and then clicking Store to store the expression.
2. Next, select the new target object. Upon selecting, the Edit Area will be
cleared.
3. Click Recall to retrieve the expression.
4. Modify the expression as needed, then Apply the expression to the new object.
Functions can be entered by typing them in or they can be automatically inserted
into the expression using the selection dialogs. The details of each function are
described in the following pages.
To Insert a Function:
1. Click inside the Edit Area at the desired position.
2. Click Functions. The Functions window will appear.
3. Select the desired function. This will insert the function, with the appropriate
delimiters, into the Edit Area.
Expression Elements
The following sections describe, in detail, the elements available for constructing
expressions.
Operators
An operator is a symbol used to manipulate the value of one or more operands.
Below is a list of valid operators from highest precedence to lowest.
446 Chapter 14
Operands
Operands can be of type Boolean (True or False; also referred to as Discrete),
Numeric (any positive or negative number) and String (alpha-numeric string of any
length). Below is a list of valid operands.
Functions
There are seven functions currently available. All of the functions are available in
the Recipe Editor. However, only the Not function is available in the Process Log
Editor applications.
Delimiters
There are five delimiters that are used to identify operands and to build expressions
within expressions (recursive expressions).
Expression Examples
The following examples are included to illustrate the types of expressions that can
be created as well as expressions that are invalid.
C H A P T E R 1 5
The batch management system controls and monitors the execution of batches
through equipment phases. A phase is an independent processing action that can
reside in the server or client platform, a PLC, a DCS, or other control system used
to evaluate logic and/or interface with manufacturing equipment. Even though
phases can reside in many different locations, the interface between the batch
management system and the phase is the same and must follow certain guidelines.
This section is intended to provide the control engineer with information on how to
design and test phase logic blocks. A phase block testing tool is provided and is
described later in this section.
Note This information is written in a very generic manner in order to address the
overall use of phase logic, and is intended to be used strictly as a guide. The
concepts can be applied regardless of the control system in which the phases are
being written.
For more information on implementing unit and phase logic in various control
systems refer to Chapter 5, "Tag Linker."
Contents
• Phase Block Design Guideline
• Using the Phase Logic Testing Tool
• Exercising Phases
• Critical alarms put the corresponding phase block(s) on hold if they are
currently executing.
• On an initial control system power on sequence, the status of all phase blocks
should be ready or interlocked, and all of the outputs must be in a de-energized
state.
• In the event of a batch system to control system communications error, any
phase in the run state should continue until done, and the control system should
wait for communications to be restored for the next command.
• The manual operation of output devices must be addressed with regard to the
status of the phase logic blocks that utilize the outputs.
• It is the responsibility of the control system logic to recognize and react to unit
control bits. These control bits include Unit Hold, Unit Restart, and Unit Abort.
General
In order to achieve goals of modular, self-sufficient, independent phase blocks, the
structure of the control system code for each phase block and for entire processes
must be consistent. This is necessary so that phase blocks can easily be placed in
other processes with little reprogramming. The following sections provide a
guidelines that has been established for structuring individual phase blocks and
complete process programs. It is recognized that alterations of a plant's processing
capabilities may occur after the initial program structuring that will disrupt the
program sequence. However, if all additions are structured in a similar manner and
added to the end of the code, then the complete program will consist of smaller
programs, all with the same consistent structure.
Phase Block
A template has been created to assist in the structuring of a phase block. As can be
seen from the diagram on the following page, the phase block code consists of six
sections. This diagram shows the components in a distinct order. This order is
recommended for sequential processing control systems. For control systems that
are capable of parallel processing, the flow of information would be different.
• Phase Control
This section of the phase block handles the manipulation of the phase control
bits needed to operate the phase logic. The batch management system enables
the appropriate control word within the control system associated with a
particular phase block. The phase logic must be written to interpret this word
and resolve the individual control bits of the word to the start, restart, hold,
abort, and reset commands. It is recommended that the phase logic reset the
control word so that the next requested function can be recognized. Thus, the
control bits are essentially one-shot commands. This section must be included
for every automatic and semi-automatic phase block.
• Control Buttons
The section of the phase block corresponding to the control buttons is
constructed similarly to the phase control section. The batch management
system will enable any defined control buttons in the control system, and the
control system will interpret the control button request and perform the
appropriate function. This section can be used in automatic, semi-automatic,
and manual phases, but is optional and depends on the function of the phase.
• Interlocks
The interlock section of the phase block defines only the specific interlock
conditions associated with that phase block. Each interlock condition is
assigned to a discrete memory point and to a tag if the batch control system is
to display the interlocks to the user. This section will appear only if there are
specific interlocks associated with the phase block.
• Alarms
The alarm section handles all error conditions specifically associated with the
phase block. All of the alarms appropriate to the phase are placed in parallel
with each other to engage a single discrete point that is used through the
remainder of the phase logic to affect the operation of the block. This section
will appear only if there are alarms associated with the phase block.
456 Chapter 15
• Phase Status
The phase status section includes the logic necessary to place the phase block
into any one of the possible states. The possible phase status values are ready,
run, held, done, interlocked, and aborted. Only one of these modes may be
enabled at any time. When all of the status control logic has been evaluated, the
results are transferred to the phase block status word that is monitored by the
batch management system. This section must be included for every automatic
and semi-automatic phase block.
• Functional Logic
The remainder of the phase block is used to write the logic that is necessary to
perform the required process or transfer action. This section will vary in size
and complexity depending on the phase block operation, and will contain the
computational, comparison, and timing functions required by the phase block.
This section will also include code that is associated with any formula
parameters that may be assigned to the phase block, as well as logic necessary
to energize process outputs.
Phase Logic Development and Testing 457
Complete Program
A template has been created to assist in the structuring of the complete control
system program structure. As can be seen from the diagram below on the facing
page, the complete program consists of multiple sections depending on the
complexity of the system. Also, the control system code is structured in a manner
similar to the batch control system process model. The diagram shows the
components in a distinct order. This order is recommended for sequential
processing control systems. For control systems that are capable of parallel
processing, the flow of information would be different.
• Processes
Each defined process in the process model will have a corresponding process
section in the control system program. The code for this section will be located
between any transfer classes defined in the model that use this process class.
Within each process section will be the control logic for the units associated
with the process in the model.
• Units
Within each process section of the control system program will be the logic
corresponding to the units defined for the process class in the process model.
Within each of these units, there will exist the control system code for all of the
phases defined for the unit.
• Transfers
Each defined transfer in the process model will have a corresponding transfer
section in the control system program. This section will be located just prior to
the transfer’s destination process class section of the control system program.
Within each transfer section will be the connections associated with the
transfer in the model.
• Connections
Within each transfer section of the control system program will be the logic
corresponding to the connections defined for the transfer class in the process
model. Within each of these connections, there will exist the control system
code for all of the phases defined for the connection.
• Phases
The control system code for the phase blocks assigned to each of the defined
units and connections will appear after the appropriate unit or connection
section of the program. The number of phase blocks will vary with the
sophistication of the system.
• Unit Control and Status Words
The code for the unit control and status words is typically kept together in one
section of the program. This code will receive all of the relevant batch hold,
restart, and abort commands from batch control system and perform the
requested action on each of the phases associated with this unit.
• System alarms
All of the logic generating control system alarms will appear in one section of
the program. The specific alarms can then be referenced in the various phase
logic to affect the operation of a phase as desired.
458 Chapter 15
• System Outputs
All of the logic required to exercise the control system outputs are contained in
one section of the program. This logic would contain references from the phase
logic necessary to manipulate the outputs. Also, any manual device operation
logic would be present in this section.
Unit Control
The following section describes the principals of unit control.
Phase Logic Development and Testing 459
General
The batch control system transmits its batch requests to the control system through
a series of tags that are mapped to the memory of the control system. One group of
these requests is for handling the unit control commands. The control bits used for
each unit are hold, restart, and abort. When the batch control system desires to alter
the status of a recipe, it writes to a tag in the control system that corresponds to the
particular unit control bit. Similar to the phase control bits, these commands are
typically packed into a word in order to maximize control system memory. In the
control system program, the unit control word can be monitored continuously or
upon a change of status. Each of the commands is read as a one-shot action, and
only one request is transmitted at a time. The particular control bits are utilized
within each phase block associated with the particular unit and the phase operation
responds accordingly. Transfer phases that utilize a unit that is being placed on hold
will act according to customer specifications. Usually, when the unit is the source of
the transfer, the phase will hold, and when the unit is the destination of the transfer,
the phase will continue to completion. It is recommended that the control system
also contain unit status bits. These status bits are not monitored by the batch
management system, but are very useful within the operation of the control system
program. The defined unit control bits and recommended unit status bits are
described in this section.
The batch control system provides an enhanced Unit Control option which consists
of two Hold Propagation modes that can be used to propagate a phase Hold during
batch execution. These Hold Propagation modes are described later in this section.
• Hold
The unit hold command is enabled by the batch management system for all
units that are allocated when a batch hold command is executed. The phase
blocks associated with the unit will respond according to the user specification.
When the unit hold bit is enabled, none of the remaining unit control bits will
be set.
• Restart
The unit restart command is enabled by the batch management system for all
units that are allocated when a batch restart command is executed. The phase
blocks associated with the unit will respond according to the user specification.
When the unit restart bit is enabled, none of the remaining unit control bits will
be set.
• Abort
The unit abort command is enabled by the batch management system for all
units that are allocated when a batch abort command is executed. The phase
blocks associated with the unit will respond according to the user specification.
When the unit abort bit is enabled, none of the remaining unit control bits will
be set.
• Ready
The ready bit is an optional status value that can be generated and used within
the control system to keep track of the status of a particular unit. Generally, the
ready status bit will be set when there is no execution of any of the phase
blocks associated with the unit and all of the phases have been reset and are
ready for execution. When the ready status control relay is enabled, none of the
remaining unit status bits should be set. This status bit is only used within the
control system program, and is not monitored by batch control system.
460 Chapter 15
• Run
The run bit is an optional status value that can be generated and used within the
control system to keep track of the status of a particular unit. Generally, the run
status bit will be set when any of the phase blocks associated with the unit have
been started and everything in the phase blocks is executing normally. When
the run status control relay is enabled, none of the remaining unit status bits
should be set. This status bit is only used within the control system program,
and is not monitored by batch control system.
• Held
The held bit is an optional status value that can be generated and used within
the control system to keep track of the status of a particular unit. Generally, the
held status bit will be enabled only after the unit hold bit has been received
from the batch management system. When the held status control relay is
enabled, none of the remaining unit status bits should be set. This status bit is
only used within the control system program, and is not monitored by batch
control system.
• Aborted
The aborted bit is an optional status value that can be generated and used
within the control system to keep track of the status of a particular unit.
Generally, the aborted status bit will be set only after the unit abort bit has been
received from batch management system. When the aborted status control
relay is enabled, none of the remaining unit status bits should be set. This status
bit is only used within the control system program, and is not monitored by
batch control system.
Phase Logic Development and Testing 461
Unit Status
The following figure shows the unit block interface between the batch management
system and the control system logic. Note that there is no START control signal in
the following figure as there is for phases in the Phase Block Control State
Diagram.
Before allocating a unit, the batch management system checks the unit status. If it is
an acceptable value, it allocates the unit.
On Batch Client displays, when a batch (not a phase) Hold, Restart, or Abort action
is initiated, the Batch Manager sends the corresponding unit control signal to all of
the units allocated for the corresponding batch. The Batch Manager does not verify
that these unit control signals are used.
Control System logic is responsible for setting the unit status, which is monitored
by the Batch Manager for a satisfactory status before allocating the particular unit.
During batch execution, the Batch Manager sends batch status information (Run,
Held, and Aborting) to all of the unit blocks associated with the batch.
462 Chapter 15
Note Batch Manager generates unexpected status error messages during phase
logic execution if the status change is against the rules for phase logic. (For
example, the phase status goes from Held to Ready.) These messages will not be
generated for the following scenarios:
1) A unit is not allocated, has an Available status, but has Run, Held, or Alarm state.
2) A unit state goes to Ready while phases for that unit are still active.
Caution! Use caution when creating unit control and state control logic to ensure
that these improper state transitions do not occur.
Hold Propagation
The batch system provides two Hold Propagation modes which can be used to
propagate a phase Hold during batch execution. Hold Mode functionality is
enhanced when you use the Unit Control option since the Unit State is included in
the unit control logic. A brief description of the Hold Modes is described below. For
more information on Hold Propagation and enabling the Unit Control option, see
Chapter 9, "Batch Management System."
Mode 1
The Batch Manager will set the Unit Hold tags whenever an operator puts a batch in
Hold and control system logic is responsible for putting all its phases in Hold.
Using this mode, if a unit or phase goes to Held state, no action is taken by the
Batch Manager.
Mode 2
The Batch Manager monitors all phases and if any phase goes to Held state or if the
operator puts the batch in Held state then all other phases associated with the batch
are issued a Hold command.
Phase Control
The following section describes the principals of phase control.
Phase Logic Development and Testing 463
General
The batch control system transmits its phase requests to the control system through
a series of tags that are mapped to the memory of the control system. One group of
these requests is for handling the phase control commands. The control bits
available for each phase are start, hold, restart, abort, and reset. Only the start and
reset bits are required. When the batch control system desires to alter the status of a
phase block, it writes to a tag in the control system that corresponds to the particular
phase control bit. These commands are typically packed into a word in order to
maximize control system memory. In the phase logic, the phase control word can be
monitored continuously or upon a change of status. Each of the commands is read
as a one-shot action, and only one request is transmitted at a time. The particular
control bits are utilized within the phase block, and the phase operation responds
accordingly. The phase control bits are described below.
• Start
The phase start command is enabled by the batch management system for a
phase as it is encountered in a batch. Generally, the start command will begin
the execution of the requested phase and put the phase status in the run state.
When the phase start bit is enabled, none of the remaining phase control bits
will be set. Finally, the batch management system cannot send a request to start
a phase block unless the phase block status is in the ready state.
• Hold
The phase hold command is enabled by the batch management system for a
phase whenever the hold command button is selected. Generally, the hold
command will suspend the execution of the particular phase. When the phase
hold bit is enabled, none of the remaining phase control bits will be set. Finally,
the batch management system cannot send a request to hold a phase block
unless the phase block status is in the run state.
• Restart
The phase restart command is enabled by the batch management system for a
phase whenever the restart command button is selected. Generally, the restart
command will resume the execution of the requested phase, and return the
status of the phase block to the run state. When the phase restart bit is enabled,
none of the remaining phase control bits will be set. Finally, the batch
management system cannot send a request to restart a phase block unless the
phase block status is in the held state.
• Abort
The phase abort command is enabled by the batch management system for a
phase whenever the abort command button is selected. Generally, the abort
command will end the execution of the requested phase and put the phase
status in the aborted state. When the phase abort bit is enabled, none of the
remaining phase control bits will be set. Finally, the batch management system
cannot send a request to abort a phase block unless the phase block status is in
the held state.
464 Chapter 15
• Reset
The phase reset command is enabled by the batch management system for a
phase whenever the phase has completed normally or been aborted. Generally,
the reset command will return all of the phase logic to its original state and put
the phase status in the ready state. When the phase reset bit is enabled, none of
the remaining phase control bits will be set. Finally, the batch management
system cannot send a request to reset a phase block unless the phase block
status is in either the done or aborted state.
Phase Status
The following section describes the principals of phase status.
General
The batch control system recognizes the current status of a phase block through a
series of tags that are mapped to the memory of the control system. One group of
these requests is for monitoring the status of each phase. The status bits available
for each phase are ready, run, held, done, interlocked, and aborted. Only the ready
and done bits are required. When the phase block status changes, either via the
phase logic or from a request from the batch management system, the phase status
word is set accordingly. In the phase block, the phase status word can be
continuously written or written only when the status changes. When a phase status
changes in the control system, the bit associated with that status in the phase status
word is altered. All phase status changes must be transmitted to the batch
management system through the phase status word. It is required that the phase
block be in only one state at a time. The phase status bits are described below.
• Ready
The ready status bit is enabled by the control system for all phases ready to run.
Generally, the ready status bit will be set when there is no execution of the
phase block and everything in the block has been reset and is ready for
execution. When the ready status bit is enabled, none of the remaining phase
status bits may be set. Finally, the batch management system cannot send a
request to start a phase block unless the phase block status is in the ready state.
• Run
The run status bit is enabled by the control system for all executing phases.
Generally, the run status bit will be set when the phase block has been started
or restarted and everything in the block is executing normally. When the run
status bit is enabled, none of the remaining phase status bits may be set.
Finally, the batch management system cannot send a request to hold a phase
block unless the phase block status is in the run state.
• Held
The held status bit is enabled by the control system for all phases that have
been put on hold either by the batch management system or from the
occurrence of a critical alarm. Generally, the phase logic freezes the current
operation in progress, and places the block in the held state. However, the
actual operation of the phase logic while in the held state is application
specific. When the held status bit is enabled, none of the remaining phase
status bits may be set. Finally, the batch management system cannot send a
request to restart or abort a phase block unless the phase block status is in the
held state.
Phase Logic Development and Testing 465
• Done
The done status bit is enabled by the control system for all phases that have
finished their execution. When the done status bit is enabled, none of the
remaining phase status bits may be set. Finally, the batch management system
cannot send a request to reset a phase block unless the phase block status is in
the done, or as will be seen below, the aborted state.
• Interlocked
The interlocked status bit is enabled by the control system for all phases in
which a condition prevents their safe execution. Generally, the interlocked
status bit will be set before the start of execution of the phase block. The
interlocked status represents a condition of the process which prevents proper
operation of the phase block. When the interlocked status bit is enabled, none
of the remaining phase status bits may be set. Finally, the batch management
system cannot send a request to start a phase block if the phase block status is
in the interlocked state.
• Aborted
The aborted status bit is enabled by the control system for all phases that have
been aborted. The only way this bit can be turned on is by placing the phase
block on hold and then selecting the abort option. Therefore, it is impossible to
abort a phase without first placing the phase in hold. When the aborted status
bit is enabled, none of the remaining phase status bits may be set. Finally, the
batch management system cannot send a request to reset a phase block unless
the phase block status is in aborted, or the done state.
Formula Parameters
The following section describes the configuration of formula parameters.
466 Chapter 15
General
The phase block parameters correspond to the temperatures, times, speeds, rates,
quantities, and alarm settings configured in a particular formula for a recipe in the
batch control system. The formula parameters are downloaded to the control system
just prior to the phase start command. The control system receives the desired
values and returns any corresponding actual values. Phase blocks can have no
parameters, or they can have many parameters.
Parameter Types
There are three types of parameters: Input, Output, and Process Variable.
Input parameters are used to define and monitor the addition (input) of a material
to a batch. A common Input parameter is Quantity.
Output parameters are used to define and monitor the production (output) of a
material from a batch. A common Output parameter is Quantity.
Process Variable parameters are used to define how a phase should function when
the phase is executing. Common Process Variable parameters are Temperature,
Speed, Flow Rate, Mix Time, Cook Time, React Time, Hi-Hi Temp Alarm, Hi
Temp Alarm, and Rate of Change Alarm.
High Limit
Low Limit
Target Value
The target value extension is used by the batch control system to transfer a specific
numerical value to the particular phase block that is in operation. This value is one
that has been configured within the batch control system and is specific to the
current recipe as well as the phase block. Generally, the target value parameters will
consist of process temperatures, timer values, and transfer quantities.
Actual Value
The actual value extension consists of a specific numerical value that originates
within the phase block logic and is transferred to batch control system. This value
corresponds with a target value that has been passed to the phase block from the
batch control system, and is usually monitored and displayed in the batch control
system. The values also generally consist of process temperatures, timer values, and
transfer quantities. The comparisons between the target values and corresponding
actual values are used to determine the completion of the respective phase block.
An example of an actual value would be the time remaining as the soak phase block
is operating.
High Deviation
The high deviation extension is a batch control system configured value that
corresponds to a high tolerance limit for the actual value. Generally, should the
actual value become greater than the high deviation value while the phase block is
in the run state, an alarm will be generated.
Low Deviation
The low deviation extension is a batch control system configured value that
corresponds to a low tolerance limit for the actual values. Generally, should the
actual value become less than the low deviation value while the phase block is in
the run state, an alarm will be generated.
High Limit
The high limit extension is a batch control system configured value that
corresponds to the maximum value that can be entered in the recipe for a parameter
target.
Low Limit
The low limit extension is a batch control system configured value that corresponds
to the minimum value that can be entered in the recipe for a parameter target.
468 Chapter 15
Preact
The preact extension value corresponds to the addition of bulk ingredients, and it is
defined as the amount of an ingredient that is discharged from a source after the
command has been given to stop the flow. An example of a preact would be the
extra quantity of an ingredient that is being fed to a scale from a conveyor. When
the desired weight is reached and the conveyor is turned off, there remains some
extra quantity of the ingredient that falls from the conveyor to the scale. The
quantity of this extra amount of an ingredient is called the preact. Automatic
adjustments of the preact must be done in the control system.
Lot Code
The lot code extension is a batch control system configured value that corresponds
to the lot code entered by the operator for an input material.
Material ID
The material id extension is a batch control system configured value that
corresponds to the identification code of the input or output material being moved
by the operator. The material id is assigned in the recipe, but may be changed by the
operator.
Control Buttons
Each phase block may contain two control buttons that are available for whatever
functions the phase block desires. These control buttons are operated from the batch
control system display screen and are transferred to the control system via tags that
are associated with control system memory locations. Examples of control buttons
are the scale reset and tare buttons used during a weighing operation.
Interlocks
Interlocks are conditional statements that are used to prevent the start of a particular
phase block. Phase blocks can have any number of interlocks, as well as share
interlock conditions with multiple phase blocks. The interlocks are found in the
interlock section of the program corresponding to the unit or connection with which
they are associated. Usually, the interlocks correspond to an output device. If a
particular interlock condition exists, the respective interlock bit is set, the phase
status interlock bit is set, and the phase block is unable to be started. Interlock
conditions must be changed for the interlock to clear and the block to become
ready. Also, interlock conditions are disabled if the phase block is in operation.
Some examples of phase block interlocks are listed below.
• Reactor discharge valve open prevents the operation of any phase block that
adds bulk ingredients to the reactor.
• The level in a reactor must be a certain height before the agitator phase block
can be started.
Phase Logic Development and Testing 469
Alarms
Alarms are conditional statements that can be enabled at any time and can alter the
status of a particular phase block. Phase blocks can have any number of alarms. The
alarms are found in the alarm section of the program corresponding to the unit or
connection with which they are associated. Usually, the alarms correspond to an
output device. There are usually two levels of severity associated with alarms for a
given set of conditions. One is an advisory alarm. This alarm may require an
acknowledgment by the operator. However, the advisory alarm does not require an
operator reset, and usually, the phase block does not require a restart command. The
block operation continues as normal. The other alarm is a critical alarm. This alarm
condition usually requires the operator to acknowledge the alarm, reset the alarm,
and restart the phase block. If a particular alarm condition exists, the respective
discrete memory location is enabled, the phase block alarm is set, and if it is a
critical alarm, the phase block status may be altered.
Note It is recommended that, for the safety of process personnel, alarms are
configured as critical alarms whenever possible so that the phase block must be
manually restarted.
Note The Phase Logic testing tool is not included in the Environment Display by
default. You must add the application using Environment Editor.
From this window, phases for any unit or connection can be selected and
executed using the Start, Hold, Restart, Abort, and Reset buttons. You can
also exercise Control buttons and review interlock operation.
File Menu
Use the Phase Logic testing tool File to access system functions for the Phase Logic
testing tool.
File/Exit
Use this command to close the Phase Logic testing tool.
WARNING! It is the responsibility of the user to end and reset all phases before
exiting the Phase Logic testing tool. If a phase is not properly reset, the batch
management system will be unable to successfully use that phase in a batch.
472 Chapter 15
Help Menu
Use the Phase Logic testing tool Help menu to access online help and information
about product version.
Help/Help Topics
Use this command to display help for the Phase Logic testing tool.
Exercising Phases
A phase can be executed very easily from the Phase Logic testing tool. The
following steps are necessary to generate, export, refresh, and print a report.
1. Select the unit or connection that contains the phase that you want to execute
from the Units/Connections list.
The Phases list will update to show the process or transfer phases available for
the selected unit or connection.
2. Select the phase to be executed from the Phases list.
The Parameter list updates to show any formula parameters defined for the
selected phase.
3. To modify any formula parameter value, select the parameter extension in the
Parameter list, enter the new value in the text entry field, and select the
Change button.
The new formula parameter value will be displayed in the Parameter list.
4. Use the buttons at the bottom of the window to send control signals to the
phase.
The Status signals will change to show the current state of the phase.
For more information on the handshaking between the phase control and status
commands, see “Operational Flow Chart” on page 452.
Note It is very important to Reset each phase when the state of the phase is either
Done or Aborted.
5. Click the Interlocks button to view any interlock tags assigned to the phase.
The Interlocks window will display all of the interlock tags and their current
values.
Active-X GUI Controls 473
C H A P T E R 1 6
InBatch Active-X GUI Controls can be used in any compliant Active-X container
to quickly and easily create custom InBatch runtime client interfaces. Suitable
Active-X containers include InTouch WindowMaker and Microsoft Visual Basic.
The GUI controls are new for InBatch 8.0 and take the place of the old InTouch
wizards.
For more information on using WindowMaker, see your online InTouch User's
Guide.
Note You must have the appropriate client licensing in order to successfully use
the InBatch Active-X GUI Controls.
Contents
• Overview
• Configuring InTouch WindowMaker to use InBatch Active-X GUI controls
• Using InBatch GUI Controls
• InBatch GUI Control Descriptions
• Building a Simple Batch Scheduler
• Using the BatchSecurity Control
Overview
Active-X controls are graphical components with built-in execution logic which
can be embedded in any Active-X container application. InTouch Window Maker
and Visual Basic are examples of Active-X containers. The InBatch Active-X GUI
controls connect to the InBatch server and display batch related information to the
user.
Using the GUI controls will help to greatly reduce application development time.
This chapter describes how to use the Active-X GUI controls in the InTouch
WindowMaker environment, but many of the concepts discussed here apply to
Visual Basic or Visual C++ usage as well.
474 Chapter 16
Note The four classes are provided in a single ocx library. In Visual Basic the
single component name to add is "Wonderware InBatch GUI Controls".
To insert a control into an application, click the appropriate wizard and then click
OK. Move the mouse pointer to the required insertion point in the InTouch
application and then single-click the left mouse button.
Sizing of the controls is based on the control type configuration and font selection.
When an InBatch GUI control is double-clicked, a property configuration dialog is
displayed indicating the current configuration.
BatchGuiConfig
Provides central administration of all Batch GUI controls for an application. The
BatchGuiConfig control is invisible at runtime. It has no graphical component. This
control is where the connection to the InBatch Batch Server is configured.
476 Chapter 16
Note The BatchGuiConfig control sets up the connection information that is used
by all Batch GUI controls for an entire application. Once this is done, the
BatchGuiConfig control is no longer required and can actually be removed from
memory without affecting the other controls.
Properties
Host1
Set this property to the host name of the InBatch Batch Server. In a redundant
server architecture, this is the host name of the Primary Batch Server.
Host2
This property is only used with redundant server architectures. Set this to the host
name of the Redundant Batch Server.
AutoInit
When set to 1 (or checked on the property page) this property initializes the
connection to the Batch Server automatically when the control is loaded in a
running application, or the application is switched from design mode to run mode
(e.g. WindowMaker to WindowViewer).
Unit
This is a string set to the unit to focus on when running in Unit-Centric mode. If
this property is left blank, the Batch GUI controls run in Batch-Centric mode.
ServerConnected
Available at Runtime Only. (Not available at design time). Set to 1 when there is an
active connection to the Batch Server.
Active-X GUI Controls 477
Methods
AltSetCancelMsgBox
An alternate method to cancel a Msg Box raised by the ActionError event. (see
ActionError event below). This method has no arguments.
GetOcxBatchObject
Returns a reference to the underlying OcxBatch control. This allows for more
custom control of the interface in VB or VC++ environments. Since this method
returns an object reference, it cannot be used by InTouch. This method has no
arguments.
Init
Initializes the connection to the Batch Server. This is only needed when the
connection is lost if the AutoInit property is set. This method has no arguments.
Term
Terminates the connection to Batch Server. This method has no arguments.
Events
ActionError
Called when a non-server generated error occurs during a batch action. Arguments:
ErrorCode: an integer error code, and CancelMsgBox: an integer reference. Return
1 to the CancelMsgBox argument to prevent the error message box from
displaying.
LostServerConnection
Called when the connection to Batch Server is lost. No arguments
SystemShuttingDown
Called when the Batch Server is shutting down. No arguments
478 Chapter 16
BatchList
Displays live list data. The BatchList control can be configured to be a schedule
list, active batch list, active phase list, parameter list, etc. Any list found on Batch
Display or Batch Scheduler can be configured with the BatchList control.
BatchView:
• Batch (Active Batch List)
• Message List
• Question List
• Transition:
• Transition List
• Tag List
• Allocation Queue List
• Phase Edit:
• Phase List
• Parameter List
• Equipment Allocation:
• Equipment
Active-X GUI Controls 479
• Instance
• Select Equipment:
• Instance
• Equipment
• Phase List (Active Phases)
• Parameter List
• Interlock List
ScheduleEdit:
• Schedule List
• Train List
• Recipe List
Error List
Properties
ColumnHeaders
A comma-separated string to define the column heading names shown on the list
control.
Columns
Available at runtime only. Returns the number of columns in the list. Read Only.
ColumnWidths
A comma-separated string. Defines the widths (in characters) of each column in the
list.
Grid
Sets/returns a value indicating if grid lines are displayed on the control.
Rows
Available at runtime only. Returns the number of rows in the list. Read only.
SelectedRow
Available at runtime only. Sets/returns the currently selected row number. Row
numbers start at 0. -1 indicates no selection.
BackColor
Sets/returns the background color of the list.
ForeColor
Sets/returns the foreground (text) color of the list.
480 Chapter 16
Font
Sets/returns the character font used for the list. This property affects the size of the
control.
Methods
AltSetBusyMessage
Alternate method for setting the list busy message from within the BeforeListBusy
event. (See BeforeListBusy event below)
GetItemColumnValue
Returns the string contained in any cell of the list. Arguments are Row and Column
numbers.
Events
AfterClick
Event called when the control is clicked and after any batch-specific processing is
performed. Passes arguments Row number and Result. The Result value indicates if
it was a double or single click.
AllItemsDeleted
Called after the list has been cleared.
BeforeListBusy
Called before the list is about to indicate that it is busy.
Click
Called when a list item is clicked but before any batch-specific processing is
performed. The row number clicked is passed as an argument.
DblClick
Called when a list item is double clicked but before any batch-specific processing is
performed. The row number double clicked is passed as an argument.
ItemAdded
Called after a list item (row) has been added to the list. The row number of the
added row is passed as an argument.
ItemChanged
Called after a list item (row) has been changed. The row number of the changed
row is passed as an argument.
Active-X GUI Controls 481
ItemDeleted
Called after a list item (row) has been deleted from the list. The old row number of
the deleted line is passed as an argument.
ItemSelected
Called after a list item (row) has been selected. The row number selected is passed
as an argument.
BatchField
The BatchField control is a data field that is linked to a BatchList control. The
BatchField control can be configured very similarly to the BatchList control. The
same hierarchical list of types is available as in the BatchList control, but with an
extra level of detail. Choose the list in the Property page and then the data field of
the list desired. Different BatchField controls have different visual appearances.
While most types look like a simple textbox control, some appear as dropdown
lists, combo boxes, multi-line textboxes, or even checkboxes.
In each case, the node directly above the selected Field type in the property page,
indicates the type of BatchList that the BatchFeild control is associated with. The
linking of the BatchField to the parent BatchList control is automatic. The
BatchField control has been designed to work with the BatchList controls so that no
programming or scripting is required for basic batch functionality. Additional
functionality can be added to the control by using scripting or programming.
482 Chapter 16
Properties
AutoEnabled
Returns the current enabled state of the control. This is read only at runtime. The
internal logic of the control enables and disables the BatchField control
automatically.
Editable
Sets/returns a value indicating if the user may write to the control.
Label
Specifies the text label to display for checkbox-style BatchField controls.
Static
When set to true, the BatchField will display as a label (no surrounding box).
ValueText
Sets/returns the current text value of the control.
BackColor
Sets/returns the background color of the control.
ForeColor
Sets/returns the foreground (text) color of the control.
Font
Sets/returns the font used by the control. Read-Only at runtime. This property
influences the size of the control.
Methods
AltSetCancel
Alternate way to cancel a field value change action from within the BeforeExecute
event
Events
AfterExecute
Called after any action occurs from a field value change
BeforeExecute
Called before any action occurs from a field value change
Active-X GUI Controls 483
StateChanged
Called after the control’s value or enabled state is updated. The Change Type is
passed as an argument.
BatchButton
The BatchButton is a configurable batch action button. Like the BatchField control,
the batchButton control is tied to a BatchList control or in some cases it is linked to
a BatchField control.
Properties
Appearance
Specifies wether the button should be displayed flat or 3-D.
484 Chapter 16
AutoEnabled
Returns the current enabled state of the button. This property is Read-Only. The
internal logic of the control automatically enables and disables the control.
Caption
Specifies an alternate caption text for the button. A default caption based on the
selected button type is used if this property is left blank. The default caption is in
English.
BackColor
Specifies the background color for the button.
ForeColor
Specifies the foreground (text) color for the button.
Font
Specifies the font for the button caption.
Methods
AltSetCancel
Alternate way to cancel a button action from within the BeforeExecute event.
Execute
Forces the buttons action to execute without having the user click it.
Events
AfterExecute
Called after any action occurs from a button click.
BeforeExecute
Called before any action occurs from a button click.
StateChanged
Called after a button’s caption or enabled state is updated. The Change Type is
passed as an argument.
Tip BatchGuiConfig buttons may appear very large on the screen. Once you
determine a usable size by resizing the control, you can use the InTouch "duplicate"
feature to create additional instances of the button and then configure each as the
button type you require.
If you are running InTouch on the InBatch server, you do not need to configure the
control for the host name. If the InBatch Server is running on another machine, you
must configure the Host1 property of the BatchGuiConfig control to the node name
of the Batch Server. If the Host1 property is left blank, then the local node is
assumed to be the Batch Server.
The BatchList control will configure itself as a Schedule list, complete with column
headings.
Select the Batch Field tab and open the ScheduleEdit folder in the treeview.
You will notice the schedule list is now a folder and it contains all the BatchField
types associated with the schedule list. Choose the Campaign entry and click the
Apply button at the bottom of the property page.
Now copy this control and configure the copies to be the Lot, Batch, Recipe, Size,
Train, Mode, Status, and ExecuteInOrder fields. Notice that the Mode field will
appear as a dropdown list, the Status is not Editable since this is a Read Only field,
and the ExecuteInOrder BatchField becomes a checkbox control.
Copy this control seven (7) more times and configure the copies as the Delete,
Change, CleanUp, Initialize Batch, Initialize All, Move Up, and Move
Down buttons as shown.
UnilinkMngr
Always required.
MemTagMngr
Creates the InBatch Memory Tags
SimMngr
(or IBCli)
SimMngr simulates the phases. IBCli is hooked up to real I/O.
InfoMngr
Required for ActiveX client controls: OcxBatch, BatchSFC, and BatchGUI.
BatchMngr
The Batch Engine. Always Required.
Note By default the IBServ application is also in the runtime list and while not
required, it won’t hurt by being there. IBServ is responsible for serving up InBatch
tag information to DDE or SuiteLink clients. The BatchGUI controls do not use tag
communications, so IBServ is not required. You may wish to use some of the
InBatch system tags elsewhere in your InTouch client application however, so then
IBServ would be required.
Bring up the Runtime Application Display and click the Start All button.
490 Chapter 16
Note The Recipe and Train fields can be populated from the Recipe List and Train
List BatchList controls respectively. These can be added on this window or as a
separate pop-up window, etc.
Clicking the Wizards icon from the InTouch toolbar accesses the installed Active-X
controls.
To insert the control into an application, click the BatchSec icon and then click OK.
Move the mouse pointer to the desired window in the InTouch application and then
single-click the left mouse button to drop the control onto the window.
The BatchSecurity control will not be visible at runtime, but it is best to keep it out
of the way of other controls in the application by placing it in a remote corner.
Properties
AutoInit
When set to 1 (or checked on the property page) this property initializes the
connection to the Batch Server automatically when the control is loaded in a
running application, or the application is switched from design mode to run mode
(e.g. WindowMaker to WindowViewer). The Security Manager service on the
Batch Server must be running in order for the control to connect.
CheckByPassword
Set this string property to the password for the Check-By user. This property is used
for the windowless function clearance checks. It’s use is described later in this
chapter
CheckByUserID
Set this string property to the User ID for the Check-By user. This property is used
for the windowless function clearance checks. It’s use is described later in this
chapter
DoneByPassword
Set this string property to the password for the Done-By user. This property is used
for the windowless function clearance checks. It’s use is described later in this
chapter
Active-X GUI Controls 493
DoneByUserID
Set this string property to the User ID for the Done-By user. This property is used
for the windowless function clearance checks. It’s use is described later in this
chapter
Host1
Set this property to the host name of the InBatch Batch Server. In a redundant
server architecture, this is the host name of the Primary Batch Server.
Host2
This property is only used with redundant server architectures. Set this to the host
name of the Redundant Batch Server.
LastErrorCode
Returns the error code (integer) of the most recent security request. A zero (0)
indicates no error.
LastErrorMessage
Returns the error message (string) of the most recent security request.
LastErrorRetriesExceeded
Returns the retries exceeded status (integer) of the most recent security request. The
value is 1 if the retry limit has been exceeded. Otherwise, it is 0. Retries exceeded
status can be cleared with the ResetRetries() method (see below).
SecurityPending
Returns a value (integer) indicating if a security request is pending. A non-zero
value indicates a pending request. A zero (0) indicates no requests are pending. Any
pending requests can be cancelled with the AbortPendingSecurity() method (see
below).
PortRedMngr
This property is the user setting for the tcp application port definition used by the
Redundancy Manager (RedMngr) on the batch server. It defaults to 9006 and
should be the same as the tcp port definition for RedMngr on the batch server. This
definition is found in the WINNT\system32\drivers\etc\services file on the batch
server.
PortSecMngr
This property is the user setting for the tcp application port definition used by the
Security Manager (SecMngr) on the batch server. It defaults to 9004 and should be
the same as the tcp port definition for SecMngr on the batch server. This definition
is found in the WINNT\system32\drivers\etc\services file on the batch server.
494 Chapter 16
Methods
AbortPendingSecurity()
This method aborts any pending security requests. If a security dialog is open, it
will close it. There is no return code.
ChangeUserPassword(UserID, OrigPassword,
NewPassword)
This method allows a user, identified by UserID (string), to change their password.
They must supply their valid, current password in the OrigPassword (string)
argument in order for the change to take effect. The password is set to
NewPassword (string). The function returns an integer Result code
(secResultType).
GetApplicationName(ApplicationID)
Returns the name (string) of the secutiry application identified by the
ApplicationID (long) argument.
GetFunctionName(ApplicationID, FunctionID)
Returns the name (string) of the security function identified by the ApplicationID
(long) and FunctionID (long) arguments.
GetUserName(UserID)
Returns the name (string) of the user identified by the UserID (string) argument.
Active-X GUI Controls 495
Init()
Initializes a connection to the Security Manager service running on the Batch
Server identified by the Host1 or Host2 property. The Init method first attempts to
connect to the batch server on Host1, and then attempts Host2. (See Host1 and
Host2 properties above). The security manager service must be running in order to
be successful.
QueryApplicationSecurity(ApplicationID)
Returns an integer (secRequestType) indicating if security is required for the
application identified by ApplicationID (long). The return value is 0 if no security
is required to access the application, and 3 if security is required.
QueryFunctionSecurity(ApplicationID, FunctionID)
Returns an ineteger (secRequestType) indicating what security is required for the
function identified by ApplicationID (long) and FunctionID (long). The return
value is 0 if no security is required to access the function, 1 if DoneBy security is
required
ResetRetries()
Resets the retry count for authentication attempts. The limit for retries is configured
in the InBatch security system. When the limit is reached, an error results.
Term()
Terminates the connection to the InBatch Security Manager.
Events
ApplicationClearanceComplete(Result, ApplicationID,
UserData)
This event is raised after a ApplicationClearance method has been called and any
security dialogs or other information has been provided to the security system. The
Result (secResultType) argument contains the result code: 0 if the clearance request
was successful, 1 if not.
FunctionClearanceComplete(Result, ApplicationID,
FunctionID, UserData)
This event is raised after a FunctionClearance method has been called and all
security dialogs or other information has been provided to the security system. The
Result (secResultType) argument contains the result code: 0 if the clearance request
was successful, 1 if not.
496 Chapter 16
RequestUserInfo(RequestType, ApplicationID,
ApplicationName, FunctionID, FunctionName, UserData)
This event will be called when you are using a secWindowType of
secWindowlessEvent with the ApplicationClearance or FunctionClearance
methods. It is called when the clearance request needs some information. If
RequestType is secRequestApplication or secRequestDoneBy, you need to set the
DoneByUserID and DoneByPassword properties before returning from this event.
If RequestType is secRequestCheckBy, you need to set the CheckByUserID and
CheckByPassword properties before returning. This event may be called repeatedly
until you have returned proper credentials. You may call the AbortPendingSecurity
method within this event to cancel the security request. You may also use the
LastErrorCode and/or LastErrorMessage properties to determine if there is a
previous access error to report to the user. The other arguments passed into this
event are the values passed into the ApplicationClearance or FunctionClearance
method, except for the ApplicationName and FunctionName arguments, which are
useful if you need to prompt the user for the information.
Enumerations
The following enumeration sets are used by the BatchSecurity control.
secWindowType
This value is used as an argument to the ApplicationClearance and
FunctionClearance methods. The value of the WinType argument determines the
behavior of the security dialogs and how the user must interact with the security
system.
secWindowModal (0)
This type will prompt the user for information as required using a Modal security
dialog. Therefore, the clearance call will not return until a result has been
determined
Active-X GUI Controls 497
secWindowModeless (1)
This type will prompt the user for information as required using a Modeless
security dialog. Therefore, the clearance call will return immediately with a result
of secResultPending, and the actual result will be returned through a
*ClearanceComplete event.
secWindowlessEvent (2)
This type will request information as required by firing RequestUserInfo and/or
RequestNewPassword events. The program can then provide the required
information by setting various properties on the control from within the event. It is
a modal interface, meaning the clearance call will not return until a result has been
determined. However, there is no built-in security dialog presented to the user. This
window type is designed to allow the designer to create their own security dialog(s)
which would be invoked when the RequestUserInfo and RequestNewPassword
events are raised.
secWindowlessCheck (3)
This type will perform a simple one-shot access check, using information provided
before the clearance method is called. It can be used when you already know the
level of security required and the clearance information. The result of the clearance
request will be known upon return. When using this type of clearance check, you
will need to set the DoneByUserID, DoneByPassword, CheckByUserID, and
CheckByPassword properties (as needed) before calling the clearance method. You
can determine which ones are required by calling the QueryApplicationSecurity
and/or QueryFunctionSecurity methods.
secResultType
Many of the functions return one of the following result types. The
LastErrorMessage and LastErrorCode properties can be used to dig deeper into
what a specific problem was.
secResultOk (0)
Clearance was granted OR the method succeeded
secResultFail (1)
Clearance was not granted OR the method had some other failure
secResultPending (2)
Clearance was not yet granted and the result will be returned later OR another
security request is pending, so you cannot perform this action at this time.
secRequestType
This type is mainly used when the control is requesting information through one of
the Request* events. It specifies what information the security clearance is
currently requesting.
498 Chapter 16
secRequestNone (0)
This type is never passed into the Request events, but can be returned by the
Query* methods to specify that no security is required for the queried
application/function.
secRequestDoneBy (1)
This type is passed into the Request* events when DoneBy information is required
to complete a function security clearance request. It can also be returned by the
QueryFunctionSecurity method to specify that DoneBy security is required for the
queried function.
secRequestCheckBy (2)
This type is passed into the Request* events when CheckBy information is required
to complete a function security clearance request. It can also be returned by the
QueryFunctionSecurity method to specify that DoneBy and CheckBy security is
required for the queried function.
secRequestApplication (3)
This type is passed into the Request* events when DoneBy information is required
to complete an application security clearance request. It can also be returned by the
QueryApplicationSecurity method to specify that DoneBy security is required for
the queried application.
A second script is required for a modeless dialog. Its an event script on the
BatchSec control FunctionClearanceComplete Event. It gets called when the
security information is finally filled out by the operator.
IF #ThisEvent.FunctionClearanceCompleteUserData == 101
THEN
XV101_MAN = 1;
ENDIF;
IF #ThisEvent.FunctionClearanceCompleteUserData == 102
THEN
XV102_MAN = 1;
ENDIF;
ELSE
ENDIF;
Note The WindowlessEvent window type should not be used with InTouch.
The following code sample is of a Visual basic application wishing to use InBatch
security. The command button, Command1 has some secured functionality.
Private Sub Command1_Click()
BatchSec1.FunctionClearance MyApp, MyFunc, "", _
secWindowlessEvent, MyUserData
End Sub
frmSecDialog.lblApplication.Caption = ApplicationName
frmSecDislog.lblFunction.Caption = FunctionName
Select Case RequestType
Case secRequestType.secRequestApplication
frmSecDialog.lblLevel.Caption = "Application"
frmSecDialog.Show vbModal
BatchSec1.DoneByUserID = frmSecDialog.UserID.Text
BatchSec1.DoneByPassword = _
frmSecDialog.Password.Text
Case secRequestType.secRequestDoneBy
frmSecDialog.lblLevel.Caption = "Done By"
frmSecDialog.Show vbModal
BatchSec1.DoneByUserID = frmSecDialog.UserID.Text
BatchSec1.DoneByPassword = _
frmSecDialog.Password.Text
Case secRequestType.secRequestCheckBy
frmSecDialog.lblLevel.Caption = "Check By"
frmSecDialog.Show vbModal
BatchSec1.CheckByUserID = frmSecDialog.UserID.Text
BatchSec1.CheckByPassword = _
frmSecDialog.Password.Text
End Select
End Sub
ENDIF;
{Reset Security Check Window fields}
SEC_USERID = "";
SEC_PASSWORD = "";
C H A P T E R 1 7
InBatch Wizards give InTouch users the ability to create their own customized
batch displays. The InBatch Wizards are installed in the InTouch directory during
InBatch Batch Runtime Client installation. They are accessible from InTouch
WindowMaker.
For more information on using WindowMaker, see your online InTouch User's
Guide.
Note You must have the appropriate client licensing in order to successfully use
the InBatch wizards.
Contents
• Overview
• InBatch Wizard Access Names and Support Tags
• Using InBatch Wizards
• InBatch Wizard Descriptions
• InBatch Wizard Data Change Script
Overview
An InBatch Wizard is a predefined set of graphical objects and animation links that
provide InTouch applications with the ability to perform batch control and
monitoring.
Wizards help reduce application development time. Wizards are inserted into an
InTouch application window by selecting the Wizards icon from the WindowMaker
toolbar. When a wizard is placed on a window, graphical objects are drawn,
animation links are created and all of the tags required for the wizard are generated
in the InTouch Tagname Dictionary. When a wizard is double-clicked, a
configuration dialog box appears. A list of the properties that can be configured is
displayed.
When a wizard is selected, large control handles surround it. A wizard can be scaled
by clicking and dragging one of the control handles. Wizards can be separated into
individual, ungrouped graphical components by selecting it then choosing the
WindowMaker Arrange/Break Cell menu option. Once broken, a wizard simply
becomes a set of InTouch graphical objects with their respective animation links.
506 Chapter 17
Note Wonderware has taken great care in organizing each wizard so that the
graphical objects within it are proportionately sized and spaced for visual appeal.
The Wizards often contain complex action scripts and expressions to ensure proper
functionality. A thorough understanding of the Tag Interface Management (TIM)
subsystem is recommended when breaking apart InBatch Wizards.
Note With the exception of the Topic Name, this information will be defined
automatically if the exported csv file from the Tag Linker application is loaded into
the InTouch application using the DBLOAD utility.
For more information on using the Tag Linker application, see Chapter 5, "Tag
Linker."
The tags automatically created when an InBatch wizard is used are listed below
along with a description of each.
InTouch Batch Wizards 507
Tag Description
IB_TIM_ACCESS_TAG Used by the TIM tags in the InTouch application. Initial value should
refer to the InBatch Server, "\\batchserver\IBServ|View1".
IB_SEC_DIALOG_TAG Used to enable client security.
IB_RESULT_TAG Contains results of using the batch script-add-on functions.
For more information on configuring client security, see Chapter 20, "InTouch
Client Security."
For more information on using the batch script add-on functions, see Chapter 18,
"InTouch Script Add-On Functions."
To insert a wizard into an application, click the appropriate wizard and then click
OK. Move the mouse pointer to the required insertion point in the InTouch
application and then single-click the left mouse button.
InBatch wizard scaling is based on font properties. The relative positioning of all
text and graphics within the InBatch wizard is font dependent. Wizards can also be
scaled by selecting the wizard and then dragging the large control handles. When a
wizard is initially placed on an application window, it is assigned (by default) an 10
point bold, Courier New font style. Courier New is a fixed pitch font, that is; the
width of all characters, including spaces, is the same. This is necessary for proper
list alignment within the InBatch wizard. Use of non-proportional fonts is not
recommended and can result in misalignment of graphical objects and text.
508 Chapter 17
Note Use the control handle dragging method to change the width and height of a
wizard. If you want to change the overall size of the InBatch wizard, change the
font size. If a different font style is selected, all previous wizard scaling is lost.
Batch Scheduler/Dispatcher
Provides the necessary tags and user interface for batch scheduling and
initialization.
InTouch Batch Wizards 509
Note The InBatch server Batch Scheduler application provides the capability to
view lists of Recipes and Trains when making modifications to the schedule list.
These lists have not been added to the Batch Scheduler/Dispatcher wizard, but the
information is available in the Tag Interface Management (TIM) System and can be
incorporated into the InTouch application.
For more information on using the TIM System, see Chapter 22, "Tag Interface
Management (TIM) System."
Displays a list of all active batches. Campaign, Lot, Batch, Recipe, Status and
Action information is provided. Use this wizard in conjunction with all wizards for
which batch-centric focus (information concerning a single selected batch) is
required. Refer to each wizard description and associated notes.
510 Chapter 17
Note The Active Batch List wizard must be used in conjunction with other
wizards as noted in this section. This wizard is used to select batches and (in
conjunction with the other wizard(s) and data change script) update all windows to
reflect the currently selected batch.
Batch Messages
Note At runtime, the information displayed by this wizard is dependent upon the
item selected from the active batch list. You must use the Active Batch List Wizard
and the data change script in order for these wizards to properly function.
Allows the user to change the current batch mode. Batch mode can be set to
Automatic, Semi-Automatic or Manual.
InTouch Batch Wizards 511
Displays a list of all batch questions and provides the ability to close the window.
Note At runtime, the information displayed by this wizard is dependent upon the
item selected from the active batch list. You must use the Active Batch List Wizard
and the data change script in order for these wizards to properly function.
Batch Questions
Note At runtime, the information displayed by this wizard is dependent upon the
item selected from the active batch list. You must use the Active Batch List Wizard
and the data change script in order for these wizards to properly function.
512 Chapter 17
Button
The button wizard can be configured for all phase, batch and miscellaneous type
actions. The button wizard provides 57 functions. The table that follows describes
the possible configurations and the required parameters for each. To activate the
InBatch Wizard dialog, double-click the button wizard.
For more information on the Batch Action script add-on function, see Chapter 18,
"InTouch Script Add-On Functions."
InTouch Batch Wizards 513
Button Configuration
Batch
Name Parameters Action
Batch Abort *Animation When Inactive 19
Batch Comment * 38
Batch Hold *Animation When Inactive 20
Batch Mode: Set to Automatic *Animation When Inactive 23
Batch Mode: Set to Manual *Animation When Inactive 25
Batch Mode: *Animation When Inactive 24
Set to Semi-Automatic
Batch Restart *Animation When Inactive 21
Batch Start *Animation When Inactive 22
Edit Phase and Parameter: *Animation When Inactive 44
Change Parameter
Edit Phase and Parameter: *Animation When Inactive 43
Change Phase
Equipment: Allocate *Animation When Inactive 13
Equipment: Release *Animation When Inactive 14
Equipment: Select *Animation When Inactive 39
Equipment: Unit Abort *Animation When Inactive 15
Equipment: Unit Hold *Animation When Inactive 16
Equipment: Unit Restart *Animation When Inactive 17
Errors: Clear 12
Focus Change: Batch Messages 27
Focus Change: Batch Schedule 26
Focus Change: 42
Edit Phase and Parameter
Focus Change: Equipment 18
Focus Change: Recipe 28
Focus Change: 47
View/Force Transition Logic
Phase Abort *Animation When Inactive 29
Phase Comment *Animation When Active or Inactive 34
Phase Hold *Animation When Inactive 30
Phase Restart *Animation When Inactive 31
Phase Start *Animation When Inactive 32
Phase: Ack Document *Animation When Active or Inactive 50
Phase: Ack On Entry *Animation When Inactive 33
Phase: Ack On Exit *Animation When Active or Inactive 33
Phase: Change Parameter *Animation When Inactive 37
Phase: Set Control Button #1 *Animation When Inactive 35
Phase: Set Control Button #2 *Animation When Inactive 36
Phase: View Document *Animation When Active or Inactive 49
514 Chapter 17
Batch
Name Parameters Action
Question: Answer No *Animation When Inactive 41
Question: Answer Yes *Animation When Inactive 40
Save Recipe: Overwrite 46
Save Recipe: Verify 45
Schedule Edit: Add 1
Schedule Edit: Change Animation When Inactive 3
Schedule Edit: Clean-up 5
Schedule Edit: Delete Animation When Inactive 4
Schedule Edit: Initialize 6
Schedule Edit: Initialize All 7
Schedule Edit: Move Down Animation When Inactive 9
Schedule Edit: Move Up Animation When Inactive 8
Schedule Edit: Multi-Add 2
Schedule Edit: Set Animation When Inactive 11
Execute In Order Mode OFF
Schedule Edit: Set Animation When Inactive 10
Execute In Order Mode ON
Transition Logic: Force Animation When Inactive 48
Window Hide: HideSelf
Window Show: Window Name Required,
Batch Messages Wizard Animation When Active
Window Show: Window Name Required,
Batch Questions Wizard Animation When Active
Window Show: Window Name Required,
Equipment Selection Wizard Animation When Active
Window Show: Window Name Required,
Error Wizard Animation When Active
Window Show: Window Name Required
Phase Comment Wizard
Window Show: Window Name Required
Phase Interlocks Wizard
Window Show: Window Name (optional)
Show "Window Name"
Batch Comments
Note At runtime, the information displayed by this wizard is dependent upon the
item selected from the active batch list. You must use the Active Batch List Wizard
and the data change script in order for these wizards to properly function.
Allows pending batch phase logic to be viewed. Also provides the ability to force
the state of transition logic expressions.
516 Chapter 17
Note At runtime, the information displayed by this wizard is dependent upon the
item selected from the active batch list. You must use the Active Batch List Wizard
and the data change script in order for these wizards to properly function.
Note At runtime, the information displayed by this wizard is dependent upon the
item selected from the active batch list. You must use the Active Batch List Wizard
and the data change script in order for these wizards to properly function.
List of parameters for the active phase. A button to change values is provided.
Note At runtime, the information displayed by this wizard is dependent upon the
item selected from the active batch list. You must use the Active Batch List Wizard
and the data change script in order for these wizards to properly function.
InTouch Batch Wizards 517
An editor which allows editing of phases and parameters either before or after the
execution of a phase.
Note At runtime, the information displayed by this wizard is dependent upon the
item selected from the active batch list. You must use the Active Batch List Wizard
and the data change script in order for these wizards to properly function.
518 Chapter 17
Phase Instructions
Note At runtime, the information displayed by this wizard is dependent upon the
item selected from the active batch list. You must use the Active Batch List Wizard
and the data change script in order for these wizards to properly function.
Phase Interlocks
Note At runtime, the information displayed by this wizard is dependent upon the
item selected from the active batch list. You must use the Active Batch List Wizard
and the data change script in order for these wizards to properly function.
InTouch Batch Wizards 519
Phase Comments
Note At runtime, the information displayed by this wizard is dependent upon the
item selected from the active batch list. You must use the Active Batch List Wizard
and the data change script in order for these wizards to properly function.
Note At runtime, the information displayed by this wizard is dependent upon the
item selected from the active batch list. You must use the Active Batch List Wizard
and the data change script in order for these wizards to properly function.
520 Chapter 17
Equipment Allocation
Provides the capability to view status and manually allocate and release units and
connections. Also provides the capability to issue Unit Hold, Unit Restart, and Unit
Abort commands on the selected unit.
Note At runtime, the information displayed by this wizard is dependent upon the
item selected from the active batch list. You must use the Active Batch List Wizard
and the data change script in order for these wizards to properly function.
InTouch Batch Wizards 521
Equipment Selection
Note At runtime, the information displayed by this wizard is dependent upon the
item selected from the active batch list. You must use the Active Batch List Wizard
and the data change script in order for these wizards to properly function.
Saves a control recipe to the recipe database. Provides radio buttons to optionally
Save Runtime Equipment and Retain Recipe Approvals.
Batch Errors
Note This wizard does not automatically activate when an error(s) occurs.
Wonderware recommends that you configure your InTouch application to provide a
means of alerting the operator of the error(s). This could be a button which flashes
when an error(s) occur and then when clicked, shows the window containing the
Batch Errors Wizard.
The purpose of the script is to update the contents of all displayed information on
the active window to reflect the selected batch in the Active Batch List wizard. The
comments provided describe how the script functions.
For more information on the batch script add-on functions, see Chapter 18,
"InTouch Script Add-On Functions."
ENDIF;
ENDIF;
524 Chapter 17
Note This script can be used for any TIM list. Just replace the "numitems" and
"select" tag with corresponding tags from any other TIM list.
C H A P T E R 1 8
There are several InTouch Script Add-On Functions included with the InBatch
system. These functions provide the capability to enable the alarm and event
interface, as well as read and write (request and poke) InBatch tags from within
InTouch. These functions are faster than the standard WWPoke and WWRequest
functions and should be used for all pokes and requests to InBatch Tag Interface
Management (TIM) tags. Eighteen Script Add-On Functions are added to InTouch
during the Batch Runtime Client installation. Eleven of these are specific to the
current release of InBatch. The other seven are included for backward
compatibility.
For more information on InTouch scripting, see your InTouch User's Guide.
Contents
• Overview
• Script Add-On Function Descriptions
• Obsolete DDE Script Add-On Functions
• Script Add-On Function Error Reference
526 Chapter 18
Overview
Script Functions are InTouch commands which can be used to perform various
string, math, file, and communications actions. There are also add-on functions that
can be included within InTouch to work with external applications. InBatch
provides several of these add-on functions for enabling alarming and
communication between InTouch and InBatch. The InBatch enabled
communication add-on functions provide the same capability as the built-in
WWPoke and WWRequest functions but will keep the conversation open between
successive calls. The functions are therefore faster when doing multiple pokes
and/or requests to the same application/topic.
Caution! The Script Add-On Functions can be used in all types of InTouch
scripts, but should not be used in expressions for InTouch animation links.
Protocol Usage
By default, the script add-on functions provided by InBatch use a proprietary
protocol and communicate with the InBatch Information Manager (InfoMngr)
application. Therefore, by default, these functions cannot be used to communicate
with external applications using the DDE protocol. This protocol can be changed to
DDE by using the ibConfig add-on function.
Note Wonderware recommends that the default protocol be used for all
communication between InTouch and InBatch.
ibAlarmEventHost
This function allows the user to specify the host name of the primary InBatch server
to log the alarm and event data. The function is useful for switching the host in the
event of a redundant batch server fail-over.
Syntax
ibAlarmEventnHost(HostName);
where:
Example
{Set host name to "IBSERV2"}
ibAlarmEventHost("IBSERV2");
ibAlarmEventInit
This function initializes the batch-oriented alarm and event logging of a client node.
Before this function is called, any alarms or events that occur will be cached. They
will be logged after initialization has been done. Alarms and events that occur after
initialization are also cached and written to history on a timer. This routine does let
you set the behavior of the cache but this feature should be used with care. You can
enter a 0 value for the Timer, Write, Warning, and Toss arguments to get the default
cache behavior. The Event_Mask argument allows you to selectively determine
which events will be logged. SYS events are never logged.
For more information on the InBatch and InTouch alarm/event interface, see
Chapter 21, "Client Alarm/Event Interface."
Syntax
ibAlarmEventInit( Host, Obsolete, Alarm_Node, Timer, Write,
Warning, Toss, Event_Mask );
where:
Example
The following script initializes alarm and event logging for the node:
ibAlarmEventInit( "hostA", "", 0, 0, 0, 0, 0 );
ibAlarmNode
This function enables/disables alarm logging for a node. Typically, only one client
node will enable alarm logging. However, if you have several alarm sources then
you may want to enable alarm logging on several client nodes. Even with alarm
logging disabled, operator action events are still be logged to history.
Syntax
ibAlarmNode(Yes_No);
where:
Example
{Enable alarm logging for the node}
ibAlarmNode(1);
InTouch Script Add-On Functions 529
ibBatchAction
Performs a specific batch action. Refer to the Batch Action Reference table for
batch action values.
Syntax
ibBatchAction(App_Topic_Text, Action_Num, SecurityFlag,
ResultTag);
where:
For more information on defining InBatch client security, see Chapter 20,
"InTouch Client Security."
ResultTag (Integer tag)
Contains the result code of the function call. A negative value indicates an error.
A Value of one indicates security is enabled for this action and a security check is
pending. In this case, the operator will be presented with a security dialog box to
enter their user name and password information.
Once the user enters this information or clicks Cancel on the security dialog,
InBatch will again update this tag. A value of zero (0) indicated the security check
is successful. A value of two (2) indicates the operator pressed the Cancel button.
A negative value (<0) indicates an error.
The tag IB_RESULT_TAG used by the InBatch wizards is placed in this field by
default when the function is inserted into a script. If security is not enabled, a
different integer tag may be substituted, otherwise IB_RESULT_TAG must be
used.
Important! This function will return immediately and InTouch script processing
will continue even if a security check is needed for the batch action.
Example
{Start the Selected Batch}
530 Chapter 18
ibConfig
This function allows you to choose the protocol to use for the communications
functions (i.e. ibPokeStr, etc.). By default, an internal InBatch proprietary protocol
is used and all communications go to the Information Manager (InfoMngr)
application on the Batch Server. This is a very reliable communications interface
and was implemented to provide an option to the DDE interface.
Note Wonderware recommends that the add-on script functions utilize the default
protocol and be used to communicate with InBatch only. However, for backward
compatibility, this function can be used to change to the DDE protocol.
Syntax
ibConfig(Protocol_Num);
where:
Example
{Enable the DDE protocol}
ibConfig(0);
InTouch Script Add-On Functions 533
ibPokeDisc
This function pokes a discrete ( 0 or 1 ) value into the specified item.
Note By default, this function can only be used to communicate with InBatch. The
default protocol must be changed to DDE using the ibConfig function to
communicate with other tag servers (i.e. IO Servers, Excel, etc.).
Syntax
ibPokeDisc(App_Topic_Text, ItemName_Text, Value_Disc,
ResultTag);
where:
Example
{Poke a value of 0 to a discrete tag}
ibPokeDisc("IBSERV|View1", "MyDiscreteTag", 0, IB_RESULT_TAG);
ibPokeInt
This function pokes an integer value into the specified item.
Note By default, this function can only be used to communicate with InBatch. The
default protocol must be changed to DDE using the ibConfig function to
communicate with other tag servers (i.e. IO Servers, Excel, etc.).
Syntax
ibPokeInt(App_Topic_Text, ItemName_Text, Value_Int,
ResultTag);
where:
534 Chapter 18
Example
{Poke a value of 5 to an integer tag}
ibPokeInt("IBSERV|View1", "MyIntegerTag", 5, IB_RESULT_TAG);
ibPokeStr
This function pokes a string value into the specified item.
Syntax
ibPokeStr(App_Topic_Text, ItemName_Text, Value_Text,
ResultTag);
where:
Example
{Poke a value of "Hi There!" to a string tag}
ibPokeStr("IBSERV|View1", "MyStringTag", "Hi There!",
IB_RESULT_TAG);
InTouch Script Add-On Functions 535
ibRequestDisc
This function returns the discrete data value of the specified item.
Syntax
DiscreteTag = ibRequestDisc(App_Topic_Text, ItemName_Text,
ResultTag);
where:
Example
{Read a discrete tag value and write to another discrete tag}
AnotherDiscreteTag = ibRequestDisc("IBSERV|View1",
"MyDiscreteTag", IB_RESULT_TAG);
ibRequestInt
This function returns the integer data value of the specified item.
Syntax
IntegerTag = ibRequestInt(App_Topic_Text, ItemName_Text,
ResultTag);
where:
Example
{Read an integer tag value and write to another integer tag}
AnotherIntegerTag = ibRequestInt("IBSERV|View1",
"MyIntegerTag", IB_RESULT_TAG);
ibRequestStr
This function returns the string data value of the specified item.
Syntax
MessageTag = ibRequestStr(App_Topic_Text, ItemName_Text,
ResultTag);
where:
Example
{Read a string tag value and write to another string tag}
AnotherStringTag = ibRequestStr( "IBSERV|View1",
"MyStringTag", IB_RESULT_TAG);
ibTermTopic
This function terminates a connection.
Syntax
ibTermTopic(App_Topic_Text, ResultTag);
where:
InTouch Script Add-On Functions 537
Example
{Terminate a connection}
ibTermTopic("IBSERV|View1", IB_RESULT_TAG);
Note The DDE in the name does not mean the function is using DDE as its
communications protocol. These functions will still use the protocol defined by the
ibConfig function.
ibDdePokeDisc
Please refer to ibPokeDisc.
ibDdePokeInt
Please refer to ibPokeInt.
ibDdePokeStr
Please refer to ibPokeStr.
ibDdeRequestDisc
Please refer to ibRequestDisc.
ibDdeRequestInt
Please refer to ibRequestInt.
538 Chapter 18
ibDdeRequestStr
Please refer to ibRequestStr.
ibDdeTermTopic
Please refer to ibTermTopic.
C H A P T E R 1 9
Contents
• Overview
• Define Batch Tag Sources
• Remote Referencing Batch Tags
540 Chapter 19
Overview
There are three general categories of InBatch tags: Equipment Tags, TIM Tags, and
Batch Function Tags. The equipment tags refer to the phase control and status tags
and the phase formula parameter tags. The TIM tags are used by the InBatch
wizards to provide batch management information on the client. The batch function
tags provide access to the batch management system hooks. In order to use any of
these tags in an InTouch client application, the tag must be accessible to the
application.
There are three methods available for making these tags available in the InTouch
application.
1. Manually define the tags in InTouch.
2. Use the Tag Linker to export a .csv file that is imported into InTouch using the
DBLOAD utility.
For more information on exporting tags using Tag Linker, see Chapter 5, "Tag
Linker."
3. Use the InTouch browsing capability to reference the batch tags without having
to create the tags in the InTouch Tagname Dictionary.
This section describes the steps that are required to enable browsing of InBatch tags
from InTouch and remotely reference the tags in InTouch without having to
maintain the tags in the tagname dictionary.
There are only two required steps.
1. Define the batch tag sources in InTouch.
2. Use the batch tags in the InTouch application.
Note Batch Function Tags are not accessible through the InTouch tag browser.
InTouch Batch Tag Browsing and Referencing 541
2. Select the Define Tag Sources button. The Define Tag Sources dialog box
appears.
5. Use the tags from each source in the InTouch application as required. Change
the Tag Source to view the different batch tags available.
544 Chapter 19
C H A P T E R 2 0
The InBatch Security System can be used to define security for InBatch server
applications. Also, included in this security system is an application and the related
functions required for defining security from an InBatch client.
For more information on using the InBatch Security System, see Chapter 13,
"Security System."
Contents
• Overview
• Configuring InBatch Client Security
• InBatch Client Security Operation
Overview
The InBatch Security System defines security for InBatch server applications and
InBatch client applications. All security requests performed from clients are
evaluated by the InBatch security system. Function clearance is granted or denied
based on the user and password information provided from the client and the
security configuration defined in InBatch.
546 Chapter 20
InTouch
WindowViewer
(ibdde.dll)
Batch Server
InBatch Server
(IBServ)
Security
Database
5. Define operator stations for each client instance. The Name will consist of the
Client Type defined in the Tag Linker with the appropriate instance number
appended. This will permit independent user security access from each Batch
Runtime Client.
Note Do not enable security for the Batch Client application in the InBatch
Security Editor. Enable security only for the functions within the Batch Client
application.
2. If you are using InBatch wizards in the InTouch environment, set the initial
value of the tag, IB_SEC_DIALOG_TAG, to On. This enables security from
all of the InBatch Wizards and Script Add-On functions.
3. If individual TIM functions and tags are used in an InTouch application that
requires security, always use the ibBatchAction add-on script and either set the
IB_SEC_DIALOG_TAG initial value to On or pass a value of "1" to the
ibBatchAction function.
The following example assumes that the IB_SEC_DIALOG_TAG is enabled.
ibBatchAction( IB_TIM_ACCESS_TAG, 3, IB_SEC_DIALOG_TAG,
IB_RESULT_TAG );
548 Chapter 20
Note If InBatch client security is enabled, always use the ibBatchAction add-on
function instead of writing to the corresponding TIM handshake tag. Security is
built into the ibBatchAction function. If the TIM handshake tags are used, the
InTouch application must provide its own security functionality using the TIM
security interface.
For more information on using the InBatch add-on script functions, see Chapter 18,
"InTouch Script Add-On Functions."
DoneBy Security
The DoneBy Security Clearance Request window will appear if the operator
performs a Batch Client function that has been configured with only DoneBy
security in the InBatch Security Editor. The operator must enter a valid User ID and
Password in order to perform the function. If the entered values are correct, the
function will be performed. If the entries are incorrect, the window box will close,
the function will not be performed, and an error message will be displayed in the
InBatch Errors wizard.
InTouch Client Security 549
C H A P T E R 2 1
Within the InBatch and InTouch client/server architecture, all InTouch alarms,
events, and operator actions can be recorded in the InBatch History Database and
included in batch reporting. This section is applicable to InTouch applications only.
Contents
• Overview
• Required Configuration
Overview
The following diagram illustrates the software components that are used to record
InTouch alarms and events in the InBatch history database. When the Batch
Runtime Client installation option is selected, a modified wwextalm.dll and an
ibhist.dll are installed. These files contain programs that receive and filter all
InTouch alarms, event, and operator actions.
InTouch
Batch Process Log History
WindowViewer
Manager Manager Administration
(wwextalm.dll)
InTouch
History Queue
Info Manager WindowViewer
Manager
(ibhist.dll)
The wwextalm.dll acts as a pass through to call the ibhist.dll. The ibhist.dll takes
the event and communicates with the Info Manager (InfoMngr) on the Batch Server
to determine if the event is associated with an active batch. If there is no batch
association, the event is discarded. However, if there is a batch association, the
event is sent to the InBatch History Queue Manager which places the information
on the History Queue for delivery to the history database.
In the event of a communications failure between the Batch Runtime Client and the
InBatch history database, all alarm and event information is stored locally on the
client in a Microsoft Access database located in the configuration directory
(…\cfg\config_A).
Note The Batch Runtime Client installation option loads a modified wwextalm.dll
to enable the historical storage of client alarms and events. If changes have been
made to the wwextalm.dll prior to installing InBatch, these changes will be lost
when the new wwextalm.dll is installed. Please contact Wonderware for appropriate
instructions on how to incorporate the alarm and event logging along with any
previous changes made to the wwextalm.dll.
Required Configuration
The following steps must be performed to enable the passage of InTouch alarms,
events, and operator actions to the InBatch historical database.
1. Install the Batch Runtime Client software. This installs both the wwextalm.dll
and ibhist.dll files in the specified directory. InTouch must be installed prior to
this step.
2. For each client node, use the ibAlarmEventInit script add-on function to
prepare the node for transferring alarm and event information. Typically, this
function is placed in the On Startup Application script. This function permits
defining a connection to a backup batch server as well as some other important
information.
3. For the primary client alarming node, use the ibAlarmNode script add-on
function to enable the alarm and event interface for that node. Typically, this
function is placed in the On Startup Application script. InTouch scripting can
be used to switch to another node upon failure of the primary.
4. For all secondary client alarming nodes, use the ibAlarmNode script add-on
function to disable the alarm and event interface for that node. Typically, this
function is placed in the On Startup Application script. InTouch scripting can
be used to make any backup node primary upon failure of the primary.
For more information on using the script add-on functions provided with
InBatch, see Chapter 18, "InTouch Script Add-On Functions."
5. Configure the alarms and events within InTouch. All tags must adhere to the
InBatch tag structure for mapping units/connections to a batch. Only tags with
a unit or connection name in the first eight characters of the tag can be mapped
to a batch. Tags that cannot be mapped to a batch are not logged to the history
database. Within InTouch, configure one alarm logger to handle batch alarms.
For more information on the InBatch tag structure, see Chapter 4, "Process
Modeling."
Client Alarm/Event Interface 553
Note Note Typically only one InTouch client will be responsible for generating
alarms and events that get recorded in the InBatch history database. Enabling the
alarm and event interface for multiple clients may result in repetitive entries in the
history database. The exception to this is if there are different alarms being
generated on separate client nodes.
554 Chapter 21
Tag Interface Management (TIM) System 555
C H A P T E R 2 2
The Tag Interface Management (TIM) System is a tag based interface to the Batch
Management System and Security System from a Batch Server or Batch Runtime
Client environment.
Contents
• Overview
• Using TIM
• Batch Management System Interface
• Security System Interface
• Batch Function Interface
• Runtime TIM Operation
556 Chapter 22
Overview
The Batch Management System provides several ways a user can interact with the
scheduling and execution of batches. One option is available that utilizes the Tag
Interface Management (TIM) System. The TIM system is designed to provide a tag
based interface to the functions available in the batch management system and
security system.
TIM DB
Batch
Batch Security
Management
Functions System
System
Interface Interface
Interface
InBatch Server
(IBServ)
InTouch Node
Tag Interface Management (TIM) System 557
Using TIM
In order to interface with the batch management and security systems, tags must be
created within both the server and client applications. Within the InBatch server,
TIM tags are created when an export is defined and performed in the Tag Linker
application. There are two check boxes that can be enabled to initiate the creation of
the various TIM tags. Within the InTouch client, TIM tags are available when an
InBatch wizard is used, after the .csv file generated by the Tag Linker has been
loaded, or via remote browsing of InBatch tags.
Once the TIM tags have been created, applications on the server and clients can be
used to manipulate the TIM tags and interface with the runtime InBatch system.
There are specific InBatch runtime applications that are required to properly use the
TIM tags. Also, there are specific rules governing the use of the TIM tags. This use
of the applications and tags is presented in this documentation.
For more information on using the Tag Linker application, see Chapter 5, "Tag
Linker."
Interfaces
There are three primary interface groups available for interacting with the runtime
InBatch system. Tags are available for providing access to the action groups
included within each interface. The table below summarizes the interface groups
and the action groups within each.
Note It is possible, but not recommended to combine both batch-centric and unit-
centric focusing within the same client. This requires extensive scripting using the
tags presented in this manual.
560 Chapter 22
BTS-SCH-NUMITEMS
BTS-SEL-SCHMODE
BTS-SEL-SCHCAMP BTS-SEL-SCHRECIPE
BTS-SEL-SCHLOT BTS-SEL-SCHSIZE
BTS-SEL-SCHBATCH BTS-SEL-SCHTRAIN
BTS-SEL-SCHTRAIN
The -NUMITEMS tag value defines the number of items that are in the list. The
value may exceed the number of items that can be displayed using the -ITEM# tags.
If the value is zero, there are no entries in the list.
Note Typically, the Tag Linker creates and exports 16 list tags. However, the client
application does not need to utilize all 16 tags. List tags that are not used in wizards
or manually with TIM may be deleted.
The -FIRSTITEM tag value defines the item number to be displayed first in the list.
Manipulation of this value allows for paging up and down or scrolling up and down
through the list.
The -ITEM# tags contain the data for the display lists. There are 16 item tags
created for each list, except for the Batch Function Interface, which has 99 tags.
Tag Interface Management (TIM) System 561
The -SEL- tag is used to select an item in the list. Whenever an item is selected and
it is not in the display list, the -FIRSTITEM tag value is changed so that the
selected item is brought into view.
The -HANDSHAKE tag is used to communicate with the runtime TIM application.
Values are written to the -HANDSHAKE tag to perform the functions permitted
with the list of data.
For more information on using the ibBatchAction add-on function, see Chapter 18,
"InTouch Script Add-On Functions."
Note Caution must be exercised if the Batch Function Tags option is enabled.
Batch execution activity for all batches is put on hold until client responses are
provided.
562 Chapter 22
Tag Generation
The following table provides a summary of the tags generated for each client type
instance if the TIM Tags option is enabled in the InBatch Tag Linker Export Editor.
There will be a complete set for each of the number of clients defined.
The following table provides a summary of the tags generated for each client type if
the Batch Function Tags option is enabled in the InBatch Tag Linker Export Editor.
There will be only one set defined for each InBatch server.
Description
1. The BTS-SCH-NUMITEMS tag is an integer tag containing the number of
batches in the schedule.
2. The BTS-SCH-ITEM1 to BTS-SCH-ITEM16 tags are string tags used to
display the list of batches in the schedule. The first item in the list is defined by
the value in tag BTS-SCH-FIRSTITEM.
3. The BTS-RECIPE-NUMITEMS tag is an integer tag containing the number of
approved recipes available to be scheduled.
4. The BTS-RECIPE-ITEM1 to BTS-RECIPE-ITEM16 tags are string tags used
to display the list of recipes available. The first item in the list is defined by the
value in tag BTS-RECIPE-FIRSTITEM.
5. The BTS-TRAIN-NUMITEMS tag is an integer tag containing the number of
trains available on which batches can be scheduled.
6. The BTS-TRAIN-ITEM1 to BTS-TRAIN-ITEM16 tags are string tags used to
display the list of trains available. The first item in the list is defined by the
value in tag BTS-TRAIN-FIRSTITEM.
7. The BTS-TYPE-NUMITEMS tag is an integer tag containing the number of
recipe types defined in the recipe database.
8. The BTS-TYPE-ITEM1 to BTS-TYPE-ITEM16 tags are string tags used to
display the list of recipe types available. The first item in the list is defined by
the value in tag BTS-TYPE-FIRSTITEM.
9. The BTS-STATE-NUMITEMS tag is an integer tag containing the number of
recipe states defined in the recipe database.
10. The BTS-STATE-ITEM1 to BTS-STATE-ITEM16 tags are string tags used to
display the list of recipe states available. The first item in the list is defined by
the value in tag BTS-STATE-FIRSTITEM.
11. The BTS-SCH-EIO tag is an integer tag used to monitor or display the Execute
In Order Mode.
Tag Interface Management (TIM) System 565
12. The BTS-SEL-SCHITEM tag is an integer tag used to select the item in the list
that is the focus of the action being performed. This is equivalent to the
selection of the batch from the list with the mouse.
13. The following tags contain the specific schedule information corresponding to
the selected item from the list. Also, these tags would be written to in order to
add a new batch.
BTS-SEL-SCHCAMP - String tag containing the Campaign ID of the current
batch
BTS-SEL-SCHLOT - String tag containing the Lot ID of the current batch
BTS-SEL-SCHBATCH - String tag containing the Batch ID of the current
batch
BTS-SEL-SCHRECIPE - String tag containing the Recipe ID of the current
batch
BTS-SEL-SCHSIZE - Integer tag containing the Size of the current batch
BTS-SEL-SCHTRAIN - String tag containing the Train of the current batch
BTS-SEL-SCHMODE - Integer tag containing the Mode of the current batch
Value Mode
0 Automatic
1 Semi-Automatic
2 Manual
14. The BTS-SEL-RECIPEITEM tag is an integer tag used to select the item in the
list that is the focus of the action being performed. This is equivalent to the
selection of the recipe from the list with the mouse.
15. The following tags contain the specific recipe information corresponding to the
selected item from the list.
BTS-SEL-RECIPEID - String tag containing the selected Recipe ID
BTS-SEL-RECIPENAME - String tag containing the selected Recipe Name
BTS-SEL-RECIPETYPE - String tag containing the selected Recipe Type
BTS-SEL-RECIPESTATE - String tag containing the selected Recipe State
16. The BTS-SEL-TRAINITEM tag is an integer tag used to select the item in the
list that is the focus of the action being performed. This is equivalent to the
selection of the train from the list with the mouse.
17. The following tags contain the specific train information corresponding to the
selected item from the list.
BTS-SEL-TRAINNAME - String tag containing the selected Train Name
18. The BTS-SEL-TYPEITEM tag is an integer tag used to select the item in the
list that is the focus of the action being performed. This is equivalent to the
selection of the recipe type from the list with the mouse.
566 Chapter 22
19. The following tags contain the specific recipe type information corresponding
to the selected item from the list.
BTS-SEL-TYPENAME - String tag containing the selected Recipe Type
20. The BTS-SEL-STATEITEM tag is an integer tag used to select the item in the
list that is the focus of the action being performed. This is equivalent to the
selection of the recipe state from the list with the mouse.
21. The following tags contain the specific train information corresponding to the
selected item from the list.
BTS-SEL-STATENAME - String tag containing the selected Recipe State
22. The BTS-SEC-DONEBY tag specifies the ID and the BTS-SEC-
DONEBYPWD tag specifies the password for the user executing the action.
The user ID and password should be obtained from the operator once or
whenever an action is to be executed. Values will be required for these tags if
security has been configured for the Batch Client functions in the InBatch
Security Editor.
23. The BTS-SEC-CHECKBY tag specifies the ID and the BTS-SEC-
CHECKBYPWD tag specifies the password for the user executing the action.
The user ID and password should be obtained from the operator once or
whenever an action is to be executed. Values will be required for these tags if
security has been configured for the Batch Client functions in the InBatch
Security Editor.
24. The BTS-INFO tag is an integer tag used to monitor the working state of the
batch management system. This tag will be equal to one when the batch system
is busy. New TIM commands will not be immediately processed while this tag
is enabled. Operation can resume when the value of this tag is zero. The BTS-
HANDSHAKE tag will have a value of -118 when the BTS-INFO tag is
enabled.
25. The BTS-HANDSHAKE tag is an integer tag that is written to initiate a
specified action and read to monitor the results of the action. The handshake
values are provided in the table below.
Note Caution should be used when writing to the BTS-HANDSHAKE tag from an
InTouch client in a system with security defined. If security is enabled, use the
BTS-HANDSHAKE tag for monitoring responses only. The ibBatchAction script
add-on function should be utilized to initiate the action.
Handshake
Value ibBatchActionValue Description
1 1 Add the batch defined by the specific selection tags to
the schedule after the batch selected by the BTS-SEL-
SCHITEM tag. If no batch is selected, the new batch is
added to the bottom of the list. Same as the Add button
on the Batch Scheduler/Dispatcher wizard.
Tag Interface Management (TIM) System 567
Handshake
Value ibBatchActionValue Description
2 2 Generate batches starting with batch number defined in
the specific selection tags. This action requires the
BTS-SEL-SCHSIZE tag to be greater than the
maximum batch size defined by the recipe. The default
recipe batch size will be used as the size for all of the
generated batches. Same as the Multi-Add button on
the Batch Scheduler/Dispatcher wizard.
3 3 Change the batch selected by the BTS-SEL-SCHITEM
tag to the batch data defined in specific selection tags.
Same as the Change button on the Batch
Scheduler/Dispatcher wizard.
4 4 Delete the batch selected by the BTS-SEL-SCHITEM
tag. Same as the Delete button on the Batch
Scheduler/Dispatcher wizard.
5 5 Remove all Done and Aborted batches from the
schedule list. Same as the Clean-up button on the Batch
Scheduler/Dispatcher wizard.
6 6 Initialize the batch selected by the BTS-SEL-
SCHITEM tag. Same as Init Batch button on the Batch
Scheduler/Dispatcher wizard.
7 7 Initialize all batches in the schedule. Same as the Init
All button on the Batch Scheduler/Dispatcher wizard.
8 8 Move the batch selected by the BTS-SEL-SCHITEM
tag up one position in the list. Same as the Move Up
button on the Batch Scheduler/Dispatcher wizard.
9 9 Move the batch selected by the BTS-SEL-SCHITEM
tag down one position in the list. Same as the Move
Down button on the Batch Scheduler/Dispatcher
wizard.
10 10 Sets the Execute in Order Mode On. Same as the EIO
On button on the Batch Scheduler/Dispatcher wizard.
11 11 Sets the Execute in Order Mode Off. Same as the EIO
Off button on the Batch Scheduler/Dispatcher wizard.
12 12 Refresh the list of recipes that are approved for
production and available for scheduling.
13 13 Refresh the list of trains that are available for
scheduling.
568 Chapter 22
Description
1. The BTB-FOCUS-SCH tag is a string tag that defines the units that are used to
filter the list of batches and provide the focus for the action. Use of this tag is
optional. The system defaults to all batches in the schedule if no entry is
provided.
570 Chapter 22
Value Mode
0 Automatic
1 Semi-Automatic
2 Manual
Value Status
0 Open
1 Ready
2 Wait
3 Run
4 Done
5 Interlock
6 Aborted
7 Held
8 Aborting
The BTB-SEL-SCHMASK tag contains the composite value of all of the bit
offsets that pertain to the configuration settings of the selected batch. The value
of this tag will be the sum of all of the values in the table above for each
configuration item selected. For example, if the batch is in Held and can be
restarted or aborted, the tag value will be 12.
BTB-SEL-SCHFOCUSOK - Integer tag containing the focus status of the
selected batch
572 Chapter 22
Value Description
0 There is no batch selected.
1 or 2 The selected batch has not yet been started or has been
completed, and should not be used to manipulate the
recipe focus. If two batches that match this criteria are
selected sequentially, this tag will toggle between one
and two. This will allow the user to define an InTouch
data change script on this value.
3 or 4 The selected batch is running, held, or aborting, and it
is permissible to manipulate the recipe focus. If two
batches that match this criteria are selected
sequentially, this tag will toggle between three and four.
This will allow the user to define an InTouch data
change script on this value.
Note Caution should be used when writing to the BTB-HANDSHAKE tag from
an InTouch client in a system with security defined. If security is enabled, used the
BTB-HANDSHAKE tag for monitoring responses only. The ibBatchAction script
add-on function should be utilized to initiate the action.
Handshake ibBatchAction
Value Value Description
1 19 Abort the batch defined by the BTB-SEL-SCHITEM tag. Same as the
Abort button wizard.
2 20 Hold the batch defined by the BTB-SEL-SCHITEM tag. Same as the
Hold button wizard.
3 21 Restart the batch defined by the BTB-SEL-SCHITEM tag. Same as
the Restart button wizard.
4 22 Start the batch defined by the BTB-SEL-SCHITEM tag. Same as the
Start button wizard.
5 23 Change the mode of the batch defined by the BTB-SEL-SCHITEM
tag to Automatic. Same as the Batch Mode: Set to Automatic button
wizard.
6 24 Change the mode of the batch defined by the BTB-SEL-SCHITEM
tag to Semi-Automatic. Same as the Batch Mode: Set to Semi-
Automatic button wizard.
7 25 Change the mode of the batch defined by the BTB-SEL-SCHITEM
tag to Manual. Same as the Batch Mode: Set to Manual button wizard.
8 26 Re-evaluate the units defined in the BTB_FOCUS_SCH tag and
update the list according to the focus change.
9 N/A Starts Manual Operation.
{Two scripts were used because of the delay in setting the focus and the updating of
the list of batches. If this were put into a single script, the correct batch may not be
started.}
BTAQ-SCH-EIO INTEGER 1 RO
BTAQ-SEL-SCHITEM INTEGER 1 R/W
BTAQ-SEL-SCHCAMP STRING 16 RO
BTAQ-SEL-SCHLOT STRING 16 RO
BTAQ-SEL-SCHBATCH STRING 16 RO
BTAQ-SEL-SCHINSTANCE STRING 16 RO
BTAQ-SEL-SCHRECIPE STRING 16 RO
BTAQ-SEL-SCHSIZE INTEGER 1 RO
BTAQ-SEL-SCHTRAIN STRING 16 RO
BTAQ-SEL-SCHMODE INTEGER 1 RO
Tag Interface Management (TIM) System 575
Description
1. The BTAQ-ALLOC-NUMITEMS tag is an integer tag containing the number
of batches in the queue list.
2. The BTAQ-ALLOC-ITEM 1 TO BTAQ-ALLOC-ITEM 16 tags are string tags
used to display the list of batches in the queue list. The first item in the list is
defined by the value in tag BTAQ-ALLOC-FIRSTITEM
3. The BTAQ-SCH-EIO tag is an integer tag used to monitor or display the
Execute In Order mode.
4. The BTB-SEL-SCHITEM tag is an integer tag used to select the item in the list
that is the focus of the action being performed. This is equivalent to the
selection of the batch from the list with the mouse.
5. The following tags contain the specific schedule information corresponding to
the selected item from the list.
6. BTAQ-SEL-SCHCAMP - String tag containing the Campaign ID of the
current batch.
7. BTAQ-SEL-SCHLOT - String tag containing the Lot ID of the current batch.
8. BTAQ-SEL-SCHBATCH - String tag containing the Batch ID of the current
batch.
9. BTAQ-SEL-SCHINSTANCE - String tag containing the instance name of the
current batch.
10. BTAQ-SEL-SCHRECIPE - String tag containing the Recipe ID of the current
batch.
11. BTAQ-SEL-SCHSIZE - Integer tag containing the Size of the current batch.
12. BTAQ-SEL-SCHTRAIN - String tag containing the Train of the current batch.
576 Chapter 22
Value Mode
0 Automatic
1 Semi-Automatic
2 Manual
14. The BTAQ-SEL-SCHSEQ tag is an integer tag that contains the order
(sequence) of the batch in the allocation queue.
15. The BTAQ-SEC-DONEBY tag specifies the ID and the BTAQ-SEC-
DONEBYPWD tag specifies the password for the user executing the action.
The user ID and password should be obtained from the operator once or
whenever an action is to be executed. Values are required for these tags if
security has been configured for the Batch Client functions in the Security
Editor.
16. The BTAQ-SEC-CHECKBY tag specifies the ID and the BTAQ-SEC-
CHECKBYPWD tag specifies the password for the user executing the action.
The user ID and password should be obtained from the operator once or
whenever an action is to be executed. Values are required for these tags if
security has been configured for the Batch Client functions in the Security
Editor.
17. The BTAQ-FOCUS-EQUIP tag is an string tag which contains the name of the
equipment from which the queue is being reviewed (that is, has the focus).
18. The BTAQ-INFO tag is an integer tag used to monitor the working state of the
batch management system. This tag is equal to one when the batch system is
busy. New TIM commands are not immediately processed while this tag is
enabled. Operation can resume when the value of this tag is zero. The BTAQ-
HANDSHAKE tag has a value of -118 when the BTAQ-INFO tag is enabled.
19. The BTAQ-HANDSHAKE tag is an integer tag that is written to initiate a
specified action and read to monitor the results of the action. The handshake
values are provided in the table below.
Handshake Description
Value
5 Move the batch selected by the BTB-SEL-SCHITEM tag up
one row in the list. Same as the Move Up button on the
allocation queue dialog in Batch Display and Batch View
display.
6 Move the batch selected by the BTB-SEL-SCHITEM tag down
one row in the list. Same as the Move Down button on the
allocation queue dialog in Batch Display and Batch View
display.
7 Refresh the allocation queue list.
Tag Interface Management (TIM) System 577
Description
1. The BTR-FOCUS-CLB tag is a string tag that defines the Campaign, Lot, and
Batch combination that is the batch focus for the action.
2. The BTR-FOCUS-UNIT tag is a string tag that defines the unit that is the unit
focus for the action. If an asterisk "*" is written to this tag, then the focus will
be on all equipment associated with the batch defined by the BTR-FOCUS-
CLB tag. If a null string "" is written to this tag, then the focus will be on the
batch defined by the BTR-FOCUS-CLB tag.
3. The BTR-HANDSHAKE tag is an integer tag that is written to initiate an
update of the batch and phase related interface groups according to the values
assigned to the focus tags. The handshake values and affected interface groups
are provided in the tables below.
Note Caution should be used when writing to the BTR-HANDSHAKE tag from
an InTouch client. The BTR-HANDSHAKE tag for monitoring responses only. The
ibBatchAction script add-on function should be utilized to initiate the action.
Handshake ibBatchAction
Value Value Description
1 28 Change focus according to the values defined for the
batch and unit focus tags.
Description
1. The BTRQ-QUES-NUMITEMS tag is an integer tag containing the number of
question items currently in the list. The list will be determined by the focus that
is established using the Manipulate Recipe Focus action group described
earlier.
2. The BTRQ-QUES-ITEM1 to BTRQ-QUES-ITEM16 tags are string tags used
to display the list of questions. The first item in the list is defined by the value
in tag BTRQ-QUES-FIRSTITEM.
3. The BTRQ-SEL-QUESITEM tag is an integer tag used to select the item in the
list that is the focus of the action being performed. This is equivalent to the
selection of the question from the list with the mouse.
4. The following tags contain the specific question information corresponding to
the selected item from the list.
BTRQ-SEL-QUES - String tag containing the current selected question
BTRQ-SEL-QUESTYPE - Integer tag containing the type of the current
question
580 Chapter 22
Note Caution should be used when writing to the BTRQ-HANDSHAKE tag from
an InTouch client in a system with security defined. If security is enabled, used the
BTRQ-HANDSHAKE tag for monitoring responses only. The ibBatchAction script
add-on function should be utilized to initiate the action.
Handshake ibBatchAction
Value Value Description
1 40 Answer Yes to the question selected by the BTS-
SEL-QUESITEM tag. Same as the Yes button on the
Question wizard.
2 41 Answer No to the question selected by the BTS-
SEL-QUESITEM tag. Same as the No button on the
Question wizard.
Tag Interface Management (TIM) System 581
Description
1. The BTRC-INP-COMMENT tag is a string tag used to enter the desired
comment. The comment will be assigned to the batch determined by the focus
that is established using the Manipulate Recipe Focus action group described
earlier.
2. The BTRC-SEC-DONEBY tag specifies the ID and the BTRC-SEC-
DONEBYPWD tag specifies the password for the user executing the action.
The user ID and password should be obtained from the operator once or
whenever an action is to be executed. Values will be required for these tags if
security has been configured for the Batch Client functions in the InBatch
Security Editor.
3. The BTRC-SEC-CHECKBY tag specifies the ID and the BTRC-SEC-
CHECKBYPWD tag specifies the password for the user executing the action.
The user ID and password should be obtained from the operator once or
whenever an action is to be executed. Values will be required for these tags if
security has been configured for the Batch Client functions in the InBatch
Security Editor.
582 Chapter 22
Note Caution should be used when writing to the BTRC-HANDSHAKE tag from
an InTouch client in a system with security defined. If security is enabled, used the
BTRC-HANDSHAKE tag for monitoring responses only. The ibBatchAction script
add-on function should be utilized to initiate the action.
Handshake ibBatchAction
Value Value Description
1 38 Enters the defined comment for the batch selected.
Description
1. The BTRP-PHASE-NUMITEMS tag is an integer tag containing the number
of phase items currently in the list. The list will be determined by the focus that
is established using the Manipulate Recipe Focus action group described
earlier.
2. The BTRP-PHASE-ITEM1 to BTRP-PHASE-ITEM16 tags are string tags
used to display the list of active phases in the selected batch. The first item in
the list is defined by the value in tag BTRP-PHASE-FIRSTITEM.
3. The BTRP-SEL-PHASEITEM tag is an integer tag used to select the item in
the list that is the focus of the action being performed. This is equivalent to the
selection of the phase from the list with the mouse.
4. The following tags contain the specific schedule information corresponding to
the selected item from the list.
BTRP-SEL-PHASEEQUIP - String tag containing the unit or connection
associated with the selected phase
BTRP-SEL-PHASEOPER - String tag containing the operation running the
selected phase
BTRP-SEL-PHASENAME - String tag containing the name of the selected
phase
BTRP-SEL-PHASELABEL - String tag containing the label of the selected
phase
BTRP-SEL-PHASESTATUS - Integer tag containing the status of the selected
phase
Value Message
0 None
1 Waiting for Phase Start.
2 Waiting for entry acknowledge.
3 Waiting for exit acknowledge.
4 Waiting for Required Edits.
5 Waiting for Required Comment.
6 Waiting for Phase Status.
7 Waiting for Phase Start
8 Partial Add. Waiting for Exit Acknowledge.
Value Description
0 Input
9 Process Variable
12 Output
Value Description
1 Material ID
2 Material Name
3 Target
4 Actual
5 High Deviation
6 Low Deviation
7 Lot Code
8 Preact
10 High Limit
11 Low Limit
Note Caution should be used when writing to the BTRP-HANDSHAKE tag from
an InTouch client in a system with security defined. If security is enabled, used the
BTRP-HANDSHAKE tag for monitoring responses only. The ibBatchAction script
add-on function should be utilized to initiate the action.
Handshake ibBatchAction
Value Value Description
1 29 Abort the phase defined by the BTRP-SEL-
PHASEITEM tag. Same as the Phase Abort button
wizard.
2 30 Hold the phase defined by the BTRP-SEL-
PHASEITEM tag. Same as the Phase Hold button
wizard.
3 31 Restart the phase defined by the BTRP-SEL-
PHASEITEM tag. Same as the Phase Restart button
wizard.
4 32 Start the phase defined by the BTRP-SEL-
PHASEITEM tag. Same as the Phase Start button
wizard.
5 33 Acknowledge the phase defined by the BTRP-SEL-
PHASEITEM tag. Executes both the Ack On Entry
and Ack On Exit commands. Same as the Ack button
wizards.
6 34 Enter the comment to the phase defined by the
BTRP-SEL-PHASEITEM tag.
7 35 Performs the selection of control button 1.
8 36 Performs the selection of control button 2.
9 37 Change the value of the parameter defined by the
BTRP-SEL-PARAMEXTITEM tag.
10 49 Views the document assigned to the selected phase.
11 50 Acknowledges the document assigned to the selected
phase.
Description
1. The BTRS-INST-NUMITEMS tag is an integer tag containing the number of
instance items currently in the list. The list will be determined by the focus that
is established using the Manipulate Recipe Focus action group described
earlier.
2. The BTRS-INST-ITEM1 to BTRS-INST-ITEM16 tags are string tags used to
display the list of instances. The first item in the list is defined by the value in
tag BTRS-INST-FIRSTITEM.
3. The BTRS-SEL-INSTITEM tag is an integer tag used to select the item in the
list that is the focus of the action being performed. This is equivalent to the
selection of the instance from the list with the mouse.
4. The following tag contains the specific question information corresponding to
the selected item from the list.
BTRS-SEL-INSTNAME - String tag containing the name of the selected
instance
5. The BTRS-UNIT-NUMITEMS tag is an integer tag containing the number of
units available for selection and assignment to the selected instance.
6. The BTRS-UNIT-ITEM1 to BTRS-UNIT-ITEM16 tags are string tags used to
display the list of units and associated information. The first item in the list is
defined by the value in tag BTRS-UNIT-FIRSTITEM.
7. The BTRS-SEL-UNITITEM tag is an integer tag used to select the item in the
list that is the focus of the action being performed. This is equivalent to the
selection of the unit from the list with the mouse.
8. The following tags contain the specific question information corresponding to
the selected item from the list.
BTRS-SEL-UNITNAME - String tag containing the name of the selected unit
BTRS-SEL-UNITSTATUS - String tag containing the status of the selected
unit. The status values correspond to those defined in the InBatch Process
Model.
9. The BTRS-SEC-DONEBY tag specifies the ID and the BTRS-SEC-
DONEBYPWD tag specifies the password for the user executing the action.
The user ID and password should be obtained from the operator once or
whenever an action is to be executed. Values will be required for these tags if
security has been configured for the Batch Client functions in the InBatch
Security Editor.
Tag Interface Management (TIM) System 591
Note Caution should be used when writing to the BTRS-HANDSHAKE tag from
an InTouch client in a system with security defined. If security is enabled, used the
BTRS-HANDSHAKE tag for monitoring responses only. The ibBatchAction script
add-on function should be utilized to initiate the action.
Handshake ibBatchAction
Value Value Description
1 39 Assign the unit selected by the BTRS-SEL-UNITITEM tag to the
instance selected by the BTRS-SEL-INSTITEM tag.
Description
1. The BTM-FOCUS-CLB tag is a string tag that defines the Campaign, Lot, and
Batch combination that is the batch focus for the action.
2. The BTM-FOCUS-UNIT tag is a string tag that defines the unit that is the unit
focus for the action. If an asterisk "*" is written to this tag, then the focus will
be on all equipment associated with the batch defined by BTM-FOCUS-CLB
tag. If a null string "" is written to this tag, then the focus will be on the batch
defined by the BTM-FOCUS-CLB tag.
3. The BTM-HANDSHAKE tag is an integer tag that is written to initiate an
update of the message list according to the values assigned to the focus tags.
The handshake values are provided in the table below.
Note Caution should be used when writing to the BTS-HANDSHAKE tag from an
InTouch client. The BTS-HANDSHAKE tag for monitoring responses only. The
ibBatchAction script add-on function should be utilized to initiate the action.
Handshake ibBatchAction
Value Value Description
1 27 Change the batch or unit for which the focus for any
batch messages is being controlled.
6. The BTM-SEL-MSGITEM tag is an integer tag used to select the item in the
list that is the focus of the action being performed. This is equivalent to the
selection of the message from the list with the mouse.
7. The following tag contains the specific message information corresponding to
the selected item from the list.
BTM-SEL-MSG - String tag containing the current selected message
{Two scripts were used because of the delay in setting the focus and the updating of
the list of messages. If this were put into a single script, the correct message may
not be selected.}
594 Chapter 22
Description
1. The BTPE-FOCUS-CLB tag is a string tag that defines the Campaign, Lot, and
Batch combination that is the batch focus for the action.
2. The BTPE-PHASE-NUMITEMS tag is an integer tag containing the number
of active phases in the selected batch.
3. The BTPE-PHASE-ITEM1 to BTPE-PHASE-ITEM16 tags are string tags
used to display the list of active phases and associated information for the
selected batch. The first item in the list is defined by the value in tag BTPE-
PHASE-FIRSTITEM.
4. The BTPE-SEL-PHASEITEM tag is an integer tag used to select the phase
item in the list that is the focus of the action being performed. This is
equivalent to the selection of the phase from the list with the mouse.
5. The following tags contain the specific phase information corresponding to the
selected item from the list.
BTPE-SEL-PHASEINST - String tag containing the instance name of the
selected phase
BTPE-SEL-PHASEOPER - String tag containing the operation name of the
selected phase
BTPE-SEL-PHASELABEL - String tag containing the label of the selected
phase
BTPE-SEL-PHASENAME - String tag containing the name of the selected
phase
BTPE-SEL-PHASEMASK - Integer tag containing the configuration of the
selected phase.
596 Chapter 22
Value Description
0 Input
9 Process Variable
12 Output
Note Caution should be used when writing to the BTS-HANDSHAKE tag from an
InTouch client in a system with security defined. If security is enabled, used the
BTS-HANDSHAKE tag for monitoring responses only. The ibBatchAction script
add-on function should be utilized to initiate the action.
Handshake ibBatchAction
Value Value Description
1 42 Change batch focus.
2 43 Change the phase configuration according to the phase
mask setting for the selected phase and append new
instructions.
3 44 Change the phase parameter value for the selected
parameter.
598 Chapter 22
{Two scripts were used because of the delay in setting the focus and the updating of
the list of phases. If this were put into a single script, the correct phase and
parameter may not be selected.}
Description
1. The BTE-FOCUS-CLB tag is a string tag that defines the Campaign, Lot, and
Batch combination that is the batch focus for the action.
2. The BTE-FOCUS-UNIT tag defines the unit that is the unit focus for the
action. If an asterisk "*" is written to this tag, then the focus will be on all
equipment associated with the batch defined by BTE-FOCUS-CLB tag. If a
null string "" is written to this tag, then the focus will be on the batch defined
by the BTE-FOCUS-CLB tag.
3. The BTE-EQU-NUMITEMS tag is an integer tag containing the number of
pieces of equipment in the batch in focus.
600 Chapter 22
Note Caution should be used when writing to the BTE-HANDSHAKE tag from
an InTouch client in a system with security defined. If security is enabled, used the
BTE-HANDSHAKE tag for monitoring responses only. The ibBatchAction script
add-on function should be utilized to initiate the action.
Handshake ibBatchAction
Value Value Description
1 13 Allocate the piece of equipment selected by the BTE-
SEL-EQUITEM tag to the instance selected by the
BTE-SEL-INSTITEM tag.
2 14 Release the piece of equipment selected by the BTE-
SEL-EQUITEM tag.
3 15 Writes a value of one to the unit abort tag for the unit
selected by the BTE-SEL-EQUITEM tag.
4 16 Writes a value of one to the unit hold tag for the unit
selected by the BTE-SEL-EQUITEM tag.
5 17 Writes a value of one to the unit restart tag for the unit
selected by the BTE-SEL-EQUITEM tag.
6 18 Change the focus of equipment being monitored
according to the values for the batch and focus tags.
ibPokeInt(IB_TIM_ACCESS_TAG, "BTE-SEL-INSTITEM", 1,
IB_RESULT_TAG);
ibBatchAction(IB_TIM_ACCESS_TAG, 13, IB_SEC_DIALOG_TAG,
IB_RESULT_TAG);
{Two scripts were used because of the delay in setting the focus and the updating of
the list of equipment. If this were put into a single script, the correct equipment may
not be selected.}
{Two scripts were used because of the delay in setting the focus and the updating of
the list of equipment. If this were put into a single script, the correct equipment may
not be selected.}
Description
1. The BTVT-FOCUS-CLB tag is a string tag that defines the Campaign, Lot, and
Batch combination that is the batch focus for the action.
2. The BTVT-HANDSHAKE tag is an integer tag that is written to initiate an
update of the transition logic list according to the values assigned to the focus
tag. The handshake values are provided in the table at the end of this
procedure.
3. The BTVT-TRANS-NUMITEMS tag is an integer tag containing the number
of active transition logic objects in the selected batch.
4. The BTVT-TRANS-ITEM1 to BTVT-TRANS-ITEM16 tags are string tags
used to display the list of transition logic objects in the batch defined by the
focus. The first item in the list is defined by the value in tag BTVT-TRANS-
FIRSTITEM.
604 Chapter 22
Note Caution should be used when writing to the BTVT-HANDSHAKE tag from
an InTouch client in a system with security defined. If security is enabled, used the
BTVT-HANDSHAKE tag for monitoring responses only. The ibBatchAction script
add-on function should be utilized to initiate the action.
Handshake ibBatchAction
Value Value Description
1 47 Change the focus of transition logic being monitored
according to the value for the batch focus tag.
2 48 Force the selected transition logic expression to be true
and allow the batch engine to continue beyond the
transition logic object.
{Two scripts were used because of the delay in setting the focus and the updating of
the list of transition logic expressions. If this were put into a single script, the
correct expression may not be selected.}
Description
1. The BTSR-INP-CLB tag defines the Campaign, Lot, and Batch combination
that is the batch focus for the action.
2. The BTSR-INP-RECIPEID tag is a string tag containing the recipe ID that will
be used as the name under which the batch will be saved.
3. The BTSR-INP-AUTHOR tag is a string tag containing the author that will be
used as the individual under which the recipe for the batch will be saved.
4. The BTSR-INP-OPTMASK tag is an integer tag containing the configuration
under which the recipe of the selected batch will be saved.
The BTSR-INP-OPTMASK tag contains the composite value of all of the bit
offsets that pertain to the configuration settings of the current recipe. The value
of this tag will be the sum of all of the values in the table above for each
configuration item selected. For example, if Save Runtime Equipment and
Retain Recipe Approvals are selected, the tag value will be 3. This tag can be
written to as well to allow the current phase configuration settings to be
changed
5. The BTSR-INP-VERCOMMENT tag is a string tag containing any comment
that will be saved along with the recipe of the batch.
Tag Interface Management (TIM) System 607
Note Caution should be used when writing to the BTSR-HANDSHAKE tag from
an InTouch client in a system with security defined. If security is enabled, used the
BTSR-HANDSHAKE tag for monitoring responses only. The ibBatchAction script
add-on function should be utilized to initiate the action.
Handshake ibBatchAction
Value Value Description
1 45 Save the recipe associated with the selected batch. This
handshake verifies that the recipe does not already
exist. If the recipe exists, a handshake value of -117 is
returned.
2 46 Save the recipe associated with the selected batch. This
handshake overwrites any existing recipe.
Description
1. The BTEE-MSG-MAXITEMS tag is an integer tag that is written to specify
the maximum number of error messages to retain in the list. The default value
for this tag is 16.
2. The BTEE-MSG-NUMITEMS tag is an integer tag containing the number of
error items currently in the list.
3. The BTEE-MSG-ITEM1 to BTEE-MSG-ITEM16 tags are string tags used to
display the list of errors. The first item in the list is defined by the value in tag
BTEE-MSG-FIRSTITEM.
4. The BTEE-SEL-MSGITEM tag is an integer tag used to select the item in the
list that is the focus of the action being performed. This is equivalent to the
selection of the error from the list with the mouse.
5. The following tag contains the specific error information corresponding to the
selected item from the list.
BTEE-SEL-MSG - String tag containing the current selected error message
6. The BTEE-HANDSHAKE tag is an integer tag that is written to initiate a
specified action and read to monitor the results of the action. The handshake
value will be negative if any error occurs in the system. Client applications
should be designed to monitor this tag for a negative value and take the
appropriate action. The handshake values are provided in the table below.
Tag Interface Management (TIM) System 609
Note Caution should be used when writing to the BTEE-HANDSHAKE tag from
an InTouch client. The BTEE-HANDSHAKE tag for monitoring responses only.
The ibBatchAction script add-on function should be utilized to initiate the action.
Handshake ibBatchAction
Value Value Description
Value < 0 An error has occurred in the system.
1 12 Clear all errors.
Note If security is enabled, and the number of retries is exceeded along with the
return of a negative handshake for a failed request, the handshake value will be as
described in the table plus a value of -256. For example, if Done By security is
enabled, and an invalid password is entered more times than permitted by the
number of retries configured in the Security Editor, the handshake value will be (-
1016 + (-256)) = -1272.
Handshake
Value Description
0 Action successful
-100 Invalid or unselected entry (CLB)!
-101 Wrong batch status to perform action!
-102 Unable to access security tags!
-104 Failed to communicate with BatchMngr!
-105 Invalid or unselected equipment!
-106 Invalid or unselected equipment instance!
610 Chapter 22
Handshake
Value Description
-107 Selected equipment type is invalid for action!
-108 No phase is selected!
-109 Wrong phase status to perform action!
-110 No acknowledge currently required!
-111 No parameter is selected!
-112 No question is selected!
-113 Invalid answer to selected question!
-114 Invalid schedule!
-115 Invalid handshake action!
-116 Unit Control is not available for this equipment!
-117 Recipe already exists!
-118 BatchMngr is busy!
-119 Quantity greater than recipe's maximum batch size!
-1002 DoneBy Security - Unknown User
-1003 DoneBy Security - Denied because of Operator Station
-1004 DoneBy Security - Unknown Operator Station
-1005 DoneBy Security - Denied because of Recipe
-1012 DoneBy Security - Additional Level Needed
-1014 DoneBy Security - Unknown Recipe
-1016 DoneBy Security - Invalid User Password
-1017 DoneBy Security - Denied because of improper DoneBy Clearance
-1018 DoneBy Security - Enter Password
-1020 DoneBy Security - Non-Reusable Password
-1022 DoneBy Security - Password Mismatch
-1024 DoneBy Security - Invalid Password Length
-1033 DoneBy Security - Denied because of improper CheckBy Clearance
-2002 CheckBy Security - Unknown User
-2003 CheckBy Security - Denied because of Operator Station
-2004 CheckBy Security - Unknown Operator Station
-2005 CheckBy Security - Denied because of Recipe
-2012 CheckBy Security - Additional Level Needed
-2014 CheckBy Security - Unknown Recipe
-2016 CheckBy Security - Invalid User Password
-2017 CheckBy Security - Denied because of improper DoneBy Clearance
-2018 CheckBy Security - Enter Password
-2020 CheckBy Security - Non-Reusable Password
-2022 CheckBy Security - Password Mismatch
-2024 CheckBy Security - Invalid Password Length
-2032 CheckBy Security - DoneBy and CheckBy User ID must be different
-2033 CheckBy Security - Denied because of improper CheckBy Clearance
Tag Interface Management (TIM) System 611
Description
1. The SE-INP-USERID tag is a string tag written to provide the security system
with the ID of the user attempting to initiate an application or function.
2. The SE-INP-PASSWORD tag is a string tag written to provide the security
system with the password of the user attempting to initiate an application or
function.
3. The SE-INP-NEWPASSWORD tag is a string tag written to provide the
security system with the new password for the user attempting to initiate an
application or function.
4. The SE-INP-VERIFYPASSWORD tag is a string tag written to provide the
security system with the verified password for the user attempting to initiate an
application or function.
5. The SE-INP-OPSTATION tag is a string tag written to provide the security
system with the name of the operator station from which the user is attempting
to initiate an application or function. Operator station values can be found in
the InBatch Security System User Accounts Editor.
6. The SE-INP-APPLICATION tag is an integer tag written to provide the
security system with the ID of the application that the user is attempting to
initiate. Application ID values can be found in the InBatch Security System
Application-Function Security Editor.
612 Chapter 22
Possible
Handshake Return
Value Description Input Tags Required Codes
-1 Change the password for SE-INP-USERIDSE-INP-PASSWORD 0, 2, 16,
the selected user. SE-INP-NEWPASSWORD 20, 22, 24
SE-INP-VERIFYPASSWORD
-2 Request the security level SE-INP-USERID 0, 2, 3, 4, 6,
for the selected SE-INP-PASSWORD 9, 16, 18,
application. SE-INP-OPSTATION 256
SE-INP-APPLICATION
-3 Request whether security SE-INP-APPLICATION 0, 1, 4
is enabled for the selected
application.
-4 Request security SE-INP-USERID 0, 2, 3, 4, 5,
clearance for the selected SE-INP-PASSWORD 6, 8, 12,
function. SE-INP-OPSTATION 14, 16, 18,
SE-INP-APPLICATION 65, 129,
SE-INP-FUNCTION 256
SE-INP-RECIPEID
SE-INP-SECURITYLEVEL
-5 Request the security level SE-INP-APPLICATION 0, 1, 3, 4
for the selected function. SE-INP-FUNCTION
-6 Assign a new password to SE-INP-USERID 0, 2, 20,
the selected user. SE-INP-NEWPASSWORD 22, 24
SE-INP-VERIFYPASSWORD
Tag Interface Management (TIM) System 613
Possible
Handshake Return
Value Description Input Tags Required Codes
-7 Reset the number of None 0
retries that the user can
make for obtaining
security clearance. Used
when a function is
cancelled or a new
function is attempted.
-8 Verifies that the security None 0, 1
system is installed and
active.
Note If the number of retries is exceeded along with the return of a positive
handshake for a failed request of handshake values -2 or -4, the handshake value
will be as presented in the table plus a value of 256. For example, if an invalid
function is entered more times than permitted by the number of retries configured
in the Security Editor, the handshake value will be (8 + 256) = 264.
Handshake Handshake
Value Value
Returned Written Description
0 -1, -6 Password Changed
-2, -4 Security Granted
-3 Application Security is Off
-5 Function Security is Off
-7 Number of Retries has been Reset
-8 Security System is Installed and Running
1 -3 Application Security On
-5 Function has DoneBy Security
-8 Security System is Not Installed and Running
2 -1, -2, -4, -6 Unknown User
3 -2, -4 Denied because of Operator Station
-5 Function has CheckBy Security
4 -2, -4 Unknown Operator Station
-3, -5 Invalid Query
5 -4 Denied because of Recipe
6 -2, -4 Invalid Application
8 -4 Invalid Function
9 -2 Denied because of Application
12 -4 Additional Level Needed
14 -4 Unknown Recipe
16 -1, -2, -4 Invalid User Password
17 -4 Denied because of improper DoneBy Clearance
18 -2, -4 Enter Password
20 -1, -6 Non-Reusable Password
22 -1, -6 Password Mismatch
24 -1, -6 Invalid Password Length
32 -4 DoneBy and CheckBy User ID must be different
33 -4 Denied because of improper CheckBy Clearance
65 -4 Denied because did not receive Application Clearance
129 -4 Denied because did not receive DoneBy Clearance
Phase Prepare/Complete
This action group allows the user to perform functions prior to or immediately
following the execution of a phase through tags. The tags in this action group can
be used within a client to create an interface with the batch management system.
Description
1. The FUP-INFO-CLB tag is a string tag that defines the Campaign, Lot, and
Batch combination that is the batch focus for the action.
2. The FUP-INFO-RECIPE tag is a string tag containing the recipe ID of the
batch selected.
3. The FUP-INFO-SIZE tag is an integer tag containing the size of the batch
selected.
4. The FUP-INFO-TRAIN tag is a string tag containing the train of the batch
selected.
616 Chapter 22
5. The FUP-INFO-MODE tag is an integer tag containing the mode of the batch
selected.
Value Mode
0 Automatic
1 Semi-Automatic
2 Manual
6. The FUP-INFO-STATUS tag is an integer tag containing the status of the batch
selected.
Value Status
1 Ready
2 Wait
3 Run
4 Done
5 Interlock
6 Aborted
7 Held
8 Aborting
Value Description
0 Input
9 Process Variable
12 Output
Value Description
1 Material ID
2 Material Name
3 Target
4 Actual
5 High Deviation
6 Low Deviation
7 Lot Code
8 Preact
10 High Limit
11 Low Limit
Value Description
0 Analog
1 Discrete
2 String
3 Enumeration
Handshake
Value Description
0 Value written to the batch management system to have
it continue with the normal execution.
-1 Value used by the batch management system to notify
the user that execution is at the beginning of the
selected phase and waiting for a response.
618 Chapter 22
Handshake
Value Description
-2 Value used by the batch management system to notify
the user that execution is at the end of the selected
phase and waiting for a response.
Note The batch manager will wait for the handshake to continue processing. All
batch processing activity is essentially put on hold until the signal to continue is
received. Therefore, it is vital to return the continue handshake as quickly as
possible.
Description
1. The FUEA-INFO-CLB tag is a string tag that defines the Campaign, Lot, and
Batch combination that is the batch focus for the action.
2. The FUEA-INFO-RECIPE tag is a string tag containing the recipe ID of the
batch selected.
3. The FUEA-INFO-SIZE tag is an integer tag containing the size of the batch
selected.
4. The FUEA-INFO-TRAIN tag is a string tag containing the train of the batch
selected.
5. The FUEA-INFO-MODE tag is an integer tag containing the mode of the batch
selected.
Value Mode
0 Automatic
1 Semi-Automatic
2 Manual
Value Status
1 Ready
2 Wait
3 Run
4 Done
5 Interlock
6 Aborted
7 Held
8 Aborting
Handshake
Value Description
0 Reject the selected unit or connection for allocation to the particular instance.
1 Accept the selected unit or connection for allocation to the particular instance.
-1 Value used by the batch management system to notify the user that the system is
evaluating the selected unit for allocation and waiting for a response.
-2 Value used by the batch management system to notify the user that the system is
evaluating the selected connection for allocation and waiting for a response.
Note The batch manager will wait for the handshake to continue processing. All
batch processing activity is essentially put on hold until the signal to continue is
received. Therefore, it is vital to return the continue handshake as quickly as
possible.
Description
1. The FULE-INFO-UNITSEGMENT tag is a string tag that contains the unit or
segment name for which the status has changed.
2. The FULE-INFO-NEWSTATUS tag is a string tag containing the new status of
the unit or segment.
3. The FULE-INFO-OLDSTATUS tag is a string tag containing the old status of
the unit or segment.
4. The FULE-INFO-RECIPEID tag is a string tag containing the recipe ID
currently active in the unit or segment.
5. The FULE-INFO-LASTRECIPEID tag is a string tag containing the previous
recipe ID active in the unit or segment.
6. The FULE-INFO-DONEBY tag is an integer tag containing the ID of the user
that changed the unit or segment status.
7. The FULE-INFO-CHECKBY tag is a string tag containing the ID of the user
that verified the change of the unit or segment status.
8. The FULE-INFO-COMMENT tag is a string tag that can be written to enter a
comment that will be written to history along with the record of the change of
status for the unit or segment.
9. The FULE-INFO-FIELD1 tag is a string tag that can be written to with an
extraneous piece of data that the user would like to store in the history database
along with the record of the change of status for the unit or segment.
622 Chapter 22
10. The FULE-INFO-FIELD2 tag is a string tag that can be written to with an
extraneous piece of data that the user would like to store in the history database
along with the record of the change of status for the unit or segment.
11. The FULE-INFO-FIELD3 tag is a string tag that can be written to with an
extraneous piece of data that the user would like to store in the history database
along with the record of the change of status for the unit or segment.
12. The FULE-INFO-FIELD4 tag is a string tag that can be written to with an
extraneous piece of data that the user would like to store in the history database
along with the record of the change of status for the unit or segment.
13. The FULE-INFO-FIELD5 tag is a string tag that can be written to with an
extraneous piece of data that the user would like to store in the history database
along with the record of the change of status for the unit or segment.
14. The FULE-INFO-FIELD6 tag is a string tag that can be written to with an
extraneous piece of data that the user would like to store in the history database
along with the record of the change of status for the unit or segment.
15. The FULE-INFO-FIELD7 tag is a string tag that can be written to with an
extraneous piece of data that the user would like to store in the history database
along with the record of the change of status for the unit or segment.
16. The FULE-INFO-FIELD8 tag is a string tag that can be written to with an
extraneous piece of data that the user would like to store in the history database
along with the record of the change of status for the unit or segment.
17. The FULE-HANDSHAKE tag is an integer tag that is written to initiate a
specified action and read to monitor the results of the action. The handshake
values are provided in the table below.
Handshake
Value Description
0 Value written to the handshake tag to notify the batch management system to
continue.
-1 Value used by the batch management system to notify the user that the system is
logging a unit or segment status change to history and waiting for a response.
Note The batch manager will wait for the handshake to continue processing. All
batch processing activity is essentially put on hold until the signal to continue is
received. Therefore, it is vital to return the continue handshake as quickly as
possible.
Description
1. The FUAC-INFO-CLB tag is a string tag that contains the Campaign, Lot, and
Batch combination that is the batch focus for the action.
2. The FUAC-INFO-RECIPE tag is a string tag containing the recipe ID of the
batch selected.
3. The FUAC-INFO-SIZE tag is an integer tag containing the size of the batch
selected.
4. The FUAC-INFO-TRAIN tag is a string tag containing the train of the batch
selected.
5. The FUAC-INFO-MODE tag is an integer tag containing the mode of the
batch selected.
624 Chapter 22
Value Mode
0 Automatic
1 Semi-Automatic
2 Manual
Value Status
1 Ready
2 Wait
3 Run
4 Done
5 Interlock
6 Aborted
7 Held
8 Aborting
Handshake
Value Description
0 Value written to the handshake tag to notify the batch management system to
continue.
-1 Value used by the batch management system to notify the user that the system is
allocating a unit and waiting for a response.
-2 Value used by the batch management system to notify the user that the system is
allocating a connection and waiting for a response.
Tag Interface Management (TIM) System 625
Handshake
Value Description
-3 Value used by the batch management system to notify the user that the system is
releasing a unit and waiting for a response.
-4 Value used by the batch management system to notify the user that the system is
releasing a connection and waiting for a response.
Note The batch manager will wait for the handshake to continue processing. All
batch processing activity is essentially put on hold until the signal to continue is
received. Therefore, it is vital to return the continue handshake as quickly as
possible.
Note In a typical client system using InBatch wizards and miscellaneous scripting,
the TIMBatch and TIMSec applications should be configured and started in the
Environment System. TIMFunc should only be started if the Batch Function Tags
option has been enabled and the tags exported in the Tag Linker application.
Redundancy 627
C H A P T E R 2 3
Redundancy
The batch management system is designed with a redundancy option. The purpose
of a redundant system is to insure smooth and continuous batch system execution
on a backup computer in the event of a hardware failure on the master system.
Redundancy is particularly useful in critical manufacturing facilities operating 24
hours a day, seven days a week and where the loss of the batch system and/or
associated batch data is intolerable.
Redundancy is available for Batch servers. Batch Runtime Clients can be
configured to operate with redundant servers. Redundancy is initially configured as
part of the Batch Server installation process.
Note If you are installing a redundant system, you must configure your system as
described in this section before you install the Batch Management System software.
Contents
• Overview
• Setting Up a Redundant Batch Server
• Installing a Redundant Batch System
• Redundancy Configuration
• Example of a Redundant Server Configuration
• Redundancy Switch-Over Configuration
• Redundancy Operation
• Typical Redundant Sequence of Operation
• Batch Clients
• Redundant System Points of Interest
628 Chapter 23
Overview
Redundancy refers to the capability of the Batch Management System to
automatically switch batch control to a backup server in the event of a primary
server shutdown due to a hardware failure or power loss. Accordingly, two identical
servers are required to configure a redundant Batch system. Each of the two servers
must be equipped with a minimum of two network interface cards (NICs). For each
server, one NIC will be used to connect to a primary LAN. Both systems must be
able to communicate reliably over this primary connection. The secondary NIC on
each machine must be directly connected to each other using a crossover type
network cable. This secondary network should be exclusively dedicated for the
purpose of Batch System redundancy. This secondary network supports the
“heartbeat” between the primary and backup batch server.
Batch Development and Batch Runtime clients are normally clients of a single
batch server. In a redundant system there are two servers, either of which can
operate as the primary batch server. Each client must therefore be connected to the
primary LAN and must also be properly configured to gain network access to both
servers.
Network Configuration
Before installing redundant Batch Servers, the network must be properly
configured. Each server will be equipped with two network interface cards (NICs);
each NIC will be assigned a uniquely addressable host name and a corresponding
IP address. One NIC in each server can be designated the primary, and the other
NIC the secondary. By establishing two independent network paths between the
servers, the Batch System Redundancy Managers can send the required heartbeats
over both paths simultaneously. Use the following checklist to verify proper
network configuration (an example configuration is provided).
• Dual Network Interface Cards – Two NICs must be present in each server.
Redundancy 629
• Protocol - Each server must be configured for the TCP/IP network protocol.
• Network Addresses - Each NIC, on each server, must be assigned a proper IP
address. It is critical that the two addresses assigned to the NICs on a single
server are from different networks. This will ensure that the network
connection is used when communicating the “heartbeats”. If these addresses
differ only at the host level, redundancy will not work properly.
• Lmhosts – Lmhosts lookup must be enabled as a TCP/IP property. The set of
four network addresses must be loaded into the lmhosts file. This loading
ensures the fastest possible name resolution. Sample entries for the lmhosts file
are given in the example that follows.
• RedCfg – A redundancy configuration file (RedCfg) is created on each server
and client as part of the redundancy installation. The RedCfg file contains
specific information about system names associated with the computers in your
redundant setup.
• Verification - Communication between both servers and both paths must be
tested and verified.
Note Important Before you begin configuring a Client for redundancy, you must
first have valid network connections between your servers and each Client.
Server Configuration
1. On the InBatch Server, create a share for C:\Program
Files\FactorySuite\InBatch directory. It is recommended that you name the
share “InBatch”.
2. On each Batch Development Client, map two network drives. Each drive must
correspond (that is, point to) to the appropriate Batch Server.
3. When properly configured, each Development Client will have two additional
network drive letters available: one that provides a connection to the master
server, and one that provides a connection to the backup system.
Redundancy Configuration
You must edit the Lmhosts file on each of your redundant systems as described in
this section. These configurations prevent Redundancy Manager (RedMngr) from
binding an improper IP address.
The names used to identify your redundant networks must be different than the
machine names. In previous versions of InBatch, the primary network was
identified by the computer’s network name. The only place that the network names
should be used is in the host file.
Note The last line of the RedCfg file must be blank (i.e. carriage return.) The line
numbers shown are for reference only. They are not actually entered in the file.
632 Chapter 23
‘cabezon’ ‘bonito’
10.40.20.75 10.40.20.55
Primary Network
Control System
Redundancy 633
Lmhosts File
The Lmhosts file contains the structure described below. The Lmhosts file is
located in the …\winnt\system32\drivers\etc folder on your computer. The file
content is the same for the master and backup computer. Note that the names
entered correspond to the entries in the RedCfg file. The #PRE entries cause the
entries to be preloaded when your system is started. This is recommended for
improved performance.
634 Chapter 23
After installing and configuring the batch servers as described previously, you
should verify that the Servers are capable of properly switching over batch control.
In the following discussion, it is assumed that either server could be acting in the
role of a master or backup. When the batch servers are started for the first time, the
server that actually boots first will assume the responsibility of the Master.
Thereafter, the role of each server is determined by the information contained in the
local RedState file on each system.
Redundant batch server operation is controlled by a Redundancy Manager process
that runs on each server. The “heartbeat” is exchanged over the network between
these two processes. Each Redundancy Manager controls the other local Batch
Management processes. When a switch-over event occurs, the associated process
activity is controlled by the Redundancy Manager.
A system parameter in the Environment called “Redundancy TimeOut” is used to
set the switch over delay. The value is configurable by the user and is specified in
seconds.
For more information on Environment Manager, see Chapter 3, "Environment
Management System."
In the event a Redundant Batch sever has failed to detect the other servers
heartbeat, it will wait for the configured time before initiating a switch-over.
The normal state of a redundant batch system has one server acting as a “Master
with Valid Backup” and the other server acting as a “Valid Backup.” The role of an
active Batch server can be determined by opening the status window on the
Environment Display.
Redundancy 635
Redundancy Operation
The batch control system has the capability to operate concurrent configuration and
runtime systems. The presence of two identical systems permits the backup system
to continue runtime execution if the master system should fail. This functionality is
known as redundancy. As the batch control system databases are altered, all of the
revisions are written to databases located on both the master system and the backup
system. In the event of a master system failure, the backup system continues all
batch operations.
Backup Server
Master Server
Batch System
Backup System
(Dormant)
Master Backup
Batch System Batch System
Databases Databases
Directory Configuration
In a redundant batch control system configuration, the directories containing the
batch applications on each server are shared. During installation of redundancy, the
only user-supplied information required to establish redundancy is the network
name (hostname) of the other redundant system. The same installation procedure is
performed on both servers. Each identifies the other as the redundant host. If the
directory names, network references and network sharing, are configured
incorrectly, redundancy will not function properly.
636 Chapter 23
Note All configuration changes other than recipes and materials should be made
prior to starting the runtime system.
Note Extreme caution is recommended when using the Force System to Master
option. When the system starts as a backup, it synchronizes all of the configuration
databases with those located on the master system. Therefore, if the system was
previously operating as the master, then the data generated during the previous
execution would be overwritten by the synchronization process.
Redundancy 637
Note Once the Environment Display is started on both servers in the batch control
system, a period of several minutes or longer will elapse while configuration
databases and other batch control system processes are synchronized. During this
period, both systems will display messages that use the terms invalid and valid, in
reference to the state of the master or backup system. During the synchronization
period, the messages can be misleading. The term valid indicates that (1) all of the
databases on both systems are synchronized and (2) the runtime system on the
backup is enabled. The term invalid indicates that (1) the databases on both systems
are not (or are not yet) synchronized and/or (2) the runtime system on the backup is
not enabled and/or (3) a backup system cannot be detected.
Initial Start-up
The master batch control system is started as described earlier. The backup batch
control system databases are synchronized and started. Once the master and backup
batch control systems have been properly configured and all modules on each
system have been started properly, the redundant system executes normally until a
failure of either system is experienced.
Note The failed master should not be started as the backup until the problem that
caused the failure is repaired.
If the system does not have a redundancy state of Master with Valid Backup, or if
redundancy is not being used and IBCli looses communications with the Control
System, IBCli will continue trying to read valid tag values. The read error will not
be reported more than once per tag. Read errors on tags that have never had a
successful read, will only report the error once and redundancy will not be initiated.
This ensures that improperly linked tags will not initiate a redundancy switchover.
Note If communication between the Control System and IBCli fails, an automatic
switch-over to the Backup System will NOT occur. IBCli will issue 'read failed
errors' for the linked tags that are attempting to be read. If this should occur, the
operator must determine the cause of the failure and then determine if a manual
switch-over to the Backup System will resolve the communication fault.
Batch Clients
Batch Runtime Clients are InTouch applications that are connected to a network
node. They require access to the batch control system that is located on a remote
master system. In the case of a redundant system, each client must have the
necessary network access to both the master server and the backup server in the
event of a master-backup switchover.
If the master system becomes unavailable for some reason, the backup system will
take control and management of the batch system. When this switchover occurs, a
client must (1) acknowledge that the master is unavailable, and (2) establish a
connection to batch management system on the backup system. It must also handle
the reverse, in the event the original master becomes available again.
Condition: IBSERV_RED_MASTER == 1
Condition Type: On True
{Swap the Servers. MASTER_ID always identifies the acting
MASTER server}
IF MASTER_ID == "bonito" THEN
MASTER_ID = "cabezon";
BACKUP_ID = "bonito";
ELSE
MASTER_ID = "bonito";
BACKUP_ID = "cabezon";
ENDIF;
{ Switch IB_TIM_TAGS Access name to new master - for TIM
wizards }
IOSetAccessName("IB_TIM_TAGS", MASTER_ID, "IBSERV",
TIM_TOPIC);
{ Switch the IB_TIM_ACCESS_TAG to use new server - for script
functions }
IB_TIM_ACCESS_TAG = "\\" + MASTER_ID + "\IBSERV|" + TIM_TOPIC;
{ Switch IBSERV_RED Access to monitor new backup server }
{ Note: The IBSERV_RED_MASTER tag is assigned to this Access
Name }
IOSetAccessName("IBSERV_RED", BACKUP_ID, "IBSERV","IB_TAGS");
The example script uses the following memory message tags that are created and
assigned initial values in the InTouch Tagname Dictionary:
Note For more information on the ibAlarmNode(YES_NO) tag, see Chapter 18,
"InTouch Script Add-On Functions."
C H A P T E R 2 4
System Administration
This section describes the utilities and procedures that you should use for
administration of your Batch Management System components.
Contents
• Information Server Administration
• Backing Up Batch Databases
• Managing Batch Configurations
• Terminal Server License Administration
History Administration
Use the History Admin button to access the Batch Information Server
Administration - History Admin page and configure the Information Server (SQL
Server) accounts that are associated with access to the administration functions.
The accounts that you will be specifying are ultimately used to establish access to
the History Database in SQL Server.
System Administration 645
User Accounts
When you create user accounts for the History Administration pages, it is import
that you follow the guideline described in this section. The following requirements
must be observed whenever you are creating or editing System Administration user
accounts associated with the users who will access History Administration web
pages. If you do not properly configure user access and assign the appropriate
privileges, you will not be able to use History Administration.
For all user accounts associated with History Administration, use Microsoft SQL
Server Enterprise Manager to define the following SQL Server Login
Properties.
• BatchHistory database must be assigned as the default database.
• Server roles must include: Disk Administrators and Database Creators.
• Database Access for the BatchHistory and BatchArchive databases must
each include the following Database Roles: public, db_owner, and
BatchAdminRole options must be assigned.
History Archiving
Use the History Archive button access the History Archive page. From this page,
you can create, edit and execute archiving tasks that are registered by SQL Server.
Note Prior to using History Archive, ensure that the SQLServerAgent service has
been started on the Information Server.
Caution! When the History Archive executes, it overwrites the existing Archive
Database, effectively forgetting about the settings associated with permissions for
the database. If the BatchAdmin account is changed, then the archive database (an
empty one) should be backed up with the new permission settings. That backup
should then replace the archive template stored on disk.
System Administration 649
Item Description
Job Name The user-defined name for the archive job.
Job Description Text that describes the archive.
Scheduled Date & Time The scheduled date (mm/dd/yyyy) and time (hh:mm am/pm)
identifies when the Information Server will perform the archive
task.
Dump Device Name The dump device can be any descriptive text you want to use. The
History Archive application creates a Backup Device in Microsoft
SQL Server with the same name. An error message will be
displayed if the entry is blank.
Dump File Name The complete path and name that will be created when the archive
task is executed. An error message will be displayed if the entry is
blank.
Archive Database Name The name of the Archive Database that you defined when you
installed the Information Server (Default is BatchArchive).
History Data Start Date The start date (mm/dd/yyyy) identifies the starting point for
archiving history data.
3. After you have completed making your entries, click the Add button.
Item Description
Job Name The user-defined name for the purge job.
Job Description Text that describes the archive.
System Administration 653
Item Description
Scheduled Date & Time The scheduled date (mm/dd/yyyy) and time (hh:mm am/pm) identifies
when the Information Server will perform the archive task.
History Data Start Date The start date (mm/dd/yyyy) identifies the starting point for archiving
history data.
This date is inclusive. All batches completed on or after this date will be
archived.
This date is inclusive. All batches completed on or before this date will
be archived.
3. After you have completed making your entries, click the Add button.
Item Description
Job Name The user-defined name for the purge job.
Job Description Text that describes the archive.
Scheduled Date & Time The scheduled date (mm/dd/yyyy) and time (hh:mm am/pm) identifies
when the Information Server will perform the archive task.
System Administration 655
Item Description
Dump Device Name The dump device can be any descriptive text you want to use. The
History Archive application creates a Backup Device in Microsoft SQL
Server with the same name. An error message will be displayed if the
entry is blank.
Archive Database Name The name of the Archive Database that you defined when you installed
the Information Server.
3. After you have completed making your entries, click the Add button.
Completed Archives
After an archive has been created, it can be deleted, restored or purged.
1. On the History Archive page, identify the archive that you want from the
Completed Archives list.
656 Chapter 24
2. To Delete the archive, click the Delete button associated with the archive
Name. The archive will be immediately deleted.
3. To Restore an archive, click the Restore button associated with the archive
Name. The archive will be immediately restored.
If you want to view the Completed Archive before you restore it, click the
archive Name. This will display the Completed Archive Details page.
System Administration 657
After viewing the information, click the Restore Archive button. The History
Archive - Add Restore page will appear. Review and edit the Add Restore
job, and then click the Add button. The selected archive will be restored.
658 Chapter 24
2. Click the Report Log Admin button to display the Report Log
Administration page.
This will cause the Information Server to update the database so that the
reports that you deleted no longer appear when you use the Report View
feature on the Batch Reporting web page.
WARNING! The following steps require you to modify the Windows system
registry. It is essential that you follow the instructions carefully and modify only the
key that is identified. Unintentional changes to the registry can leave your system in
an unusable state.
WARNING! The following steps require you to modify the Windows system
registry. It is essential that you follow the instructions carefully and modify only the
key that is identified. Unintentional changes to the registry can leave your system in
an unusable state.
Note The Computer Management option can be more directly accessed by a right-
click on the My Computer desktop icon then select Computer Management.
Note The DBCOPY utility is designed for use on an active batch server that
contains the databases that you want to backup. If you want to backup databases
that are not active, you can use a standard Windows file copy.
Example:
dbcopy -L ..\cfg\config_A\modeldb D:\modeldb
A file named RedCfg is generated when the Redundancy option is selected during
the installation. This file is created in the config_A folder and should be copied to
the dflt_cfg folder if you are using redundancy. The RedCfg file is unique to each
server installation.
When you create new configurations, you can copy the contents of the dflt_cfg
folder into the config_A folder. After you develop a new configuration, you can
save it to a folder other than config_A and later copy it into the config_A folder as
needed. It is recommended that you copy all of the files contained in the
configuration rather than attempt to copy selected databases from different
configurations.
When you copy files into the config_A folder, all previous databases are
overwritten. If you are making this change in a production system it is highly
recommended that you perform a thorough control system validation once you have
copied the databases into the config_A folder.
Note If you are making this change on a production system, ensure that all batches
are complete and removed from the Batch Schedule list.
It is recommended that you use the following guideline whenever you need to
overwrite the config_A folder.
• Perform an Exit and Shutdown from the Environment Display.
• Copy the current config_A files to another folder as a backup precaution.
• Copy all of the files in the dflt_cfg folder to the config_A folder.
• If the system is setup for redundancy, ensure the original RedCfg file is in the
config_A folder.
• You can then use the editors to create a new system configuration or you can
copy a previously saved configuration into the config_A folder.
Note %1, %2, and %3 are placeholders that are filled in with values when the
message is generated.
Installation
1. Installation Requirements:
Installation must be made using a SQL Server ID that is a member of the
"sysadmin" role. The SQL Agent must be running (already a requirement of
the batch system).
2. Run the SQL script:
Copy and paste the SQL script describe in “ SQL Script” later in this section,
using a query tool on the BatchHistory database SQL server. Execute the
script.
3. Configure Notification:
System Administration 673
In order to include the alert message in the text that is sent via Net
Send:
Open the Alert.
Select the Response tab.
Check the Net Send option where the dialog asks “include alert error text in” as
shown below.
If all is configured correctly, the next time the illegal access attempts thresholds are
exceeded, a system message similar to the one below will appear on the PCs or
Users you have configured to receive notification.
System Administration 675
Additional Notes
This application note does not detail the setup of the paging or alternative software
notification means. Alternatively, the Alert can run a program that might trigger
notification on another system, or because the alert generates an NT event, an event
monitor application can initiate notification software. There are many options.
Currently, in order to modify either the Maximum attempts or the tolerance interval
requires the user to modify the USP_AuditEventAdd stored procedure. There is a
variable called @MaxSecurityAttempt_CT (set to 3), which can be changed where
the SET command is located. Likewise, @MaxSecurityInterval_CT (Set to 3) can
be changed in its corresponding SET command. It is also possible to modify the
procedure so that these values are read from the NT system registry. The Interval
counter is designed to have a resolution of minutes.
The Alert has several features that may be of interest to more advanced users.
Changes should only be made by experienced personnel.
The alert is for the 'BatchHistory' database. If an alternative name has been used the
update script will need to be modified.
Testing was performed using a popular page notification software. Each of the other
notification methods uses the same mechanism.
With minor alterations, distinct alerts could be used for discrete violations such as
user/password failure only.
SQL Script
USE MASTER
GO
sp_dropmessage @msgnum=55001
GO
,@lang='us_english',@with_log=true
GO
USE MSDB
GO
USE BatchHistory
GO
, @Op_Station Op_Station
, @Recipe_ID Recipe_ID
, @Reason Reason_Desc
AS
/*
** Declarations.
*/
DECLARE @Retcode INT
DECLARE @MaxSecurityAttempt_CT INT -- maximum security
attempts allowed within an interval of time
DECLARE @MaxSecurityInterval_CT INT -- the interval in
minutes that MaxAttemtps can occur without being enunciated
DECLARE @ViolationReason VARCHAR(100)
DECLARE @DateCalc DATETIME
/*
**
*/
BEGIN TRAN AuditEventAdd
INSERT AuditEvent
( User_Name
, App_Name
, Func_Name
, Func_Lvl
, DateTime
, Op_Station
, Recipe_ID
, Reason
)
VALUES
( @User_Name
, @App_Name
, @Func_Name
, @Func_Lvl
, @DateTime
678 Chapter 24
, @Op_Station
, @Recipe_ID
, @Reason
)
IF @@ERROR <> 0
BEGIN
SET @Retcode = 1
ROLLBACK TRAN AuditEventAdd
END
ELSE
BEGIN
IF (EXISTS (SELECT 1 FROM AuditEvent A
WHERE A.datetime >= @Datecalc
AND ( A.Reason like 'User Id not found%'
OR A.Reason like 'Password not valid%'
OR A.Reason like '%request denied%'
OR A.Reason like 'Unknown%'
OR A.Reason like '%not in%')
HAVING Count(*) > @MaxSecurityAttempt_CT))
IF @@ERROR <> 0
BEGIN
SET @Retcode = 1
RAISERROR ('Unable to Insert AuditEvent for
excessive access violations', 11, 1) WITH LOG
ROLLBACK TRAN AuditEventAdd
END
ELSE
COMMIT TRAN AuditEventAdd
END
ELSE
System Administration 679
DONE:
RETURN (@Retcode)
680 Chapter 24
Index 681
Index
Symbols Allocation 7
Allocation Queue 330
**, in Phase List 341 analog input parameters 142
**, in schedule list 327 analog process variable 142
.rcp extension 220, 221 analog process variable, using with Hi and Low
Limit 117
A analog tag 86
API, Security 423
Abort a Batch 349 Application
Abort, Phase Command 463 SuiteLink or DDE 176
Abort, Unit Command 459 application ID, in security 436
Aborted 321 Application Parameters
Aborted, Phase Status 465 Table of 61
Aborted, Unit Status 460 Application Security Requests 440
Aborting 321 Applications
Access Editor 176 Adding Instances of 58
Access Mode 86 Adding to Environment 58
Access Name 63, 176 Assigning Parameters to 60, 61
Acknowledge Assigning Values to Parameters 61
On Entry 290 Automatic Start-up/Shutdown of 67
On Exit 290 Available for Termination Timeout 66
Acknowledge Addition of Material 354, 357 Deleting Parameters 64
Acknowledge on Entry 160 Instance Names 59
Activate Jump Mode 325 Starting All
Active Transition Objects 344 Automatically 67
Active Transitions, viewing 331 with Environment Display 53
Active-X Starting Single Runtime 54
GUI Controls 473 Stopping All
ActiveX 10 Automatically 68
Actual Element, Process Phase 116 with Environment Display 53
Actual Element, Transfer Phase 141 Stopping Single Runtime 54
Actual Value 199 Timeout 49
Actual Value, Assigning for Unit Assignment 201 User-Defined 64
Actual, Parameter Extension 467 Adding 64
Add Archive Job 649 Assigning Parameters to 65
Add Attributes to a Train 304 Configuring Parameters for 66
Add Batch to list 322 Viewing Status of 51
Add Daily Schedule 398, 399 Applications-Functions Editor 435
Add Materials From List, check box 243, 247 Approvals 217
Add Monthly Schedule 398, 400 Approved for Production 217
Add Operation 260, 269 approved for production, recipe security 433
Add Operation Branch 258, 260 Approved for Test 217
Add Operation Loop 258, 260 approved for test, recipe security 433
Add Operation Transition 258, 260 APS, Advanced Planning Systems 10
Add Phase 262 Archive Job 649
Add Phase Branch 262 Ask 446
Add Phase Loop 262 AskCheckBy 446
Add Phase Transition 262 AskDoneBy 446
Add Purge Job 651 Assign a Material to a Unit 200
Add Restore Job 653 Assign Application Parameter Values 61
Add Units to a Train 303 Assign Destination Instances 238
Add Weekly Schedule 398, 399 Assign Lot Tracking Information 201
Adding Applications to Environment 57 Assign Process Classes 230
Adding Process Classes 101 Assign Source Instances 238
Adding Units 97 Assign Tags to Process and Transfer Classes, additional
Advanced Planning Systems (APS) 10 information 158
alarm limits 142 Assign Tags, additional information 155
Alarms 469 Assign Units, Process Class Instances 233
alarms 451 Assigning a Material to a Unit 198
Allocate Phase Assigning Application Parameters 61
in recipes 208 Assigning Attributes to Trains 304
Index 682
W
Wait 344
WaitHour 447
WaitMin 447
WaitSec 447
Warm Restart 363
Warning
Batch Client Security 437
Batch Manager and Trains 318
Deleting Model Components 92
Phase Logic Testing Tool 471
Process Log Manager, Stopping 421
Restarting Batches 365
Wonderware Logger 14
Work In Process (WIP) 5
WWLogger 14
Z
Zoom In 259, 261, 263
Zoom Out 259, 261, 263