FC 135 - Sequence Manager

The sequence manager function code controls the access to a subsequence from several main sequences. It identifies the step in a sequence monitor block or the phase in a multi-sequence monitor block that the other sequences access. Each sequence manager block can accommodate eight requests. For more than eight inserted steps in a sequence, link several sequence monitor blocks with S1. The block defines the manager type as first in first out (FIFO), or priority (lowest active request processed first) basis and executes requests accordingly. Requests become active on a zero to one transition of the request trigger.

 

NOTE: If multiple FC135s are linked together to be loaded into a IMMFP01/IMMFP02 controller, they must be linked in ascending block order to prevent a configuration error.

 

Outputs:

Blk

Type

Description

N

B

Hold/reset trigger:

0 = reset

1 = hold

N+1

R

Starting phase number

N+2

B

Active request number

 

 

 

Specifications:

Spec

Tune

Default

Type

Range

Description

S1

N

0

I

Note 1

Block number of next sequence manager block

S2

N

0

I

Note 1

Manager type:

0 = FIFO

1 = lowest active request number first

S3

N

0

I

Note 1

Block address of hold/reset input:

0 = reset

1 = hold

S4

N

0

I

Note 1

Hold output status for no active request:

0 = do not hold

1 = put sequence monitor into hold/reset (step 0)

S5

N

0

I

Note 1

Block address of request no. 1

S6

N

0

I

Note 1

Block address of request no. 2

S7

N

0

I

Note 1

Block address of request no. 3

S8

N

0

I

Note 1

Block address of request no. 4

S9

N

0

I

Note 1

Block address of request no. 5

S10

N

0

I

Note 1

Block address of request no. 6

S11

N

0

I

Note 1

Block address of request no. 7

S12

N

0

I

Note 1

Block address of request no. 8

S13

N

0

I

Note 1

Block address of no. 1 complete trigger

S14

N

0

I

Note 1

Block address of no. 2 complete trigger

S15

N

0

I

Note 1

Block address of no. 3 complete trigger

S16

N

0

I

Note 1

Block address of no. 4 complete trigger

S17

N

0

I

Note 1

Block address of no. 5 complete trigger

S18

N

0

I

Note 1

Block address of no. 6 complete trigger

S19

N

0

I

Note 1

Block address of no. 7 complete trigger

S20

N

0

I

Note 1

Block address of no. 8 complete trigger

S21

Y

0.000

R

Full

Request no. 1 starting phase number

S22

Y

0.000

R

Full

Request no. 2 starting phase number

S23

Y

0.000

R

Full

Request no. 3 starting phase number

S24

Y

0.000

R

Full

Request no. 4 starting phase number

S25

Y

0.000

R

Full

Request no. 5 starting phase number

S26

Y

0.000

R

Full

Request no. 6 starting phase number

S27

Y

0.000

R

Full

Request no. 7 starting phase number

S28

Y

0.000

R

Full

Request no. 8 starting phase number

S29

N

0

I

Full

Spare

S30

N

0

I

Full

Spare

S31

Y

0.000

R

Full

Spare

S32

Y

0.000

R

Full

Spare

NOTES:

1. Maximum values are:9,998 for the BRC-100, IMMFP11/12 and 31,998 for the HAC

 

 

 

135.1   Explanation

 

In batch processes, it is necessary to control both the primary reactors and peripheral equipment. A sequence that controls a reactor is a main sequence. One that controls peripheral equipment such as a header common to several reactors or a cooling system common to several units is a subsequence. Several main sequences use subsequences at different times in their operation. The sequence manager block manages requests to a single subsequence from several main sequences in an orderly and predictable manner.

 

Each sequence manager block can accommodate eight requests for a single subsequence. If more than eight main sequences need access to a subsequence, the sequence manager blocks can be ganged to provide as many as necessary.

 

The sequence manager block executes requests based on the manager type, and the values of the request and completion triggers for each of the eight requests.

 

Requests can be managed in two ways: first in, first out (FIFO) and on a priority basis (lowest active request processed first).

 

A request becomes active when its request trigger makes a zero to one transition. The sequence manager block chooses a request from all of the active ones based on the manager type. For example, if the manager is set to priority, and requests three and seven are active, request three will be processed first even if request seven was generated first.  The sequence manager will not process the next active request until the completion trigger for the current request makes a zero to one transition, signaling the step has been completed.

 

Figure 135-1 shows a configuration with the connection between the sequence monitor block for the main sequence, the sequence manager block, and the sequence monitor block for the subsequence. Either or both of the sequence monitor blocks can be a multi-sequence monitor block.

 

Each of the eight requests has a starting phase number. This number defines the phase (or step) in the subsequence that executes when the request activates. Each request can ask for a different step from the subsequence, or all requests can ask for the same one.

 

 

 

 

135.1.1  Specifications

 

S1 - NXT

(Block address of next sequence manager block) If more than eight main sequences need to acquire the same subsequence, the sequence manager blocks can be ganged to enable any number of main sequences to access a subsequence. If this value equals zero, there are no more blocks in the sequence. Only the outputs from the first sequence manager block in the series will be connected to the sequence monitor or multi-sequence monitor controlling the subsequence.

 

S2 - TYPE

(Manager type) The sequence manager block executes the requests in one of two ways: first in first out, and priority. In the priority mode, the block always executes the lowest numbered request first, even if higher numbered requests were generated before it.

0 = first in first out (FIFO)

1 = priority (lowest number first)

 

S3 - HOLD

(Block address of hold/reset input) The hold/reset input can halt operation of the sequence manager block temporarily. If the hold/reset input goes to a one while a step is being executed, the block will finish executing the step, but it will not fill the next active request. It will not allow any more requests to be processed until the input goes to a zero. On a one to zero transition of the input, the sequence manager resets. This clears the FIFO stack and allows the sequence manager to begin again as if a power up had occurred.

0 = reset

1 = hold

 

S4

Hold output status for no active request.

0 = do not put sequence monitor into hold when there is no active request.

1 = put sequence monitor into hold when there is no active request. Hold means that the sequence manager outputs a zero value and trigger.

 

 

 

S5 to S12 - RTRIG1 to RTRIG8

(Block address of request triggers one through eight) When a request trigger makes a zero to one transition, the request activates. Only active requests execute. The order of execution depends on the manager type (S2). If the request goes from zero to one without the request complete trigger being one, then the request is still waiting to be processed. If the request stays in the one state even after the completion trigger goes to one, a new request will be generated. The completed request will be skipped.

 

S13 to S20 - CTRIG1 to CTRIG8

(Block address of completion triggers one through eight) The completion trigger makes a zero to one transition upon a completed requested step. When the completion trigger goes to one, the block is free to answer the next request.

 

S21 to S28 - START1 to START8

(Starting phase number for requests one through eight) Identify the requested phase or step in the subsequence. All the requests can choose the same step or select different steps.

 

 

135.1.2  Outputs

 

N

(Hold/reset trigger) Drives the hold/reset trigger of the sequence (or multi-sequence) monitor associated with the sequence manager.

0 = reset

1 = hold

 

N+1

(Starting phase number) Value of the subsequence phase (or step) that is being executed.

 

N+2

(Active request number) Number of the request that is being executed.

 

 

 

135.2   Applications

 

The two types of control the sequence manager uses are parallel processing and common element control. Parallel processing describes a situation in which several events must occur simultaneously. A common example is adding several components to a reactor simultaneously. The advantage of parallel addition over sequential addition is that parallel addition will maximize the throughput of the unit. A disadvantage of parallel addition is that it requires separate pipe runs, valves and flow meters for each component. This increases equipment costs.

 

Common element control is used when several different main sequences use the same equipment. Examples of this are common headers, pumps, cooling systems, etc. A problem inherent in common element control is prioritizing requests. In some cases, there is no priority, so requests are processed on a FIFO basis. In other cases, certain main sequences require access to the common elements more urgently than other main sequences. In this case, requests for common elements are handled on a priority basis, with the lowest numbered active request executed first. The sequence manager block provides a choice between these two types of control.

 

Figure 135-2 shows a control situation utilizing several common headers for a series of reactors. Reactor K1 must be simultaneously filled with components A and B in parallel through common headers. Components A and B do not share the same piping but the headers service more than one reactor. This example will illustrate both parallel addition and the use of common headers. Logically, the process is subdivided into several sequences. Two main sequences control reactors K1and K2. There is a subsequence for each common header. A sequence manager block controls each subsequence.

 

 

 

Figure 135-4 shows logic that checks to make sure that the sequence managers for both reactors are inactive. The logic checks the active request number for each reactor. If the active request number is zero, then the header is available. In this case, requests to add A and B will be processed only if both headers are available.

 

 

 

Figure 135-5 shows the logic used to control common header A (or B). Outputs from the sequence manager block control

 

 

the sequence monitor block that controls and monitors the subsequence for the header. A hold/resume trigger puts the sequence monitor block in the hold mode. A new number is loaded into the sequence monitor block as the initial step from the sequence manager block. The sequence manager then outputs a zero to the hold/resume trigger of the sequence monitor. This causes the sequence monitor block to go into run mode and begin execution with the step number selected with the sequence manager.

 

The sequence manager block selects Step 5 and is the step in the subsequence that adds component A to reactor K1. Figure 135-6 shows this logic. The amount of A added to the tank is integrated until it is greater than the amount called for, then the Step 5 completion trigger energizes. This causes the sequence to execute Step 6. Step 6, also shown in Figure 135-6, energizes the add A to K1 completion flag, which feeds back to the sequence manager (Figure 135-5), and to the main sequence logic (Figure 135-4).

 

 

In this application, all logic resides within a single module. Logic does not have to reside in a single module. The main sequence can be in one module, and a subsequence in another. When signals go between modules (on a polled basis), there could be several scans performed on one module before the data is received from other modules. In the case where a subsequence resides in another module, it is not much of a problem. However, if two requests for a common header come in, then the completion flag for one subsequence may be on for only one scan. With two requests for header A, the add A to K1 completion flag will be on for only one scan. If another module must see the flag in order for the sequence to continue, a timer block must be placed in the logic to insure that the flag stays on long enough to pass through the communications highway.

 

Figure 135-7 shows an application requiring request prioritizing. Four chemical reactors are fed through common header D.  In this example, each reactor is making a different product, and these products have different levels of profitability. The priority is:

 

K3 > K4 > K5 > K6

 

 

 

Requests for header D should be prioritized to process requests from reactor K3, then K4, then K5, then K6. The sequence manager block will process requests on the basis of the lowest request number S2 equals one. Each request number is identified via a block address that is read into S5 through S12. The request for header D from K3 is identified in S5, the request from K4 is identified in S6, etc. With this arrangement, if two requests are received while the subsequence is running a previous request, the request with the lowest request number is processed next. Figure 135-8 illustrates the logic required to implement the scheme.