Professional Documents
Culture Documents
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 3
Contents
CHAPTER 1: Welcome to InBatch FlexFormula
Edition ...................................................................... 3
Overview........................................................................................................ 4
Flexible Formulas and Process Lines......................................................... 4
Process Modeling ....................................................................................... 5
Creating and Linking Tags ......................................................................... 5
Materials Tracking Management................................................................ 6
Recipe Management................................................................................... 6
Batch Management..................................................................................... 6
Batch History.............................................................................................. 7
Batch Reports ............................................................................................. 8
FactorySuite Integration ................................................................................ 8
Tag Management ........................................................................................ 8
Tag Communications.................................................................................. 8
Batch Alarms.............................................................................................. 9
Windows 2000 Terminal Services Support.................................................... 9
Extensibility ................................................................................................... 9
Managing InBatch Configurations............................................................... 10
InBatch Program Menus .............................................................................. 10
Batch Server ............................................................................................. 10
Batch Development Client ....................................................................... 10
Batch Runtime Client ............................................................................... 11
Information Server ................................................................................... 11
InBatch Programs ........................................................................................ 11
Configuration Programs ........................................................................... 11
Run-time Programs .................................................................................. 13
Utility Programs ....................................................................................... 15
InBatch Configuration Architecture ............................................................ 16
InBatch Runtime Architecture ..................................................................... 17
C H A P T E R 1
Welcome to InBatch
FlexFormula Edition
This chapter provides a general overview and discussion of the capabilities of the
InBatch FlexFormula Edition software, including process modeling, creating and
using tags, recipe management, materials tracking, batch management, history and
reporting. It explains the interface between InBatch software and your control
system, including alarming and utility programs.
Contents
• Overview
• FactorySuite Integration
• Extensibility
• Managing InBatch Configurations
• InBatch Program Menus
• InBatch Programs
• InBatch Configuration Architecture
• InBatch Runtime Architecture
4 Chapter 1
Overview
InBatch FlexFormula 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.
InBatch FlexFormula Edition supports three levels of licensing. Each level
corresponds to the number of Units that the batch system will allow to be
simultaneously allocated. The license sizes are as follows:
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.
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. A unit is a vessel that can hold and/or
process materials. Some vessels 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.
Note While InBatch Premier Edition models all batch vessels and the material
flow connections between them, it is only necessary to model the vessels with
processing capabilities using InBatch FlexFormula Edition.
All units that have the same processing capabilities or perform the same function
are grouped into a process class. Process Classes define a family of units. The
ability to group units into classes is the essence of a true flexible batch system.
Processing capabilities are defined by creating a set of Parameters for the Process
class. This parameter set is common to all of the unit members of the class. In this
manner, recipes can be developed which can be executed on any unit within the
class without the need to write a new recipe for each unit. Such recipes are called
equipment independent recipes
Process Modeling is the process of identifying the processing capabilities of a plant.
There are three basic elements involved in any process modeling: defining the
Units, Process Classes (Processes), and Processing Capabilities. The following
guidelines describe the basic steps that you use to develop a process model:
1. Identify each unit and its attributes.
2. Group units into process classes.
3. Define the processing capabilities of each process class (parameters).
4. Define equipment statuses.
5. Define trains.
6. Develop unit procedure logic in the control system.
An integral part of Process Modeling involves defining specific data points called
Tags. Tags are associated with all Units and Processes and allow data to move
between the batch system and the control system. Tags must be defined prior to
configuring any of the batch system programs. There is no limit to the number of
tags that you can have in your batch system.
Recipe Management
InBatch Recipe Management provides the capability to create recipes according to
the guidelines outlined in the ISA S88.01 Flexible Batch Standard. InBatch
FlexFormula Edition links S88 Unit Procedures to blocks of logic in the control
system
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.
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, ensuring that the
recipe’s equipment requirements are satisfied by the Train, and verifying that the
Process Model database is compatible with the recipe.
Welcome to InBatch FlexFormula Edition 7
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 for each unit are signaled for execution by Batch
Manager. Unit block control logic, located in the control system, is responsible for
controlling the process. Prior to starting each unit block, Batch Manager verifies
that the unit block is ready for execution. If it is ready, the 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 unit in hold.
They can also use the interface to restart and abort batches or units. The interface
also allows operators to change parameter values 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.
A master recipe uses classes of process units, not specific units. This means that
equipment requirements pertain to a class of units, not to a specific unit. When
Batch Manager executes a master recipe, each unit procedure encountered is
converted to be unit-specific. 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.
8 Chapter 1
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.
FactorySuite Integration
The following Utility Programs are provided with the batch system to help assist
your development and runtime processes.
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 of units, process
classes, and parameters. Tags are automatically created using these names and are
used by the InBatch to communicate with PLC or DCS systems.
Tag Linker
The tags created by the Model Editor can be linked to control system addresses
using the InBatch Tag Linker. The Tag Linker 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 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 and operator displays.
There are two utilities or tools available to diagnose, troubleshoot and exercise tags
communications between InBatch and FactorySuite™.
Welcome to InBatch FlexFormula Edition 9
TagView Tool
The TagView tool is used to monitor and interact with InBatch tags at run time.
Batch Alarms
Batch alarms, in InBatch, are captured, associated with a batch and stored in the
history database. The Unit Name parameter of the tag is the key in accomplishing
this objective. All alarms from a designated InTouch™ application, are monitored
by the batch control system. If the first piece of the tag name corresponds to a unit
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.
10 Chapter 1
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.
Uninstall Server 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 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.
12 Chapter 1
Run-time Programs
The following run-time programs are used by the batch system during batch
execution.
Utility Programs
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
18 Chapter 1
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)
• Define Process Capabilities
• Equipment Status
• Tags
• Tag Definition
• Process Modeling Summary
• Model Editor
• Units Tab
• Processes Tab
• Equipment Status Tab
• Units of Measure Tab
• Enumeration Tab
• Additional Configuration
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.
InBatch FlexFormula Edition allows the user to model the processing vessels or
Units of the system. InBatch Premier Edition allows for a Comprehensive Model
which includes Connections between units as well as the units themselves. For this
reason, FlexFormula Edition is said to use a "Connectionless" Model.
Note For more information on InBatch Premier Edition and the Comprehensive
Model it provides, please refer to the InBatch Premier Edition User’s Guide.
Proper material tracking requires the definition of input parameters for the
appropriate source class and the definition of output parameters for the appropriate
destination class.
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, and
filling stations. Generally speaking, it is not usually necessary to model source
tanks (such as bulk ingredient silos) with InBatch FlexFormula Edition. It is
assumed in this case, that the control system provides the logic necessary to
coordinate the transferring of materials to the appropriate processing units as
directed by the unit procedure formula.
Units can have unique attributes, such as capacity or material of construction,
which further define the processing capabilities or limitations of the unit.
Each process can have a common set of attributes, which further define the
capabilities of each unit in the class. Unit attributes are used by the batch
management system to verify that the units in the train match the equipment
requirements defined by the recipe.
This diagram shows the structured interface between unit logic and the batch
management system.
Process Modeling 73
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 non-material related 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 unit procedure logic block may require interlocks. Interlocks provide safety
and security for personnel and equipment by preventing the execution of unit
procedure logic when other equipment or operators are not ready. Any discrete tags
within the system can be assigned as an interlock to a unit procedure. There is no
limit to the number of interlocks that can be assigned to a unit procedure. 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 unit
procedure execution. Control buttons are included in user interfaces for batch
execution displays. There are two control buttons available for each unit procedure.
Control buttons are associated with the values of discrete tags.
A summary of all unit procedure interfaces is displayed in the following table.
74 Chapter 4
Equipment Status
An equipment status represents the transition states of units and is defined in the
process model. The Equipment Status is evaluated by the batch control system
before the allocation of units. The use of equipment status is optional, but at least
one Equipment status must be defined in the process model.
Units of Measure
A unit of measure is an attribute of a formula parameter and can optionally 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.
Process Modeling 75
Enumeration
An enumeration is a data class in which a list of alpha-numeric string names
correspond to integer values .
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.
76 Chapter 4
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 four tag types in the batch control system: Unit Tags, Process Tags,
System Class Tags, and System Unit Tags. Each type has a unique responsibility as
described below.
Value
from
Control
Tag Type Use System Comments
Unit Process Modeling: Yes
Unit Procedure Interface
Interlocks
Control Buttons
All SCADA Applications
Process Process Modeling: No Note 1: For each process tag, the
Process Class Control Buttons Model Editor automatically creates
Process Class Control Bits one unit tag for each unit in the
Process Class Status Bits process class.
Process Class Formula Parameters Note 2: For each process class, the
Modeling Editor automatically
creates a set of System Class Tags.
Note 3: For each unit in the process
class, the Model Editor
automatically creates a set of
System Unit Tags.
System Process Modeling: No Note 1: System tags are internal
Class Process Class Formula Parameters batch control system tags and are
updated by the batch management
system.
Note 2: System Class tags are
automatically generated for each
process class defined in the process
model.
System Unit All SCADA Applications No Note 1: System Unit tags are
automatically created for each unit
that is assigned to a process class.
The batch control system maintains
these tags
Process Modeling 77
Unit Tags
Unit tags define data points that are uniquely associated with a single processing
unit.
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.
78 Chapter 4
System Tags
System tags are automatically created by the Model Editor when a process class is
added to the model. There are two types of system tags in InBatch FlexFormula
Edition: System Class tags and System Unit tags. System class tags are identical to
process tags and system unit tags are identical to unit 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 tags may be assigned to the control
system and can be used in SCADA applications.
System Class
Description Tagname Data/Information
Unit Information Allocation Possible Values:
Ready
Allocated
Batch_ID Batch ID of batch unit is allocated to.
Batch_Mode Possible Values:
Automatic
Semi-Auto
Manual
Batch_Size Assigned batch size of batch within unit.
Batch_Status Possible Values:
Open
Ready
Run
Held
Aborting
Aborted
Done
Campaign_ID Campaign ID of batch unit is allocated to.
Last_Recipe_ID ID of last recipe produced within unit.
Lot_ID Lot ID of batch unit is allocated to.
Recipe_ID ID of recipe assigned to batch within unit.
Recipe_Name Name of recipe assigned to batch within unit.
Status Current status of unit. Possible values are
defined by user in the Equipment Status tab
within the process model editor.
3. Any critical unit procedure logic data point must be entered as a process tag.
The critical unit procedure logic data points are required by the batch
management system to control, monitor, and configure a unit procedure based
on a recipe’s requirements. The following table lists the critical unit procedure
logic data points.
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. Each is followed by the Unit Procedure, Parameter and Element names.
Tagname Structure
Parameter Name 8
Element Name 5
Delimiters
Item Delimiter
Between Names - (dash)
Before Attribute . (period)
Process Modeling 81
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
Unit Procedure CS START Start
Control Tags HOLD Hold
RSTRT Restart
ABORT Abort
RESET Reset
Unit Procedure CS READY Ready
Status Tags HELD Held
RUN Run
DONE Done
ABRTD Aborted
INTLK Interlocked
Parameter Tags Parameter Name ACT Actual
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. String tags are identified by an alphanumeric value and may
contain up to 80-characters. Enumeration tags are a list of alpha-numeric string
names that corespond to integer values.
82 Chapter 4
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.
Example Plant
Process Modeling 85
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.
Assigning and Selecting: After selecting the item(s), you must click the Apply
button. Clicking OK applies your selections and closes the associated dialog.
Clicking the Close button closes a window. List box items are selected and
deselected by single-clicking the list item. When applicable, multiple entries can be
selected by holding down the control (or shift) key while simultaneously left-
clicking the desired items.
86 Chapter 4
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
Process Class All process tags associated with the class
All unit tags resulting from the process tags
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.
88 Chapter 4
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 Process Classes have tag assignments for (minimally) the Start, Reset,
Ready, and Done unit procedure 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.
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 Operating System 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/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.
90 Chapter 4
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.
92 Chapter 4
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.
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.
Process Modeling 93
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 classes 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.
Process Modeling 99
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.
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.
Control Buttons
You can include Control Buttons as part of the user interface. The buttons are a
part of the selected process class interface. To use a control button, you must
associate a tagname with the desired button.
For more information on Control Buttons, see “Additional Configuration” later in
this section.
Control/Status Bits
Use the Edit Control/Status window to configure Unit Procedure Control and Unit
Procedure Status bits for the selected Unit Procedure. To configure control and
status bits, you must associate tags from the process class.
For more information on Unit Procedure Control/Status bits, see “Additional
Configuration” later in this section.
106 Chapter 4
Interlocks
Use the Edit Process Interlocks window to configure interlocks for a unit
procedure. To assign interlocks, you must associate unit tags with the unit
procedure.
For more information on configuring Interlocks, see “Additional Configuration”
later in this section.
Process Modeling 107
To Configure Interlocks:
1. On the Edit Unit Procedures 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
assigned to the selected unit.
Formula Parameters
Use the Edit Formula Parameters window to configure formula parameters for a
unit procedure.
For detailed information on configuring Formula Parameters, see “Additional
Configuration” later in this section.
The window shows the Formula Parameter configuration of the selected Unit
Procedure.
For detailed information on configuring Formula Parameters, see “Additional
Configuration” later in this section.
Process Modeling 109
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 unit procedure. 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 unit procedure.
Typically, the unit procedure logic will use the target value to determine when
to stop a certain function or activity.
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:
110 Chapter 4
1. Select the Enable Display check box if the actual value is to be displayed
during the runtime execution of the unit procedure. 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 unit procedure.
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 unit procedure.
Process Modeling 111
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 unit procedure.
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 unit procedure.
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.
112 Chapter 4
Formula parameter configurations for the unit procedure example given earlier are
shown below.
All of the statuses that have been defined for the process model will appear in
the Status list.
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 unit procedure 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).
5. Click Add to include the Name and Value in the process model or click
Change if you are editing an existing Enumeration.
118 Chapter 4
Additional Configuration
• 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.
120 Chapter 4
Tagname
Mixers-Process-CS-START
Mixers-Process-CS-HOLD
Mixers-Process-CS-RSTRT
Mixers-Process-CS-ABORT
Mixers-Process-CS-RESET
Mixers-Process-CS-READY
Mixers-Process-CS-RUN
Mixers-Process-CS-HELD
Mixers-Process-CS-DONE
Mixers-Process-CS-ABRTD
Mixers-Process-CS-INTLK
Edit Interlocks
An interlock is a condition that prevents the execution of a unit procedure. This
could be a process alarm condition or, for example, an open valve. A unit procedure
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 unit on the Batch Display.
This allows operators to quickly and easily identify and fix the interlocks that are
preventing a unit procedure from executing.
Assign Tags
Interlock assignments are made to each unit using Unit tags.
An assignment is made by selecting the required unit and then clicking the Assign
Tags or Assign Tags button.
122 Chapter 4
In the Tag Selection window, select unit interlock tags. The Tags list in the Edit
Processes window will display the assigned tag(s).
Each formula parameter must be assigned a data class type. This assigned data
class determines what data class of tags are available for assigning to the
elements of each parameter type. For example, only analog tags can be
assigned to the elements of an analog parameter. Process variable parameters
can be defined as either analog, discrete, string, or enumeration. Input and
output parameters are defined as analog and cannot be changed.
Each parameter element can be assigned to a tag. Tags are either automatically
created and assigned, or they are manually created and assigned.
124 Chapter 4
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 unit
procedure. 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 unit procedure.
7. Element Default Values (Optional)
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 performs the following functions.
• Link InBatch tags with an I/O Server
• Link InBatch tags with InTouch tags
• 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
130 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 18, "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 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 131
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).
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.
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.
132 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 133
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
long_max with 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
long_max to tags with Data Class = "Analog". Value =
0 if not relevant.
(READ-WRITE)
13 Max scaled long_min, double Tag maximum scaled raw value. Applicable
long_max to 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 135
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.
136 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.
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.
Tag Linker 137
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.
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.
138 Chapter 5
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.
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.
Tag Linker 139
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.
The View Filter Selection window lists all of the Units 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.
140 Chapter 5
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 141
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 18, "InTouch Batch Tag Browsing and
Referencing."
142 Chapter 5
Scaling Options
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.
Tag Linker 143
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, and an Output
Path/Filename.
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.
144 Chapter 5
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.
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.
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.
9. If tags are required in InTouch, use the InTouch DBLOAD utility to import the
.csv file.
10. Configure one instance of IBCli for each Access Name.
11. Perform an Update/Runtime operation from Environment Display.
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
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.
150 Chapter 6
Materials Editor 151
The status of all of the materials in the Materials Database will be displayed. If
there are no materials defined in the database, the list will be empty.
The Material ID, Material Name, Unit of Measure and Total Quantity will be
displayed. The material characteristic and default value are also displayed.
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.
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.
Materials Editor 153
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.
154 Chapter 6
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 156 later in this section.
View Menu
Use the Materials Status View menus 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/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.
2. The Material ID list will now show 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 the online help system and
information regarding product version and licensing.
Help/Help Topics
Use the Help/Help Topics command to display the help contents for Material
Editor.
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.
Recipe Editor 159
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, the
InBatch FlexFormula Edition Recipe Editor allows the creation of recipes at the
Unit Procedure level.
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.
A master recipe may or may not be size specific. All formula quantities 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
• Equipment Requirements
• Formula
• Process Variables
• Building a Recipe Procedure
Overview
A recipe consists of four parts. They are the Header, the Equipment Requirements,
the Formula, and the Procedure.
160 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 units available for a given
batch. There may be times when you want to give an operator the flexibility to
select a 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 parameters associated with the
process classes defined in the equipment requirements. These are the only
parameters that you can use to build a recipe procedure.
Process Instances
When you specify equipment requirements for a recipe, an entity is created for each
selected process class called a process instance. The process instance is like a
generic place-holder for a member of the process class. Each process instance
corresponds to an actual unit when the recipe is executed. You may assign a specific
unit to a process instance, or you can allow the unit to be selected when the recipe
executes using automatic or manual selection. When one or more process instances
have specific units assigned to them, the recipe is called an “equipment dependent”
recipe. This means that the recipe, by design, always uses specific equipment for its
execution. When process instances are not assigned to specific units, the recipe is
called an “equipment independent” recipe.
Recipe Editor 161
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 FlexFormula procedure is constructed using unit procedures,
transition logic, branch objects, and loop objects. Unit Procedures are associated
with a process instance and are defined in the recipe. Unit Procedures 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.
Transition Logic provides the ability to redirect the execution of a procedure based
on the result of a Boolean expression. Expressions can be constructed using
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.
Branch Objects allow the recipe builder to execute simultaneous unit procedures or
execute one of many unit procedures simultaneously on two or more units.
Loop Objects allow the recipe builder to re-execute unit procedures based on an
evaluated transition logic expression.
162 Chapter 7
Unit Procedures
A Unit Procedure contains all the processing operations and activities of a single
unit under batch control. The Unit Procedure names have been defined by the
process model. A process instance must be specified for each Unit Procedure
created. The Unit Procedure is the set of all parameter values (the formula) which
will be used by the process instance (unit) at runtime. Each process instance can
only use one (1) unit procedure in the recipe. Unit control logic in the control
system is responsible for executing the unit procedure when the recipe executes.
With InBatch FlexFormula Edition, the sequence of operations that occur within the
unit procedure are programmed into the control system
Unit control logic is constructed in a manner where it is automatically configured
through the parameters and enabled and monitored by the batch management
system when recipes are executed.
Some recipe procedures require the acknowledgment of certain conditions by an
operator before a unit procedure can be executed. A recipe procedure may also
require an operator to acknowledge the completion of a unit procedure.
Additionally, a recipe procedure may require the entry of operator comments before
batch execution can continue. All of these situations can be configured as part of
the recipe procedure.
Parameters
You can use Formula Parameters to further define the execution of a unit procedure.
Formula parameters are defined in the process model editor. There are three types
of parameters:Inputs, Outputs, and Process Variables.
Parameters act as mailboxes for data. Input parameters will hold ingredient
quantities based on the formula. Process variable parameters 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 are
ways to control (enable/inhibit) the execution of the parts of a recipe procedure
based on operator decisions and to delay execution of parts of the procedure using
time delays. 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 pre-defined
functions (Ask, Not, WaitSec, WaitMin, WaitHour)
For more information on building expressions, see Chapter 14, "Expression Editor."
of this User’s Guide.
Recipe Editor 163
File Menu
The Recipe Editor File menu provides system functions for the Recipe Editor. The
File menu items are described in the following sections.
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.
Recipe Editor 165
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 he Recipe Editor window.
To Find a Recipe:
1. Click the Find button.
2. The Recipe Find window will appear.
166 Chapter 7
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.
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.
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, unit procedures, 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.
Recipe Editor 169
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 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.
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."
of this User’s Guide.
To Approve a Recipe
1. Click File, and then select Approvals.
You can also click the Approvals icon on the main toolbar.
170 Chapter 7
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 173
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.
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.
For more information on defining Recipe States, see “Edit/Recipe States” 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 “Edit/Recipe Types” 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 instances which 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 (Required, One Process Instance is created for each selected
Process Class)
• Unit Selection Mode (Required, Defined for each process instance. Default is
Automatic selection)
Recipe Editor 181
• Attributes (Optional, Available for each process 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.
Note You can delete Process class assignments with the Equipment Requirements
Editor. Deleting a process class will remove the process instance that is associated
with the deleted class. The Unit Procedure previously assigned to the instance
associated with the deleted process class must be manually deleted from the recipe
procedure. Until you delete the unit procedure, the recipe will be invalid. Should
this condition arise, a message box will be displayed.
Process Instances
Use the Process Class Instance Editor to edit the specific process instances
necessary for recipe construction.
All of the units assigned to the selected process class in the process model will
be displayed.
3. 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
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." of this User’s Guide.
Recipe Editor 185
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).
186 Chapter 7
Maximum
Minimum Value Value Batch Management Action
0 0 Attribute ignored by the batch management system.
10 100 Only units in the process class that have an attribute value
greater than or equal to 10 and less than or equal to 100 can
be used by the batch management system.
50 50 Only units in the process class that have an attribute value of
50 can be used by the batch management system.
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.
The Process Class Instance Editor window shown below represents a possible
configuration for this example.
Recipe Editor 187
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
Unit Capacity Capacity
Process Assigned Selection Attribute Attribute Resultant Unit
Instance Units Mode Value Value Selected
Mixer None Automatic 0 0 Mixer1 or Mixer2
Mixer None Automatic 0 2000 Mixer1 or Mixer2
Mixer None Automatic 0 1000 Mixer1
Mixer None Automatic 2001 3000 Batch cannot be
initialized because train
does not contain an
acceptable unit.
Mixer None Manual 0 0 User selects Mixer1 or
Mixer2
Mixer None Manual 0 2000 User selects Mixer1 or
Mixer2
188 Chapter 7
Minimum Maximum
Unit Capacity Capacity
Process Assigned Selection Attribute Attribute Resultant Unit
Instance Units Mode Value Value Selected
Mixer None Manual 0 1000 Mixer1 is automatically
selected because it is
the only mixer that
satisfies the attribute
range.
Mixer Mixer1 N/A N/A N/A Mixer1
Mixer Mixer2 N/A N/A N/A Mixer2
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 unit procedures that
have input or output parameters defined. Value assignments for each material can
be made from the respective editor or locally at each unit procedure. The process
variable editor displays all of the process variable type parameters that are used in
unit procedures in the recipe procedure. Unit procedures 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 unit procedures 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 unit procedure, 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 unit procedures in a recipe. If this is desired, the
material must be added twice to the Formula Inputs Editor Inputs list.
Recipe Editor 189
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(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.
Recipe Editor 191
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 unit procedure 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.
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 unit procedures 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 unit procedure, 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 unit procedures 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.
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 unit procedure assignment that were
assigned to previous output.
3. In the Material ID text box, enter the required Material ID and then click OK
or Apply.
196 Chapter 7
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 unit procedures used in the construction of the recipe.
Process variable formula parameters are defined in the Process Modeling Editor.
Use the formula grid to redefine the names or values assigned to process variable
parameters.
The Formula Grid shows all of the parameters used in the unit procedure of the
recipe procedure. The list will be empty until you use unit procedures in the
recipe procedure. Following recipe procedure creation, you can change input,
output, and process variable parameters in the Formula Grid.
For each parameter displayed in the list, the Parameter (name), Parameter
Type, Value, Name, Material ID (if applicable), UOM, Tolerance (type),
High Deviation, Low Deviation, Quantity Type, and Total are displayed.
Not all columns apply to all types of parameters.
The cells which are editable will appear with a grey background.
2. Click on an editable cell (such as the Value field) to edit it.
The cell will be outlined and the data selected in edit mode.
3. Type in the desired new value for the field.
Note The Value must be within the range of the High and Low Limit values
defined for the parameter in the process model database.
Note If you press the Enter key after typing the new value, the Recipe Editor will
move down the column until the next editable cell is found. This cell will
automatically go into edit mode. This facilitates quick entry of formula parameters
Edit/Recipe States
Use the Edit/Recipe States menu to access the Edit Recipe States window.
198 Chapter 7
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.
Recipe Editor 199
View Menu
Use the Recipe Editor View menu to show or hide toolbars, change the
magnification (zoom-in or zoom-out) of the unit procedure display and show or
hide the unit procedures window, status bar, and main toolbar.
View/Main Toolbar
To view the Main Toolbar:
Click View and then enable the Main Toolbar menu item.
200 Chapter 7
View/Status Bar
To view the Status Bar:
• Click View and then enable the Status Bar menu item.
Help Menu
The Recipe Editor Help menu contains commands that provide you with access to
the online help system and information regarding product version.
Recipe Editor 201
Help/Help Topics
Use the Help/Help Topics command to display the help contents for Recipe Editor.
Procedure Layout
The Recipe Editor Procedure area consists of the Unit Procedures pane and the
Unit Procedures Toolbar.
The data shown in the Unit Procedure parameter grid can be arranged by a user
according to preference. These features are described as follows.
• The columns of the grid can be sorted ascending or descending by clicking
the column header. An arrow next to the name of the column will indicate
the sort order.
• An option of the context menu (right click) exists to unsort the parameters,
this will put the parameters in the original order.
• If the user is editing a cell and presses enter to save the changes, the same
cell in the next row will be automatically set to edit mode (if it can be
edited).
• A right click menu exists for the grid which provides options to hide and
show individual columns.
• Columns can be arranged to the user’s preference by clicking the column
header and dragging the column to the desired location.
• Columns can be resized to the user’s preference. Note, a minimum width
of the columns is enforced.
• To hide a column completely, the user must right click and hide that
column.
• Column widths, column ordering and sort settings can be saved so that the
next time Recipe edit is started, these settings and automatically applied.
This is done by selecting the Save View Settings from the File menu.
Recipe Editor 203
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.
The Process Instances in the list correspond to the process class selections and
instance definitions that you defined using the Equipment Requirements
Editor.
For more information on Equipment Requirements, see “Equipment
Requirements” in this section.
3. Select a Process Instance from the list.
4. Click OK. The Select Unit Procedure window will appear.
Transition Objects
Use the Add Unit Procedure Transition icon to insert a transition object into the
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.
208 Chapter 7
Use the Expression Editor to construct transition expressions. You can build
expressions using 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." of this User’s Guide.
7. After you have entered the required expression, close the Expression Editor
window.
8. On the Transition Properties window, click Close.
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 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.
Recipe Editor 209
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 icon inserts a branch object into the procedure
sequence beneath the current location of the cursor.
Branch objects are used to execute multiple unit procedures at the same time, or to
make a choice between running one of several unit procedures. 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 in this
section.
6. Click Change and then Close.
7. The branch will be inserted into the recipe procedure.
Note Branches cannot be added around an existing unit procedure. However, you
can add a branch object and then drag-and-drop objects into a branch object.
Use the Execute Type: All branch object when simultaneous execution of unit
procedures 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, then that 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.
The Execute All Branch object is graphically displayed as two parallel horizontal
lines.
Recipe Editor 211
Note Batch Manager will not continue past the Branch Return object until all
transition logic and unit procedures 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 icon inserts a loop object into the procedure
sequence beneath the current location of the cursor.
212 Chapter 7
Loop objects are used to re-execute unit procedures 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 unit procedure. However, you can
drag-and-drop existing objects into a loop object.
Note Use the Undo icon to undo the most recent deletion. Only one level of undo
is provided.
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.
Execution Tab
Use the Execution Tab to configure how the unit procedure will interact with the
batch system and operators.
1. In the Label field, enter a unique name.
By default, the Label is automatically assigned (as a unique numeric value)
when the unit procedure is created in the procedure.
2. If you want to generate an end of unit procedure report, click the Report
button, and select a report from the list.
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.
For more information on reports, see Chapter 11, "Reporting System." in this user’s
guide.
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 22, "System
Administration." in this user’s guide.
Check By - Enable this check box if you want to require an operator and the
supervisor, or person with a comparable security level, to verify and confirm
the start of the unit procedure. During recipe execution, the option requires the
operator to press the acknowledge button on the Batch Display and then enter
their security identification number and password, and the security
identification and password of a supervisor, before the unit procedure is
started. Enabling Done By automatically enables the Acknowledge check box.
Configuration of the appropriate Check By security levels is performed in the
Security Editor.
For more information on the configuring security, see Chapter 13, "Security
System.".
5. In the On Exit pane, enable the Acknowledge, Done By and Check By check
boxes is required.
Acknowledge - Enable this check box if you want to require an operator to
press the acknowledge button prior to the end of the unit procedure. The
Acknowledge command button is part of the Batch Display.
For more information on the Batch Display, see Chapter 9, "Batch
Management System.".
Done By - Enable this check box if you want to require an operator, or person
with a comparable security level, to verify the end of the unit procedure.
During recipe execution, the option requires the operator to press the
acknowledge button on the Batch Display and then enter their security
identification number and password before the unit procedure can end.
Enabling Done By automatically enables the Acknowledge check box.
Configuration of the appropriate Done By security levels is performed in the
Security Editor.
Check By - Enable this check box if you want to require an operator and the
supervisor, or person with a comparable security level, to verify and confirm
the end of the unit procedure. During recipe execution, the option requires the
operator to press the acknowledge button on the Batch Display and then enter
their security identification number and password, and the security
identification and password of a supervisor, before the unit procedure ends.
Enabling Done By automatically enables the Acknowledge check box.
Configuration of the appropriate Check By security levels is performed in the
Security Editor.
For more information on the configuring security, see Chapter 13, "Security
System." of this User’s Guide.
6. In the Comment pane, enable the Required check box if you want to require
the entry of operator comments during unit procedure 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." of this User’s Guide.
7. 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 unit procedure.
If Continue Mode is disabled, recipe execution will not continue until a Done
status is received from the unit procedure.
218 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 unit procedure’s
execution. Acknowledgment can be specified to occur at the start of the unit
procedure (On Entry) or as the last step (On Exit) of the unit procedure. When the
unit procedure 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.”
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." of this User’s Guide.
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 unit procedure. 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 unit
procedure. 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 unit procedure. 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 unit
procedure. Configuration of the appropriate Done By and Check By security levels
is performed in the Security Editor.
Recipe Editor 219
For more information on the configuring security, see Chapter 13, "Security
System." of this User’s Guide.
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.
222 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.
224 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 225
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
• Configuring Batch Scheduler
• Using Batch Schedule with Optimization Software
• Using Batch Display
• Starting Batch Manager
• Batch Execution
• Warm Restart
230 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, a block of control software, referred to as
unit control logic, is signaled to execute by Batch Manager. Unit control logic is a
programmed logic block existing in the control system. It is responsible for
controlling all functions associated with a unit. Prior to enabling each unit
procedure, Batch Manager verifies that the unit control logic is ready to be
executed. If so, parameter values are downloaded to the unit control logic and the
unit procedure 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 unit procedure in hold, restart and abort
batches or unit procedures, and change the batch execution mode. Batch Manager
also has a Jump Mode that allows the execution point of an active batch that is in
hold to be changed. Operators can use this feature to either jump ahead during
recipe execution or repeat unit procedures that have already executed. In addition,
operators can change parameter values, acknowledge the execution of unit
procedures, review 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 a unit
procedure pertains to a class of units, not a specific unit. When Batch Manager
executes a Master Recipe, each unit procedure encountered is mapped to a specific
unit. 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 231
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 Unit Control Logic (Unit Procedures) located
in the control system. As each unit procedure is to be executed, Batch Manager
checks if the unit control logic is ready. If the unit status is ready, all configured
parameter values are written to the unit control logic, then the unit is started.
When the unit completes its task, it informs Batch Manager by setting the
Done status. Batch Manager responds by enabling the Reset command and
returning the unit status to Ready.
232 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.
234 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 235
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.
236 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 237
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.
238 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 239
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.
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 units, these units are not connected together in the same way.
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.
242 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 243
Mode Description
Automatic The recipe procedure is executed exactly as defined in the recipe.
Semi-Automatic Each unit procedure must be acknowledged by the operator before it is
executed. Prior to acknowledging the unit procedure, parameter values can
be edited.
Manual Any unit that is allocated to the batch can have it’s control logic manually
executed.
For more information on dynamically changing the batch mode, see Batch
Execution Modes in this section.
244 Chapter 9
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 unit procedures and entering Jump Mode.
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.
Batch Management System 245
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.
File Menu
The File menu provides system functions for Batch Display.
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.
This window allows you to save the recipe associated with a completed batch 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 unit procedures 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. Selecting a batch in the Schedule list changes
the Batch Display to show information for the newly 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.
Batch Management System 249
• 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 unit procedure. The
equipment and unit procedure requiring the acknowledge is provided in the
message.
• Waiting for the operator to acknowledge the end of a unit procedure. The
equipment and unit procedure requiring the acknowledge is provided in the
message.
• Waiting for the operator to edit one or more parameters. The equipment and
unit procedure requiring the parameter editing is provided in the message.
• Waiting for the operator to enter a comment for a unit procedure. The
equipment and unit procedure 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.
250 Chapter 9
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.
Use this window to view the status and availability of the units 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.
The Allocation of a unit relates to the ability of the unit to be allocated by Batch
Manager. The Ready allocation value means that the unit is available to be
allocated. The Allocated value means that the unit is allocated by a batch. A Busy
value indicates that the unit has been allocated by another batch.
Any unit in the Train, if Ready, can be manually allocated by selecting the unit,
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. Any unit in the Train, if
Allocated, can be manually released by selecting the unit and clicking on the
Release button. Manual allocation and release overrides automatic and recipe
allocation.
Batch Management System 251
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.
This option is also available from the Inactive Unit Procedure Editor icon
in the Batch Display Toolbar.
Note Parameter edits must be entered through the Formula Grid. For more
information on dynamically changing parameter information, see Formula Grid in
this section.
Windows/Transition Logic
Use this command to display the Active Transitions window.
252 Chapter 9
For more information on viewing active transitions, see Active Transition Objects
in this section.
This option is also available from the Active Transitions icon in the Batch
Display Toolbar.
Batch Management System 253
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 properties
of the unit procedure display. The menu options are described below.
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/Large Icons
To Toggle between Large and Small Icons:
Click View and then check (or uncheck) the Large Icons menu item to
increase (or decrease) 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.
Unit
Procedure Batch
Unit
List Batch Control
Control Batch Question
Display Buttons
Buttons Identification List
Toolbar SFC Toolbar
Formula
Unit Procedures Pane Description Area Instruction List
Grid
Save Recipe
The Save Recipe icon is used to display the Save Control Recipe window.
256 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
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.
Batch Management System 257
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.
Formula Grid
The Formula Grid provides a dynamic list of all parameters for active unit
procedures, as well as the ability to view and change parameter values on active and
inactive unit procedures.
For more information on dynamically changing parameter information, see
Formula Grid in this section.
Instruction List
The Instruction List provides a list of instructions associated with the unit
procedure selected in the Unit Procedure List.
Description Area
Description area provides a description of the selected Unit Procedure or Parameter.
Color Description
Gray Inactive
258 Chapter 9
Color Description
Green Active
Red Interlocked, Held, or Waiting for Operator Action
Yellow Completed
Cyan Active in Continue Mode
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 in this section.
260 Chapter 9
The Comment window can be used at any time. While a unit procedure is
executing, a comment associated with the selected unit procedure can be entered.
The comment is stored in the historical database. If unit procedures are not
executing and a comment is entered, it is stored as a general comment associated
with the batch. If a unit procedure is active, the operator can change the comment
type to Batch if the comment is not related to the unit procedure.
Interlocks
The Interlocks button displays the Interlocks window. This is used to view the
status of the interlock tags for any active unit procedure in the procedure.
Batch Management System 261
Equipment Selection
The Select Equipment button displays the Equipment Selection window.
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.
Unit
Procedure
Status Description Action
Wait Unit Procedure is waiting for operator action. Acknowledge or Edit
Message line will indicate whether a comment Comment.
or an acknowledge is required.
Wait Unit Procedure is currently running. Unit Acknowledge “Unexpected
Procedure can be run after acknowledging the Status Window.”
message. Batch Manager will wait until the unit
procedure is Ready.
Run Unit Procedure is executing. Unit Procedure Hold
Held Unit Procedure is in Hold; Unit Procedure can Unit Procedure Restart or Unit
be Re-started or Aborted. Procedure Abort
Done Unit Procedure execution is complete. N/A
Interlocked Interlocks are preventing the unit procedure Select Interlocks button.
from executing.
Aborted Unit Procedure 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.
Formula Grid
The Formula Grid is used to edit or modify parameters anytime a batch has a
status of Ready, Done or Aborted. The Formula Grid is used to edit parameters for
both active and inactive unit procedures The cells for the selected parameter are
formatted with colored backgrounds to indicate the fields which may or must be
edited.
Note Parameter changes are dynamic and will be used during the execution of the
batch if made for a unit procedure that has not yet executed
2. Select Columns and then uncheck the column names you wish to hide.
Note The columns can all be restored to visible by right clicking and selecting
Show All Columns from the menu.
Note The original order of parameters can be restored by right clicking anywhere
on the Formula Grid and selecting Unsort Parameters from the menu. This
unsorted order is the order that the parameters were originally modeled in the
Process Model Editor
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, and unit
procedure 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. Each of the areas is described below.
266 Chapter 9
Equipment Allocation
In order to execute any unit procedure 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 not been previously allocated,
then the batch management system must allocate suitable equipment to the batch
before proceeding with unit procedure execution. With InBatch FlexFormula
Edition, there are two approaches to allocating equipment for a batch. They are
Automatic Allocation and Manual Allocation. Each allocation approach is
described below.
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 but the unit procedures on the units
allocated by the batch will continue to run to completion. However, no new unit
procedures will start when the batch is Held.
Note When the Batch Hold button is clicked it is possible that the Batch Abort
will become available even though all the unit procedures are still running. If a user
presses the Batch Abort button before all the unit procedures are completed, the
batch will enter the Aborting state. Batch status will remain Aborting until all unit
procedures have completed. Unit Procedures in Run will complete normally, or can
be manually held and aborted. Once all unit procedures have completed or aborted,
the batch will go to the Aborted state.
268 Chapter 9
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. However, any unit procedures in the
Held state will remain held until they are each restarted individually.
If Batch Manager is started with the Phase/Batch Status application parameter
defined in the Environment Editor, Batch Manager manages all unit procedure
restart activity. As above, when a Batch Restart is triggered, the batch status will
change to Run. In addition, a unit procedure restart signal is sent to any unit
procedure in the batch that has a status of Held. However, unlike with hold
commands, an individual unit procedure restart will not cause the batch and all
other unit procedures to restart.
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. However, the batch Abort
command is not propagated to the individual unit procedures. These must each be
aborted individually. The batch status will remain Aborting as long as unit
procedures 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.
Automatic to Manual
Any active unit procedures will continue to run to completion. Batch Manager will
monitor these unit procedures and will Reset the unit procedures when they are
Done. No new unit procedures will be executed. Batch Manager will maintain its
position in the recipe procedure, and the operator may manually execute any of the
unit procedures associated with allocated equipment.
Semi-automatic to Automatic
Any unit procedures that are running will continue to run. Any unit procedure
waiting for an operator Acknowledgment or any new unit procedure encountered
will automatically start. This assumes that the unit procedure 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.
Unit Procedures will start as configured in the recipe procedure. Any unit
procedures 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 unit procedure 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.
Unit Procedures will require an Acknowledge before they can be started. Any unit
procedures 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 unit procedure for the equipment is encountered or the batch completes.
Unit Procedures
When a unit procedure is encountered, Batch Manager will first check if a suitable
unit is allocated. If so, Batch Manager will evaluate the status of the unit procedure.
If the unit procedure is Ready, the formula parameter values are downloaded to the
control system and the unit procedure is started. Typically, the unit procedure status
will change to Run. Batch Manager will monitor the status of the unit procedure
waiting for it to change. Under normal circumstances, the unit procedure status will
eventually go to Done. Upon seeing the Done, Batch Manager will Reset the unit
procedure. The unit procedure status will return to Ready. When Batch Manager
evaluates the unit procedure 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 unit procedure status.
Note Use caution when enabling the continue mode property for any unit
procedure within a loop object. Because of the risk of re-executing an active unit
procedure, batch execution will not proceed into the loop in which a unit procedure
with the continue mode property enabled is active. As soon as the unit procedure
completes, batch execution will proceed into the loop.
Because the unit procedure is executing normally, it will also have to finish just like
a normal unit procedure. Batch execution will not end until all unit procedures have
completed. Therefore, any unit procedure with the continue mode property enabled
is required to complete either normally according to the internal unit procedure
logic or based upon some external signal.
Unit 1 Unit 2
Pump 1
Unit 3 Unit 4
Report Triggering
Reports can be linked to any unit procedure in a recipe procedure. The report will
be triggered when the unit procedure 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: #2 - Batch Manager was shutdown and unit procedure logic has been left in an
improper state.
Corrective Action: Manually reset the unit procedure and restart Batch Manager.
Error: Cannot access material “material id”! - Hold Batch; Correct Problem; Restart.
Corrective Action: Put the batch in Hold, correct the problem, then Restart the batch. The problem
may require one or both of the following corrections.
1. Change the Train to include the appropriate units containing the material in
question.
2. Make the appropriate material-unit assignment using the Material Editor.
Reason: #2 - The batch is assigned to a train that cannot properly execute the recipe.
Corrective Action: Make sure the batch is assigned to a train that can properly execute the recipe.
Error: Cannot access process “process name”! - Hold Batch; Correct Problem;
Restart.
Reason: A unit associated with the process cannot be found in the train. The unit needed
for the process was most likely deleted from the train after the batch was
started.
Corrective Action: Put the batch in Hold. Modify the Train to include the appropriate unit that
would support the transfer. Restart the batch.
Error: Invalid Query Data
Reason: An InBatch database is incompatible or corrupt. This error is related to the
security system.
Corrective Action: Verify/correct database.
Error: Parameter tag read timeout (Note: Error is reported in the Batch Logger)
Timeout exceeded allowable value! for param tag read at end of phase - only
when using remote IO Server.
Reason: MemTagMngr is local; therefore, the memory tag parameter uses the local
server’s time. The phase done tag is a remote tag and may have a different time
(perhaps several minutes or more). When BatchMngr compares the time
difference between the two, it will wait MemTag's time stamp to match that of
the remote tag timestamp.
Corrective Action: Synchronize the system time settings on the server and the remote system.
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.
5. The statuses of all unit procedures are unchanged during a system failure that
does not involve the control system. In other words, unit procedures that were
executing before the failure will continue to execute during the failure.
However, unit procedures 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 unit
procedures, and upon resuming these batches, Batch Manager restarts or resets
the affected unit procedures.
6. The mode of all batches and the value of all unit procedure parameters will be
unchanged following the restart of a failed system.
For example, suppose the batch management system was controlling a unit
procedure that was previously in a status of Run. If the batch control system is
shutdown and the unit procedure 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 unit
procedure to Done, and initiates a unit procedure Reset. However, if the control
system is also shutdown and the status of the unit procedure becomes Ready, then
Batch Manager assumes the control system and possible human intervention caused
the unit procedure to go to Ready. Batch Manager assumes the unit procedure is
done and continues on to the next unit procedure.
278 Chapter 9
History System 279
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 22, "System Administration."
For more information regarding the Information Server and how to use Seagate
Crystal Reports, see Chapter 11, "Reporting System."
280 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
284 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 285
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 291
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.
296 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 297
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
298 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 299
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.
300 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 301
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.
306 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.
308 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 309
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.
310 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 311
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.
312 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.
314 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 315
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.
318 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 319
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.
320 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.
322 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 323
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 325
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 329
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.
330 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 331
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.
332 Chapter 12
Security System 333
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.
334 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 337
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.
338 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 339
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.
340 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 343
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.
344 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 345
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.
346 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 347
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.
348 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 351
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.
352 Chapter 13
Expression Editor 353
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 355
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.
356 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 unit procedure logic. This logic 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 the logic blocks can reside in many
different locations, the interface between the batch management system and the unit
procedure logic block 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 unit procedure logic blocks. A unit procedure 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 unit procedure logic, and is intended to be used strictly as a guide.
The concepts can be applied regardless of the control system in which the unit
procedures are being written.
Contents
• Unit Procedure Block Design Guidelines
• Unit Procedure Logic Operation
• Exercising Unit Procedures
General
In order to achieve goals of modular, self-sufficient, independent unit procedure
blocks, the structure of the control system code for each unit procedure block and
for entire processes must be consistent. This is necessary so that unit procedure
blocks can easily be placed in other processes with little reprogramming. The
following sections provide a guidelines that has been established for structuring
individual unit procedure 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.
Control Buttons
The section of the unit procedure block corresponding to the control buttons is
constructed similarly to the unit procedure 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. Up to two control buttons may be defined for each unit procedure. The
use of control buttons with a unit procedure is optional.
Interlocks
The interlock section of the unit procedure block defines only the specific interlock
conditions associated with that unit procedure 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 unit procedure block.
366 Chapter 15
Alarms
The alarm section handles all error conditions specifically associated with the unit
procedure block. All of the alarms appropriate to the unit procedure are placed in
parallel with each other to engage a single discrete point that is used through the
remainder of the unit procedure logic to affect the operation of the block. This
section will appear only if there are alarms associated with the unit procedure
block.
Functional Logic
The remainder of the unit procedure block is used to write the logic that is
necessary to perform the required process action. This section will vary in size and
complexity depending on the unit procedure block operation, and will contain the
computational, comparison, and timing functions required by the unit procedure
block. This section will also include code that is associated with any formula
parameters that may be assigned to the unit procedure block, as well as logic
necessary to energize process outputs.
Unit Procedure Logic Development and Testing 367
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 above, 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. 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 unit procedure blocks for each of the
unit procedures defined for the unit.
Unit Procedures
The control system code for the unit procedure blocks assigned to each of the
defined unit procedures will appear within the appropriate unit section of the
program. There can be up to three (3) unit procedure blocks which correspond to
the unit procedures defined for the process class.
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 unit procedure
logic to affect the operation of a unit procedure as desired.
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 unit procedure
logic necessary to manipulate the outputs. Also, any manual device operation logic
would be present in this section.
368 Chapter 15
Unit Procedure Logic Development and Testing 369
General
The batch control system transmits its unit procedure 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 procedure control commands. The
control bits available for each unit procedure 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 unit procedure block, it writes to a tag in the control system that
corresponds to the particular unit procedure control bit. These commands are
typically packed into a word in order to maximize control system memory. In the
unit procedure logic, the unit procedure 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 unit procedure block, and the unit procedure operation
responds accordingly. It is the responsibility of the control system to reset the
control bits once they have been detected. The unit procedure control bits are
described below.
Start
The unit procedure start command is enabled by the batch management system for
a unit procedure as it is encountered in a batch. Generally, the start command will
begin the execution of the requested unit procedure and put the unit procedure
status in the run state. When the unit procedure start bit is enabled, none of the
remaining unit procedure control bits will be set. Finally, the batch management
system cannot send a request to start a unit procedure block unless the unit
procedure block status is in the ready state.
Hold
The unit procedure hold command is enabled by the batch management system for
a unit procedure whenever the hold command button is selected. Generally, the hold
command will suspend the execution of the particular unit procedure. When the
unit procedure hold bit is enabled, none of the remaining unit procedure control bits
will be set. Finally, the batch management system cannot send a request to hold a
unit procedure block unless the unit procedure block status is in the run state.
Restart
The unit procedure restart command is enabled by the batch management system
for a unit procedure whenever the restart command button is selected. Generally,
the restart command will resume the execution of the requested unit procedure, and
return the status of the unit procedure block to the run state. When the unit
procedure restart bit is enabled, none of the remaining unit procedure control bits
will be set. Finally, the batch management system cannot send a request to restart a
unit procedure block unless the unit procedure block status is in the held state.
370 Chapter 15
Abort
The unit procedure abort command is enabled by the batch management system for
a unit procedure whenever the abort command button is selected. Generally, the
abort command will end the execution of the requested unit procedure and put the
unit procedure status in the aborted state. When the unit procedure abort bit is
enabled, none of the remaining unit procedure control bits will be set. Finally, the
batch management system cannot send a request to abort a unit procedure block
unless the unit procedure block status is in the held state.
Reset
The unit procedure reset command is enabled by the batch management system for
a unit procedure whenever the unit procedure has completed normally or been
aborted. Generally, the reset command will return all of the unit procedure logic to
its original state and put the unit procedure status in the ready state. When the unit
procedure reset bit is enabled, none of the remaining unit procedure control bits will
be set. Finally, the batch management system cannot send a request to reset a unit
procedure block unless the unit procedure block status is in either the done or
aborted state.
General
The batch control system recognizes the current status of a unit procedure 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 unit procedure. The
status bits available for each unit procedure are ready, run, held, done, interlocked,
and aborted. Only the ready and done bits are required. When the unit procedure
block status changes, either via the unit procedure logic or from a request from the
batch management system, the unit procedure status word is set accordingly. In the
unit procedure block, the unit procedure status word can be continuously written or
written only when the status changes. When a unit procedure status changes in the
control system, the bit associated with that status in the unit procedure status word
is altered. All unit procedure status changes must be transmitted to the batch
management system through the unit procedure status word. It is required that the
unit procedure block be in only one state at a time. The unit procedure status bits
are described below.
Ready
The ready status bit is enabled by the control system for all unit procedures ready to
run. Generally, the ready status bit will be set when there is no execution of the unit
procedure 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 unit
procedure status bits may be set. Finally, the batch management system cannot send
a request to start a unit procedure block unless the unit procedure block status is in
the ready state.
Unit Procedure Logic Development and Testing 371
Run
The run status bit is enabled by the control system for all executing unit procedures.
Generally, the run status bit will be set when the unit procedure 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 unit procedure status bits may be set.
Finally, the batch management system cannot send a request to hold a unit
procedure block unless the unit procedure block status is in the run state.
Held
The held status bit is enabled by the control system for all unit procedures that have
been put on hold either by the batch management system or from the occurrence of
a critical alarm. Generally, the unit procedure logic freezes the current operation in
progress, and places the block in the held state. However, the actual operation of the
unit procedure logic while in the held state is application specific. When the held
status bit is enabled, none of the remaining unit procedure status bits may be set.
Finally, the batch management system cannot send a request to restart or abort a
unit procedure block unless the unit procedure block status is in the held state.
Done
The done status bit is enabled by the control system for all unit procedures that have
finished their execution. When the done status bit is enabled, none of the remaining
unit procedure status bits may be set. Finally, the batch management system cannot
send a request to reset a unit procedure block unless the unit procedure 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 unit procedures in
which a condition prevents their safe execution. Generally, the interlocked status bit
will be set before the start of execution of the unit procedure block. The interlocked
status represents a condition of the process which prevents proper operation of the
unit procedure block. When the interlocked status bit is enabled, none of the
remaining unit procedure status bits may be set. Finally, the batch management
system cannot send a request to start a unit procedure block if the unit procedure
block status is in the interlocked state.
Aborted
The aborted status bit is enabled by the control system for all unit procedures that
have been aborted. The only way this bit can be turned on is by placing the unit
procedure block on hold and then selecting the abort option. Therefore, it is
impossible to abort a unit procedure without first placing the unit procedure in hold.
When the aborted status bit is enabled, none of the remaining unit procedure status
bits may be set. Finally, the batch management system cannot send a request to
reset a unit procedure block unless the unit procedure block status is in the aborted,
or done state.
372 Chapter 15
Formula Parameters
The following section describes the configuration of formula parameters.
General
The unit procedure 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 unit procedure start command. The control system receives
the desired values and returns any corresponding actual values. Unit procedure
blocks can have no parameters, or they can have many parameters.
Parameter Types
There are three types of parameters. They are Input, Output, and Process Variable.
• Input parameters are used to define and monitor the addition (input) of a
material to a batch. It is common to name the input parameter after the material
that will be added. Examples are: “Salt”, “Water”, “BaseQty”, “Pigment”.
• 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 unit procedure should
function when the unit procedure 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.
Unit Procedure Logic Development and Testing 373
Target Value
The target value extension is used by the batch control system to transfer a specific
numerical value to the particular unit procedure 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 unit procedure block. Generally, the target value
parameters will consist of process temperatures, timer values, and transfer
quantities.
374 Chapter 15
Actual Value
The actual value extension consists of a specific numerical value that originates
within the unit procedure block logic and is transferred to batch control system.
This value corresponds with a target value that has been passed to the unit
procedure 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 unit procedure block. An example of an actual value would be the
time remaining as the soak unit procedure 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 unit procedure
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 unit procedure
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.
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.
Unit Procedure Logic Development and Testing 375
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 unit procedure block may contain two control buttons that are available for
whatever functions the unit procedure 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
unit procedure block. Unit procedure blocks can have any number of interlocks, as
well as share interlock conditions with multiple unit procedure blocks. The
interlocks are found in the interlock section of the program corresponding to the
unit 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 unit procedure status interlock bit is set, and the unit procedure 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 unit procedure
block is in operation. Some examples of unit procedure block interlocks are listed
below.
• Reactor discharge valve open prevents the operation of any unit procedure
block that adds bulk ingredients to the reactor.
• The level in a reactor must be a certain height before the agitator unit
procedure block can be started.
Alarms
Alarms are conditional statements that can be enabled at any time and can alter the
status of a particular unit procedure block. Unit procedure blocks can have any
number of alarms. The alarms are found in the alarm section of the program
corresponding to the unit 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 unit procedure 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 unit procedure block. If a particular alarm
condition exists, the respective discrete memory location is enabled, the unit
procedure block alarm is set, and if it is a critical alarm, the unit procedure block
status may be altered.
376 Chapter 15
Note It is recommended that, for the safety of process personnel, alarms are
configured as critical alarms whenever possible so that the unit procedure 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, unit procedures for any unit 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 unit procedures
before exiting the Phase Logic testing tool. If a unit procedure is not properly reset,
the batch management system will be unable to successfully use that unit procedure
in a batch.
Unit Procedure Logic Development and Testing 379
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.
Note It is very important to Reset each unit procedure block when the state of the
unit is either Done or Aborted.
5. Click the Interlocks button to view any interlock tags assigned to the unit
procedure.
The Interlocks window will display all of the interlock tags and their current
values.
380 Chapter 15
InTouch Script Add-On Functions 381
C H A P T E R 1 6
There are three InTouch Script Add-On Functions included with the InBatch
system. These functions provide the capability to enable the alarm and event
interface with InTouch.
For more information on InTouch scripting, see your InTouch User's Guide.
Contents
• Overview
• Script Add-On Function Descriptions
382 Chapter 16
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 events from
InTouch to be logged to the InBatch historical database.
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 20, "Client Alarm/Event Interface."
Syntax
ibAlarmEventInit( Host, Obsolete, Alarm_Node, Timer, Write,
Warning, Toss, Event_Mask );
InTouch Script Add-On Functions 383
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 will still be logged to history.
Syntax
ibAlarmNode(Yes_No);
where:
384 Chapter 16
Example
{Enable alarm logging for the node}
ibAlarmNode(1);
C H A P T E R 1 7
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.
Preliminary
Contents
• Overview
10/17/01
• 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.
385
386 Chapter 17
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".
Preliminary
10/17/01
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.
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.
387
388 Chapter 17
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 389
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
390 Chapter 17
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 391
• 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.
392 Chapter 17
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 393
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.
394 Chapter 17
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 395
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.
396 Chapter 17
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.
402 Chapter 17
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 405
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.
406 Chapter 17
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 407
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.
408 Chapter 17
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 409
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.
410 Chapter 17
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 8
Contents
• Overview
• Define Batch Tag Sources
• Remote Referencing Batch Tags
418 Chapter 18
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 419
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.
422 Chapter 18
C H A P T E R 1 9
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.
424 Chapter 19
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 );
426 Chapter 19
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 16,
"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 427
C H A P T E R 2 0
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.
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). When communications are re-established, the MdbToServer
application is automatically started on the client and all event information is written
to the InBatch history database.
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 16, "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.
Client Alarm/Event Interface 431
For more information on the InBatch tag structure, see Chapter 4, "Process
Modeling."
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.
432 Chapter 20
Redundancy 433
C H A P T E R 2 1
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
434 Chapter 21
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 435
• 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.
438 Chapter 21
‘cabezon’ ‘bonito’
10.40.20.75 10.40.20.55
Primary Network
Control System
Redundancy 439
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.
440 Chapter 21
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 441
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.
442 Chapter 21
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 443
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 16,
"InTouch Script Add-On Functions."
C H A P T E R 2 2
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 451
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 455
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 459
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 461
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.
462 Chapter 22
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 463
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.
464 Chapter 22
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 479
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 481
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
484 Chapter 22
, @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 485
DONE:
RETURN (@Retcode)
486 Chapter 22
Index 487
Index
Symbols Applications
Adding Instances of 58
**, in Phase List 261 Adding to Environment 58
**, in schedule list 248 Assigning Parameters to 60, 61
.rcp extension 172, 173 Assigning Values to Parameters 61
Automatic Start-up/Shutdown of 67
A Available for Termination Timeout 66
Deleting Parameters 64
Abort a Batch 268 Instance Names 59
Abort, Phase Command 370 Starting All
Aborted 244 Automatically 67
Aborted, Phase Status 371 with Environment Display 53
Aborting 244 Starting Single Runtime 54
Access Editor 138 Stopping All
Access Mode 82 Automatically 68
Access Name 63, 138 with Environment Display 53
Acknowledge Stopping Single Runtime 54
On Entry 216 Timeout 49
On Exit 217 User-Defined 64
Acknowledge on Entry 124 Adding 64
Activate Jump Mode 246 Assigning Parameters to 65
Active Transition Objects 264 Configuring Parameters for 66
Active Transitions, viewing 251 Viewing Status of 51
Active-X Applications-Functions Editor 345
GUI Controls 385 Approvals 169
ActiveX 9 Approved for Production 169
Actual Element, Process Phase 109 approved for production, recipe security 343
Actual, Parameter Extension 374 Approved for Test 169
Add Archive Job 455 approved for test, recipe security 343
Add Attributes to a Train 226 APS, Advanced Planning Systems 9
Add Batch to list 244 Archive Job 455
Add Daily Schedule 308, 309 Ask 356
Add Materials From List, check box 191, 195 AskCheckBy 356
Add Monthly Schedule 308, 310 AskDoneBy 356
Add Operation 205 Assign Application Parameter Values 61
Add Operation Branch 203 Assign Process Classes 181
Add Operation Loop 203 Assign Tags to Process and Transfer Classes, additional
Add Operation Transition 203 information 121
Add Purge Job 457 Assign Tags, additional information 118
Add Restore Job 459 Assign Units, Process Class Instances 183
Add Units to a Train 225 Assigning Application Parameters 61
Add Weekly Schedule 308, 309 Assigning Attributes to Trains 226
Adding Applications to Environment 57 Assigning Units to a Process Class 97
Adding Process Classes 96 Assigning Units to Trains 225
Adding Units 92 Assinging Application Parameters 60
Advanced Planning Systems (APS) 9 attribute range 185
Alarms 375, 376 Attributes
Associating to a batch 9 Process Class 99
alarms 361 Trains 226
Allocation 7 Attributes, Process Class Instances 184
Allocation Queue 251 Automatic Allocation, unit 266
analog process variable, using with Hi and Low Automatic Batch Execution 243
Limit 110 Automatic Batch Mode 267
analog tag 81 Automatic Start-up 68
API, Security 333 Automatic Start-up and Shutdown of Runtime
Application Applications 67
SuiteLink or DDE 138 Automatic Start-up/Shutdown
application ID, in security 346 Considerations 68
Application Parameters Automatic Tag Creation and Assignment 124
Table of 61 Automatic Tag Creation and Assignment, additional
Application Security Requests 350 information 118
Index 488
BATCHVBSERVER.DLL 15 Description of 73
BHQ_HOST 465 control buttons 361
Branch 203 Control Buttons, additional configuration 118
Branch Execute Types 210 control inputs 361
Branch Leg, Deleting 214 control outputs 361
Branch Object Control Recipe
Description of 161 Description of 159
Branch Object, Insert 209 Control System 5, 7
Branch Objects 209 Control System Code Structure 364
Branch Types, All 209 Control System Memory Configuration, with
Branch Types, One 209 phases 364
Branch, Deleting 214 Control System Synchronization 277
Building a Recipe Procedure 201 Control/Status Bits
bulk ingredients 149 Configuring for Process Class 105
By-Product, Defining 156 ControlSystem Access Name 138
By-Products 149 Copying Procedure Objects 212, 213
by-products 159 create trains 225
Creating Reports 315
C Crystal Reports 8
Predefined 315
Campaign ID 83, 241 CSV File
Capabilities Format of Tag Linker Export 133
Overview of InBatch 4 Cutting Procedure Objects 212, 213
CfgModelDB 46, 85
Change Application Parameter Values 61 D
Change Batch list 244
Change Password 15 Data Class 81
Change Process Class Name 97 data points 5
Change Unit Name 92 Database
Changing Information Server Assignment on a Batch Backup utility 467
Server 465 Process Log 317, 318
Changing Passwords 350 Database Manager
Changing Process Class Names 97 Viewing Status of 51
Changing the Batch Schedule List 244 DBCOPY utility 467
Changing the Batch Server Assignment on an DDE 8, 13
Information Server 466 Default Batch Size 160
Characteristics 6 Default Values for Process Parameters 125
check-by security 345 Define Materials 157
ChgPwd 15, 350 Defining a Batch 241
CLB 241 Defining Materials 156
CLB filtering in Batch Scheduler 236 Delete Application Parameters 64
Comma 357 Delete Operation Object 204
Comment 160 Delete Process Class 97
Comments, entering for unit procedures 260 Delete Unit 92
Completed Archives 461 Delete Units from a Train 226
config_A folder 10 Deleting a Branch 214
Configuration Deleting a Branch Leg 214
Security System 338 Deleting a Loop 215
Update 50 Deleting a Phase 214
Configuration Programs Deleting a Transition 214
Summary of 11 Deleting an Operation 214
Configurations Deleting Connections, effect of 86
Managing 10 Deleting Model Components, Warning 86
Configure Formula Parameters, additional Deleting Procedure Objects 214
information 124 Deleting Process Classes 97
Contention for Shared Equipment 271 Deleting Process Classes, effect of 86
Control Deleting Recipes 168
Phase 369 deleting reports 465
Unit 7 Deleting Transfer Classes, effect of 86
Control Buttons 375 Deleting Units, effect of 86
Configuring for Process Class Phase 104 Delimiters 357
Index 490
Operators 355
Expression Building Rules 357
G
Expression Editor 353 General High Deviation 156
Defining Process Log Criteria 318 General Low Deviation 156
Description of 353 General Tolerances, in Recipes 192
Edit Buttons 354 Guideline
Using 353 Control System Memory Configuration 364
Expression Editor, Question Length 209 Creating a Process Log Group 325
Expression Editor, using for transitions 207 creating a train 225, 226
Expression Elements 355 Expression Building 357
Expression Examples 358 Phase Block Design 359
Expression Functions 356 Phase Block Memory 364
expressions Process Modeling 5
viewing during batch execution 264 Recipe Procedure Development 163
Extensibility 9 Guidleine
Batch Manager system interactions 231
F
Factory Suite Licensing 200
H
FactorySuite 4 Header 159
Integration 8 Header, Description of 160
Filter Recipes 165 Held 244
Filtering Held, Phase Status 371
Batch Schedule List 236, 237 Help
Find 165 Environment Display 51
Find Button, Materials Editor 157 Environment Editor 56
Finished Goods 149 Materials Status 155
finished goods 159 Process Modeling 90
Finished Goods, Defining 156 Recipe Editor 200
Flexibility 4 High Deviation Element, Process Phase 110
Flexible Batch Management 4 High Deviation, Material 156
Force System to Master 444 High Deviation, Parameter Extension 374
Force to True 265 High Limit Element, Process Phase 110
Formula 159 High Limit, Parameter Extension 374
Formula Gid History
Using during Batch Execution 263 Alarm logging 9
Formula Grid Logging Process Data 319
Runtime View 257 Viewing for a Recipe 170
Formula Parameter History Administration 450
Description of 122 History and Batch Manager
Formula Parameter Examples 125 Description of 231
Formula Parameters 372 History Archiving 454
Configuring 109 History Queue
Configuring for Process Class Phases 108 Viewing status of 51
Description of 73 HistQMngr 47
Types 73 Hold a Batch 267
types 109 Hold, Phase Command 369
formula parameters 361 Host 383
Formula Parameters, Description of 162
formula quantities 159 I
Formula, Defining 188
Formula, Recipe ibAlarmEventHost 382
Description of 161 ibAlarmEventInit 382
Function Block Diagram 361 ibAlarmNode 383
Function Security Requests 351 IBCli 13
Function Security, enabling 347 Parameters of 63
Functions IBFServ
Description of 356 Parameters of 64
Functions, inserting in expressions 355 IBServ 14
Parameters of 64
Import Recipes 172, 173
Index 492
V
Valid Characters for Tagnames 80
validate
security configuration 336
Validate Recipes 173
Validation
of Tags 8
Process Model 88
Recipe 6, 168
Verification, Batch Initialization 239
Version History
of Recipes 6
View
System Application Status 51
View Partial List check box, Materials Editor 157
Viewing Material Status 151
W
Wait 264
WaitHour 357
WaitMin 357
WaitSec 357
Warm Restart 275
Warning
Batch Client Security 347
Deleting Model Components 86
Phase Logic Testing Tool 378
Process Log Manager, Stopping 331
Restarting Batches 277
Wonderware Logger 13
WWLogger 13
Z
Zoom In 204
Index 500
Index 501
Index 502
Index 503
Index 504
Index 505
Index 506
Index 507
Index 508
Index 509
Index 510