FC 129 - Multistate Device Driver

The multistate device driver (MSDD) function code provides a means of controlling field equipment (i.e., variable speed motor) or control schemes that have more than one control mode. The MSDD block provides four state controls with feedback. Two control inputs or an operator input selects one of four output masks for control action. The output masks provide three boolean signals simultaneously to the actual control logic. The MSDD block accepts four boolean feedback inputs that define the actual state of the control scheme. A control output status signal from the MSDD block can interface to sequencing logic to trigger the next step in a process. The control output status represents the status of the controlled process as defined by the feedback inputs and a feedback wait time. Control output status can be good (0.0), bad (1.0), or waiting (2.0).

 

NOTE: Because commands are buffered during module startup, some time may elapse between an operator action and the execution of that action during startup. The elapsed time is determined by the startup period specified by S4 of function code 90, and it is dependent on the startup in progress flag being set to 1 in function code 81.

 

The MSDD block is exception reported. Exception reports contain states: output, feedback, alarm; and statuses: control output and mode. An exception report generates when the block output mask changes, the block generates an alarm, a feedback input changes state, or Tmax for exception reporting expires.

 

 

Outputs:

Blk

Type

Description

N

B

Control Output 1

N+1

B

Control Output 2

N+2

B

Control Output 3

N+3

R

Control Output  Status

0.0 = good

1.0 = bad

2.0 = waiting

 

 

Specifications:

Spec

Tune

Default

Type

Range

Description

S1

N

0

I

Note 1

Block address of control input 1

S2

N

0

I

Note 1

Block address of control input 2

S3

N

0

I

Note 1

Block address of feedback input 1

S4

N

0

I

Note 1

Block address of feedback input 2

S5

N

0

I

Note 1

Block address of feedback input 3

S6

N

0

I

Note 1

Block address of feedback input 4

S7

N

0

I

000 - 111

Default Mask

S8

N

0

I

000 - 111

Output Mask 1

S9

N

0

I

000 - 111

Output Mask 2

S10

N

0

I

000 - 111

Output Mask 3

S11

Y

0

I

0000-2222

Feedback corresponding to output mask 1

S12

Y

0

I

0000-2222

Feedback corresponding to output mask 2

S13

YY

0

I

0000-2222

Feedback corresponding to output mask 3. Each digit can be:

0 = input should be 0

1 = input should be 1

2 = input could be 0 or 1

S14

Y

0

I

Full

Control output status override:

Status override:

XX0 = none

XX1 = output status

XX2 = output status and alarm

Control override:

X0X = go to manual mode and default control outputs

X1X = hold current mode and control outputs

X2X = go to manual mode and hold current control outputs

X3X = go to auto mode and set outputs as selected by     current control inputs

X4X = go to manual mode and set outputs as selected by operator interface device

Operation:

0XX = normal operation

1XX = early good status enable

S15

Y

1

B

0 or 1

Manual mode permissive:

0 = no

1 = yes

S16

Y

0.000

R

0 - 9.2E18

Feedback waiting time (seconds)

S17

Y

0.000

R

0 - 9.2E18

Fault waiting time

S18

N

0

I

0 - 255

MSDD display type

S19

Y

1

I

1 - 32

Next allowable mask numbers from output mask 1 in manual mode

S20

Y

2

I

1 - 32

Next allowable mask numbers from output mask 2 in manual mode

S21

Y

.

I

1 - 32

Next allowable mask numbers from output mask 3 in manual mode

S22

Y

0.000

R

0 - 9.2E18

Length of pulsed outputs (if 0, sustained outputs)

S23

N

1

B

Full

Initial mode:

0 = manual

1 = auto

S24

Y

0.000

R

Full

Startup track flag:

0.0 = no track during startup

1.0 = control outputs track control inputs during startup

S25

N

0

I

Note 1

Block address of control override

 

NOTES:

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

 

 

129.1   Explanation

 

The MSDD block controls output logic or other control schemes that can be operated in more than one state, for example, variable speed mixers and motors. The output state depends on two control input signals or an operator input. The values of these signals determine which of four output masks will be sent to the controlled process. Each output mask provides three user-defined boolean signals that drive the process.

 

The user defines the output masks based on which state the process should be in for given combinations of inputs. The user also defines feedback masks corresponding to the output masks. The block compares the feedback inputs from the process with the feedback mask containing normal feedback values for a given output mask. If the feedback inputs do not

 

match the feedback mask within the feedback waiting time, an alarm generates and is exception reported. Table 129-1 defines the output and feedback masks selected with various combinations of control inputs. Figure 129-1 illustrates how the block interprets the feedback masks.

 

 

 

If the control inputs are: <S1> = 0, <S2> = 1, then output mask one (S8), feedback mask one (S11), and next state mask one (S19) are implemented.

 

If feedback mask one (S11) = 0100, then the values of S3, S4, S5 and S6 must correspond to S11 as shown in Figure 129-1 to produce a good control output status (N+3).

 

NOTE: All feedback masks can input a four-digit number for the specification in which each digit is either a zero, one or two. Figure 129-2 illustrates this relationship.

 

This block supports both automatic and manual modes. The user selects the initial mode with S23. In automatic mode, two boolean inputs from the control system select the mask that drives the outputs as shown in Table 129-1. The default mask may not be manually initiated. To operate the device in manual mode, the manual mode permissive (S15) must be one (yes).

 

Auto/manual status may be monitored internally by using the test alarm function (function code 69). Figure 129-3 shows this simplified configuration. A control output status value is generated based on the feedback inputs, feedback waiting time, and feedback masks. If the value of any feedback input does not match the value of the feedback mask for a given output mask, an exception report generates and goes to the console, and the control output status value will be set to bad (1.0) unless overridden. The control output status can have one of three values (0.0 = good, 1.0 = bad, or 2.0 = waiting).

 

 

 

 

129.1.1  Specifications

 

S1 - CI1

Block address of control input one.

 

S2 - CI2

Block address of control input two.

 

NOTE: A block address of zero (default) in both S1 and S2 enables using this block with batch language only.

 

S3 - FB1

Block address of feedback input one. The feedback inputs are signals from the field that define the actual state of the device. The values of the feedback inputs are compared to the feedback status masks to determine the control output status. If the feedback inputs do not match the feedback status masks for given control outputs, an exception report with alarm generates.

 

S4 - FB2

Block address of feedback input two. Refer to S3 - FB1 for an explanation.

 

S5 - FB3

Block address of feedback input three. Refer to S3 - FB1 for an explanation.

 

S6 - FB4

Block address of feedback input four. Refer to S3 - FB1 for an explanation.

 

S7 - DMASK

Default output mask. The default output mask is a value consisting of three boolean digits that control the output logic. This is configurable, and can be any combination of zeros and ones. This output mask will be sent to the output logic when the control inputs are both zero. The output mask configuration is shown as follows:

 

                                                     

S8 - MASK1

 

Output mask one. This value consists of three boolean digits that control the output logic. It can be configured as any combination of zeros and ones. This output mask is sent to the output logic when control inputs one and two are zero and one in that order (in auto mode) or the operator depresses the state one pushbutton (in manual mode).

Refer to S7 - DMASK for output mask configuration.

 

S9 - MASK2

Output mask two. This value consists of three boolean digits that control the output logic. It can be configured as any combination of zeros and ones. This output mask is sent to the output logic when control inputs one and two are one and zero, respectively (in auto mode) or the operator depresses the state two pushbutton (in manual mode).

Refer to S7 - DMASK for output mask configuration.

 

S10 - MASK3

Output mask three. This value consists of three boolean digits that control the output logic. It can be configured as any combination of zeros and ones. This output mask is sent to the output logic when control inputs one and two are both one (in auto mode) or the operator depresses the state three pushbutton (in manual mode).

Refer to S7 - DMASK for output mask configuration.

 

S11 - FDMSK1

Feedback corresponding to output mask one. This value consists of four boolean values that identify the normal state of the feedback inputs when output mask one is the control.

See Figure 129-2 for four-digit feedback masks.

 

                                                        

S12 - FDMSK2

Feedback corresponding to output mask two. This value consists of four boolean values which identify the normal state of the feedback inputs when output mask two is the control.

See Figure 129-2 for four-digit feedback masks. Refer to S11 - FDMSK1 for output mask configuration.

 

S13 - FDMSK3

Feedback corresponding to output mask three. This value consists of four boolean values which identify the normal state of the feedback inputs when output mask three is the control.

See Figure 129-2 for four-digit feedback masks. Refer to S11 - FDMSK1 for output mask configuration.

 

S14 - COSOV

Control output status override. This value defines the override type currently implemented. The control output status override forces the control output to good, regardless of the feedback inputs and masks when the ones digit is set to a one or two. The alarm status is also overridden when the ones digit is set to a two.  The tens digit overrides control output status and dictates block control only when <S25> is a logic 1.

 

NOTE: Early recognition of feedback cancels the feedback waiting time (S16) once feedback conditions have been

met. This can result in bad status and alarm prior to feedback waiting time time-out.

 

S15 - MPERM

Sets the manual mode permissive. This tunable value defines if manual mode is permitted. This specification has no influence on these parameters and the output masks are never tunable while the feedback masks are always tunable.

0 = no (auto mode)

1 = yes (manual mode)

 

NOTE: If S15 changes from one to zero, then the block is forced to auto mode when S25 is a zero.

 

S16 - FDWAIT

Feedback waiting time. This value defines the time in seconds that the MSDD block waits before comparing the feedback inputs with the feedback masks. For example, if the block controls a variable speed motor, the feedback waiting time is the time it takes the motor to ramp from stopped to its top speed. This insures that measurements taken while the device is starting up or changing speeds are not used for control or indication. If at the end of the feedback time the feedbacks are not correct, then an alarm generates if not overridden by S14.

 

NOTES:

1. Without early good recognition implemented, the check for feedback follows the formula S22 + S16 = check for feedback.

2. With early good recognition implemented, updated control output status is updated after S22 + S16 expires or good feedback is met. Early good feedback cancels the feedback waiting time after the feedbacks match the state mask.

 

                                                    

 

 

Example 1

Check for feedback at 5 seconds (S16 = 5). Maintained outputs (S22 = 0).

S22 + S16 = check feedback

0 + 5 = 5 seconds

 

Example 2

Check for feedback at 2 seconds (S16 = 2). Pulse output of 3 seconds (S22 = 3).

S22 + S16 = check feedback

3 + 2 = 5 seconds

 

S17 - FLTWAIT

Fault waiting time. This value defines the delay in seconds between an exception reported alarm and when the control output status indicates the fault condition to the rest of the control system. This allows a fixed interval of time during which the control output status override may be activated.

 

S18 - DDIS

MSDD display type. The console provides the capacity to create dynamic graphic and faceplate displays. This specification defines the console display type that represents the particular device. Custom displays can be created with the graphic display builder. Refer to the console operators instruction for information on building displays.

 

S19 - NXT1

Next allowable mask number for output mask one in manual mode. When the block is in manual mode, the operator selects the output mask by pressing the appropriate state pushbutton from the operator console. Table 129-1 identifies the masks selected for different combinations of inputs. This specification identifies which masks can be implemented after mask one. It is used to keep the operator from accidentally upsetting the process. For example, if S19 equals 23 or 32, then the operator can go to state two or state three directly.

 

Example:

S19 = 23 Either state two or three can be selected next.

S20 = 1 Only state one can be selected next.

S21 = 1 Only state one can be selected next.

 

S20 - NXT2

Next allowable mask number for output mask two in manual mode.

Refer to S19 - NXT1 for an explanation of NXT. If S20 equals 13 or 31, then the operator can go to state one or state three directly.

 

S21 - NXT3

Next allowable mask number for output mask three in manual mode.

Refer to S19 - NXT1 for an explanation of NXT. If S21 equals 12 or 21, then the operator can go to state one or state two directly.

 

S22 - PULSE

Length of the pulsed outputs in seconds. Output masks can be pulsed or sustained. If S22 is not equal to zero, the outputs are pulsed to the selected output state (determined by control inputs one and two or a console) for the length of time selected with S22, then set back to the default state (S7). If S22 equals zero, then the outputs are sustained.

 

S23 - INIT

Initial mode. This value defines the operating mode at startup.

0 = manual

1 = automatic

 

S24

Startup track flag. When this value is set to 0.0, the initial values for the control outputs are determined by S23 during startup. When this value is set to 1.0, the initial values for the control outputs will track the control input values regardless of the S23 setting. This specification is used when the state of function code 129 block must be synchronized with the state of an external process at the startup of the controller.

 

S25 - COVRD

Control override. When this input is one, the control status is forced good (0.0). The mode and output state control are selected with the tens digit in the control override definition specified by the control status override (S14).

 

 

129.1.2  Outputs

 

N

Control output one. The three control outputs are grouped together to form output masks. Each control output is user configurable (zero or one). The control outputs are defined during configuration based on the function the control device is to perform for different combinations of control inputs. During execution, the values of the control inputs or an operator action determines the control output mask selected. This value is the current value of control output one being used for control.

 

N+1

Control output two. This value is the current value of control output two being used for control.

Refer to output N explanation.

 

N+2

Control output three. This value is the current value of control output three being used for control.

Refer to output N explanation.

 

N+3

Control output status. This value is output from the MSDD block to a sequence monitor block or other control logic to inform the control system of the current state of the driven device.

0.0 = good

1.0 = bad

2.0 = waiting

 

Good - feedback waiting time has elapsed or the inputs from the field agree with the feedback mask which corresponds to the current output mask.

Bad - feedback waiting time has elapsed and one or more inputs from the field do not agree with the feedback mask corresponding to the current output mask.

Waiting - feedback waiting time has not elapsed, and no comparisons between field inputs and feedback masks have been made yet.

 

NOTE: A logic 1 at S25 forces this output to 0.0 (good). This overrides a bad status (1.0). During output state transition, N+3 momentarily pulses from 0.0 to 2.0 then back to 0.0.

 

 

129.2   Applications

 

Figure 129-4 shows a sample faceplate. Figure 129-5 shows how to use function code 129 to control a variable speed motor. The allowable state transitions are off to low, low to high, low to off, high to low, and high to off.