B_-_EA25WBM048_SPEC_Standards_Implementation_Guide_0.1.0_DRAFT.pdf

PDF 2 MB Posted

Attached to
Torrance Refinery Water Recycling Plant Programmable Logic Controller Replacements
Solicitation number
RFP-DS-0149
Issued by
Los Angeles County, California

About this file

This is a Standards Implementation Guide prepared by Enterprise Automation for West Basin Municipal Water District located in Carson, California, detailing technical specifications and programming standards for a Process Control System (PCS). The document establishes standardized practices for implementing Derived Function Blocks (DFBs), Derived Data Types (DDTs), and System Platform Templates across PLC programming and HMI graphical interfaces. The guide covers 30 different DFB modules for controlling various devices including analog inputs and outputs, valves, motors, chemical pacing systems, discrete inputs and outputs, controllers, and communication modules. The implementation strategy emphasizes repeatable behavior across multiple projects through unified back-end PLC programming and front-end graphical interface standards, with detailed specifications for each device module including input/output parameters, alarm configurations, override functions, and operational modes for both remote and local equipment operation.

The document provides comprehensive technical specifications for device functionality, including analog alarm calculations with deadband and delay parameters, scaling formulas for input/output conversions, smoothing algorithms, and interlock condition management. Additional standards address communication protocols via OPC UA and NOC modules, common graphic symbols for HMI displays with customizable properties, and faceplate design guidelines. The guide is intended for use in conjunction with supplemental PLC Style Guide, HMI Style Guide, and Standards Operating Guide documents, all version 1.0.0. This Standards Implementation Guide version 0.1.0 became effective August 11, 2026, and was authored by Adrian Leon with review by Kaylee Halliday and Alex Coker. The document supports the Torrance Refinery Water Recycling Plant Programmable Logic Controller Replacements project being procured by West Basin Municipal Water District.

View the file

Other files

Show all 13

On GovTribe

Work with this file

  • Download the original file
  • Contacts named in this file
  • Similar government files
  • Ask GovTribe AI about this file

Text version

West Basin Municipal Water District 17140 Avalon Blvd Carson, CA 90746 Phone: (310) 217-2411 www.WestBasinCA.gov

PCS Standards

Implementation Guide v.0.1.0

West Basin Municipal Water District

Document Standards Implementation Guide

Revision Number 0.1.0

Effective Date 8/11/2026

Author Adrian Leon

Reviewed by Kaylee Halliday, Alex Coker

Prepared By:

9050 Irvine Center Drive Irvine, CA 92618

(949) 769-6000 www.eaintegrator.com

Standards Implementation Guide v0.1.0 EA Project Number: EA25WBM048

17140 Avalon Blvd, Carson, CA 90746 Revision: 0.1.0 Tel 310-217-2411 Effective Date: 8/11/2026 www.WestBasinCA.Gov Page Number: 2 of 293

History Revision Date Description of Change Author Reviewed

0.1.0 8/11/2026 Draft release for client review AL KH, AC

Table of Contents 1 Overview

1.1 Purpose

1.2 Acronyms and Terms

1.3 Supplemental Documents

1.3.1 HMI Style Guide

1.3.2 PLC Style Guide

1.3.3 Standards Operating Guide

2 Implementation Strategy 3 Standard Operating Modes

3.1 Remote Operation

3.1.1 PCS Auto

3.1.2 PCS Manual

3.2 Local Operation

4 Device Standards

4.1 Derived Function Blocks (DFB)

4.1.1 DFB_AnalogAlarm

4.1.2 DFB_AnalogInput

4.1.3 DFB_AnalogOutput

4.1.4 DFB_AnalogRamp

4.1.5 DFB_AnalogValve

4.1.6 DFB_ChemicalPacing

4.1.7 DFB_ClockSync

4.1.8 DFB_CommRead

4.1.9 DFB_CommWrite

4.1.10 DFB_Conditions

4.1.11 DFB_DiscreteAlarm

4.1.12 DFB_DiscreteInput

4.1.13 DFB_DiscreteOutput

4.1.14 DFB_DiscretePOSValve

4.1.15 DFB_DiscretePulse

4.1.16 DFB_DiscreteValve

4.1.17 DFB_FixedMotor

4.1.18 DFB_FlowTotalizer

4.1.19 DFB_Intrusion

4.1.20 DFB_LeadLagController

4.1.21 DFB_PIDController

4.1.22 DFB_PulseTotalizer

www.WestBasinCA.Gov Page Number: 3 of 293

4.1.23 DFB_PWMController

4.1.24 DFB_RedundantTransmitter

4.1.25 DFB_RuntimeTotalizer

4.1.26 DFB_SeqAction

4.1.27 DFB_SeqCommand

4.1.28 DFB_SeqProgress

4.1.29 DFB_VFDMotor

4.1.30 DFB_ViewMotor

4.1.31 DFB_ViewValve

4.1.32 ClockSync (Section)

4.1.33 HotStandbyMgmt (Section)

4.1.34 PLCStatus (Section)

4.2 Derived Data Types (DDT)

4.2.1 DDT_AnalogInput

4.2.2 DDT_AnalogOutput

4.2.3 DDT_AnalogValve

4.2.4 DDT_ChemicalPacing

4.2.5 DDT_ClockSync

4.2.6 DDT_CommRead

4.2.7 DDT_CommWrite

4.2.8 DDT_Conditions

4.2.9 DDT_DiscreteInput

4.2.10 DDT_DiscreteOutput

4.2.11 DDT_DiscretePOSValve

4.2.12 DDT_DiscreteValve

4.2.13 DDT_FixedMotor

4.2.14 DDT_Intrusion

4.2.15 DDT_LeadLagController

4.2.16 DDT_PIDController

4.2.17 DDT_PLCStatus

4.2.18 DDT_PWMController

4.2.19 DDT_RedundantTransmitter

4.2.20 DDT_Sequence

4.2.21 DDT_Totalizer

4.2.22 DDT_VFDMotor

4.3 System Platform Templates

4.3.1 $AnalogInput

4.3.2 $AnalogModule

4.3.3 $AnalogOutput

4.3.4 $AnalogValve

4.3.5 $ChemicalPacing

4.3.6 $ClockSync

4.3.7 $Conditions

4.3.8 $DigitalModule

4.3.9 $DiscreteInput

4.3.10 $DiscreteOutput

4.3.11 $DiscretePOSValve www.WestBasinCA.Gov Page Number: 4 of 293

4.3.12 $DiscreteValve

4.3.13 $FixedMotor

4.3.14 $Intrusion

4.3.15 $LeadLagController

4.3.16 $PIDController

4.3.17 $PLCStatus

4.3.18 $PulseTotalizer

4.3.19 $PWMController

4.3.20 $RuntimeTotalizer

4.3.21 $RedundantTransmitter

4.3.22 $Sequence

4.3.23 $VFDMotor 5 Communication Standards

5.1 OPC UA Module

5.1.1 Module Settings

5.1.2 PLC Setup

5.1.3 System Platform Setup

5.2 NOC Module

5.2.1 Module Settings

5.2.2 PLC Setup

5.2.3 System Platform Setup

5.3 Monitoring Requirements

5.3.1 Communication Failure

6 Common Graphics

6.1 cmButton

6.1.1 Symbol Wizard Options

6.1.2 Custom Properties

6.2 cmBarChart

6.2.1 Symbol Wizard Options

6.2.2 Custom Properties

6.3 cmPieChart

6.3.1 Symbol Wizard Options

6.3.2 Custom Properties

6.4 cmStackedBars

6.4.1 Custom Properties

6.5 cmSetpoint

6.5.1 Symbol Wizard Options

6.5.2 Custom Properties

6.6 cmDisplayDiscrete

6.6.1 Symbol Wizard Options

6.6.2 Custom Properties

6.7 cmDisplayString

6.7.1 Symbol Wizard Options

6.7.2 Custom Properties

6.8 cmDisplayValue

6.8.1 Symbol Wizard Options

www.WestBasinCA.Gov Page Number: 5 of 293

6.8.2 Custom Properties

6.9 cmDisplayAlarm

6.9.1 Symbol Wizard Options

6.9.2 Custom Properties

6.10 cmFillBar

6.10.1 Symbol Wizard Options

6.10.2 Custom Properties

6.11 cmMeter

6.11.1 Symbol Wizard Options

6.11.2 Custom Properties

6.12 cmMultiAlarm

6.12.1 Symbol Wizard Options

6.12.2 Custom Properties

6.13 cmTrend

6.13.1 Symbol Wizard Options

6.13.2 Custom Properties

6.14 cmPolarStar

6.14.1 Symbol Wizard Options

6.14.2 Custom Properties

6.15 cmNavLink

6.15.1 Symbol Wizard Options

6.15.2 Custom Properties

6.16 cmDiscreteChannel

6.16.1 Symbol Wizard Options

6.16.2 Custom Properties

6.17 cmAnalogChannel

6.17.1 Symbol Wizard Options

6.17.2 Custom Properties

7 Creating New Faceplates

7.1 Faceplate Header

7.1.1 Configure the major heading (dark grey)

7.1.2 Configure the minor heading (light grey)

7.2 Main Content

7.2.1 Configure the main content box

7.3 Tabbed Content

7.3.1 Configure the tabbed content box

7.3.2 Configure the alarm displays with acknowledgement

www.WestBasinCA.Gov Page Number: 6 of 293

1 Overview

1.1 Purpose

This specification explains how to implement the PCS device standards developed for West Basin Municipal Water District (the District) by Enterprise Automation. This document outlines the steps to use these standards within PLC programming, and the steps to implement these standards into a System Platform galaxy. This document will also explain any optional configurations that can be changed to suit the needs of individual projects. These standards are intended for use with a suite of standards documentation that define PLC and HMI practices (see Supplemental Documents).

1.2 Acronyms and Terms

For the remainder of the document the following acronyms will be used.

Term Description

WBMWD, the District “West Basin Municipal Water District”

EA “Enterprise Automation” (Integrator)

HMI “Human Machine Interface”: The screens and graphics that Operators use to monitor and control an automated process

PLC

“Programmable Logic Controller”: The industrially hardened controllers that interface with the instrumentation, valves, pumps, etc., and control the automated processes (or simply collect information from any non-automated systems).

Device A term encompassing both the repeatable PLC code and the PCS integration (graphics, tags, historization, etc.) that represent a standardized unit of the system, i.e., “the Analog Valve device”

PCS Process Control System

DFB “Derived Function Block”: PLC code module for EcoStruxure Control Expert

DDT “Derived Data Type” www.WestBasinCA.Gov Page Number: 7 of 293

1.3 Supplemental Documents

1.3.1 HMI Style Guide

SPEC HMI Style Guide 1.0.0

1.3.2 PLC Style Guide

SPEC PLC Style Guide 1.0.0

1.3.3 Standards Operating Guide

SPEC Standards Operating Guide 1.0.0 www.WestBasinCA.Gov Page Number: 8 of 293

2 Implementation Strategy This document outlines the usage of pre-built Derived Function Blocks (DFB) with pre-built Derived Data Types (DDT) and System Platform Templates. Used in conjunction, these three elements produce standardized behavior for the control of a specific device.

Each DFB within this guide defines the specific behavior (logic) of a device. The DFB is responsible for handling user-input values from HMI, calculating changes of state/mode, and calculating alarms.

More generally, the DFB is responsible for determining the standard behavior of the device.

Each DDT provides a standard structure for holding data about the device. DDTs within this guide are designed for use with one or more standard DFBs. References in the PLC programming should not be made directly to the pins of the DFB, but instead to the equivalent DDT elements. The DDT also serves as a common interface for the System Platform template to read and write.

Each System Platform template provides the HMI-side handling of the device. The template defines alarm priorities, historization settings, and scripting for data handling. Importantly, the template also provides standardized graphics and faceplates that can be used within the HMI.

Used in conjunction, these three structures standardize the “back-end” programming as well as the “front-end” graphical interface of each device. This results in predictable and repeatable behavior over a large range of projects and sites.

www.WestBasinCA.Gov Page Number: 9 of 293

3 Standard Operating Modes

3.1 Remote Operation

A device in “Remote” mode refers to equipment that is acting on the commands from the PLC/HMI.

The physical equipment may be equipped with a Hand-Off-Auto (HOA) switch or a Local-Off-Remote (LOR) switch. When the switches are positioned for “Auto” and “Remote”, the device is considered in Remote mode since the equipment will respond to signals from the PCS and operate as programmed.

3.1.1 PCS Auto

PCS Auto mode is the normal mode of operation for devices controlled by PLC/HMI. PCS Auto allows the equipment to be controlled automatically by the PLC at any time. Commands are determined solely by the logic of the PLC and therefore will update whenever the PLC logic dictates.

3.1.2 PCS Manual

PCS Manual mode allows the equipment to be controlled by manual commands inputted from HMI.

These manual commands entered by an HMI user are followed regardless of the automatic operation of the PLC. Since the PLC will not be able to update the commands to respond to process changes (such as alarms), this mode is not intended as a typical mode of operation.

3.2 Local Operation

A device in “Local” mode refers to any equipment that is not in “Remote”. Local equipment may be configured for operation by any system that is not connected to the PCS (i.e., local control switches) or for no operation (i.e., locked out).

If the HOA switch or the LOR switch is positioned for “Off”, “Local”, or “Hand”, the device is considered to be in Local mode since the equipment will not respond to signals from the PCS. It cannot be expected that the equipment will follow the programmed behavior. Equipment may have physical or electrical interlocks that prevent the mechanism to operate under certain conditions. When these interlocks are active, the device is considered to be in Local mode since the equipment will not respond to signals from the PCS.

Many devices that are configured for Local operation will still provide feedback to the PLC/HMI, such as position feedback. As such, Local mode will not disable screen animations or state historization.

www.WestBasinCA.Gov Page Number: 10 of 293

4 Device Standards

4.1 Derived Function Blocks (DFB)

4.1.1 DFB_AnalogAlarm

The DFB_AnalogAlarm device is responsible for calculating the limit or deviation alarms associated with an analog value.

The block allows for up to four alarms: Low Low, Low, High, and High High. It is possible to disable/enable each of these four alarms independently. It is also possible to enable latching for the warning alarms (High, Low) separately from the shutdown alarms (High High, Low Low). The block will apply a delay and deadband to all alarms.

4.1.1.1 Value

Description: Analog input value (E.U.)

Connect To: (DDT_AnalogInput).Value

4.1.1.2 Target

Description: Target value for calculating deviation (E.U.)

Connect To: (DDT_AnalogInput).Target

4.1.1.3 HiHiSP

Description: High high alarm setpoint (E.U.)

Connect To: (DDT_AnalogInput).HiHiSP OR (DDT_AnalogInput).DevHiHiSP

4.1.1.4 HiSP

Description: High alarm setpoint (E.U.)

Halliday, Kaylee Typical for all, screenshots will be updated once standards are implemented www.WestBasinCA.Gov Page Number: 11 of 293

Connect To: (DDT_AnalogInput).HiSP OR (DDT_AnalogInput).DevHiSP

4.1.1.5 LoSP

Description: Low alarm setpoint (E.U.)

Connect To: (DDT_AnalogInput).LoSP OR (DDT_AnalogInput).DevLoSP

4.1.1.6 LoLoSP

Description: Low low alarm setpoint (E.U.)

Connect To: (DDT_AnalogInput).LoLoSP OR (DDT_AnalogInput).DevLoLoSP

4.1.1.7 AlmDeadbandSP

Description: Alarm deadband setpoint (E.U.)

Connect To: (DDT_AnalogInput).AlmDeadbandSP OR (DDT_AnalogInput).DevAlmDeadbandSP

4.1.1.8 AlmDelaySP

Description: Alarm delay timer setpoint (seconds)

Connect To: (DDT_AnalogInput).AlmDelaySP OR (DDT_AnalogInput).DevAlmDelaySP

4.1.1.9 DeviationMode

Description: Limit or Deviation alarm configuration (0 = limit mode, 1 = deviation mode)

Connect To: Constant (0 or 1)

If DeviationMode is set to 0, all alarms will be calculated as limit alarms.

If DeviationMode is set to 1, all alarms will be calculated as deviation alarms. Alarm tags should be appended with “Dev” to line up properly with the user-defined data type used for analog inputs with deviation alarms (e.g., “HiHiSP” “DevHiHiSP”).

4.1.1.10 HiHiDisable

Description: High high alarm disable (0 = alarm enabled, 1 = alarm disabled)

Connect To: PLC Logic OR Constant (0 or 1)

The input for this parameter should reflect all cases in which the alarm is disabled. Alarms should be disabled in situations where they do not provide a relevant indicator of the process health (e.g., disabling a flow alarm when the pump is not running).

4.1.1.11 HiDisable

Description: High alarm disable (0 = alarm enabled, 1 = alarm disabled) www.WestBasinCA.Gov Page Number: 12 of 293

The input for this parameter should reflect all cases in which the alarm is disabled. Alarms should be disabling a flow alarm when the pump is not running).

4.1.1.12 LoDisable

Description: Low alarm disable (0 = alarm enabled, 1 = alarm disabled)

The input for this parameter should reflect all cases in which the alarm is disabled. Alarms should be disabling a flow alarm when the pump is not running).

4.1.1.13 LoLoDisable

Description: Low low alarm disable (0 = alarm enabled, 1 = alarm disabled)

The input for this parameter should reflect all cases in which the alarm is disabled. Alarms should be disabling a flow alarm when the pump is not running).

4.1.1.14 LatchShutdown

Description: Shutdown alarm latch enable (0 = non-latching, 1 = latching)

This parameter should be set to true if the High High and Low Low alarms should remain on until reset by ResetReq, even after the alarm condition is cleared.

4.1.1.15 LatchWarning

Description: Warning alarm latch enable (0 = non-latching, 1 = latching)

This parameter should be set to true if the High and Low alarms should remain on until reset by ResetReq, even after the alarm condition is cleared.

4.1.1.16 OOSEnable

Description: Out-of-service enable/disable

Connect To: (DDT_AnalogInput).OOSEnable www.WestBasinCA.Gov Page Number: 13 of 293

If this device is out-of-service, all alarms are inactive.

4.1.1.17 ResetReq

Description: Alarm reset request

Connect To: (DDT_AnalogInput).ResetReq

This request is reset after it is received and processed by the DFB.

4.1.1.18 HiHiAlm

Description: High high alarm

Connect To: (DDT_AnalogInput).HiHiAlm OR (DDT_AnalogInput).DevHiHiAlm

This output is set when all of the following conditions are met for longer than AlmDelaySP:

1. Any of the following conditions are met:

A. DeviationMode is set to 0 (limit alarms) and Value is greater than HiHiSP

B. DeviationMode is set to 1 (deviation alarms) and Value is greater than Target by HiHiSP

2. HiHiDisable is not active

3. OOSEnable is not active

If LatchShutdown is set to 0, the output is reset when any of the following conditions are met:

A. DeviationMode is set to 0 (limit alarms) and Value is less than [HiHiSP – AlmDeadbandSP]

B. DeviationMode is set to 1 (deviation alarms) and Value is greater than Target by less than [HiHiSP + AlmDeadbandSP]

C. HiHiDisable is active

D. OOSEnable is active

If LatchShutdown is set to 1, the output is reset when ResetReq is sent from HMI.

www.WestBasinCA.Gov Page Number: 14 of 293

4.1.1.19 HiAlm

Description: High alarm

Connect To: (DDT_AnalogInput).HiAlm OR (DDT_AnalogInput).DevHiAlm

A. DeviationMode is set to 0 (limit alarms) and Value is greater than HiSP

B. DeviationMode is set to 1 (deviation alarms) and Value is greater than Target by HiSP

2. HiHiAlm is not active

3. HiDisable is not active

4. OOSEnable is not active

If LatchWarning is set to 0, the output is reset when any of the following conditions are met:

A. DeviationMode is set to 0 (limit alarms) and Value is less than [HiSP – AlmDeadbandSP]

B. DeviationMode is set to 1 (deviation alarms) and Value is greater than Target by less than [HiSP + AlmDeadbandSP]

C. HiHiAlm is active

D. HiDisable is active

E. OOSEnable is active

If LatchWarning is set to 1, the output is reset when ResetReq is sent from HMI (or while HiHiAlm is active).

www.WestBasinCA.Gov Page Number: 15 of 293

4.1.1.20 LoAlm

Description: Low alarm

Connect To: (DDT_AnalogInput).LoAlm OR (DDT_AnalogInput).DevLoAlm

A. DeviationMode is set to 0 (limit alarms) and Value is less than LoSP

B. DeviationMode is set to 1 (deviation alarms) and Value is less than Target by LoSP

2. LoLoAlm is not active

3. LoDisable is not active

4. OOSEnable is not active

If LatchWarning is set to 0, the output is reset when any of the following conditions are met:

A. DeviationMode is set to 0 (limit alarms) and Value is greater than [LoSP + AlmDeadbandSP]

B. DeviationMode is set to 1 (deviation alarms) and Value is less than Target by less than [LoSP - AlmDeadbandSP]

C. LoLoAlm is active

D. LoDisable is active

E. OOSEnable is active

If LatchWarning is set to 1, the output is reset when ResetReq is sent from HMI (or while LoLoAlm is active).

www.WestBasinCA.Gov Page Number: 16 of 293

4.1.1.21 LoLoAlm

Description: Low low alarm

Connect To: (DDT_AnalogInput).LoLoAlm OR (DDT_AnalogInput).DevLoLoAlm

A. DeviationMode is set to 0 (limit alarms) and Value is less than LoLoSP

B. DeviationMode is set to 1 (deviation alarms) and Value is less than Target by LoLoSP

2. LoLoDisable is not active

If LatchShutdown is set to 0, the output is reset when any of the following conditions are met:

A. DeviationMode is set to 0 (limit alarms) and Value is greater than [LoLoSP + AlmDeadbandSP]

B. DeviationMode is set to 1 (deviation alarms) and Value is less than Target by less than [LoLoSP - AlmDeadbandSP]

C. LoLoDisable is active

D. OOSEnable is active

If LatchShutdown is set to 1, the output is reset when ResetReq is sent from HMI.

4.1.1.22 ShutdownAlm

Description: General alarm indicating any active shutdown alarm

Connect To: (DDT_AnalogInput).ShutdownAlm OR (DDT_AnalogInput).DevShutdownAlm

This output is active if either HiHiAlm or LoLoAlm are active.

4.1.1.23 WarningAlm

Description: General alarm indicating any active warning alarm

Connect To: (DDT_AnalogInput).WarningAlm OR (DDT_AnalogInput).DevWarningAlm

This output is active if either HiAlm or LoAlm are active.

www.WestBasinCA.Gov Page Number: 17 of 293

4.1.2 DFB_AnalogInput

The DFB_AnalogInput device is used to scale the raw signal from the I/O module into engineering units. This block also has the ability to monitor and set a delay on a broken transmitter alarm. This block is typically used in conjunction with the analog alarm module and/or the flow totalizer module.

The scaling calculation allows for output smoothing and adjustable deadband. An override function allows users from the HMI to force the output value of the block.

4.1.2.1 Input

Description: Raw analog input (counts)

Connect To: (DDT_AnalogInput).Input

4.1.2.2 RackCommsLost

Description: Rack communication fault

Connect To: (DDT_PLCStatus).RackXX.CommsLost

This parameter should be linked to the CommsLost status for the PLC rack that is used for this I/O point.

www.WestBasinCA.Gov Page Number: 18 of 293

4.1.2.3 ModuleFault

Description: Module fault

Connect To: (DDT_PLCStatus).RackXX.ModuleStatus.Y

This parameter should be linked to the ModuleStatus bit for the I/O module that is used for this I/O

4.1.2.4 ChannelFault

Description: Channel fault

Connect To: (DDT_AnalogInput).ChannelFault

4.1.2.5 FaultDelay

Description: Fault alarm delay (seconds)

Connect To: Constant (> 0)

This parameter defines the duration (in seconds) that ChannelFault must be on before FaultAlm turns on.

4.1.2.6 AILoRng

Description: Out-of-range fault low setpoint (counts)

Connect To: (DDT_AnalogInput).AILoRng

4.1.2.7 AIHiRng

Description: Out-of-range fault high setpoint (counts)

Connect To: (DDT_AnalogInput).AIHiRng

4.1.2.8 AIMin

Description: Raw value minimum scale (counts)

Connect To: Constant

This parameter should match the raw input value at the minimum signal (e.g., 4mA). This value should match the configuration of the I/O card.

4.1.2.9 AIMax

Description: Raw value maximum scale (counts)

Connect To: Constant (≠ AIMin) www.WestBasinCA.Gov Page Number: 19 of 293

This parameter should match the raw input value at the maximum signal (e.g., 20mA). This value should match the configuration of the I/O card.

4.1.2.10 EUMin

Description: Output value minimum scale (E.U.)

This parameter defines the analog value (in engineering units) associated with the minimum signal AIMin.

4.1.2.11 EUMax

Description: Output value maximum scale (E.U.)

Connect To: Constant (≠ EUMin)

This parameter defines the analog value (in engineering units) associated with the maximum signal AIMax. This value typically is greater than EUMin but can be less if the transmitter is such that a higher electrical signal indicates a lower engineering value.

4.1.2.12 Deadband

Description: Output deadband range (≤ 0.0 to disable) (E.U.)

Connect To: Constant (> 0 if enabled)

This parameter defines a minimum change (in engineering units) that the input must change before the DFB’s output will update with the new value. A value of 0 disables the deadband feature.

The deadband feature is typically configured to remove insignificant figures from the analog tag.

Therefore, it is recommended to set this parameter to half the value of the least significant digit of the final value. For example, if “discharge pressure” is needed with two digits of precision (100.00 psig), set the deadband to 0.005 psig.

www.WestBasinCA.Gov Page Number: 20 of 293

4.1.2.13 SFactor

Description: Smoothing factor (0.0 < Factor < 1.0)

Connect To: Constant (> 0.0 and < 1.0 if enabled)

This parameter works with SRate to determine the smoothing behavior of the DFB.

Rather than matching the input instantaneously, the output will move a fraction of the distance between the current value and the new value. Then, after a delay equal to SRate, the value output will move that same fraction again (repeating indefinitely). SFactor defines this fraction. An SFactor close to 1 will result in fast response. An SFactor close to 0 will result in a very sluggish response.

If SFactor is set to a value greater than or equal to 1, or less than or equal to 0, smoothing is disabled.

4.1.2.14 SRate

Description: Smoothing rate (ms)

This parameter works with SFactor to determine the smoothing behavior of the DFB.

SRate determines the frequency of the smoothing calculation. The calculation will pause for a duration equal to SRate (milliseconds) before re-executing. Since this block is intended for use in a continuous task (see PLC Style Guide), it is important that SRate is set higher than the maximum scan time of the task (and also higher than the poll rate of the process variable input, if the input is read over a communications network).

If smoothing is disabled (see SFactor), this parameter will have no effect on the behavior of the block.

However even if smoothing is disabled, this parameter should be set to a positive value.

www.WestBasinCA.Gov Page Number: 21 of 293

4.1.2.15 OvrValue

Description: Override (forced) input value

Connect To: (DDT_AnalogInput).OvrValue

If OvrActive is not active, OvrValue is set to match the Value attribute.

If OvrActive is active, OvrValue is available as a setpoint on the HMI. The Value attribute will ignore all other calculations and is instead set to match OvrValue.

4.1.2.16 OvrActive

Description: Override (force) enable/disable

Connect To: (DDT_AnalogInput).OvrActive

4.1.2.17 OvrTime

Description: Override timeout (hours)

Connect To: (DDT_AnalogInput).OvrTime

4.1.2.18 OOSEnable

Connect To: (DDT_AnalogInput).OOSEnable

4.1.2.19 MinutePulse

Description: Input pulse once a minute

Connect To: (DDT_ClockSync).MinutePulse

This parameter is used to trigger the countdown for the override timeout. This is intended to be connected to the MinutePulse tag generated from DFB_ClockSync.

www.WestBasinCA.Gov Page Number: 22 of 293

4.1.2.20 Value

Description: Scaled and filtered analog value (E.U.)

Connect To: (DDT_AnalogInput).Value

This output is calculated by first applying the deadband to Input, then scaling Input to engineering units, then smoothing the result. The output is then overridden if OvrActive is active.

Deadband Calculation:

𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝑑𝑑𝐴𝐴𝐴𝐴 = 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷 × �

𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴 − 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴

𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸 − 𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸�

𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝑒𝑒𝐴𝐴𝐴𝐴 = �𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼 − 𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡�

If 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝑒𝑒𝐴𝐴𝐴𝐴 ≥ 𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝐷𝑑𝑑𝐴𝐴𝐴𝐴 , set 𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 = 𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼.

Otherwise, 𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 remains unchanged.

Scaling Calculation:

𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 = ��𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝑡𝑡𝑡𝑡𝑡𝑡𝑡𝑡 − 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴�× �𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸−𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸

𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴−𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴

�� + 𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸

Smoothing Calculation:

𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑒𝑒𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠ℎ𝑒𝑒𝑒𝑒 =

𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑒𝑒𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠ℎ𝑒𝑒𝑒𝑒,𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝 + 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆 (𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑒𝑒𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠 − 𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑒𝑒𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠ℎ𝑒𝑒𝑒𝑒,𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝𝑝)

Perform this calculation every SRate (milliseconds).

Override Calculation:

If OvrActive is not active, set 𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉 = 𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑒𝑒𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠𝑠ℎ𝑒𝑒𝑒𝑒

If OvrActive is active, set 𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉𝑉 = 𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂

Then restrict Value between EUMin and EUMax.

www.WestBasinCA.Gov Page Number: 23 of 293

4.1.2.21 FaultAlm

Description: I/O fault alarm

Connect To: (DDT_AnalogInput).FaultAlm

The output is active when all of the following conditions are met for longer than FaultDelay:

A. RackCommsLost is active

B. ModuleFault is active

C. ChannelFault is active

D. Input is less than AILoRng

E. Input is greater than AIHiRng

2. OOSEnable is not active

4.1.2.22 OvrAlm

Description: Override timeout alarm

Connect To: (DDT_AnalogInput).OvrAlm

This output is active when all of the following conditions are met for longer than OvrTime:

1. OvrActive is active

2. OOSEnable is not active

4.1.2.23 OvrHour

Description: Override alarm countdown hours left

Connect To: (DDT_AnalogInput).OvrHour

If OvrActive is active, this output indicates the number of hours remaining before the OvrAlm becomes active. The full time remaining can be read as a combination of OvrHour and OvrMin (e.g., 23:59 hours remain).

If OvrActive is not active, this output is set to 0.

www.WestBasinCA.Gov Page Number: 24 of 293

4.1.2.24 OvrMin

Description: Override alarm countdown minutes left

Connect To: (DDT_AnalogInput).OvrMin

If OvrActive is active, this output indicates the number of minutes remaining before OvrHour ticks down by one. The full time remaining can be read as a combination of OvrHour and OvrMin (e.g., 23:59 hours remain).

If OvrActive is not active, this output is set to 0.

www.WestBasinCA.Gov Page Number: 25 of 293

4.1.3 DFB_AnalogOutput

The DFB_AnalogOutput device is used to scale an analog command from the PLC logic into raw counts for the I/O card. This block also has the ability to monitor and set a delay on a broken transmitter alarm.

4.1.3.1 Command

Description: Output command (E.U.)

Connect To: (DDT_AnalogOutput).Command

4.1.3.2 RackCommsLost

4.1.3.3 ModuleFault

4.1.3.4 ChannelFault

Description: Channel fault

Connect To: (DDT_AnalogOutput).ChannelFault www.WestBasinCA.Gov Page Number: 26 of 293

4.1.3.5 FaultDelay

4.1.3.6 EUMin

Description: Command minimum scale (E.U.)

This parameter defines the analog value (in engineering units) associated with the minimum signal AOMin.

4.1.3.7 EUMax

Description: Command maximum scale (E.U.)

Connect To: Constant (≠EUMin)

This parameter defines the analog value (in engineering units) associated with the maximum signal AOMax. This value typically is greater than EUMin but can be less if the transmitter is such that a higher electrical signal indicates a lower engineering value.

4.1.3.8 AOMin

Description: Output minimum value (counts)

This parameter should match the raw output value at the minimum signal (e.g., 4mA). This value

4.1.3.9 AOMax

Description: Output maximum value (counts)

Connect To: Constant (≠AOMin)

This parameter should match the raw output value at the maximum signal (e.g., 20mA). This value www.WestBasinCA.Gov Page Number: 27 of 293

4.1.3.10 OOSEnable

Connect To: (DDT_AnalogOutput).OOSEnable

4.1.3.11 Output

Description: Raw analog output (counts)

Connect To: (DDT_AnalogOutput).Output

This output is calculated by scaling command to raw counts.

Scaling Calculation:

𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂 = �(𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 − 𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸) × �

𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴 − 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴

𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸 − 𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸𝐸��

+ 𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴𝐴

Then restrict Output between AOMin and AOMax.

4.1.3.12 FaultAlm

Connect To: (DDT_AnalogOutput).FaultAlm

This output is active when all of the following conditions are met for longer than FaultDelay:

A. RackCommsLost is active

B. ModuleFault is active

C. ChannelFault is active

2. OOSEnable is not active www.WestBasinCA.Gov Page Number: 28 of 293

4.1.4 DFB_AnalogRamp

The DFB_AnalogRamp device is used to linearly ramp an output variable towards a target by a specified rate. This is typically used to avoid sudden changes to the process control.

This DFB is used within DFB_PIDController, but is also available to use within any other logic in the

PLC.

4.1.4.1 Input

Description: Analog value to ramp (E.U.)

Connect To: PLC Logic

This parameter defines the target value of the ramp. As long as Output does not equal Input, the block will attempt to ramp Output towards Input.

4.1.4.2 Rate

Description: Value ramp rate (E.U./second)

Connect To: PLC Logic OR Constant (> 0)

This parameter defines the amount that Output will ramp every second.

4.1.4.3 Bypass

Description: Bypass enable/disable

Connect To: PLC Logic OR Always False

This parameter determines whether the Output will be ramped or whether ramping should be bypassed, and the value should be set straight to Input.

www.WestBasinCA.Gov Page Number: 29 of 293

4.1.4.4 Output

Description: Ramping output analog value

Connect To: PLC Tag or PLC Logic

This parameter represents the value that is being ramped towards Input.

This output is ramped by the following calculation:

If Rate > 0 and Bypass is inactive, every 100ms (1/10 second):

If Output < Input:

𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂 = min(𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂 +

𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅

, 𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼)

If Output > Input:

𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂 = max(𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂𝑂 −

𝑅𝑅𝑅𝑅𝑅𝑅𝑅𝑅

, 𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼𝐼)

If Rate < 0 or Bypass is active:

Set Output = Input.

www.WestBasinCA.Gov Page Number: 30 of 293

4.1.5 DFB_AnalogValve

The DFB_AnalogValve device is responsible for handling any valve that accepts analog position commands rather than open/close (discrete) commands.

This DFB is intended for valves with one analog output for position command and one analog input for position feedback. The valve can optionally be configured with open and/or closed limit switches for further position confirmation. The valve can also optionally be configured with remote/local (discrete) feedback.

4.1.5.1 AutoSP

Description: PCS auto position command (%)

Connect To: (DDT_AnalogValve).AutoSP

4.1.5.2 Remote_Value

Description: Remote status discrete input (0 = local/off, 1 = remote)

Connect To: (DDT_AnalogValve).Remote.Value www.WestBasinCA.Gov Page Number: 31 of 293

4.1.5.3 Posn_Value

Description: Position feedback from field

Connect To: (DDT_AnalogValve).Posn.Value

If SimPosn is inactive, the Posn_Value will use the field analog input as feedback.

If SimPosn is active, Posn_Value will use the PosnCmd_Command as feedback.

4.1.5.4 Open_Value

Description: Open limit switch input

Connect To: (DDT_AnalogValve).Open.Value

If SimOpen is inactive, this parameter matches the physical limit switch.

If SimOpen is active, this parameter is active any time the valve position feedback is greater than [100 - OpenLSDeadband].

4.1.5.5 Closed_Value

Description: Closed limit switch input

Connect To: (DDT_AnalogValve).Closed.Value

If SimClosed is inactive, this parameter matches the physical limit switch.

If SimClosed is active, this parameter is active any time the valve position feedback is less than ClosedLSDeadband.

4.1.5.6 ExternalWarning

Description: External warning indication for the valve

Connect To: (DDT_AnalogValve).ExternalWarning

4.1.5.7 ExternalFault

Description: External fault indication for the valve

Connect To: (DDT_AnalogValve).ExternalFault www.WestBasinCA.Gov Page Number: 32 of 293

4.1.5.8 ManSP

Description: PCS manual position command (%)

Connect To: (DDT_AnalogValve).ManSP

If AutoMode is active, ManSP is set to match the PosnCmd_Command attribute.

If AutoMode is not active, ManSP is available as a setpoint on the HMI.

4.1.5.9 AutoReq

Description: PCS auto mode request, reset by PLC

Connect To: (DDT_AnalogValve).AutoReq

4.1.5.10 ManReq

Description: PCS manual mode request, reset by PLC

Connect To: (DDT_AnalogValve).ManReq

4.1.5.11 ResetReq

Description: Alarm reset request, reset by PLC

Connect To: (DDT_AnalogValve).ResetReq

4.1.5.12 SimPosn

Description: Enable simulated position feedback (0 = AI, 1 = simulate position)

Connect To: (DDT_AnalogValve).SimPosn

This parameter determines whether the block will simulate the position feedback.

4.1.5.13 SimOpen

Description: Enable simulated open limit switch (0 = DI, 1 = simulate limit switch)

Connect To: (DDT_AnalogValve).SimOpen

This parameter determines whether the valve will simulate the open limit switch.

www.WestBasinCA.Gov Page Number: 33 of 293

4.1.5.14 SimClosed

Description: Enable simulated closed limit switch (0 = DI, 1 = simulate limit switch)

Connect To: (DDT_AnalogValve).SimClosed

This parameter determines whether the valve will simulate the closed limit switch.

4.1.5.15 OpenLSDeadband

Description: Distance of feedback from max where open limit switch would be expected (%)

This parameter defines the distance from 100% (open) where the position feedback will trigger a simulated Open_Value.

4.1.5.16 ClosedLSDeadband

Description: Distance of feedback from min where closed limit switch would be expected (%)

This parameter defines the distance from 0% (closed) where the position feedback will trigger a simulated Closed_Value.

4.1.5.17 LSAlmDeadband

Description: Distance of command from limit switch region where limit switch would be unexpected (%)

This parameter defines the distance from the limit switch region where it would be unexpected to receive limit switch feedback. This is used to calculate unexpected open/closed alarms

For example, if the open limit switch triggers when the command is 0.1% away from the open region, this is expected behavior. If the open limit switch triggers when the command is 25% away from the limit switch, this is an alarm condition.

4.1.5.18 PosnDevSP

Description: Position difference before position deviation alarm (%)

Connect To: (DDT_AnalogValve).PosnDevSP

4.1.5.19 PosnDevTime

Description: Position deviation alarm delay timer setpoint (seconds)

Connect To: (DDT_AnalogValve).PosnDevTime www.WestBasinCA.Gov Page Number: 34 of 293

4.1.5.20 FailMoveTime

Description: Fail to open and close timer setpoint (seconds)

Connect To: (DDT_AnalogValve).FailMoveTime

4.1.5.21 UnxptdMoveTime

Description: Unexpected open and close timer setpoint (seconds)

Connect To: (DDT_AnalogValve).UnxptdMoveTime

4.1.5.22 Interlock_Met

Description: Interlock conditions are met and device is allowed to operate

Connect To: 1 or (DDT_AnalogValve).Interlock.Met

If a device does not have interlock conditions, this input should be set to 1.

If a device has an interlock, a DFB_Conditions block must be configured with this input connected to (DDT_AnalogValve).Interlock.Met.

4.1.5.23 InterlockPosition

Description: Interlock valve position (%)

Connect To: Constant (0 – 100%)

This parameter defines the valve’s position during an interlock condition.

4.1.5.24 OOSEnable

Connect To: (DDT_AnalogValve).OOSEnable

If this device is out-of-service, all alarms are inactive, AutoMode and AutoAvailable are cleared, and the position command is set to the OOSPosition value.

4.1.5.25 OOSPosition

Description: Out-of-service position (%)

Connect To: (DDT_AnalogValve).OOSPosition

4.1.5.26 PosnCmd_Command

Description: Position command to valve (%)

Connect To: (DDT_AnalogValve).PosnCmd.Command www.WestBasinCA.Gov Page Number: 35 of 293

This parameter determines the actual position command sent to the valve. This output will take different values depending on the mode of the valve.

Position Command calculation:

(Listed in order of priority, highest to lowest)

If Interlock is active, set PosnCmd_Command = InterlockPosition

If OOSEnable is active, set PosnCmd_Command = OOSPosition

If AutoMode is inactive, set PosnCmd_Command = ManSP

If AutoMode is active (lowest priority), set PosnCmd_Command = AutoSP

4.1.5.27 AutoMode

Description: PCS auto mode indication

Connect To: (DDT_AnalogValve).AutoMode

This parameter indicates that the valve is in PCS Auto mode.

This output is set by AutoReq (from HMI command).

This output is reset by ManReq or OOSEnable (from HMI command).

4.1.5.28 AutoAvailable

Description: Device ready for automatic operation indication

Connect To: (DDT_AnalogValve).AutoAvailable

This output is active when all of the following conditions are met:

1. Remote_Value is active

2. AutoMode is active

3. OOSEnable is not active

4. Interlock is not active

5. No summary alarms are active (external fault, unexpected open/close, fail to open/close)

4.1.5.29 PosnDevAlm

Description: Position deviation alarm

Connect To: (DDT_AnalogValve).PosnDevAlm

This output is active when all of the following conditions are met for longer than PosDevTime:

www.WestBasinCA.Gov Page Number: 36 of 293

3. |Posn_Value - PosnCmd_Command| > PosnDevSP

4.1.5.30 FailedToOpenAlm

Description: Valve failed to open alarm

Connect To: (DDT_AnalogValve).FailedToOpenAlm

This output is active when all of the following conditions are met for longer than FailMoveTime:

2. OOSEnable is not active

3. Any of the following conditions are met:

A. All of the following conditions are met:

1. Device was previously confirmed as closed

2. PosnCmd_Command > (ClosedLSDeadband + LSAlmDeadband)

3. Closed_Value is active

B. All of the following conditions are met:

1. Device was not previously confirmed as open

2. PosnCmd_Command = 100

3. Open_Value is not active

4.1.5.31 FailedToCloseAlm

Description: Valve failed to close alarm

Connect To: (DDT_AnalogValve).FailedToCloseAlm

This output is active when all of the following conditions are met for longer than FailMoveTime:

2. OOSEnable is not active

3. Any of the following conditions are met:

A. All of the following conditions are met:

1. Device was not previously confirmed as closed

2. PosnCmd_Command = 0

3. Closed_Value is not active

B. All of the following conditions are met:

1. Device was previously confirmed as open

2. PosnCmd_Command < (100 – OpenLSDeadband – LSAlmDeadband) www.WestBasinCA.Gov Page Number: 37 of 293

3. Open_Value is active

4.1.5.32 UnxptdOpenAlm

Description: Valve unexpected open alarm

Connect To: (DDT_AnalogValve).UnxptdOpenAlm

This output is active when all of the following conditions are met for longer than UnxptdMoveTime:

2. OOSEnable is not active

3. Any of the following conditions are met:

A. All of the following conditions are met:

1. Device was previously confirmed as closed

2. PosnCmd_Command = 0

3. Closed_Value is not active

B. All of the following conditions are met:

1. Device was not previously confirmed as open

2. PosnCmd_Command < (100 – OpenLSDeadband – LSAlmDeadband)

3. Open_Value is active

4.1.5.33 UnxptdCloseAlm

Description: Valve unexpected close alarm

Connect To: (DDT_AnalogValve).UnxptdCloseAlm

This output is active when all of the following conditions are met for longer than UnxptdMoveTime:

2. OOSEnable is not active

3. Any of the following conditions are met:

A. All of the following conditions are met:

1. Device was previously confirmed as open

2. PosnCmd_Command = 100

3. Open_Value is not active

B. All of the following conditions are met:

1. Device was not previously confirmed as closed

2. PosnCmd_Command > (ClosedLSDeadband + LSAlmDeadband) www.WestBasinCA.Gov Page Number: 38 of 293

3. Closed_Value is active

4.1.5.34 SummaryWarning

Description: Summary warning bit

Connect To: (DDT_AnalogValve).SummaryWarning

A. ExternalWarning is active

B. PosnDevAlm is active

2. OOSEnable is not active

4.1.5.35 SummaryAlm

Description: Summary alarm summary bit

Connect To: (DDT_AnalogValve).SummaryAlm

A. ExternalFault is active

B. FailToOpenAlm is active

C. FailToCloseAlm is active

D. UnxptdOpenAlm is active

E. UnxptdCloseAlm is active.

www.WestBasinCA.Gov Page Number: 39 of 293

4.1.6 DFB_ChemicalPacing

The DFB_ChemicalPacing device outputs open and closed loop calculations. For the open loop output, the block will calculate the pump’s required speed to meet the dose setpoint. For the closed loop output, this block will calculate the required flow rate required to meet the dose setpoint that can then be used with a controller block such as the PID controller.

This block also has the ability to trim the calculation based on an analyzer value. This option allows the PLC to fine-tune the pacing based on feedback values.

4.1.6.1 EnableCalc

Description: Enables flow output calculation

Connect To: (DDT_ChemicalPacing).EnableCalc

If the EnableCalc parameter is not active, the flow calculation is set to the OutputClampMin and the calculated flow will be set to 0.

If the EnableCalc parameter is active, the flow calculation is limited between the minimum and maximum values.

4.1.6.2 PacingFlow

Description: Chemical system pacing flow (MGD)

Connect To: (DDT_ChemicalPacing).PacingFlow

4.1.6.3 DoseSP

Description: Chemical system dose setpoint (mg/L)

Connect To: (DDT_ChemicalPacing).DoseSP www.WestBasinCA.Gov Page Number: 40 of 293

4.1.6.4 Background

Description: Background chemical (mg/L)

Connect To: (DDT_ChemicalPacing).Background

Not all chemical systems will use a background setpoint, setting this parameter to zero will effectively disable it within the calculation.

4.1.6.5 Demand

Description: Chemical demand (mg/L)

Connect To: (DDT_ChemicalPacing).Demand

Not all chemical systems will use a demand setpoint, setting this parameter to zero will effectively disable it within the calculation.

4.1.6.6 Concentration

Description: Chemical concentration (%)

Connect To: (DDT_ChemicalPacing).Concentration

4.1.6.7 SpecGrav

Description: Chemical specific gravity

Connect To: (DDT_ChemicalPacing).SpecGrav

4.1.6.8 ConversionFactor

Description: Units conversion constant

Connect To: (DDT_ChemicalPacing).ConversionFactor

4.1.6.9 MinFlow

Description: Minimum allowable value for the calculated flow (GPH)

Connect To: Constant

4.1.6.10 MaxFlow

Description: Maximum allowable value for the calculated flow (GPH)

Connect To: Constant

4.1.6.11 OutputClampMin

Description: Minimum allowable value for the speed output (%) www.WestBasinCA.Gov Page Number: 41 of 293

4.1.6.12 OutputClampMax

Description: Maximum allowable value for the speed output (%)

Connect To: Constant

4.1.6.13 EnableTrim

Description: Trim enable command (1 = enabled)

Connect To: (DDT_ChemicalPacing).EnableTrim

If EnableTrim is not active, the trim value is set to 0 (E.U.)

4.1.6.14 AnalyzerValue

Description: Analyzer feedback value (E.U.)

Connect To: (DDT_ChemicalPacing).AnalyzerValue

4.1.6.15 TrimSP

Description: Target trim setpoint (E.U.)

Connect To: (DDT_ChemicalPacing).TrimSP

4.1.6.16 TrimBumpSP

Description: Trim bump setpoint (mg/L)

Connect To: (DDT_ChemicalPacing).TrimBumpSP

4.1.6.17 MaxTrimSP

Description: Maximum trim amount (mg/L)

Connect To: (DDT_ChemicalPacing).MaxTrimSP

4.1.6.18 TrimDeadband

Description: Trim deadband setpoint (E.U.)

Connect To: (DDT_ChemicalPacing).TrimDeadband

4.1.6.19 TrimBumpDelay

Description: Trim bump delay (min)

Connect To: (DDT_ChemicalPacing).TrimBumpDelay www.WestBasinCA.Gov Page Number: 42 of 293

4.1.6.20 ReverseActing

Description: Reverses direction of bumps if enabled (1 = reverse acting, 0 = forward acting)

Connect To: Constant (1 or 0)

The direction of the trim is reversed if the reverse acting parameter is enabled. This means that trim will decrease the dose when the analyzer value is greater than the dose and increase when it is less than the dose. See the TrimValue section for more details.

4.1.6.21 SpeedOutput

Description: Chemical system speed output (%)

Connect To: (DDT_ChemicalPacing).SpeedOutput

The following calculation is used to determine the chemical system speed setpoint:

Calc. speed SP (%) =

𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹

𝐌𝐌𝐌𝐌𝐌𝐌𝐌𝐌𝐌𝐌𝐌𝐌𝐌𝐌(GPH)

× 100%

4.1.6.22 CalculatedFlow

Description: Chemical system closed loop flow output (E.U.)

Connect To: (DDT_ChemicalPacing).CalculatedFlow

The following calculation is used to determine the chemical system flow setpoint:

Calc. flow SP (GPH) = System pacing flow × conversion factor × (Effective dose)

�𝐜𝐜𝐜𝐜𝐜𝐜𝐜𝐜. (%)

100 � × 𝐒𝐒.𝐆𝐆.

Effective Dose (mg/L) = 𝐃𝐃𝐃𝐃𝐃𝐃𝐃𝐃 − 𝐁𝐁𝐁𝐁𝐁𝐁𝐁𝐁𝐁𝐁𝐁𝐁𝐁𝐁𝐁𝐁𝐁𝐁𝐁𝐁 + 𝐃𝐃𝐃𝐃𝐃𝐃𝐃𝐃𝐃𝐃𝐃𝐃 ± Current Trim Value

4.1.6.23 EffectiveDose

Description: Chemical system calculated dose (mg/L)

Connect To: (DDT_ChemicalPacing).EffectiveDose www.WestBasinCA.Gov Page Number: 43 of 293

4.1.6.24 TrimValue

Description: Current total trim value (mg/L)

Connect To: (DDT_ChemicalPacing).TrimValue

The abbreviations in the calculations above refer to the following setpoints:

conversion factor = flow units conversion factor conc. = Chemical system concentration (%)

S.G. = Chemical system specific gravity

MaxFlow = Chemical system flow at 100% VFD flow

Trim Increment Conditions

The logic below describes when the trim value is incremented.

If all the following are true:

1. [Trim setpoint –analyzer value] is greater than the trim bump deadband for longer than the trim bump timer delay

2. The Trim value (E.U.) is less or equal to the absolute value of the (maximum trim value – trim bump setpoint)

3. The output value is less than the max allowable output

Then do the following:

1. Increment the trim value by the trim bump setpoint

2. Reset the trim bump timer

Trim Decrement Conditions

The logic below describes when the trim value is decremented.

If all the following are true:

1. [Analyzer value – trim setpoint] is greater than the trim bump deadband for longer than the trim bump timer delay

2. The Trim value (E.U.) is less or equal to the absolute value of the (maximum trim value – trim bump setpoint)

3. The output value is greater than negative of the max allowable output

Then do the following:

1. Decrement the trim value by trim bump setpoint

2. Reset the trim bump timer www.WestBasinCA.Gov Page Number: 44 of 293

4.1.7 DFB_ClockSync

The DFB_ClockSync device is used to synchronize the PLC clock time with a clock time from HMI.

This block also reports the current PLC clock time and produces single-scan pulses to be used for logic that requires precise or synchronized triggers. This block should be executed as part of the “ClockSync” standard section.

4.1.7.1 HourSP

Description: Hour setpoint from the HMI (0 - 23)

Connect To: (DDT_ClockSync).HourSP

4.1.7.2 MinuteSP

Description: Minute setpoint from the HMI (0 - 59)

Connect To: (DDT_ClockSync).MinuteSP

4.1.7.3 SecondSP

Description: Second setpoint from the HMI (0 - 59)

Connect To: (DDT_ClockSync).SecondSP

4.1.7.4 YearSP

Description: Year setpoint from the HMI (yyyy)

Connect To: (DDT_ClockSync).YearSP

4.1.7.5 MonthSP

Description: Month setpoint from the HMI (1-12)

Connect To: (DDT_ClockSync).MonthSP www.WestBasinCA.Gov Page Number: 45 of 293

4.1.7.6 DaySP

Description: Day setpoint from the HMI (01 - 31)

Connect To: (DDT_ClockSync).DaySP

4.1.7.7 SyncReq

Description: Request to synchronize the PLC clock to setpoints, reset by PLC

Connect To: (DDT_ClockSync).SyncReq

4.1.7.8 Hour

Description: Real-time PLC clock hour (0 - 23)

Connect To: (DDT_ClockSync).Hour

This output is always set equal to the PLC internal clock’s current hour (in 24-hour format).

4.1.7.9 Minute

Description: Real-time PLC clock minute (0 - 59)

Connect To: (DDT_ClockSync).Minute

This output is always set equal to the PLC internal clock’s current minute.

4.1.7.10 Second

Description: Real-time PLC clock second (0 - 59)

Connect To: (DDT_ClockSync).Second

This output is always set equal to the PLC internal clock’s current second.

4.1.7.11 Year

Description: Real-time PLC clock year (yyyy)

Connect To: (DDT_ClockSync).Year

This output is always set equal to the PLC internal clock’s current year.

4.1.7.12 Month

Description: Real-time PLC clock month (1-12)

Connect To: (DDT_ClockSync).Month www.WestBasinCA.Gov Page Number: 46 of 293

This output is always set equal to the PLC internal clock’s current month.

4.1.7.13 Day

Description: Real-time PLC clock day (01-31)

Connect To: (DDT_ClockSync).Day

This output is always set equal to the PLC internal clock’s current day.

4.1.7.14 DateTime

Description: Real-time PLC clock date and time (DT)

Connect To: (DDT_ClockSync).DateTime

4.1.7.15 TimeOfDay

Description: Real-time PLC clock time (TIME_OF_DAY)

Connect To: (DDT_ClockSync).TimeOfDay

4.1.7.16 DateYear

Description: Real-time PLC clock date (DATE)

Connect To: (DDT_ClockSync).DateYear

4.1.7.17 HourPulse

Description: One-scan pulse on the first scan of the hour

Connect To: (DDT_ClockSync).HourPulse

This output is active for one scan on the first scan of the new hour.

4.1.7.18 MinutePulse

Description: One-scan pulse on the first scan of the minute

This output is active for one scan on the first scan of the new minute.

4.1.7.19 SecondPulse

Description: One-scan pulse on the first scan of the second

Connect To: (DDT_ClockSync).SecondPulse www.WestBasinCA.Gov Page Number: 47 of 293

This output is active for one scan every second.

4.1.7.20 YearPulse

Description: One-scan pulse on the first scan of the year

Connect To: (DDT_ClockSync).YearPulse

This output is active for one scan on the first scan of the new year (on midnight of January 1st).

4.1.7.21 MonthPulse

Description: One-scan pulse on the first scan of the moth

Connect To: (DDT_ClockSync).MonthPulse

This output is active for one scan on the first scan of the new month (on midnight of the 1st).

4.1.7.22 DayPulse

Description: One-scan pulse on the first scan of the day

Connect To: (DDT_ClockSync).DayPulse

This output is active for one scan on the first scan of the new day (midnight).

www.WestBasinCA.Gov Page Number: 48 of 293

4.1.8 DFB_CommRead

The DFB_CommRead block is used to read an array of up to 100 holding registers from a remote device via Modbus.

4.1.8.1 Token

Description: Token controlling the execution order of the DFB_CommRead blocks.

Connect To: PLC logic

The DFB_CommRead block increments the Token number after execution.

4.1.8.2 ID

Description: ID of the block for the token system

This is a unique number to indicate the execution order of the block within the communication token system. If the Token matches the ID, the block executes the read message.

4.1.8.3 Enable

Description: Communication block enable/disable

If this is not active, the message will not be read, and the Token will be incremented.

4.1.8.4 DeviceAddress

Description: Path to remote device

Connect To: PLC Logic (ADDM block)

4.1.8.5 MbStartAddress

Description: Modbus holding register starting address www.WestBasinCA.Gov Page Number: 49 of 293

4.1.8.6 MbLength

Description: Number of…

This is the start of the file's text. The full file is on GovTribe.

File details come from the government source that posted it. Updated .