• No results found

n Recipe Setup

In document SEBOL Instruction Manual (Page 158-162)

Use the built-in function rpreserve() to reserve master recipes. rpreserve() enables automatic reservation or repeated reservation for the next batch.

rpreserve (<recipe group number>, <master recipe name>, <batch ID>, <train>

<recipe group number>

Specify the recipe group number using a variable or constant.

<master recipe name>

Specify the master recipe name using a character-string variable or

character-string constant. Use uppercase letters for the master recipe name.

<batch ID> Specify the batch ID using a character-string variable or character-string constant. Use uppercase letters for the batch ID. When the ID system assignment function is used, specify a null character string (character string

of length 0).

<train> Train can be specified with a character variable or a character constant. The name of the train should be in upper case. If the train is not designated, a null (zero length string) will be set.

Figure 6.3-1 The format of the built-in function "rpreserve()"

Table 6.3-1 Recipe Setup

Function name Type Return value at normal

execution Return value at error

rpreserve integer 0 -1

When rpreserve() is executed, a request for recipe setup is output to the HIS. The HIS re-serve the recipe and create a control recipe. The status of the control recipe becomes “RE-SERVED.”

• rpreserve() being executed without generating an error means that the request for recipe setup was output to the process management of the HIS. It does not mean the recipe set-up has been completed. For example, rpreserve() does not cause an error even when a master recipe name that does not exist is specified.

• When the recipe setup fails, a system alarm occurs. The main causes of system alarms are shown below:

<6.3 Reserving Recipes >

6-10

IM 33K03K10-50E 3rd Edition : Jun.28,2013-00

• The specified recipe group number or master recipe does not exist.

• The specified batch ID already exists in the same recipe group.

• The specified train name does not exist.

• The batch ID cannot be uniquely determined by the batch ID system auto-assign-ment function set in the Process Manageauto-assign-ment Builder. The maximum number of re-served control recipes has been exceeded.

• The name of the unit that executes the unit recipe of unit recipe number 1 should be specified in advance in the equipment requirements or train definition for the master rec-ipe. The dynamic assignment of units (“-”) cannot be used. If the unit name is not defined, the recipe setup fails and a system alarm occurs. The dynamic assignment of units (“-”) can be used for the unit names of unit recipes of unit recipe numbers 2 and greater.

• To automatically start the recipe operation, change the download mode of the recipe to

“AUT.” To enable downloading via manipulation by the operator, specify “MAN.”

• Reservation using rpreserve() does not allow setting of charge quantities or other param-eters during recipe setup. The formula specified in the recipe data setup panel of the rec-ipe builder is used.

• When a null character string is specified for batch ID, a batch ID is determined automati-cally by the specified batch ID system assignment method set in the Process Manage-ment Builder. If a null character string is specified for batch ID when the batch ID system assignment is not specified, a system alarm occurs.

• When the batch ID system assignment is specified in the Process Management Builder, specifying a batch ID using rpreserve() causes the batch ID precedence to be given to that specified in rpreserve().

• If the HIS for the server of the recipe group does not exist, recipe setup is not executed.

In this case, no system alarm is generated.

• If there are multiple mater recipes with the same name within a recipe group, the master recipe with the smallest number is set up.

An example of using rpreserve() to reserve a control recipe from the master recipe RECIPE-3 and executing it repeatedly with the unit instrument UNIT301 is shown below. This example assumes the following definitions:

• The recipe contains only one unit recipe.

• The recipe group number is 2.

• The name of the unit that executes the unit recipe of unit recipe number 1 is specified as UNIT301 in the equipment requirements for the master recipe.

• The download mode of recipe for the master recipe is “AUT.”

• The batch ID is set as BATCH301-nnn, where nnn is determined by the unit instrument data COUNT.

<6.3 Reserving Recipes >

6-11

HIS

Download Request for recipe setup

Recipe setup

The “reservation” phase of the monitoring operation issues a request for recipe setup when the block status of the current unit instrument changes to END. The block status of the unit instrument remains RUNNING while the unit recipe is being executed. When the unit instru-ment execution completes successfully, the block status of the unit changes to END.

The control recipe is reserved and executed with a new batch ID:

* "reservation" phase of the monitoring operation ---char*16 bchid

char*16 recipe long ierr

*

* waits for the current unit instrument to become END

---*

<6.3 Reserving Recipes >

6-12

IM 33K03K10-50E 3rd Edition : Jun.28,2013-00

format "BATCH301-%03d",%%.COUNT;bchid recipe = "RECIPE-3"

*

* recipe setup

---*

if (rpreserve (2,recipe,bchid,"") <> 0) then

message "Reservation error; recipe = %s, batch ID = %s",recipe,bchid %%.BSTS = "ABORT" ! aborts the current unit instrument quit

end if

*

* confirms the start of execution

---*

wait until (%%.BSTS == "RUNNING" AND %%.BATCHID ==bchid) ;ierr ;time 300 if (ierr <> 0) then

message "Execution does not start even after 300 seconds; recipe = %s, batch I D

= %s (BATCHID = %s)",\

recipe,bchid,%%.BATCHID

%%.BSTS = "ABORT" ! aborts the current unit instrument quit

end if quit

<6.3 Reserving Recipes >

6-13

6.4 Built-In Functions with Batch ID

The following explains how to access common block data and how to manipulate unit recipes using built-in functions with batch ID specification. In the unit monitoring operation, the built-in functions lcmread(), dcmread(), ccmread(), cmwrite(), urload() and urassign() cannot be used.

In document SEBOL Instruction Manual (Page 158-162)