Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Symphony Plus
Symphony Plus - Harmony
ABB may have one or more patents or pending patent applications protecting the intellectual property in the
ABB products described in this document.
The information in this document is subject to change without notice and should not be construed as a
commitment by ABB. ABB assumes no responsibility for any errors that may appear in this document.
In no event shall ABB be liable for direct, indirect, special, incidental or consequential damages of any nature
or kind arising from the use of this document, nor shall ABB be liable for incidental or consequential damages
arising from use of any software or hardware described in this document.
This document and parts thereof must not be reproduced or copied without written permission from ABB, and
the contents thereof must not be imparted to a third party nor used for any unauthorized purpose.
The software or hardware described in this document is furnished under a license and may be used, copied,
or disclosed only in accordance with the terms of such license. This product meets the requirements specified
in EMC Directive 2004/108/EC and in Low Voltage Directive 2006/95/EC.
TRADEMARKS
Symphony is a registered or pending trademark of ABB S.p.A.
All rights to copyrights, registered trademarks, and trademarks reside with their respective owners.
Copyright © 2013 ABB.
All rights reserved.
The Batch Data Manager (BDM) interface provides a set of tools that support Batch 90™ and User Defined Function (UDF)
codes for the Symphony system. Composer Version 5.1 and later of the Batch Data Manager software provides the
capability of creating and compiling Batch 90 programs using the phase execution (PHASEX) function code. The ABB batch
management software is used to create all recipes that use the PHASEX functionality. All previous Batch and UDF tools are
still supported.
Support Services
ABB will provide assistance in the operation and repair of its products. Requests for sales or application services should be
made to your nearest sales or service office. ABB can also provide installation, repair and maintenance contract services.
When ordering parts, use nomenclature or part numbers and part descriptions from equipment manuals. Parts without a
description must be ordered from the nearest sales or service office. Recommended spare parts lists, including prices are
available through the nearest sales or service office.
ABB has modern training facilities available for training your personnel. On-site training is also available. Contact your
nearest ABB sales office for specific information and scheduling.
Additional copies of this instruction, or other instructions, can be obtained from the nearest ABB sales office at a reasonable
charge.
Trademarks and Registrations
Registrations and trademarks used in this document include:
TABLE OF CONTENTS
1. Introduction.................................................................................................... 1-1
1.1 Overview ..............................................................................................................1-1
1.2 Intended User ......................................................................................................1-1
1.3 Instruction Content .............................................................................................1-1
1.4 How to Use this Instruction ................................................................................1-2
1.5 Document Conventions ......................................................................................1-2
3. Projects........................................................................................................... 3-1
3.1 Introduction .........................................................................................................3-1
3.2 Add .......................................................................................................................3-1
3.3 Drive Refresh .......................................................................................................3-1
3.4 Backup .................................................................................................................3-1
3.5 Change Project Password ..................................................................................3-2
3.6 Close.....................................................................................................................3-3
3.7 Copy .....................................................................................................................3-3
3.8 Delete....................................................................................................................3-3
3.9 Open .....................................................................................................................3-3
3.10 Properties.............................................................................................................3-5
3.10.1 Drive.................................................................................................................3-5
3.10.2 Project..............................................................................................................3-5
3.10.3 Users List .........................................................................................................3-6
3.11 Rename ................................................................................................................3-6
3.12 Restore .................................................................................................................3-6
3.13 Upgrade Project...................................................................................................3-7
3.14 Security ................................................................................................................3-7
3.14.1 Add User ..........................................................................................................3-8
3.14.2 Delete...............................................................................................................3-9
2VAA001872-660 i
TABLE OF CONTENTS
ii 2VAA001872-660
TABLE OF CONTENTS
5.3.4 Print..................................................................................................................5-5
5.3.5 Properties.........................................................................................................5-6
5.4 UDF Programs .....................................................................................................5-6
5.4.1 Add ..................................................................................................................5-6
5.4.2 Compile............................................................................................................5-7
5.4.3 Copy.................................................................................................................5-8
5.4.4 Delete...............................................................................................................5-8
5.4.5 Edit...................................................................................................................5-9
5.4.6 Print..................................................................................................................5-9
5.4.7 Rename ...........................................................................................................5-9
5.4.8 Source File.......................................................................................................5-9
2VAA001872-660 iii
TABLE OF CONTENTS
iv 2VAA001872-660
TABLE OF CONTENTS
2VAA001872-660 v
TABLE OF CONTENTS
vi 2VAA001872-660
TABLE OF CONTENTS
2VAA001872-660 vii
TABLE OF CONTENTS
viii 2VAA001872-660
LIST OF TABLES
LIST OF TABLES
2VAA001872-660 ix
LIST OF TABLES
x 2VAA001872-660
LIST OF FIGURES
LIST OF FIGURES
2VAA001872-660 xi
LIST OF FIGURES
xii 2VAA001872-660
1. Introduction Overview
1. Introduction
1.1 Overview
The Batch Data Manager (BDM) window of the Composer interface provides an interactive tool for creating, managing, and
utilizing Batch 90 and user defined function (UDF) programs. The Batch Data Manager is composed of four applications
that are licensed as parts of the Composer interface:
• Batch 90 and Unit Procedure Editor - Provides a text editor that is used to create and compile Batch 90 programs
for the batch sequence (BSEQ) function code. Three major functions provided by this option are:
Unit procedure editor - Creates recipes in a graphical format.
Batch download utility - Maintains the batch files located in the controller.
Dynamic debugger - Allows detailed monitoring of batch programs.
• Master Recipe Editor - Provides the ability to create master recipes. This editor is used in conjunction with Batch
90 programs created and compiled for the batch sequence (BSEQ) function code.
• Batch 90 for Phase Execution (PHASEX)- Provides a text editor that is used to create and compile Batch 90
programs for the phase execution function code. Two major functions provided by this option are:
Batch download utility - Maintains the batch files located in the controller.
Dynamic debugger - Allows detailed monitoring of batch programs.
• User Defined Function - Provides a text editor that is used to create and compile user defined function (UDF)
programs. Two major functions provided by this option are:
Batch download utility - Maintains the UDF files located in the controller.
Dynamic debugger - Allows detailed monitoring of UDF programs.
Introduction
Provides an overview of the Batch Data Manager and this instruction.
Projects
Describes what projects are and how they are created.
Information Download
Details how to download Batch 90 and UDF project contents. Also explains the batch download utility and its functions.
2VAA001872-660 1-1
How to Use this Instruction 1. Introduction
Script Language
Explains the script language and how to use it.
Display Item
Any item displayed on a screen appears as italic text. Example:
Running
File Names
Name - Indicates a file or directory name. Example:
file1.exe
c:\new
Revision Variable
A ? indicates a value that may change depending on the version of an item. Example:
Part number: 1234567?0
Part number: 1234567??
1-2 2VAA001872-660
2. Description and Operation Batch Process
When using Batch 90 with the batch sequence (BSEQ) function code, the unit procedure or master recipe is a generic form
of the recipe. In this form, the recipe provides the header, procedure, formula information, and defines the class of
equipment used. It does not specify a particular unit within a class. The unit definition or train includes the additional
information required to make the recipe equipment specific. In this form, the recipe contains the equipment specific
information necessary to complete the making of a batch of product.
When using Batch 90 with the phase execution (PHASEX) function code, the recipes are created using the Symphony
batch management software product.
2VAA001872-660 2-1
BSEQ Batch Projects 2. Description and Operation
a single process cell. Projects are the foundation of the Batch Data Manager system and include all of the equipment in one
or more process cells. Projects are the largest grouping of information for a batch application in the Batch Data Manager.
2-2 2VAA001872-660
2. Description and Operation BSEQ Batch Projects
2VAA001872-660 2-3
BSEQ Batch Projects 2. Description and Operation
directory that will hold classes. A project directory is created with a .PRJ extension. The project directory contains the BAL
(batch archive log) events and recipes.
2-4 2VAA001872-660
2. Description and Operation BSEQ Batch Projects
2VAA001872-660 2-5
PHASEX Batch Projects 2. Description and Operation
(generic) and a unit definition file (specific) are merged to create a unit specific recipe that will produce a batch of product on
the equipment specified in the unit. This recipe is called a unit recipe.
In order to execute a unit procedure on a specific process unit, generate a unit recipe by merging the unit procedure with
the unit definition file for the process unit and download the resulting unit recipe. The unit recipe remains resident in the
controller and can be executed manually by the operator or automatically (from other batch programs) through common
sequence function blocks only if no other recipe is currently being executed. Unit recipes are known by their recipe name/ID
number and batch sequence function block number. The combination of these two pieces of information must be unique for
each unit recipe.
2-6 2VAA001872-660
2. Description and Operation UDF Projects
2VAA001872-660 2-7
Online Batch Program Changes 2. Description and Operation
The BSEQ function block makes a copy of the new program and checks for changes. Depending on the changes found,
one of the following actions takes place:
• A run-time fault of -21 is generated and the program status changes to complete (inactive). The program can be
started but all previous data will be lost. This action is a result of finding changes in the batch data, unit data, and
unit parameters of the new program. Changes to the active phase subroutine and recipe values will also cause this
action.
• A run-time fault of -21 is generated and the program status remains in holding. The program can be started but all
phase data will be lost. Batch data will not be affected. This action is a result of finding changes to the local data
declarations section of the active phase subroutine. Execution will start at the beginning of the normal logic for each
parallel phase subroutine of the current operation.
• The program status changes to running with all previous data intact. Execution will start at the beginning of the
restart logic for each parallel phase subroutine of the current operation.
2.6 Startup
To start up the Batch Data Manager application:
2-8 2VAA001872-660
2. Description and Operation Startup
1. Select ABBAutomation > Batch Data Manager from the Windows start menu.
2VAA001872-660 2-9
Startup 2. Description and Operation
2-10 2VAA001872-660
2. Description and Operation Startup
2. If the temporary file path was not found during software startup, specify the path in the set temporary file path
dialog box. This path can be changed at any time by selecting Set Temporary Directory Path... from the BDM
options menu.
NOTES: The configuration server path is only required for PHASEX batch programs that will be debugged
from the Operate IT Process Portal workstation.
5. Click OK.
2VAA001872-660 2-11
Startup 2. Description and Operation
6. Enter a user name and password in the log on dialog. When logging into the Batch Data Manager for the first
time, the default user name is SYSTEM and the default password is BAILEY.
NOTES: Passwords within the Batch Data Manager are case sensitive.
7. Click OK.
The Batch Data Manager window (refer Figure 2-7) will appear.
2-12 2VAA001872-660
3. Projects Introduction
3. Projects
3.1 Introduction
The first step in developing any Batch 90 or UDF process control application is to create a project. A project is the largest
grouping of information concerning the process control application. This section provides instructions on how to add, open,
close, copy, delete, edit user list of, refresh, rename a project, and view properties of a project. Also described is the
security available from the Batch Data Manager.
3.2 Add
To add or create a project:
1. Verify no project is open in the current BDM session.
2. In the projects window, right-click the designator of the drive that will contain the project.
3. Select Add BSEQ Batch Project... (formerly B90 project), Add PHASEX Batch Project..., or Add UDF Project....
4. Enter the project name in the add project dialog box.
Project names are forced into uppercase, not case sensitive, and can not begin with an underscore. A maximum
of eight characters can be used. Valid characters include letters A through Z, numbers zero through nine, and
underscores.
5. Click Next.
6. Specify if a new class library is to be created or an existing class library is to be referenced.
7. Click Next.
8. If a new class library is to be created, enter the name of the subdirectory that will contain the class library and
specify the class library path. If an existing class library is to be referenced, select the directory containing the
class library.
9. Click Next.
10. Verify the project name, project location, and class library name displayed in the add project dialog box.
11. Click Next.
12. Click Finish.
If the project was added by a SYSTEM user, the SYSTEM password in the new project will be identical to that of the current
SYSTEM user. If the project was added by any other user, the SYSTEM password in the new project will be BAILEY.
3.4 Backup
To backup a project:
1. Right-click on the project and select Backup to display the project backup wizard window.
2. Select the elements to backup. Refer to the Figure 3-1.
3. Click Next.
4. Select the Destination Location for the project. Refer to the Figure 3-2.
5. Click Next.
6. Click Finish.
2VAA001872-660 3-1
Change Project Password 3. Projects
3-2 2VAA001872-660
3. Projects Close
5. Enter the current password, new password, and the new password for a second time in the change user
password dialog box.
6. Click OK.
NOTES:
1. BDM can create a user without a password. To create a user without a password, log into a project as
the user. Select change password and enter eight spaces. Confirm the eight spaces. From this point on the
user does not have to enter a password when accessing the project.
2. Scripts will fail to execute if a user without a password is used in a script file.
3.6 Close
To close a project:
1. In the projects window, right-click the name of the project to be closed.
2. Select Close.
All Batch Data Manager application windows except the projects window will close.
3.7 Copy
To copy and rename an existing project (SYSTEM user only):
1. In the projects window, right-click the project name.
2. Select Copy....
3. Select the destination drive designator and enter the new project name in the copy project dialog box.
4. Click Next.
5. Specify if unit procedures, master recipes and class libraries are to be copied.
6. Click Next.
7. Click Finish.
3.8 Delete
To delete a project (SYSTEM user only):
1. Verify the project to be deleted is closed.
2. In the projects window, right-click the project name.
3. Select Delete.
4. Click Yes to confirm the action.
3.9 Open
To open a project:
1. Verify no project is open in the current BDM session.
2. In the projects window, right-click the name of the project to be opened.
3. Select Open....
2VAA001872-660 3-3
Open 3. Projects
The unit procedures, master recipes (optional) and class library windows will appear for BSEQ batch projects. The class
library window will for PHASEX projects. The UDF window will appear for UDF projects. Refer to Figure 3-3 and Figure 3-4
for example of new project windows.
3-4 2VAA001872-660
3. Projects Properties
3.10 Properties
There are three types of property displays available from the projects window. They are the drive, project, and users list
properties.
3.10.1 Drive
The properties of a drive consist of:
• Type.
• Size.
• Number of projects contained.
• Label.
• Amount of space available.
• File system used.
To view the properties of a drive:
1. In the projects window, right-click the drive designator.
2. Select Properties.
3. View the desired properties in the properties dialog box.
4. Click OK.
3.10.2 Project
The properties of a project consist of:
• Type (BSEQ batch, PHASEX batch, or UDF) of project.
• Location (drive and directory).
• Date created.
2VAA001872-660 3-5
Users List 3. Projects
3.11 Rename
To give a project a new name:
1. Verify the project to be renamed is closed.
2. In the projects window, right-click the project name.
3. Select Rename....
4. Enter the new project name in the rename project dialog box.
5. Click OK.
3.12 Restore
To restore a project that has previously been backed up:
1. Right-click on the project and select Restore to display the project restore wizard window.
2. Select the project information to restore.
3. Click Next.
4. Select Backup Project Location.
5. Select Class Library to be Restored.
6. Select Class Library Target Location.
NOTES: The default is the location saved in the project information. Changing the target will update the
project information to the new class library location.
7. Click Next.
3-6 2VAA001872-660
3. Projects Upgrade Project
NOTE: After the upgrade, Batch Data Manager projects can not be accessed by releases prior to Batch Data Manager
6.1.
To upgrade a project:
1. In the projects window, right-click the project name.
2. Select Upgrade Project.
3.14 Security
Security within the Batch Data Manager consists of user names and passwords applied to projects on a per project basis.
These names and passwords reside within a project and restrict or allow access to only that project. The Batch Data
2VAA001872-660 3-7
Add User 3. Projects
Manager contains the default user name SYSTEM (case sensitive) whose password is dependent on who was logged in
when the project was created. The SYSTEM user of a project created by a SYSTEM user will have identical passwords.
The SYSTEM user of a project created by any other user will have BAILEY as a default password. The SYSTEM user
should be the system administrator or other person responsible for the recipes. The system administrator should create the
projects and edit the users list for each project to include the names of the necessary personnel. Access privileges should
be set by the system administrator.
Anyone can create a new project and immediately become a defined user for that project. Only the SYSTEM user for a
project can edit the users list for that project, edit access privileges, rename the project, and delete the project.
User names are utilized as default passwords. Anyone can change their own password at any time. No one, not even the
SYSTEM user can access the password of another user. However, the SYSTEM user can reset any other persons
password to their user name. Refer to Reset Password in this section for more information about resetting a password.
Passwords can contain a maximum of eight ASCII characters. Passwords are case sensitive.
The Edit Users List option (available to SYSTEM users only) opens the selected project and displays the users list window.
This window contains the names of the individuals that have some level of access to the selected project. Refer to the
Figure 3-6 for an example users list window. To display this window:
1. Verify no project is open.
2. In the projects window, right-click the name of the project containing the desired users list.
3. Select Edit Users List.
From the window, names can be added or deleted and the properties of the list can be viewed. Privileges can also be
changed from this window.
3-8 2VAA001872-660
3. Projects Delete
4. Specify the level of file access and debug access granted to the user for the project. Refer to Table 3-1 for more
information.
Project Type File Access Levels Accessible Files Debug Access Levels
5. Click OK.
3.14.2 Delete
To delete a single name (except SYSTEM) from the users list:
1. In the users list window, right-click the name to be deleted.
2. Select Delete.
3. Click OK.
3.14.4 Modify
To modify the access privileges of a user (except SYSTEM):
1. In the users list window, right-click the name whose access privileges are to be modified.
2. Select Modify....
The user privileges dialog box will appear.
3. Edit the level of file access and debug access granted to the user for the project. Refer to Table 3-1 for more
information.
4. Click OK.
3.14.5 Refresh
To update the users list:
1. In the users list window, right-click the project name.
2. Select Refresh.
2VAA001872-660 3-9
User Information Manager 3. Projects
3.14.7.1Add/Modify
Add
To add a user:
1. Type in the new user name.
2. Type in and confirm the new user password.
NOTES:
1. The Preserve Password option assigns the user name as the password.
2. The user information manager can not modify users to have no password.
Modify
To modify a user:
3-10 2VAA001872-660
3. Projects User Information Manager
NOTES: The Preserve Password option maintains the current user’s password.
3. Select the desired user privileges.
4. Select the projects in the drive window to be modified.
5. Click Add/Modify.
6. An event is generated in the event log for each project that has been modified.
NOTE: If the user does not exist in a selected project the user is added following the add a user steps.
3.14.7.2Delete
To delete a user:
1. Type in the user name.
2. Select the projects in the drive window to be deleted.
3. Click Delete.
4. An event is generated for each project deleted from in the event log.
NOTE: If the user does not exist in a selected project an event is generated stating the user could not be deleted.
3.14.7.3Print Log
Events are not stored. If a permanent record of changes is required print the event log during the session the changes were
performed.
Printer
To print the event log to a printer:
1. Click Print Log during the current session.
2. Select Printer. Refer to the Figure 3-8.
3. Click OK to open the printer dialog box.
4. Select print options as necessary.
5. Click OK.
File
To print the event log to a file:
1. Click Print Log during the current session.
2. Select File. Refer to Figure 3-8.
3. Specify a file name and location.
2VAA001872-660 3-11
User Information Manager 3. Projects
4. Click OK.
NOTE: An ASCII text file is produced. Select Excel compatible print out to generate an ASCII text comma delimited file.
3.14.7.4Update
Update shows the users defined in a project. The Auto Update option updates the project after an action (add or delete a
user) is performed.
NOTE: Auto Update is a time consuming action. For faster computing response time, do not select the Auto Update
option.
3-12 2VAA001872-660
4. Class Libraries and Classes Introduction
NOTE: Classes and class libraries are used in batch projects only.
Figure 4-1 shows an example class library window after classes are added to a class library.
Figure 4-1: Class Library Window Containing Classes (BSEQ Batch Project)
4.2.1 Add
To add a class library to a project:
1. Verify the project does not contain a class library.
2. In the class library window, right-click the project name.
3. Select Add Class Library....
4. Specify if a new class library is to be created or an existing class library is to be referenced in the add class
library dialog box.
5. Click Next.
2VAA001872-660 4-1
Copy 4. Class Libraries and Classes
6. If a new class library is to be created, enter the name of the subdirectory that will contain the class library and
specify the class library path. If an existing class library is to be referenced, select the directory containing the
class library.
Class library names are forced into uppercase, not case sensitive, and can not begin with an underscore. A
maximum of 16 characters can be used. Valid characters include letters A through Z, numbers zero through
nine, and underscores.
7. Click Next.
8. Verify the class library name displayed in the add class library dialog box is correct.
9. Click Next.
10. Click Finish.
4.2.2 Copy
To copy a class library from the current location to another location:
1. In the class library window, right-click the class library name.
2. Select Copy Out....
The copy class library out dialog box will appear.
3. Set the batch copy options by specifying if symbol table, listing, object code, and include files are to be copied.
4. Set the unit copy options by specifying if unit, object code, and listing files are to be copied.
5. Specify if exports (explained in Section 6 and Section 7) are to be copied.
6. Specify the destination directory.
7. Click OK.
4.2.3 Delete
To delete a class library and all associated files from the hard disk drive:
1. In the class library window, right-click the class library name.
2. Select Delete Class Library.
3. Click Yes to confirm the action.
NOTE: Verify the class library is not used by any other project before deleting the class library.
4.2.4 Properties
The class library property display is available from the class library window. The properties of a class library consist of:
• Type.
• Location and name.
• Size (in bytes).
• Number of classes contained in the class library.
To view the properties of a class library:
1. In the class library window, right-click the class library name.
2. Select Properties.
3. View the properties in the properties dialog box.
4. Click OK.
4.2.6 Rename
To rename a class library:
1. In the class library window, right-click the class library name.
4-2 2VAA001872-660
4. Class Libraries and Classes Classes
2. Select Rename....
3. Enter the new name of the class library in the rename class library dialog box.
4. Click OK.
4.3 Classes
Classes can be added, copied within a library, copied to or from another class library directory, renamed, and deleted.
4.3.1 Add
To add a new class to a class library directory:
1. In the class library window, right-click the class library name.
2. Select Add Class....
3. Enter the class name in the add class dialog box.
Class names are forced into uppercase, not case sensitive, and can not begin with an underscore. A maximum
of eight characters can be used. Valid characters include letters A through Z, numbers zero through nine, and
underscores.
4. Click Next.
5. Specify if this class will use a new batch program (New), copy an existing program (Copy), or reference a
program in another class library directory (Link). If a new program is used, select the unit data box to have a unit
data section put in the program shell by the Batch Data Manager software.
6. Click Next.
7. If a new class batch program is to be created, proceed to Step 9. If an existing program is to be copied or
referenced, select Browse.... from the dialog box and specify the Batch 90 source program in the dialog box.
8. Click Next.
9. Verify the class name, class location, and batch source program location are correct.
10. If desired, click in the edit box and click Next to edit the batch source program. Edit the batch program and select
File > Save.
11. Click Finish.
4.3.3 Copy
Copy Option
To make a copy of a class within the same class library directory and give it a new name:
1. In the class library window, right-click the class name.
2. Select Copy....
3. Enter the name of the new class in the copy class dialog box.
4. Click OK.
2VAA001872-660 4-3
Delete 4. Class Libraries and Classes
4.3.4 Delete
Delete Option
To delete a class from the class library directory:
1. In the class library window, right-click the class name.
2. Select Delete.
3. Click Yes in the please confirm class delete dialog box.
4.3.5 Properties
The class property display is available from the class library window and from the Batch 90 editor window when editing a
unit.
The properties of a class include:
• Type.
• Location and name.
• Size of the class library directory (in bytes).
• Number of unit definition files associated with the class.
• Batch program location and name.
• Date the program was last compiled.
• Unit relative status (Yes indicates the class is not specific to any unit, No indicates the class is specific to a unit).
• Firmware revision number of the controller for which the class was compiled.
• Indication of usage of the #HIHI and #MAXPARALLEL directives.
• Program ID type.
• Program ID.
• A notice if the class has not yet been compiled.
• Address of unit the class is specific to (non-unit relative classes only).
• Function block addresses of lead and linked PHASEX blocks (PHASEX batch projects and non-unit relative
classes only).
4-4 2VAA001872-660
4. Class Libraries and Classes Rename
4.3.6 Rename
To rename a class:
1. In the class library window, right-click the class name.
2. Select Rename....
3. Enter the new class name in the rename class dialog box.
4. Click OK.
2VAA001872-660 4-5
Rename 4. Class Libraries and Classes
4-6 2VAA001872-660
5. Batch 90 and UDF Programs Introduction
5.2.1 Add
To add a new source file to a class:
1. In the class library window, right-click the class name.
2. Select Edit
3. In the Batch 90 editor, select Class > Add Source File.
4. Select the source file type.
5. Click OK. The Batch 90 editor window containing the opened program file will appear.
6. Edit the program file as required.
7. Select File > Save As.
Batch program names can be any valid DOS file name.
5.2.2 Compile
Settings
To view or edit the class settings used by the batch compiler when compiling a program file:
1. In the Batch 90 editor window (refer Figure 5-1), open the program file or verify it is the active program file.
2. Select Class > Settings.
The compiler options dialog box (refer Figure 5-2) will appear.
3. Under the Main Options tab, specify if ISA-SP88.01-1995 standard terms are being used in the program.
4. Specify if a cross-reference of program elements to sections of the program is to be put in the listing file.
5. Specify if the listing file should be left justified.
6. Specify if a browse window is opened when a program is compiled. In this window, open the .CFG file whose
function blocks are to be verified.
7. Specify if warnings should be suppressed from the listing file.
8. Under the List Options tab, specify if the executable code generated by the compiler (for the program file) is
included in the listing file.
9. Specify if the executable code sent to the controller by the compiler (for the program file) is included in the listing
file.
10. Specify if the contents of the symbol table file is to be included in the listing file.
11. Specify if the memory allocation calculations (data table memory) are to be included in the listing file.
12. Under the Versions tab, specify the firmware revision used when compiling. Not specifying a revision level
causes the oldest revision allowed (based on syntax used in the program file) to be used.
2VAA001872-660 5-1
Compile 5. Batch 90 and UDF Programs
Compile
To compile a batch program or unit data file:
1. In the Batch 90 editor window, open the program file or unit data file and verify it is in the active window.
NOTES: The program file must be compiled before compiling a unit data file.
2. Select Class > Compile.
5-2 2VAA001872-660
5. Batch 90 and UDF Programs Copy
When the compiling operation is complete, the output window will display the number of errors and warnings
generated, time required to compile, value for specifications 11 and 12 of the batch sequence function block, and
the minimum firmware version of the Batch 90 software used in the controller.
A listing file (.lst file extension) is created when the compiling operation completes. This file contains diagnostic
information useful in finding the source of errors and warnings.
3. Correct the source of any errors and recompile the program file.
5.2.3 Copy
Copy Option
To make a copy of a batch program in the same program directory and give it a new name:
1. In the class library window, right-click the program file name.
2. Select Copy....
3. Enter the name of the new program file in the copy B90 dialog box.
4. Click OK.
5.2.4 Delete
To delete a batch program from a project:
1. In the class library window, right-click the name of the program file to be deleted.
2. Select Delete.
3. Click Yes to confirm the delete.
5.2.5 Edit
To edit an existing batch program for a class:
1. In the class library window, right-click the class containing the program.
2. Select Edit.
The Batch 90 editor window containing the opened program file will appear. Refer to Figure 5-1 for an example
editor window.
3. Edit the program file as required.
4. Select File > Save.
2VAA001872-660 5-3
Print 5. Batch 90 and UDF Programs
5.2.6 Print
To print a batch program:
1. In the Batch 90 editor window, open the program file or verify it is the active program file.
2. Select File > Print....
3. Specify the printer, print range, and copies settings in the print dialog box.
4. Click OK.
5.2.7 Properties
View the properties of the class containing the program.
5.2.9 Rename
To rename a batch program:
1. In the class library window, right-click the program name to be changed.
2. Select Rename....
3. Enter the new name of the program in the rename B90 dialog box.
4. Click OK.
NOTES: A #INCLUDE directive is required in the program for it to locate and access the include file.
4. Select the .INC file extension in the add source file dialog box.
5. Click OK.
An include file window will appear within the Batch 90 editor window.
6. Edit the include file as required.
7. Select File > Save As.
8. Specify a destination directory and file name or accept the default values in the save as dialog box.
9. Click Save.
5.3 Units
The next step after successfully compiling the batch program for a class is to define the units included (in the case of unit
relative programs) in that class of equipment. The unit (unit definition file) must be successfully compiled before a unit
recipe can be created for the unit. It is also possible to print and delete unit definition files. Figure 5-3 shows an example of
5-4 2VAA001872-660
5. Batch 90 and UDF Programs Add
Figure 5-3: Class Library Window (BSEQ Batch Project) Containing Units
5.3.1 Add
To add a new unit to a class:
1. In the Batch 90 editor window, select Class > Add Unit....
2. In the unit file window, specify the unit source file title, descriptor, location (loop, PCU, controller, and batch
sequence function block number), and unit data.
Unit source file names can be any valid DOS file name.
3. Select File > Save.
5.3.2 Compile
Compiling units requires the same procedures used to compile batch programs. Refer to the information about compiling
batch programs.
5.3.3 Delete
To delete a unit from a class:
1. In the Batch 90 editor window, select Class > Delete Unit.
2. Select the unit to be deleted in the delete unit dialog box.
5.3.4 Print
To print a unit source file:
1. In the Batch 90 editor window, open the unit source file or verify it is the active file.
2. Select File > Print....
3. Specify the printer, print range, and copies settings in the print dialog box.
2VAA001872-660 5-5
Properties 5. Batch 90 and UDF Programs
4. Click OK.
5.3.5 Properties
The properties of a unit include:
• Type.
• Location and name.
• Size (in bytes).
• Number of unit recipes associated with this unit.
• Time and date when the unit was last compiled.
• Name of the class containing this unit.
• Time and date when the batch program associated with the class was last compiled.
• Name of the class library containing this unit.
• Firmware revision number of the controller for which this unit was compiled.
• Loop, controller, PCU, and function block address of the unit source file.
• Indication if the class is unit relative or not.
• Batch program ID.
• Unit descriptor.
• Function block addresses of the lead and linked PHASEX blocks (PHASEX batch projects only).
5.4.1 Add
To add a new UDF program to a project:
5-6 2VAA001872-660
5. Batch 90 and UDF Programs Compile
1. In the UDF window, right-click the name of the project that will receive the new program.
2. Select Add UDF....
3. Select the source file type and enter the name of the UDF program file in the add source file dialog box.
UDF program names can be any valid DOS file name.
4. Click OK.
The UDF editor window containing the opened program file will appear. Refer to Figure 5-4.
5.4.2 Compile
Settings
To view or edit the settings used by the UDF compiler when compiling a program file:
1. In the UDF editor window, open the program file or verify it is the active program.
2. Select UDF > Settings from the compiler menu.
The compiler options dialog box (refer Figure 5-2) will appear.
3. Under the Main Options tab, specify if ISA-SP88.01-1995 standard terms are being used in the program.
4. Specify if a cross-reference of program elements to sections of the program is to be put in the listing file.
5. Specify if the listing file should be left justified.
6. Specify if a browse window is opened when a program is compiled. In this window, open the .CFG file whose
function blocks are to be verified.
7. Specify if warnings should be suppressed from the listing file.
8. Under the Listing Options tab, specify if the executable code generated by the compiler (for the program file) is
included in the listing file.
2VAA001872-660 5-7
Copy 5. Batch 90 and UDF Programs
9. Specify if the executable code sent to the controller by the compiler (for the program file) is included in the listing
file.
10. Specify if the contents of the symbol table file are to be included in the listing file.
11. Specify if the memory allocation calculations (data table memory) are to be included in the listing file.
12. Under the Versions tab, specify the firmware revision used when compiling. Not specifying a revision level
causes the oldest revision allowed (based on syntax used in the program file) to be used.
13. Click OK.
Compile
To compile a UDF program:
1. In the UDF editor window, open the program file or verify it is the active program file.
2. Select Compile from the compiler menu.
When the compiling operation is complete, the output window will display the number of errors and warnings
generated, time required to compile, program size, size of data for the UDF function block, and the minimum
firmware version of the UDF software that must be used in the controller for the program to execute.
A listing file (.lst file extension) is created when the compiling operation completes. This file contains diagnostic
information useful in finding the source of errors and warnings.
3. Correct the source of any errors and recompile the program.
5.4.3 Copy
Copy Option
To make a copy of a UDF program in the same program directory and give it a new name:
1. In the UDF window, right-click the program file name.
2. Select Copy....
3. Enter the name of the new program file in the copy UDF dialog box.
4. Click OK.
5.4.4 Delete
To delete a UDF program from a project:
1. In the UDF window, right-click the name of the program file to be deleted.
2. Select Delete.
5-8 2VAA001872-660
5. Batch 90 and UDF Programs Edit
5.4.5 Edit
To edit an existing UDF program within a project:
1. In the UDF window, right-click the program file name.
2. Select Edit.
The UDF editor window containing the opened program file will appear.
3. Edit the program file as required.
4. Select File > Save.
5.4.6 Print
To print a UDF program:
1. In the UDF editor window, open the program file or verify it is the active program file.
2. Select File > Print....
3. Specify the printer, print range, and copies settings in the print dialog box.
4. Click OK.
5.4.7 Rename
To rename a UDF program:
1. In the UDF window, right-click the program name to be changed.
2. Select Rename....
3. Enter the new name of the program in the rename UDF dialog box.
4. Click OK.
2VAA001872-660 5-9
Source File 5. Batch 90 and UDF Programs
5-10 2VAA001872-660
6. Unit Procedures and Unit Recipes Introduction
NOTE: Unit procedures and unit recipes are used in BSEQ batch projects only.
Unit recipes created with the EDT and batch recipe manager recipe editors can be used by the Batch Data Manager after
they are converted and imported as described in Section 12. These imported recipes can only be used with BSEQ batch
projects.
6.2.1 Add
To add a new unit procedure to a project:
1. In the unit procedures window, right-click the project name.
2. Select Add Unit Procedure....
3. Enter the unit procedure name and select the class type under the Unit Procedure tab.
Unit procedure names are forced into uppercase, not case sensitive, and can not begin with an underscore. A
maximum of 16 characters can be used. Valid characters include letters A through Z, numbers one through nine,
and underscores.
4. Enter any comments under the Comment tab.
5. Enter description information under the Description tab.
2VAA001872-660 6-1
Copy 6. Unit Procedures and Unit Recipes
6. Click OK.
6.2.2 Copy
Copy Option
To make a copy of a unit procedure in the same project directory and give it a new name or revision number:
1. In the unit procedures window, right-click the unit procedure name.
2. Select Copy....
3. In the copy unit procedure dialog box, specify the creation of a new revision or an entirely new unit procedure.
Enter the new unit procedure name when creating a new unit procedure.
4. Click OK.
6.2.3 Delete
To delete a unit procedure from a project:
1. In the unit procedures window, right-click the unit procedure name.
2. Select Delete.
3. In the delete dialog box, specify if all revisions of the unit procedure should be deleted or just this revision.
4. Click OK.
6.2.4 Edit
To edit a unit procedure:
1. In the unit procedures window, right-click the unit procedure name.
2. Select Edit.
The unit procedure editor window containing the unit procedure, overview, and output windows will appear.
Figure 6-2 shows an example unit procedure editor window of a new and unedited unit procedure. Figure 6-3
shows an example unit procedure editor window of a fully edited unit procedure. The unit procedure window
shows the unit procedure structure on top and a listing of the arguments associated with selected operation or
phase on the bottom. The overview window displays all the unit recipes associated with the unit procedure. The
output window displays general output messages.
3. Edit the unit procedure as required.
4. Select File > Save.
5. Select File > Exit.
The editing functions available in the unit procedure editor consist of:
• Inserting operations and phases.
6-2 2VAA001872-660
6. Unit Procedures and Unit Recipes Edit
2VAA001872-660 6-3
Edit 6. Unit Procedures and Unit Recipes
NOTES: Phases within the first operation (operation 0) of a unit procedure must terminate within the first
operation.
7. Enter any comments under the Comment tab.
8. Click OK.
NOTES: Phases within the first operation (operation 0) of a unit procedure must terminate within the first
operation.
6. Enter any comments under the Comment tab.
7. Click OK.
6.2.4.3 Delete
To delete an operation or phase from the unit procedure window of the unit procedure editor:
1. Delete or change the termination operation of any superphase that passes through the operation.
2. Right-click the operation or phase name.
NOTES: The first operation (operation 0) of a unit procedure can not be deleted.
3. Select Delete.
6-4 2VAA001872-660
6. Unit Procedures and Unit Recipes Edit
NOTES: Phases within the first operation (operation 0) of a unit procedure must terminate within the first
operation.
5. Click OK.
2VAA001872-660 6-5
Edit 6. Unit Procedures and Unit Recipes
6.2.4.11Insert Operation
NOTES: Operations can not be inserted before the first operation (operation 0) of a unit procedure.
5. Enter any comments under the Comment tab.
6. Click OK.
NOTES: Operations can not be inserted before the first operation (operation 0) of a unit procedure.
5. Enter any comments under the Comment tab.
6. Click OK.
6.2.4.13Rename Operation
To give an operation a new name from the unit procedure window of the unit procedure editor:
1. Right-click the name of the operation receiving the new name.
2. Select Rename....
3. Enter the new name in the rename operation dialog box.
4. Click OK.
6.2.4.14Search
To search for a specific operation, phase, or argument from the unit procedure window of the unit procedure editor:
1. Select Operation, Phase, or Argument from the search menu.
2. In the search dialog box, specify where to search and the name of the operation, phase, or argument.
3. Click Find Next or Find Previous.
A box will appear around the found operation, phase, or argument.
4. Click OK to exit the search dialog box.
6-6 2VAA001872-660
6. Unit Procedures and Unit Recipes Print
6.2.4.15Terminate
To change the operation in which a phase will terminate from the unit procedure window of the unit procedure editor:
1. Right-click the phase.
2. Select Terminate....
3. Select the operation in which the phase will terminate in the terminate phase dialog box.
NOTES: Phases within the first operation (operation 0) of a unit procedure must terminate within the first
operation.
4. Click OK.
6.2.4.16Write Protect
When created, a unit procedure can be edited by anyone with the appropriate access privileges. At any time, anyone can
change the unit procedure status to read only and become the owner of it. No user can edit the unit procedure until the
owner changes the write protect status to the default state. The name of the person who enabled the read only status is
displayed in the properties dialog box for as long as the read-only status is enabled.
To change the write protect status of a unit procedure from the unit procedure window of the unit procedure editor:
1. Right-click the unit procedure name.
2. Select Write Protect.
6.2.5 Print
To print all or part of a unit procedure:
1. In the unit procedure window of the unit procedure editor, select a part of the unit procedure (the whole unit
procedure, an operation, or a phase).
2. Select File > Print....
The unit procedure print options dialog box will appear.
3. Specify under the General tab if the entire unit procedure, just the selected item, or a select number of items
residing below the selected item are to be printed.
4. Specify if the selected items will be printed or sent to a specified file location as a .txt file.
5. Specify under the Unit Procedures tab if the comments and unit parameters are to be printed. When printing unit
parameters, specify if the default values and recipe values are to be printed.
6. Specify how many spaces to indent the printout of unit procedures, comments, and unit parameters.
7. Under the Operations tab, specify if the operations and operation comments are to be printed.
8. Specify how many spaces to indent the printout of operations and operation comments.
9. Under the Phases tab, specify if the phases and phase comments are to be printed.
10. Specify how many spaces to indent the printout of the phases and phase comments.
11. Under the Arguments tab, specify if the arguments, default values, recipe values, and types are also to be
printed.
12. Specify how many spaces to indent the printout of arguments, default values, recipe values, and type.
13. Under the Print Profiles tab, specify if the print profile just configured is to be saved or an existing print profile is
to be loaded. When saving a new print profile, enter a print profile name. When loading an existing print profile,
select the print profile name from the list.
14. Click OK.
15. Specify the printer, print range, and copies settings in the print dialog box if the item is to be printed.
16. Click OK if the item is to be printed.
17. In the printing stats dialog box, click OK to confirm the number of bytes and total page count sent to the printer or
the specified file location.
6.2.6 Properties
The operation, phase, unit procedure and unit procedure editor property displays are available from the unit procedures
window.
6.2.6.1 Operation
The properties of an operation include:
• Name of the unit procedure that contains this operation.
2VAA001872-660 6-7
Properties 6. Unit Procedures and Unit Recipes
6.2.6.2 Phase
The properties of a phase include:
• Type.
• Name of operation containing this phase.
• Number of arguments used in this phase.
• Comment.
To view the properties of a phase from the unit procedure window of the unit procedure editor:
1. Right-click the phase name.
2. Select Properties.
3. View the desired properties in the properties dialog box.
4. Click OK.
6-8 2VAA001872-660
6. Unit Procedures and Unit Recipes Rename
6.2.7 Rename
To give a unit procedure a new name:
1. In the unit procedures window, right-click the unit procedure name.
2. Select Rename....
3. Enter the new name of the unit procedure in the rename unit procedure dialog box.
4. Click OK.
6.2.8 Save
To save a unit procedure (by overwriting the current revision), select File > Save from the unit procedure editor window.
To save the current unit procedure under a new name or revision level:
1. Select File > Save As.
2. Enable the creation of a new revision, overwriting of the current revision, or creation of a new unit procedure in
the save dialog box. When creating a new unit procedure, enter a new name.
3. Click OK.
6.3.1 Add
2VAA001872-660 6-9
Copy 6. Unit Procedures and Unit Recipes
6.3.2 Copy
6-10 2VAA001872-660
6. Unit Procedures and Unit Recipes Delete
4. Enter the new unit recipe name in the copy unit recipe dialog box.
5. Click OK.
6.3.3 Delete
6.3.5 Edit
2VAA001872-660 6-11
Print 6. Unit Procedures and Unit Recipes
3. Select Edit....
The unit procedure editor window containing the unit recipe, overview, and output windows will appear.
4. Edit the unit recipe as required.
5. Select File > Save.
6. Select File > Exit.
6.3.6 Print
To print all or part of a unit recipe:
1. In the unit recipe window of the unit procedure editor, select a part of the unit recipe (the whole unit recipe, an
operation, or a phase).
2. Select File > Print....
The unit procedure print options dialog box will appear.
3. Specify under the General tab if the entire unit recipe, just the selected item, or a select number of items residing
below the selected item are to be printed.
4. Specify if the selected items will be printed or sent to a specific file location as a .txt file.
5. Specify under the Unit Procedures tab if the unit procedure, comments, and unit parameters are to be printed.
When printing unit parameters, specify if the default values and recipe values are to be printed.
6. Specify how many spaces to indent the printout of unit procedures, comments, and unit parameters.
7. Under the Operations tab, specify if the operations and operation comments are to be printed.
8. Specify how many spaces to indent the printout of operations and operation comments.
9. Under the Phases tab, specify if the phases and phase comments are to be printed.
10. Specify how many spaces to indent the printout of the phases and phase comments.
11. Under the Arguments tab, specify if the arguments, default values, recipe values, and types are also to be
printed.
12. Specify how many spaces to indent the printout of arguments, default values, recipe values, and type.
13. Under the Print Profiles tab, specify if the print profile just configured is to be saved or an existing print profile is
to be loaded. When saving a new print profile, enter a print profile name. When loading an existing print profile,
select the print profile name from the list.
14. Click OK.
15. Specify the printer, print range, and copies settings in the print dialog box if the item is to be printed.
16. Click OK if the item is to be printed.
17. In the printing stats dialog box, click OK to confirm the number of bytes and total page count sent to the printer or
the specified file location.
6.3.7 Properties
The properties of a unit recipe include:
• Type.
• Location and name.
• Date first compiled.
• Size (in bytes).
• Date last compiled.
• ID type (numeric or alphanumeric).
6-12 2VAA001872-660
6. Unit Procedures and Unit Recipes Rename
• MaxParallel number.
• Address (loop, controller, PCU, block).
• Recipe ID.
• Class associated with unit recipe.
• Program ID of the class batch program.
• Date the class batch program was compiled.
• Class library name.
• Designation if the unit recipe is unit relative or not.
• Firmware revision number of controller containing unit.
• Comment.
• Description.
6.3.8 Rename
2VAA001872-660 6-13
Rename 6. Unit Procedures and Unit Recipes
6-14 2VAA001872-660
7. Master Recipes and Control Recipes Introduction
NOTE:
2. Master recipes and control recipes are used in BSEQ batch projects only.
A master recipe is a collection of unit procedures that are linked together into a sequence of operations that control the
making of a product. This sequence of operations or recipe, unlike unit procedures, can control multiple classes of
equipment. The unit procedures that make up the master recipe and the units (specified in trains) are compiled to create
control recipes which are downloaded into the controllers. For example, a master recipe might control how one of several
possible chemical compounds is made from beginning to end. The unit procedures within the master recipe would control
how the chemical compounds are processed in each of the classes of equipment (raw material loaders, mixers, packagers,
etc.). Trains, which specify units, provide the specific data about the specific units of equipment (raw material loader 5,
mixer 7, packager 2, etc.). The resulting control recipes are specific to the type of chemical compound and the particular
pieces of equipment used. This section describes how to add, edit, and copy within the project, copy to or from another
project directory, rename, print, save, and delete a master recipe or control recipe. Figure 7-1 shows an example master
recipe window after a master recipe, train, and control recipe have been added.
7.2.1 Add
To add a new master recipe to a project:
2VAA001872-660 7-1
Copy 7. Master Recipes and Control Recipes
7.2.2 Copy
Copy Option
To make a copy of a master recipe in the same project directory and give it a new name or revision number:
1. In the master recipes window, right-click the master recipe name.
2. Select Copy....
3. Specify the creation of a new revision or an entirely new master recipe. Enter the new master recipe name when
creating a new master recipe.
4. Click OK.
7.2.3 Delete
To delete a master recipe from a project:
1. In the master recipes window, right-click the master recipe name.
2. Select Delete.
3. In the delete dialog box, specify if all revisions of the master recipe should be deleted or just this revision.
4. Click OK.
7.2.4 Edit
To edit a master recipe:
1. In the master recipes window, right-click the master recipe name.
2. Select Edit.
The master recipe editor window containing the master recipe, overview, and output windows will appear.
Figure 7-2 shows an example master recipe editor window of a new and unedited master recipe. Figure 7-3
shows an example master recipe editor window of a fully edited master recipe. The master recipe window shows
the structure on top and a listing of the arguments associated with the selected operation or phase on the
7-2 2VAA001872-660
7. Master Recipes and Control Recipes Edit
bottom. The overview window displays the structure of the master recipe after it has been compiled to create a
control recipe. The output window displays general output messages.
2VAA001872-660 7-3
Edit 7. Master Recipes and Control Recipes
NOTE: Phases within the first operation (operation 0) of a unit procedure must terminate in the first operation.
6. Enter any comments under the Comment tab.
7. Click OK.
NOTE: Phases within the first operation (operation 0) of a unit procedure must terminate in the first operation.
7-4 2VAA001872-660
7. Master Recipes and Control Recipes Edit
2. Right-click the name of the master recipe that will contain the train.
3. Select Add Train....
4. Enter a name under the Train tab.
Train names are forced into uppercase, not case sensitive, and can not begin with an underscore. A maximum of
16 characters can be used. Valid characters include letters A through Z, numbers one through nine, and
underscores.
5. Enter any comments under the Comment tab.
6. Enter description information under the Description tab.
7. Click OK.
8. Select the unit to be tied to the train in the edit train dialog box.
9. Click OK.
2. Select Contract/Expand.
2VAA001872-660 7-5
Edit 7. Master Recipes and Control Recipes
7.2.4.5 Delete
To delete a segment, unit procedure, operation, or phase from the master recipe editor:
1. In the master recipe window, right-click the segment, unit procedure, operation, or phase name.
NOTES:
1. When deleting an operation, delete or change the termination operation of any superphase that passes
through the operation.
2. Select Delete.
3. Click Yes in the confirm delete dialog box.
7.2.4.10Export Phase
To send a copy of a phase to an export subdirectory of the class directory from the master recipe editor:
1. In the master recipe window, right-click the phase name.
2. Select Export....
3. Enter the name of the phase as it will appear in the export directory in the export dialog box.
4. Click OK.
7-6 2VAA001872-660
7. Master Recipes and Control Recipes Edit
7.2.4.12Import Operation
To import a copy of an operation from the export directory and add it to the current unit procedure from the master recipe
editor:
1. Verify the unit procedure receiving the operation is expanded.
2. In the master recipe window, right-click an existing operation name or the name of the unit procedure that will
receive the imported operation.
3. Select Import Operation....
4. Select the name of the operation to be imported in the import dialog box.
5. Specify the placement of the operation by selecting an operation and a modifier (before or after).
NOTE: Operations can not be inserted before the first operation (operation 0) of a unit procedure.
6. Click OK.
7.2.4.13Import Phase
To import a copy of a phase from the export directory and add it to the current operation from the master recipe editor:
1. In the master recipe window, right-click an existing phase name or the name of the operation that will receive the
imported phase.
2. Select Import Phase....
3. Select the name of the phase to be imported in the import dialog box.
4. Under the Superphase tab, select the operation in which the phase will terminate.
NOTE: Phases within the first operation (operation 0) of a unit procedure must terminate in the first operation.
5. Click OK.
7.2.4.15Insert Operation
NOTE: Operations can not be inserted before the first operation (operation 0) of a unit procedure.
2VAA001872-660 7-7
Edit 7. Master Recipes and Control Recipes
NOTE: Operations can not be inserted before the first operation (operation 0) of a unit procedure.
7.2.4.16Insert Segment
7-8 2VAA001872-660
7. Master Recipes and Control Recipes Edit
Unit procedure names are forced into uppercase, not case sensitive, and can not begin with an underscore. A
maximum of eight characters can be used. Valid characters include letters A through Z, numbers one through
nine, and underscores.
4. Specify the class to be associated with this unit procedure from the list provided.
5. Specify the placement of the unit procedure by selecting a unit procedure and a modifier (before or after).
6. Enter any comments under the Comment tab.
7. Enter description information under the Description tab.
8. Click OK.
7.2.4.19Rename Operation
To give an operation a new name from the master recipe editor:
1. In the master recipe window, right-click the name of the operation receiving the new name.
2. Select Rename....
3. Enter the new name in the rename operation dialog box.
Operation names are forced into uppercase, are not case sensitive, and can not begin with an underscore. A
maximum of 32 characters can be used. Valid characters include letters A through Z, numbers one through nine,
and underscores.
4. Click OK.
7.2.4.20Rename Segment
To give a segment a new name from the master recipe editor:
1. In the master recipe window, right-click the name of the segment receiving the new name.
2. Select Rename....
3. Enter the new name in the rename segment dialog box.
Segment names are forced into uppercase, are not case sensitive, and can not begin with an underscore. A
maximum of 32 characters can be used. Valid characters include letters A through Z, numbers one through nine,
and underscores.
4. Click OK.
7.2.4.21Rename Train
2VAA001872-660 7-9
Print 7. Master Recipes and Control Recipes
2. Select Rename....
3. Enter the new name in the rename train dialog box.
4. Click OK.
7.2.4.22Search
To search for a specific segment, operation, phase, or argument from the master recipe editor:
1. Verify the master recipe window is the active window.
2. Select Segment, Unit Procedure, Operation, or Phase from the search menu.
3. In the search dialog box, specify where to search and the name of the segment, unit procedure, operation, or
phase.
4. Click OK.
A box will appear around the found operation, phase, or argument.
5. Click OK to exit the search dialog box.
7.2.4.23Terminate
To change the operation in which a phase will terminate from the master recipe editor:
1. In the master recipe window, right-click the phase name.
2. Select Terminate....
3. Select the operation in which the phase will terminate in the terminate phase dialog box.
NOTE: Phases within the first operation (operation 0) of a unit procedure must terminate in the first operation.
4. Click OK.
7.2.4.24Write Protect
When created, a master recipe can be edited by any user with the appropriate access privileges. At any time, any user can
change the master recipe to read-only status and become the owner of it. No user can edit the master recipe until the owner
changes the write protect status to the default state. The name of the user who enabled the read-only state will be displayed
in the properties dialog box for as long as the read-only state is enabled.
To change the write protect status from the master recipe editor:
1. In the master recipe window, right-click the master recipe name.
2. Select Write Protect.
7.2.5 Print
To print all or part of a master recipe:
1. In the master recipe window of the master recipe editor, select a part of the master recipe (the whole master
recipe, a segment, a unit procedure, an operation, or a phase).
2. Select File > Print....
The master recipe print options dialog box will appear.
3. Specify under the General tab if the entire master recipe, just the selected item, or a select number of items
residing below the selected item are to be printed.
4. Specify if the selected items will be printed or sent to a specified file location as a .txt file.
5. Under the Segments tab, specify if segments are to be printed.
6. Specify how many spaces to indent the printout of segments.
7. Under the Unit Procedures tab, specify if the unit procedures, comments, and unit parameters are to be printed.
When printing unit parameters, specify if default values and recipe values are to be printed.
8. Specify how many spaces to indent the printout of unit procedures, comments, and unit parameters.
7-10 2VAA001872-660
7. Master Recipes and Control Recipes Properties
9. Under the Operations tab, specify if the operations and operation comments are to be printed.
10. Specify how many spaces to indent the printout of operations and operation comments.
11. Under the Phases tab, specify if phases and phase comments are to be printed.
12. Specify how many spaces to indent the printout of phases and phase comments.
13. Under the Arguments tab, specify if argument default values, recipe values, and types are to be printed.
14. Specify how many spaces to indent the printout of arguments, default values, recipe values, and type.
15. Under the Print Profiles tab, specify if the print profile just configured is to be saved or an existing print profile is
to be loaded. When saving a new print profile, enter a print profile name. When loading an existing print profile,
select the print profile name from the list.
16. Click OK.
17. Specify the printer, print range, and copies settings in the print dialog box if the item is to be printed.
18. Click OK if the item is to be printed.
19. In the printing stats dialog box, click OK to confirm the number of bytes and total page count sent to the printer or
the specified file location.
7.2.6 Properties
The master recipe, segment, operation, phase, master recipe editor, and train property displays are available from the
master recipes and master recipe editor windows.
2VAA001872-660 7-11
Properties 7. Master Recipes and Control Recipes
7.2.6.3 Operation
The properties of an operation include:
• Type.
• Location.
• Number of phases contained in this operation.
• Comment.
To view or edit the properties of an operation from the master recipe window of the master recipe editor:
1. Right-click the operation name.
2. Select Properties.
3. View or edit (if the current user has access) the desired properties in the properties dialog box.
4. Click OK.
7.2.6.4 Phase
The properties of a phase include:
• Type.
• Location.
• Number of arguments used.
• Comment.
To view or edit the properties of a phase from the master recipe window of the master recipe editor:
1. Right-click the phase name.
2. Select Properties.
3. View or edit (if the current user has access) the desired properties in the properties dialog box.
4. Click OK.
7.2.6.5 Segment
The properties of a segment include:
• Type.
• Location and name.
• Date the segment was created.
7-12 2VAA001872-660
7. Master Recipes and Control Recipes Properties
7.2.6.6 Train
The properties of a train include:
• Type.
• Name of the master recipe that contains this train.
• Number of control recipes contained.
• Validity.
• Comment.
• Description.
2VAA001872-660 7-13
Rename 7. Master Recipes and Control Recipes
7.2.7 Rename
To give a master recipe a new name:
1. In the master recipes window, right-click the master recipe name.
2. Select Rename....
3. Enter the new name of the master recipe in the rename master recipe dialog box.
4. Click OK.
7.2.8 Save
To save a master recipe (by overwriting the current revision), select File > Save from the master recipe editor window.
To save the current master recipe under a new name or revision level:
1. Select File > Save As.
2. Enable the creation of a new revision, overwriting of the current revision, or creation of a new master recipe in
the save dialog box. When creating a new master recipe, enter a new name.
3. Click OK.
7.3.1 Add
7-14 2VAA001872-660
7. Master Recipes and Control Recipes Copy
include letters A through Z, numbers one through nine, and underscores. Valid numbers for numeric control
recipe names are 101 through 65,536.
4. Select the train to be used when compiling.
5. Enter any comments under the Comment tab.
6. Enter description information under the Description tab.
7. Click OK.
7.3.2 Copy
7.3.3 Delete
2VAA001872-660 7-15
Edit 7. Master Recipes and Control Recipes
7.3.4 Edit
7-16 2VAA001872-660
7. Master Recipes and Control Recipes Print
4. Click OK.
7.3.5 Print
To print all or part of a control recipe:
1. In the control recipe window of the master recipe editor, select a part of the control recipe (the whole control
recipe, a segment, a unit procedure, an operation, or a phase).
2. Select File > Print....
The master recipe print options dialog box will appear.
3. Specify under the General tab if the entire control recipe, just the selected item, or a select number of items
residing below the selected item are to be printed.
4. Specify if the selected items will be printed or sent to a specified file location as a .txt file.
5. Under the Segments tab, specify if segments are to be printed.
6. Specify how many spaces to indent the printout of segments.
7. Under the Unit Procedures tab, specify if the unit procedures, comments, and unit parameters are to be printed.
When printing unit parameters, specify if default values and recipe values are to be printed.
8. Specify how many spaces to indent the printout of unit procedures, comments, and unit parameters.
9. Under the Operations tab, specify if the operations and operation comments are to be printed.
10. Specify how many spaces to indent the printout of operations and operation comments.
11. Under the Phases tab, specify if phases and phase comments are to be printed.
12. Specify how many spaces to indent the printout of phases and phase comments.
13. Under the Arguments tab, specify if argument default values, recipe values, and types are to be printed.
14. Specify how many spaces to indent the printout of arguments, default values, recipe values, and type.
15. Under the Print Profiles tab, specify if the print profile just configured is to be saved or an existing print profile is
to be loaded. When saving a new print profile, enter a print profile name. When loading an existing print profile,
select the print profile name from the list.
16. Click OK.
17. Specify the printer, print range, and copies settings in the print dialog box if the item is to be printed.
18. Click OK if the item is to be printed.
19. In the printing stats dialog box, click OK to confirm the number of bytes and total page count sent to the printer or
the specified file location.
7.3.6 Properties
The properties of a control recipe include:
• Type.
• Name of the master recipe and train that contain this control recipe.
• Date first compiled.
• Size (in bytes).
• Number of segments and unit recipes contained in this control recipe.
• ID type (numeric or alphanumeric).
• Comment.
• Description.
2VAA001872-660 7-17
Rename 7. Master Recipes and Control Recipes
7.3.7 Rename
7-18 2VAA001872-660
8. Information Download Introduction
8. Information Download
8.1 Introduction
After creating the necessary control recipes, unit recipes, batch programs, or UDF programs, they must be downloaded into
the controller. This section describes how to download (refer Figure 8-1) the required files to and delete them from a
controller. How to compare the files in a controller to the same files on the hard disk drive of a workstation is also described
in this section.
NOTE: Control and unit recipes are used in BSEQ batch projects only.
8.2 Download
The controller must be formatted before any files are downloaded (refer to Controller Utilities).
The files that must be downloaded to the controller for a master recipe to execute are:
• Batch 90 program file for every class used by the unit procedures that comprise the master recipe.
• Units (unit definition files) used by the unit procedures that comprise the master recipe.
• Control recipes generated by compiling unit procedures and units.
The files that must be downloaded to the controller for a unit procedure to execute are:
• Batch 90 program file for the class used by the unit procedure.
• Units (unit definition files) used by the unit procedure.
• Unit recipes generated by compiling the unit procedure and units.
The files that must be downloaded to the controller for a PHASEX batch program to execute are:
• Batch 90 program file for every class used with recipes created by the Symphony batch management software.
• Units (unit definition files) used with the Batch 90 program files.
Only one file, the program file, must be downloaded to the controller for a UDF program to execute.
2VAA001872-660 8-1
Batch 90 Program Files 8. Information Download
When a control recipe is downloaded the files created in the controller are as follows:
• Segment 1 of the control recipe will have the ID of the control recipe.
• The unique identifier of the unit recipes contained in Segment 1 is the block address.
• Unit recipes contained in Segment 2 through N will have the ID of the (N-1) + control recipe ID where N is the
segment number. If the control recipe is alpha the segment number is appended to the name.
8.2.5 Units
One Unit
To download a unit (unit definition file) that is associated with a class to a controller:
1. In the class library window, right-click the unit name.
2. Select Download.
Multiple Units
To download one or more units (unit definition files) associated with a class to a controller:
8-2 2VAA001872-660
8. Information Download Verify
8.3 Verify
It is possible to compare files residing on a workstation hard disk drive to files of the same name residing in a controller. This
capability can be used to insure the controller contains the most recent files.
8.3.5 Units
To verify the unit (unit definition file) that resides in a controller is identical to the unit that resides in the workstation:
1. In the class library window, right-click the unit name.
2. Select Verify In Controller.
3. Click OK in the BDU dialog box.
8.4 Delete
At times it may be necessary to delete certain files from a controller. The Batch Data Manager provides the capability of
deleting individual program, unit, unit recipe, and control recipe files.
2VAA001872-660 8-3
Batch 90 Program Files 8. Information Download
8.4.5 Units
To delete a unit (unit definition file) that is associated with a class from a controller:
1. In the class library window, right-click the unit name.
2. Select Delete from Controller.
8.5 Print
All Messages
To print all the messages saved by the download utility from the batch download utility window:
1. Right-click in the window (except on the messages) and select Print All... or select Trace > Print.
2. Select print options as necessary, in the printer dialog box.
3. Click OK.
One Message
To print one message from the batch download utility window:
1. Right-click the log message to be printed.
2. Select Print.
3. Select print options as necessary, in the printer dialog box.
4. Click OK.
Multiple Messages
To print multiple messages from the batch download utility window:
1. Select the log messages to be printed using CTRL and left-click.
2. Right-click on one of the selected log messages.
8-4 2VAA001872-660
8. Information Download Properties
8.6 Properties
The properties of a message include:
• Date logged.
• Time logged.
• Message level (type).
• User and computer name.
• Description of the message.
To view the properties of a message from the batch download utility window:
1. Right-click the level (type) of the message.
2. Select Properties.
3. View the properties in the event detail dialog box.
4. Click Next (view details of next newer message), Previous (view details of previous older message), or Close.
8.7 Size
To set the maximum number of messages the download utility file will hold from the batch download utility window:
1. Select Trace > Size.
2. Enter the maximum number of messages to save in the trace size dialog box.
3. Click OK.
2VAA001872-660 8-5
Format 8. Information Download
communication parameters are also supported. The utility also lists (in the window) any messages generated by the utility.
This list or parts of it can be printed, sorted, and deleted.
8.8.1 Format
The controller must be formatted before any files are downloaded. To format the controller from the Batch Data Manager
window:
1. Select Applications > Downloader. The batch download utility window will appear.
2. Select Tools > Controller Utilities. The controller utilities dialog box will appear.
NOTES: Formatting a controller erases the stored function block configuration. Replace the configuration after
the format operation is complete.
3. Under the Format tab, select the type of format to be performed.
a. If Mini (only deletes existing programs and function code logic) is selected, click Format to complete the
format operation.
b. If Standard (grays out options) or Expanded (allows access to all options) is selected, proceed to the next
step.
4. Specify the type of controller being formatted. Auto Detect inspects the controller at the specified address when
Read Controller is clicked.
NOTES: The controller address is set from the Change Mode tab. The controller type and mode are displayed
after clicking Read Controller.
5. Specify the number of batch files (total number of B90, UDF, unit definitions and recipes the controller can
accept).
6. Specify the address for the base batch file.
NOTES: The default is 100. This value can be changed to avoid conflict with foreign device interface C
program data files.
7. Enter the amount of NVRAM memory assigned to function code logic. The minimum value to execute function
blocks is from the CAD logic drawing compile - EEPROM value. Total is the amount for the module type
selected. Allocated is the amount reserved for program files. If standard format was selected, click Format to
complete the format operation. If expanded format was selected, proceed to the next step.
8-6 2VAA001872-660
8. Information Download Change Controller Mode
8. Specify the number of other (nonbatch) files desired. This is the number of C data files allowed in the controller.
The total number of files is the number of batch files plus the number of other files. This total is the same as the
number of data files set in CUP.
9. Specify the number and size of the MBFIO and check point buffers desired (use of the default values is
recommended).
10. Click Format.
Refer to 8.8.3- Communication Settings for more information about setting communication standards. Refer to 8.8.2-
Change Controller Mode for more information about selecting controllers and changing controller modes under the
Controller tab.
Refer to 8.8.3- Communication Settings for more information about setting communication parameters under the NIU
Settings tab.
All Files
To view a directory of all files in a controller from the controller utilities dialog box:
1. Select the Module Files tab.
The controller address, type, and mode of the last controller downloaded to are displayed on the Controller
Directory tab. Also displayed are the number of used files, total memory space available to programs, and the
amount of unused NVRAM memory. These files are displayed on the bottom of the tab after the build utility is
used. They can be sorted by name, size, and attributes. To sort the files click Name, Size, or Attributes.
2. Click Build.
Refer to 8.8.3- Communication Settings for more information about setting the communication parameters.
Refer to 8.8.2- Change Controller Mode for more information about selecting controllers and changing controller
modes.
Batch/UDF Files
To view a directory of the batch and UDF program files in a controller from the controller utilities dialog box:
2VAA001872-660 8-7
Print Controller Directories 8. Information Download
To a Printer
To print a Batch/UDF file listing to a printer:
1. Under the Batch/UDF File tab build the file. Refer to 8.8.4- Read Controller Directories.
2. Click Print.
3. Select Printer from the print options dialog box. Refer to Figure 8-3.
4. Click OK to open the printer dialog box.
5. Select print options as necessary.
6. Click OK.
To a File
To print a Batch/UDF file listing to a file:
1. Under the Batch/UDF File tab build the file. Refer to 8.8.4- Read Controller Directories.
2. Click Print.
3. Select File from the print options dialog box. Refer to Figure 8-3.
4. Specify a file name and location.
5. Click OK.
NOTES: An ASCII text file is produced. Select Excel compatible print out to generate an ASCII text comma
delimited file.
8-8 2VAA001872-660
8. Information Download Search for Controllers
2. Specify the loop, PCU, and controller address of the controller to be searched for. A wild card character (?) can
be used.
3. Click Search Now.
The loop, PCU, and controller address of the searched for controller or controllers will be displayed on the bottom of the
dialog box. Also displayed will be the type, revision, and current mode of the controller. The displayed controller information
can be sorted by clicking Loop, PCU, Controller, Type, Revision, and Mode.
2VAA001872-660 8-9
Search for Controllers 8. Information Download
8-10 2VAA001872-660
9. Dynamic Debugger Utility Introduction
NOTE: Control and unit recipes are used in BSEQ batch projects only.
Unit Recipe
To debug a unit recipe (BSEQ batch project only):
1. In the unit procedures window, right-click the unit recipe name.
2. Select Debug.
The batch debugger window appears.
3. Find any run-time fault codes reported by the debugger (refer to Section 13) using the debugger capabilities
discussed later in this section.
4. Select File > Exit.
5. Edit the unit procedure to correct the errors.
6. Generate a unit recipe of the same name.
7. Download the unit recipe to the controller.
8. Execute the unit recipe and watch for any logic errors.
9. Repeat Steps 1 through 8 until no errors are found.
Control Recipe
To debug a control recipe (BSEQ batch project only):
1. In the master recipes window, right-click the control recipe name.
2. Select Debug....
3. Select the segment and unit procedure name associated with the control recipe.
2VAA001872-660 9-1
Debugger Capabilities 9. Dynamic Debugger Utility
Batch Program
To debug a batch program (BSEQ and PHASEX batch projects):
1. In the class library window, right-click the class (batch program) or unit name.
2. Select Debug....
3. Select the unit containing the program to be debugged (if a unit relative class was selected in Step 1).
4. Select a lead or linked PHASEX function block (PHASEX batch projects only).
The batch debugger window appears.
5. Find any errors using the debugger capabilities discussed later in this section.
6. Edit the batch program to correct the errors.
7. Download the batch program to the controller.
8. Execute the batch program and watch for any logic errors.
9. Repeat Steps Step 1 through Step 8 until no errors are found.
PHASEX batch programs can also be debugged from a Operate IT Process Portal workstation if the configuration server
path is specified when the program is downloaded. To specify the configuration server path:
1. Select Set Config. Svr. Directory Path... from the Batch Data Manager window options menu.
2. Enable the Export to Config Svr option in the set configuration server path dialog box.
3. Specify the configuration server path.
4. Click OK.
UDF Program
To debug a UDF program:
1. In the UDF window, right-click the UDF program name.
2. Select Debug....
3. Enter the loop, PCU, controller, and UDF block address for the UDF program.
9.2.1 Breakpoints
Breakpoints are pointers that stop program execution. They are useful when debugging because they allow programs to be
executed in user defined pieces. The dynamic debugger allows two individual breakpoints to be active at one time.
9-2 2VAA001872-660
9. Dynamic Debugger Utility Change Operation
NOTES:
1. The user must have program debug privileges.
2. When using single phase execution mode for a PHASEX batch program, changing the operation transi-
tions the active phase to the complete state.
NOTES:
1. The user must have program debug privileges.
2VAA001872-660 9-3
Go To Specific Line 9. Dynamic Debugger Utility
Directly
To go to the first, last, or a specific line of the source code:
1. Verify the program window is the active window.
2. Select Search > Go To Line....
3. In the go to line dialog box, enter the desired line number and click OK (specified line), Home (first line), or End
(last line).
Execute Up To Line
To go to the first, last, or a specific line of the source code and continue execution from the program window of the batch
debugger:
1. Right-click a variable name appearing in the program code.
2. Select Go To Line....
3. In the go to line dialog box, enter the desired line number and click OK (specified line), Home (first line), or End
(last line).
Variable Definition
To go to the line of code that defines a variable from the program window of the batch debugger:
1. Right-click a variable name appearing in the program code.
2. Select Go To Definition....
NOTE: The last debugger session setting is the default setting for the next session.
9.2.8 Properties
The properties of the debug session include:
• Program name, creation date and time, and size.
• BSEQ, PHASEX, or UDF function block status.
• Program status.
• Debug status.
• Indication of the disable program fault or hold logic state.
• Fault information.
• Recipe name, creation data and time, size, and ID (BSEQ batch programs only).
• The operation and phase being executed (BSEQ batch programs only).
• Unit name, creation date and time, and size (unit relative batch programs only).
• Loop, PCU, controller, and function block address of the program (unit relative batch programs only).
To view or edit the properties of a debug session from the batch debugger:
1. Verify the program window is the active window.
2. Select Debug > Properties....
3. Edit or view (if the current user has access) the desired properties.
9-4 2VAA001872-660
9. Dynamic Debugger Utility Remove Variables from Watch
4. Click OK.
Step Section
To execute the current statement and stop from the batch debugger window, select Debug > Step Section.
NOTE: If the statement is a monitor or function subroutine call, the entire subroutine is executed normally.
Step Level
To execute the first statement of a monitor or function subroutine from the batch debugger window, select Debug > Step
Level.
If the next statement to be executed is a function or monitor subroutine, the step level function will cause the debugger to
execute the next executable statement within the monitor or function subroutine. From within a subroutine, the step level
function executes exactly like the step same function.
Step Same
To execute the current statement and stop at the next executable statement within the current program section (function
calls, monitor calls, continuous logic, sequential logic, etc.), select Debug > Step Same from the batch debugger window.
The next executable statement within the program section will be highlighted. The step same function will not execute out
of program section. Execution of statements will stop after the last statement.
2VAA001872-660 9-5
Online Recipe Parameter Editing 9. Dynamic Debugger Utility
3. Select Inspect....
4. View the current value.
5. Click OK.
NOTES:
1. The user must have parameter edit privileges.
9-6 2VAA001872-660
9. Dynamic Debugger Utility Batch Debugger Window
2VAA001872-660 9-7
Batch Debugger Window 9. Dynamic Debugger Utility
9-8 2VAA001872-660
10. Batch Archive Log Introduction
10.2 Delete
The ability to delete some or all log file entries from a log file is reserved for the person with SYSTEM access only.
2VAA001872-660 10-1
One Message 10. Batch Archive Log
10.3 Filters
There are two filters in the batch archive log. The display filter controls what log entries are to be displayed and can be
manipulated by anyone with access to the batch archive log. The write filter controls which messages from which utility are
logged into the log file and is configurable by the person with SYSTEM access only.
10-2 2VAA001872-660
10. Batch Archive Log Pause
10.5 Pause
To pause the input of messages into the displayed log contents, select Trace > Pause from the batch archive log window.
10.6 Print
The user may send a complete log, one message or multiple messages to a printer or file.
To a Printer
To print a complete log from the batch archive log window:
1. Right-click in the window (except on the messages) and select Print All... or select Trace > Print.
2. Select Printer from the print options dialog box. Refer to Figure 10-2.
3. Click OK to open the printer dialog box.
4. Select print options as necessary.
5. Click OK.
To a File
To print a complete log from the batch archive log window:
1. Right-click in the window (except on the messages) and select Print All... or select Trace > Print.
2. Select File from the print options dialog box. Refer to Figure 10-2.
3. Specify a file name and location.
4. Click OK.
NOTES: An ASCII text file is produced. Select Excel compatible print out to generate an ASCII text comma
delimited file.
To a Printer
To print one displayed log message from the batch archive log window:
1. Right-click the log message to be printed.
2. Select Print.
3. Select Printer from the print options dialog box. Refer to Figure 10-2.
4. Click OK to open the printer dialog box.
5. Select print options as necessary.
6. Click OK.
2VAA001872-660 10-3
Multiple Messages 10. Batch Archive Log
To a File
To print one displayed log message from the batch archive log window:
1. Right-click the log message to be printed.
2. Select Print.
3. Select File from the print options dialog box. Refer to Figure 10-2.
4. Specify a file name and location.
5. Click OK.
NOTES: An ASCII text file is produced. Select Excel compatible print out to generate an ASCII text comma
delimited file.
To a Printer
To print multiple displayed log messages from the batch archive log window:
1. Select the log messages to be printed using CTRL and left-click.
2. Right-click on one of the selected log messages.
3. Click Print Selected.
4. Select Printer from the print options dialog box. Refer to Figure 10-2.
5. Click OK to open the printer dialog box.
6. Select print options as necessary.
7. Click OK.
To a File
To print multiple displayed log messages from the batch archive log window:
1. Select the log messages to be printed using CTRL and left-click.
2. Right-click on one of the selected log messages.
3. Select Print Selected.
4. Select File from the print options dialog box. Refer to Figure 10-2.
5. Specify a file name and location.
6. Click OK.
NOTES: An ASCII text file is produced. Select Excel compatible print out to generate an ASCII text comma
delimited file.
10.7 Properties
The properties of a message include:
• Date logged.
• Time logged.
• User and computer name.
• Name of the utility that generated the message.
• Message level (type).
• Description of the message.
To view the properties of a message from the batch archive log window:
1. Right-click the level (type) of the message.
2. Select Properties.
3. View the properties in the event detail dialog box.
4. Click Next (view details of next newer log entry), Previous (view details of previous older log entry), Delete, or
Close.
10-4 2VAA001872-660
10. Batch Archive Log Resume
10.8 Resume
To resume the input of messages into the displayed log contents, select Trace > Resume from the batch archive log
window.
10.9 Sort
The displayed log contents can be sorted according to message type (level), date and time the message was generated
(time-stamp), utility that generated the message (source), first letter of the message (description), and the name of the
computer and user that caused the message to be generated (user name). To sort the displayed log contents, click Level,
Timestamp, Source, Description, or User Name in the batch archive log window.
10.10View
To view the contents of the archive log, select Applications > Archive Log from the Batch Data Manager window. The batch
archive log window will appear.
NOTE: The batch archive log window is opened when the project is opened and not closed until the project is closed.
2VAA001872-660 10-5
View 10. Batch Archive Log
10-6 2VAA001872-660
11. Script Language Introduction
2VAA001872-660 11-1
Script File 11. Script Language
• Master recipe from an ASCII file other than the ASCII project script.
• Unit procedure embedded within an ASCII project script.
• Unit procedure from an ASCII file other than the ASCII project script.
11-2 2VAA001872-660
11. Script Language Compile Batch 90 Program
2VAA001872-660 11-3
Compile UDF Program 11. Script Language
bcode = enable
stack = enable
hexdump = enable
nowarn = enable
symbol = enable
sp88_terminology = enable
abort_script = yes
version = 7
end
b90
class = all_on
end
end
NOTE: The Batch 90 program and all units found in the class will be compiled.
11-4 2VAA001872-660
11. Script Language Compile Unit Recipe
udfcompiler
// Compile the udf2 program
// This sample shows the default values for the compiler flags.
// If no flags are specified, the compiler will use the values
// of the flags as they appear in this example.
options
bcode = disable
version = 7
stack = disable
hexdump = disable
nowarn = disable
symbol = disable
abort_script = no
end
udf
udf = udf2
end
end
end // end project
2VAA001872-660 11-5
Compile Unit Recipe 11. Script Language
end
end
where:
ur_up_name Name of the unit relative unit procedure.
class_unit_name Name of the class unit (unit relative classes only).
ur_name Name of the unit relative unit recipe.
Example:
project <d:\ddrive>, user = <SYSTEM>
// Numeric ID, unit relative
upe
upe_compile
unit_procedure = ANYS.U01
unit = unit1
unit_recipe = 100
end
end
11-6 2VAA001872-660
11. Script Language Create Master Recipe Train
end
2VAA001872-660 11-7
Compile Control Recipe 11. Script Language
11-8 2VAA001872-660
11. Script Language Delete Unit Recipe
end
downloader
// Delete a single unit recipe of a unit relative unit procedure
// Numeric ID
// Don’t abort the remainder of the script if this task fails
options
abort_script = no
end
delete unit_recipe = 100
unit_procedure = anys.u01
unit = unit1
end
end
end
2VAA001872-660 11-9
Delete All Unit Recipes 11. Script Language
abort_script = no
end
delete unit_recipe = 800
unit_procedure = nur1595.u01
end
end
end
From a Unit
The following portion of code provides the scripting syntax for deleting all unit recipes in a unit of a unit relative unit
procedure:
delete unit_recipe = *
unit_procedure = up_name
unit = unit_name
end
where:
up_name Name of the unit procedure.
unit_name Name of the unit.
Example:
project <d:\ddrive>, user = "SYSTEM"
downloader
// Delete all unit recipes in a unit of a unit relative unit procedure
// Numeric ID
// Don’t abort the remainder of the script if this task fails
options
11-10 2VAA001872-660
11. Script Language Delete Batch 90 Program
abort_script = no
end
delete unit_recipe = *
unit_procedure = anys.u01
unit = unit1
end
end
end
2VAA001872-660 11-11
Delete Control Recipe 11. Script Language
unit = unit_name
end
where:
class_name Name of the class.
unit_name Name of the unit.
Example:
project <d:\ddrive>, user = "SYSTEM"
downloader
// Delete the Batch 90 program for a unit relative class
// Don’t abort the remainder of the script if this task fails
options
abort_script = no
end
delete class = ALPHAS
unit = unit1
end
end
end
11-12 2VAA001872-660
11. Script Language Delete Segment
downloader
// Delete an entire control recipe
// Numeric ID
// Don’t abort the remainder of the script if this task fails
options
abort_script = no
end
delete master_recipe = mr1.m01
train = TR1
control_recipe = 100
unit_procedure = anys1
end
end
end
11.2.12Delete Segment
The following portion of code provides the scripting syntax for deleting an entire segment of a control recipe:
delete master_recipe = mr_name
train = train_name
control_recipe = cr_name
segment = segment_name
end
where:
mr_name Name of the master recipe.
train_name Name of the train.
cr_name Name of the control recipe.
segment_name Name of the segment.
Example:
project <d:\ddrive>, user = "SYSTEM"
downloader
// Delete an entire segment of a control recipe
// Numeric ID
// Don’t abort the remainder of the script if this task fails
options
abort_script = no
end
delete master_recipe = mr1.m01
train = TR1
control_recipe = 100
segment = seg2
end
end
end
11.2.13Delete Unit
The following portion of code provides the scripting syntax for deleting an entire unit of a control recipe:
delete master_recipe = mr_name
train = train_name
control_recipe = cr_name
unit_procedure = up_name
end
where:
mr_name Name of the master recipe.
train_name Name of the train.
cr_name Name of the control recipe.
segment_name Name of the segment.
Example:
project <d:\ddrive>, user = "SYSTEM"
downloader
2VAA001872-660 11-13
Delete UDF Program 11. Script Language
11-14 2VAA001872-660
11. Script Language Download All Unit Recipes
For Unit
The following portion of code provides scripting syntax for downloading all unit recipes in a unit of a unit relative unit
procedure:
download unit_recipe = *
unit_procedure = up_name
unit = unit_name
end
where:
up_name Name of the unit procedure.
unit_name Name of the unit.
Example:
project <d:\ddrive>, user = "SYSTEM"
downloader
// Download all unit recipes in a unit of a unit relative unit procedure
// Don’t download if the unit recipe preexists in controller
// Don’t abort the remainder of the script if this task fails
options
abort_script = no
overwrite_if_exists = no
end
download unit_recipe = *
unit_procedure = anys.u01
unit = unit1
end
end
end
NOTE: Use the overwrite_if_exists option when downloading files. This option controls what is done if the files being
downloaded already exist in the controller. Valid settings for this option are yes, no, and prompt.
2VAA001872-660 11-15
Download Batch 90 Program 11. Script Language
11-16 2VAA001872-660
11. Script Language Download Control Recipe
where:
class_name Name of the class.
loop_number Number of the loop.
pcu_number Number of the process control unit.
module_number Number of the controller.
Example:
project <d:\ddrive>, user = "SYSTEM"
downloader
// Download the Batch 90 program for a non-unit relative class
// Don’t download if the unit recipe preexists in controller
// Don’t abort the remainder of the script if this task fails
options
abort_script = no
overwrite_if_exists = no
end
download class = NURANYS
loop = 1
pcu = 59
module = 5
end
end
end
11.2.20Download Segment
The following portion of code provides the scripting syntax for downloading an entire segment of a control recipe:
download master_recipe = mr_name
train = train_name
control_recipe = cr_name
segment = segment_name
end
2VAA001872-660 11-17
Download Unit 11. Script Language
where:
mr_name Name of the master recipe.
train_name Name of the train.
cr_name Name of the control recipe.
segment_name Name of the segment.
Example:
project <d:\ddrive>, user = "SYSTEM"
downloader
// Download an entire segment of a control recipe
// Numeric ID
// Don’t download if the unit recipe preexists in controller
// Don’t abort the remainder of the script if this task fails
options
abort_script = no
overwrite_if_exists = no
end
download master_recipe = mr1.m01
train = TR1
control_recipe = 100
segment = seg2
end
end
end
11.2.21Download Unit
The following portion of code provides the scripting syntax for downloading an entire unit of a control recipe:
download master_recipe = mr_name
train = train_name
control_recipe = cr_name
unit_procedure = up_name
end
where:
mr_name Name of the master recipe.
train_name Name of the train.
cr_name Name of the control recipe.
up_name Name of the unit procedure.
Example:
project <d:\ddrive>, user = "SYSTEM"
downloader
// Download an entire unit of a control recipe
// Numeric ID
// Don’t abort the remainder of the script if this task fails
// Overwrite the unit recipe without prompting if it preexists in controller
options
abort_script = no
overwrite_if_exists = yes
end
download master_recipe = mr1.m01
train = TR1
control_recipe = 100
unit_procedure = anys1
end
end
end
11-18 2VAA001872-660
11. Script Language Download Unit Recipe
downloader
// Download a single unit recipe of a unit relative unit procedure
// Alpha ID type
// Don’t download if the unit recipe preexists in controller
// Don’t abort the remainder of the script if this task fails
options
abort_script = no
overwrite_if_exists = no
end
download unit_recipe = ALPHA100
unit_procedure = alpha.u01
unit = unit1
end
end
end
2VAA001872-660 11-19
Download UDF Program 11. Script Language
download
unit_recipe = 800
unit_procedure = nur1595.u01
end
end
end
11-20 2VAA001872-660
11. Script Language Download Unit Definition File
end
download udf = TESTUDF
loop = 1
pcu = 59
module = 5
end
end
end
2VAA001872-660 11-21
Import Unit Procedure 11. Script Language
end
// Import the file d:\scripts\recipe1.txt into a master recipe database
import master_recipe
file = <d:\scripts\recipe1.txt>
end
end
// Import the file d:\scripts\recipe2.txt into a master recipe database
bdm
import master_recipe
file = <d:\scripts\recipe2.txt>
end
end
end
11-22 2VAA001872-660
11. Script Language ASCII Unit Procedure Script
11.3.1 Keywords
Table 11-1 lists and explains the important words that appear in unit procedure scripts.
Keyword Description
11.3.2 Comments
Two comment styles are supported:
// Remainder of line is a comment
/* */, { } Enclosed characters are comments
Nested comments are not supported.
2VAA001872-660 11-23
Unit Parameters Section 11. Script Language
11-24 2VAA001872-660
11. Script Language Phase Section
end
where:
operation_name Name of the operation.
comment_text Phase comment text. The last comment found
before the end is reached overwrites the default
comment. If this text is not found, the default
comment from the class will be used.
STRINGargument_name = "string_value"
- or -
STRINGargument_name = selection_list_item
where:
argument_name Name of the argument.
string_value Explicit text value.
selection_list_item Item from the provided selection list that is valid.
CSEQargument_name = argument_value
where:
argument_name Name of the argument.
argument_value Name of any CSEQ function block that is valid for
this argument.
BLOCKSargument_name = argument_value
where:
argument_name Name of the argument.
2VAA001872-660 11-25
Super Phase Section 11. Script Language
11.3.8 Example
/* Example script for ASCII unit procedure feature */
project "d:\test_prj", user = ADAMS
/* Start of the ASCII unit procedure section */
ascii_recipe
options
abort_script = yes
end
description
text = “T_script example”
end
unit_param
up_index00_cseq_list_all = example, unit4
//
// The following value comes from the file cseq list which was
// created to hold the list of valid cseq values
//
up_index01_cseq_listfile = listfile_data_cseq_blk_02
up_index02_cseq_list_of_1 = example, unit1
//
// nur is a Non-Unit Relative class therefore no Unit is needed
//
up_index03_cseq_no_value = nur
up_index04_cseq_a_few_classes = example, unit2
up_index05_any_no_values_entered = ( < 3 < )
up_index06_anyhihi_lolo_only = ( < 6 < 7)
up_index07_anyhihi_lo_only = ( < 6 < 7)
up_index08_anyhihi_val_only = (.5 < .6 < )
up_index09_anyhihi_hi_only = (12 < 13 < 14)
up_index10_anyhihi_hihi_only = (-9 < -8 < -7)
up_index11_any_single_pick_list = ( < 1 < )
up_index12_any_pick_list = batch_data_const_02
up_index13_string_no_value = " A Test Value"
up_index14_string_21long_default = "New String Value"
up_index15_string_1nullpick = batch_data_const_string03
up_index16_string_picklist____80 = batch_data_const_string04
end
operation = ESTOP
11-26 2VAA001872-660
11. Script Language Example
phase = pick_list_test
comment = {
This will appear as the comment for this phase
notice the comment = format does not nest.
}
end // phase end
end // Operation
operation = operation_1
phase = pick_list_test
comment = {This will show how you insert a phase without
changing a thing}
end // phase end
phase = pick_list_test
end // phase no_default_test
phase = pick_list_test
comment = {Skip a number of the parameters and change the
order around this is legal in the script. The default value
will be entered for each of the parameters not
assigned here}
arg_15_rbuf = batch_data_rbuf_blk_00
arg_04_block = batch_data_block_rdemux_00_out4
arg_01_any = (< -123 < -12.3)
arg_06_cseq = unit_data_cseq_blk_00
arg_09_string = "Test value instead of the Default"
arg_07_remset = batch_data_remset_blk_00
arg_10_text = unit_data_text_blk_00 // Use the same value
arg_13_block = unit_data_block_blk_01
arg_11_any = batch_data_const_03
arg_14_cseq = unit_data_cseq_blk_01
end // phase
end // Operation
operation = operation_2
phase = pick_list_test
end // phase
// This is the format for a super phase continue, notice that you
// must maintain the same phase orientation (Second phase
// in operation)
super_phase = no_defaults_test, continue
// A comment = {} here will overwrite the comment with start
end
end // Operation
operation = operation_3
phase = NULL
// Place holder for the super phase
end
phase = no_defaults_test
2VAA001872-660 11-27
ASCII Master Recipe Script 11. Script Language
arg_00_cseq = batch_data_cseq_blk_00
arg_01_any = (-9876 < 123 < 9876)
arg_02_aol = unit_data_aol_blk_01
arg_03_apid = unit_data_apid_blk_00
arg_04_bbuf = unit_data_bbuf_01_out2
arg_05_block = unit_data_block_rdemux_00_out3
arg_06_cs = batch_data_cs_blk_00
arg_07_cseq = unit_data_cseq_blk_01
arg_08_dataexpt = unit_data_dataexpt_blk_01
arg_09_dd = batch_data_dd_blk_00
arg_10_dol = batch_data_dol_blk_00
arg_11_msdd = batch_data_msdd_blk_00
arg_12_rbuf = unit_data_rbuf_blk_01_out2
arg_13_rcm = unit_data_rcm_blk_01
arg_14_remset = unit_data_remset_blk_00
arg_15_rmc = unit_data_rmc_blk_01
arg_16_smith = batch_data_smith_blk_00
arg_17_string = "String default for this now"
arg_18_text = batch_data_text_blk_00
end // phase
end // Operation
end // Unit procedure
end // ASCII unit recipe script
end // project
11.4.1 Keywords
Table 11-2 lists and explains the important words that appear in master recipe scripts.
Keyword Description
11.4.2 Comments
Two comment styles are supported:
11-28 2VAA001872-660
11. Script Language Segment Section
unit_param
...
end
operation = operation_name
...
end
.
.
.
end
where:
up_name Name of the unit procedure.
class_name Name of the class of unit procedure. Class must
already exist in class library.
comment_text Unit procedure comment text. If this text is not
found before the unit_param word, the default
comment from the Batch 90 program will be used
as the unit procedure comment.
Recipe Description Recipe description assigned to the master
procedure and recipe file in the controller.
operation_name Name or number of the operation.
2VAA001872-660 11-29
Operation Section 11. Script Language
where:
argument_name Name of the argument.
lo Low limit (optional).
value Initial value (optional).
hi Hi limit (optional).
selection_list_item Item from the provided selection list
that is valid.
STRINGargument_name = "string_value"
- or -
STRINGargument_name = selection_list_item
where:
argument_name Name of the argument.
string_value Explicit text value.
selection_list_item Item from the provided selection list
that is valid.
CSEQargument_name = class_name, unit_name
- or -
CSEQargument_name = block_name
where:
argument_name Name of the argument.
class_name Name of the class of the unit. The class must exist
in the class library and be valid.
unit_name Name of the unit. The unit must exist in the class
(not necessary for non-unit relative classes).
block_name Name of the CSEQ function block specified in the
CSEQ list file or in a selection list specified for the
argument.
11-30 2VAA001872-660
11. Script Language Super Phase Section
.
.
.
end
where:
phase_name Name of the phase. Phase must already exist in
symbol table. NULL can be used as a placeholder
to support super phases.
comment_text Phase comment text. The last comment found
before the end is reached overwrites the default
comment. If this text is not found, the default
comment from the class will be used.
The valid types of arguments for use in phase sections are:
ANYargument_name = (lo < value < hi)
- or -
ANYargument_name = selection_list_item
where:
argument_name Name of the argument.
lo Low limit (optional).
value Initial value (optional).
hi Hi limit (optional).
selection_list_item Item from the provided selection list that is valid.
STRINGargument_name = "string_value"
- or -
STRINGargument_name = selection_list_item
where:
argument_name Name of the argument.
string_value Explicit text value.
selection_list_item Item from the provided selection list that is valid.
CSEQargument_name = argument_value
where:
argument_name Name of the argument.
argument_value Name of any CSEQ function block that is valid for
this argument.
BLOCKSargument_name = argument_value
where:
argument_name Name of the argument.
argument_value Name of any function block that is valid for this
argument.
2VAA001872-660 11-31
Example 11. Script Language
11.4.9 Example
// Sample of ASCII master recipe with two segments with two unit procedures
project "d:\test_prj", user = ADAMS
/* Start of the ASCII master recipe section */
ascii_master_recipe
options
abort_script = yes
end
// Assign a name to the master recipe
master_recipe = MR_Test
description
text = “T_script example”
end
operation = ESTOP
phase = PHASE_NAME_1
comment = {Comment for PHASE_NAME_1}
end // Phase
end // Operation
operation = OP_NAME_1
phase = PHASE_NAME_2
comment = {Comment for PHASE_NAME_2}
end // Phase
phase = PHASE_NAME_3
comment = {Comment for PHASE_NAME_3}
end // Phase
end // Operation
operation = OP_NAME_2
phase = PHASE_NAME_4
comment = {Comment for PHASE_NAME_4}
end // Phase
phase = PHASE_NAME_5
comment = {Comment for PHASE_NAME_5}
end // Phase
phase = PHASE_NAME_6
comment = {Comment for PHASE_NAME_6}
end // Phase
end // Operation
end // End of first unit procedure in segment one
11-32 2VAA001872-660
11. Script Language Example
phase = PHASE_NAME_1
comment = {Comment for PHASE_NAME_1}
end // Phase
end // Operation
operation = OP_NAME_1
phase = PHASE_NAME_2
comment = {Comment for PHASE_NAME_2}
end // Phase
phase = PHASE_NAME_3
comment = {Comment for PHASE_NAME_3}
end // Phase
phase = PHASE_NAME_4
comment = {Comment for PHASE_NAME_4}
end // Phase
end // Operation
end // End of second unit procedure in segment one
end // End of first segment
operation = ESTOP
phase = PHASE_NAME_1
comment = {Comment for PHASE_NAME_1}
end // Phase
end // Operation
operation = OP_NAME_1
phase = PHASE_NAME_2
comment = {Comment for PHASE_NAME_2}
end // Phase
end // Operation
operation = OP_NAME_2
phase = PHASE_NAME_3
comment = {Comment for PHASE_NAME_3}
end // Phase
end // Operation
operation = OP_NAME_3
phase = PHASE_NAME_4
comment = {Comment for PHASE_NAME_4}
end // Phase
end // Operation
end // end of first unit procedure in segment two
operation = ESTOP
phase = PHASE_NAME_1
comment = {Comment for PHASE_NAME_1}
end // Phase
end // Operation
2VAA001872-660 11-33
Example 11. Script Language
operation = OP_NAME_1
phase = PHASE_NAME_2
comment = {Comment for PHASE_NAME_2}
end // Phase
phase = PHASE_NAME_3
comment = {Comment for PHASE_NAME_3}
end // Phase
end // Operation
operation = OP_NAME_2
phase = PHASE_NAME_3
comment = {Comment for PHASE_NAME_3}
end // Phase
phase = PHASE_NAME_4
comment = {Comment for PHASE_NAME_4}
end // Phase
end // Operation
end // End of second unit procedure in segment two
end // End of second segment
end // ASCII master recipe script
end // project
Although the structure and data within the unit procedures can vary between segments, the unit procedure names and their
associated classes cannot. For example, assume segment one has unit procedures proc1, proc2 and proc3 associated with
class1, class2 and class3, respectively. By necessity segment two must also have proc1, proc2 and proc3 and associated
classes class1, class2, and class3. This rule must be enforced manually.
On the other hand, proc1 in segment one may have four operations with two phases each and proc1 in segment two can
have five operations with one phase each.
11-34 2VAA001872-660
12. Recipe Conversion and Project Upgrades Introduction
3. If the class is unit relative, select the unit definition file or files containing the recipes to be converted. If the class
is non-unit relative, verify the displayed addresses (loop, process control unit, controller, and BSEQ function
block) are correct. If necessary, click Modify... and select the address of the controller that will use the recipe. An
option is provided to select all the units.
4. Select the recipe or recipes (.REC) to be converted. An option is provided to select all the recipes.
5. Click Convert.
The output pane of the dialog box details the progress of the conversion process.
As a result of the conversion process:
2VAA001872-660 12-1
Batch Recipe Manager Recipe Conversion 12. Recipe Conversion and Project Upgrades
NOTE: The symbol table file (.SYP) created under the batch recipe manager for the class must be present.
• The Batch 90 program and unit definition files (unit relative classes only) for all classes associated with the master
recipe must be compiled under the Batch Data Manager before starting the conversion process.
• The ability to edit master recipes must be enabled.
To convert batch recipe manager master recipes to Batch Data Manager master recipes:
1. Select Recipe Conversion > BRM Recipe from the applications menu of the Batch Data Manager window.
2. In the BRM recipe conversion dialog box (refer Figure 12-2), select individual recipes from the equipment list or
select the list to convert all the recipes in that list.
NOTE: The equipment list can be found by expanding the drive and batch recipe manager project items.
12-2 2VAA001872-660
12. Recipe Conversion and Project Upgrades Batch Data Manager 6.1 Project Upgrade
3. Click Convert.
The output pane of the dialog box details the progress of the conversion process.
As a result of the conversion process:
• The original recipe files remain unchanged.
• A Batch Data Manager script file (.SCR) is created and given the same name as the master recipe being converted.
This file is placed in the BSEQ batch project directory.
• A Batch Data Manager master recipe file (.RCP) is created and given the batch recipe manager master recipe
name. This file is placed in the master recipe subdirectory of the BSEQ batch project directory.
• An error log (.ERR) is created for each recipe converted and is given the master recipe name. This log identifies
any invalid syntax found and the line number on which it as found. This file is placed in the BSEQ batch project
directory.
• A log file (.LOG) is created to provide a history of the recipe conversions and is given the selected master recipe
name. This file is placed in the BSEQ batch project directory.
2VAA001872-660 12-3
Batch Data Manager 6.1 Project Upgrade 12. Recipe Conversion and Project Upgrades
12-4 2VAA001872-660
13. Error Messages and Recovery Compiler Error Codes
Number Message
1 Invalid statement
3 Duplicate definition
4 Invalid definition
5 Syntax error
6 Premature EOF
7 Undefined name
10 Constant expected
2VAA001872-660 13-1
Compiler Error Codes 13. Error Messages and Recovery
Number Message
33 Invalid nonfunctional routine call
35 Invalid operator
42 Undefined label
46 Expression expected
48 Invalid LC
57 Invalid usage
65
66 Not used
67
13-2 2VAA001872-660
13. Error Messages and Recovery Compiler Error Codes
Number Message
71 Invalid lower bound
78 Missing subscript
83 Missing name
88 Missing terminator
91 Missing <
92 Missing >
93 Missing ,
94 Missing =
95 Missing :
96 Missing .
2VAA001872-660 13-3
Run-Time Fault Codes 13. Error Messages and Recovery
Number Message
Any positive number This number (any positive number) is assigned by the user in the batch
language program and is used to indicate what type of fault has occurred.
There is no limit to the number of fault codes the user may assign.
-1.0 Hold command The batch sequence is in hold, through either the BSEQ function block or a
command in the batch language. Going to hold suspends normal logic and
starts execution of hold logic.
-4.0 Error reading No batch program exists in the NVRAM memory that matches the number
object file indicated in specification S9 of the BSEQ function block. Normally this
means that the batch object file has not been downloaded to the controller
or specification S9 of the BSEQ function block references an undefined
program number.
-5.0 Object file The batch program size exceeds the amount of controller volatile memory
exceeds memory specified by specification S11 of the BSEQ function block. Correct this
allocation problem by increasing specification S11.
-7.0 Phase data size The amount of data used by a step/phase exceeds the amount of memory
exceeds memory specified by specification S12 of the BSEQ function block. To correct,
allocation increase the value of S12 in the BSEQ function block.
-8.0 Recipe refers to The unit recipe contains a phase subroutine name that is not contained
undefined phase within the batch program. This situation can happen when a batch program
subroutine is edited so that a phase subroutine is removed, but the corresponding
recipes are not changed. To correct, add the undefined phase subroutine or
remove the called (undefined) phase subroutine from the unit recipe.
-9.0 Batch directory Format controller and reload necessary programs, recipes, and data files.
error
-10.0 Recipe error The execution of a unit recipe that does not exist within the NVRAM
memory of the controller was attempted. To correct, create or download a
unit recipe to the controller or input a valid recipe ID and then restart the
sequence.
-12.0 Illegal There is an argument data type conflict between the unit recipe and the
parameter type batch program. To correct, recompile the batch program and the recipe.
Then, download both the recompiled batch program and unit recipe.
-13.0 ESTOP/ The emergency input to the BSEQ function block (specification S5) is on.
Aborting from block This drives the batch program unconditionally to operation 0 of the current
input unit recipe. To correct, find out why the emergency shut down input is being
set to on and correct it.
13-4 2VAA001872-660
13. Error Messages and Recovery Run-Time Fault Codes
-16.0 Bad function In the batch data declaration sections of the batch language, the program is
block reference trying to reference a function block that does not exist or one whose type
does not match the function code type in the declaration. The batch
debugger will provide the function block number within the batch data
section that is making the reference. To correct, change the function block
number to a valid one, erase the reference from the program, or correct the
type to match the function block in the controller.
-17.0 Array error An array subscript is out of bounds. Normal logic is suspended and
execution of fault logic begins. It is possible to inspect the value of the fault
code to detect when this fault has occurred.
-18.0 BCODE The batch program was compiled using firmware that does not match the
revision mismatch firmware in the controller. Recompile the batch program with the compiler
that matches the firmware within the controller.
-19.0 Recipe The execution of a recipe that contains more parallel phase subroutines
requires too many than are allowed in the target program was attempted. To correct, edit and
parallel phases recompile the unit recipe to contain less parallel phase subroutines or edit
the #MAXPARALLEL statement.
-20.0 Invalid number The unit recipe contains the wrong number of recipe parameters as
of parameters in compared to the target program. To correct, fix the recipe or the program
phase data (normally the recipe).
-21.0 Invalid online The attempted execution of a new program that differs from the previous
program change one because of a change in the batch data area or the local declaration
section of the active phase subroutine. Such online changes are not
permitted.
-22.0 Batch The batch and lot number in the BHIST function block are not unique to the
descriptor not unique batch historian. Change the batch and/or lot number and restart the
program.
-23.0 Wait for batch The batch historian is busy and the program may not proceed until it is
historian available. No corrective action is required.
-24.0 Batch historian The batch historian is offline and the program may not proceed until the
offline batch historian is online and the program is restarted.
-25.0 Bad block The unit recipe used contains a reference to an incorrect or nonexistent
reference in phase block. Correct the block number in the unit recipe.
data
-26.0 Bad data A data entry in the unit recipe does not match the program. This most
reference in recipe commonly happens when a unit recipe argument value was selected from a
selection list and the program was changed to no longer include that
selection. Resolve any discrepancies and recompile the unit recipe with the
batch program.
-27.0 Bad block A function block declaration in the unit data file does not match the
reference in Unit controller configuration (either the function block address or the function
Data code type are in error). Resolve any discrepancies and recompile the unit
data file against the batch program.
-28.0 Bad CSEQ A CSEQ reference in the unit data file does not match the program. Resolve
reference in Unit any discrepancies and recompile the unit data file against the batch
Data program.
2VAA001872-660 13-5
Run-Time Fault Codes 13. Error Messages and Recovery
-29.0 Unit Data does The unit data file does not match the batch program structurally (the number
not match B90 or type declarations do not match). Resolve any discrepancies and
program recompile the unit data file against the batch program.
-30.0 Error reading No unit data file exists in the NVRAM memory that matches the number
UNIT.DEF file indicated by specification S9 of the BSEQ function block. Normally this
means that the unit data object file has not been downloaded to the
controller.
-31 ID type The recipe ID type connected to the BSEQ function block is not the same as
mismatch the program file type selected by BSEQ specification S9. This error is
caused by the BSEQ input specification S1 connected to a DATAEXPT
(FC144) and the program referenced by specification S9 being Numeric or
specification S1 connected to a read and the program referenced is #alpha.
-32 String subscript The string position specified in the program is negative or larger than the
error maximum size of the string. This error occurs during program execution and
transfers the program to fault logic.
-33 Restart error, Hold-to-run command was received but ignored, due to a historian queue
Historian queue full full condition with a good historian status. This state is a continuation of the
hold command state (see fault code -1). Even though the run input may still
be active, a new hold-to-run transition must be initiated to attempt another
restart; the program will not restart unless the queue full condition was
rectified prior to the hold-to-run transition request (regardless of the setting
in FC220, specification 9). If and when the historian is marked bad, the
queue is cleared.
PHASEX
The phase execution (PHASEX) function block executes a series of diagnostic tests that detect errors that cannot be
detected by the compiler. The fault codes can be seen using the batch debugger or by viewing the PHASEX block output
(N+2). The errors are only detectable while the controller is in execution and are, therefore, called run-time errors. Table 13-
3 lists the possible error codes and an explanation of each.
Any positive number This number (any positive number) is assigned by the user in the batch
language program and is used to indicate what type of fault has occurred.
There is no limit to the number of fault codes the user may assign.
-3.0 Stack overflow Contact ABB Technical Support Center.
-4.0 Error reading No batch program exists in the NVRAM memory that matches the number
object file indicated in specification S9 of the PHASEX function block. Normally this
means that the batch object file has not been downloaded to the controller
or specification S9 of the PHASEX function block references an undefined
program number.
-5.0 Object file The batch program size exceeds the amount of controller volatile memory
exceeds memory specified by specification S11 of the PHASEX function block. Correct this
allocation problem by increasing specification S11.
-6.0 Phase data The send phase data message can not fit in the memory allocated by
message exceeds specification S12 of the PHASEX function block. Correct this problem by
memory allocation increasing specification S12 and resending the phase data.
13-6 2VAA001872-660
13. Error Messages and Recovery Run-Time Fault Codes
-8.0 Recipe refers to The recipe contains a phase subroutine name that is not contained within
undefined phase the batch program. This situation can happen when a batch program is
subroutine edited so that a phase subroutine is removed, but the corresponding recipes
are not changed. To correct, add the undefined phase subroutine or remove
the called (undefined) phase subroutine from the recipe.
Fault data:
0 = no phase data message was received.
1 = message received.
-9.0 Batch directory Format controller and reload necessary programs, recipes, and data files.
error
-12.0 Illegal There is an argument data type conflict between the recipe and the batch
parameter type program. To correct, recompile the batch program and/or fix the recipe.
Then, download the recompiled batch program and rerun the phase.
Fault data - The position (starting with I) of the illegal parameter in the
recipe.
-13.0 ESTOP/ The abort phase was triggered by the specification 5 input of the PHASEX
Aborting from block function block. The fault is triggered when the abort phase is activated.
input Clear the fault by issuing a reset when the PHASEX function block is in the
aborted state.
-16.0 Bad function In the batch data declaration sections of the batch language, the program is
block reference trying to reference a function block that does not exist or one whose type
does not match the function code type in the declaration. The batch
debugger will provide the function block number within the batch data
section that is making the reference. To correct, change the function block
number to a valid one, erase the reference from the program, or correct the
type to match the function block in the controller.
-17.0 Array error An array subscript is out of bounds. Normal logic is suspended and
execution of fault logic begins. It is possible to inspect the value of the fault
code to detect when this fault has occurred.
-18.0 BCODE The batch program was compiled using firmware that does not match the
revision mismatch firmware in the controller. Recompile the batch program with the compiler
that matches the firmware within the controller.
-20.0 Invalid number The recipe contains the wrong number of phase parameters as compared to
of parameters in the target program. To correct, fix the recipe or the program (normally the
phase data recipe).
-21.0 Invalid online The attempted execution of a new program that differs from the previous
program change one because of a change in the batch data area or the local declaration
section of the active phase subroutine. Such online changes are not
permitted.
-25.0 Bad block The recipe used contains a reference to an incorrect or nonexistent block.
reference in phase Correct the block number in the recipe.
data Fault data - The position (starting with I) of the bad function block reference
in the recipe.
-27.0 Bad block A function block declaration in the unit data file does not match the
reference in Unit controller configuration (either the function block address or the function
Data code type are in error). Resolve any discrepancies and recompile the unit
data file against the batch program.
2VAA001872-660 13-7
Run-Time Fault Codes 13. Error Messages and Recovery
-29.0 Unit Data does The unit data file does not match the batch program structurally (the number
not match B90 or type declarations do not match). Resolve any discrepancies and
program recompile the unit data file against the batch program.
-30.0 Error reading No unit data file exists in the NVRAM memory that matches the number
UNIT.DEF file indicated by specification S9 of the PHASEX function block. Normally this
means that the unit data object file has not been downloaded to the
controller.
-32.0 String The string position specified in the program is negative or larger than the
subscript error maximum size of the string. This error occurs during program execution and
transfers the program to fault logic.
-35.0 Illegal The recipe parameter name does not match the parameter name of the
parameter name selected phase in the program file. Check the recipe and program file and
edit the names to match.
Fault data - The position (starting with I) of the illegal parameter in the
recipe.
-36.0 Abort phase The batch program file does not contain a phase named Abort. Edit the
not defined batch program to contain the Abort phase, recompile, and download the
program file.
-37.0 Phase data Phase data as received by the PHASEX function block is out of order. Send
receipt error the phase data again.
-38.0 Program not The command was accepted as an allowable command for the present
active state but the program was not active. The command could not be executed
successfully by the PHASEX function block. Activate (initialize or acquire)
the program and issue the command again.
13-8 2VAA001872-660
INDEX
INDEX
Class library 2
A Control recipe 15
Add Master recipe 2
Batch program 1 Project 3
Class 3 UDF program 8
Class library 1 Unit procedure 2
Control recipe 14 Unit recipe 10
Master recipe 1 Debug
Operation 6, 7 Control recipe 1
Phase 4 UDF program 2
Project 1 Unit recipe 1
Segment 8 Delete
Source file 4, 9 All unit recipes 11
Train 4 B90 program file 4
UDF program 6 Batch program 3
Unit 5 Class 4
Unit procedure 1, 8 Class library 2
Unit recipe 9 Control recipe 15, 4
User name 8 Master recipe 2
Archive log Project 3
Delete entries 1 UDF program 8
Filters 2 UDF program file 4
Pause 3 Unit 4
Resume 5 Unit procedure 2
Size 2 Unit recipe 11, 4
Sort 5 Description 1
View 5 Download
B90 program file 2
Control recipe 2
B UDF program file 2
Batch archive log
Unit 2
Configure
Unit recipe 2
Display filter 2
Drive properties 5
Log size 2
Edit
Write filter 2
Batch program 3
Delete log messages 1
Control recipe 16
Message properties 4
Master recipe 2
Pause input 3
UDF program 9
Print log 3
Unit procedure 2
Resume input 5
Unit recipe 11
Sort contents 5
Master recipe properties 11
Batch Data Manager
Open project 3
Add
Project properties 5
Batch include file 4
Remove class library reference 2
Batch program 1
Rename
Class 3
Batch program 4
Class library 1
Class 5
Master recipe 1
Class library 2
Project 1
Control recipe 18
UDF program 6
Master recipe 14
UDF source file 9
Project 6
Unit procedure 1
UDF program 9
Change
Unit procedure 9
Class program 3
Unit recipe 13
Password 2
Train properties 13
Class library properties 2
Unit procedure properties 8
Class properties 4
Unit properties 6
Close project 3
Unit recipe properties 13
Control recipe properties 17
Verify
Convert recipes 1
B90 program file 3
Copy
Control recipe 3
Batch program 3
UDF program file 3
Class 3
Unit 3
2VAA001872-660 1
INDEX
2 2VAA001872-660
INDEX
Batch program 2 M
Control recipe 2 Master recipe
Information 1 Add 1
UDF program 2 Copy 2
Unit 2 Delete 2
Unit recipe 2 Edit 2
Drive properties 5 Print 10
Dynamic debugger Properties 11
Change Rename 14
Operation 3 Save 14
Phase 3 Master recipe editor
Debug Add 4
Control recipe 1 Control recipe 14
UDF program 2 Train 4
Unit recipe 1 Contract/expand 5
Dynamic debugger properties 4 Control recipe properties 18
Edit program variable 6 Copy
Escape loop 3 Control recipe 15
Find text 3 Train 5
Go to line 4 Delete
Line tracking 4 Control recipe 16
Remove watch variables 5 Operation 6
Start execution 5 Phase 6
Step level 5 Segment 6
Step same 5 Train 6
Step section 5 Unit procedure 6
Stop execution 5 Edit
Use breakpoints 2 Control recipe 16
View built-in variable 6 Master recipe 2
View program variables 5 Train 6
Watch program variable 6 Exit 6
Export
E Operation 6
Edit Phase 6
Batch program 3 Unit procedure 6
Control recipe 16 Import
Master recipe 2 Operation 7
Train 6 Phase 7
UDF program 9 Unit procedure 7
Unit procedure 2 Insert
Unit recipe 11 Operation 7
Users list 8 Segment 8
Errors 1 Unit procedure 8
Export Master recipe editor properties 12
Operation 5, 6 Master recipe properties 11
Phase 5, 6 Operation properties 12
Unit procedure 5, 6 Phase properties 12
Print control recipe 17
F Print master recipe 10
Fault codes 4 Refresh class library 9
Files 8 Rename
Format controller 6 Control recipe 18
Operation 9
Segment 9
H Train 9
How to use this instruction 2 Search 10
Segment properties 12
I Terminate phase 10
Import Train properties 13
Operation 5, 7 Unit procedure properties 13
Phase 5, 7 Write protect master recipe 10
Unit procedure 6, 7 Master recipe editor properties 12
Instruction content 1 Modify user privileges 9
Intended user 1
2VAA001872-660 3
INDEX
O Users list 9
Online program changes 8 Remove class library reference 2
Operation Rename
Add 6, 7 Class 5
Delete 4, 6 Class library 2
Export 5, 6 Control recipe 18
Import 5, 7 Master recipe 14
Properties 7, 12 Operation 6, 9
Rename 6, 9 Project 6
Segment 9
Train 9
P UDF program 4, 9
Phase 4
Unit procedure 9
Add 4
Unit recipe 13
Delete 4, 6
Reset user password 9
Export 5, 6
Restore
Import 5, 7
Project 6
Properties 8, 12
Terminate 7, 10
Print S
Batch program 4 Save
Control recipe 17 Master recipe 14
Master recipe 10 Unit procedure 9
UDF program 9 Script language
Unit 5 ASCII master recipe script 28
Unit procedure 7 ASCII unit procedure script 23
Unit recipe 12 Compiling Batch 90 programs 3
Project Compiling UDF programs 4
Add 1 Introduction 1
Close 3 Script file 2
Copy 3 Search 6, 10, 8
Delete 3 Security 7
Open 3 Segment
Properties 5 Add 8
Rename 6 Delete 6
Restore 6 Properties 12
Security 7 Rename 9
Upgrade 7
Properties T
Class 4 Terminate phase 7, 10
Class library 2 Train
Control recipe 17, 4 Add 4
Debug session 4 Copy 5
Drive 5 Delete 6
Master recipe 11 Edit 6
Master recipe editor 12 Properties 13
Message 5 Rename 9
Operation 7, 12
Phase 8, 12 U
Project 5 UDF program
Segment 12 Add 6
Train 13 Add source file 9
Unit 6 Compile 7
Unit procedure 8, 13 Copy 8
Unit procedure editor 9 Debug 2
Unit recipe 12 Delete 8, 4
Users list 6 Download 2
Edit 9
R Print 9
Rebuild 4 Rename 4, 9
Recipe conversion Verify 3
Batch recipe manager 2 UDF project description 7
EDT 1 Unit
Refresh Add 5
Class library 6, 9 Compile 5
4 2VAA001872-660
INDEX
2VAA001872-660 5
INDEX
6 2VAA001872-660
ABB Ltd. Notice