The AnalogDevice object can act as either a basic analog input device (with optional output) or as an analog regulator device that provides an external representation of a Proportional-Integral-Derivative (PID) controller that exists elsewhere, typically a Programmable Logic Controller (PLC) or a Distributed Control System (DCS).
Click one of the following Help topics to navigate to information about that topic.
The AnalogDevice object is an ApplicationObject that can be configured as either a basic analog device, or an analog regulator device. When configured as a basic analog device, the AnalogDevice object follows the traditional model of a basic analog input/output object with alarming and history. When configured as an analog regulator device, the AnalogDevice object provides an external model of a PID controller that exists in a field device, in addition to providing the traditional analog alarming and history capabilities.
For general information on objects, including relationships, deployment, and alarm distribution, see the Integrated Development Environment (IDE) documentation.
For information on configuration options of object scripts, attributes, or features, click Attributes Help in the Help file header.
When configured as a basic analog device, this object provides a means for reading and optionally writing analog signals from the field or from another object. The basic I/O characteristics are:
The AnalogDevice object supports alarming for PV conditions, such as when the PV:
In addition, you can configure the AnalogDevice object to allow or disallow the overriding of the PV value. If you enable the PV override, then you can use the PV.Mode attribute to place the AnalogDevice object into either Auto or Manual mode. When the AnalogDevice object is in Auto mode, the PV is updated from the field and matches the value and quality of the PVAuto attribute. When the AnalogDevice object is in Manual mode, the PVAuto attribute continues to be updated from the field, but the PV value does not. Instead, the PV can be set by a user write or a script, and the quality is always set to UNCERTAIN.
Finally, you can configure the AnalogDevice object to historize key variables, including PV and PV.Mode.
When configured as an analog regulator device, the AnalogDevice object provides a means for reading and optionally writing two separate analog signals from the field or from another object: one PV value and one setpoint (SP) value. The basic I/O characteristics are:
The AnalogDevice object supports alarming for PV conditions, including when the PV:
In addition, you can configure the AnalogDevice object to allow or disallow the overriding of the PV value. If you enable the PV override, then you can use the PV.Mode attribute to place the AnalogDevice object into either Auto or Manual mode. When the AnalogDevice object is in Auto mode, the PV is updated from the field and matches the value and quality of the PVAuto attribute. When the AnalogDevice object is in Manual mode, the PVAuto attribute continues to be updated from the field, but the PV value does not. Instead, the PV can be set by a user write or a script, and the quality is always set to UNCERTAIN.
Other controller-oriented features that can be configured for an AnalogDevice object of type analog regulator include:
The following table describes the run-time behavior of AnalogDevice objects.
Once deployed and operating, AnalogDevice objects can assume one of several states:
|
State Change
|
Behavior
|
|---|---|
|
Startup
|
None.
|
|
Going onscan
|
|
|
Onscan
|
The object is active. For more information, see Continuous Execution - General, Continuous Execution - PV Alarms, and Continuous Execution - Scaling.
|
|
Going offscan
|
|
|
Offscan
|
The object is passive.
|
|
Shutdown
|
If references to the PV and/or SP attributes were registered and suspended at startup, these references are activated and unregistered.
|
If the AnalogDevice object is configured as an analog regulator:
If the AnalogDevice object is configured as a basic analog device with no output:
If the AnalogDevice object is configured as a basic analog device with output:
Generic limit checking done for all high limit alarms are:
Generic limit checking for low limit alarms:
Limit checking for each deviation is as follows:
Limit checking for each ROC alarm is as follows.
Rate-of-change alarms are used to detect and report a condition when the process value (PV) increases or decreases at too fast of a rate. You can specify a limit for both the increasing and decreasing directions. For the increasing limit, if the PV increases at a rate greater than the limit, an alarm is generated. Similarly, for the decreasing limit, if the PV decreases at a rate greater than the limit, an alarm is generated. The limit value in either case is a positive number.
In addition to specifying the rate limit value, the time dimension for the rate must be specified depending on the time dynamics of the variable being measured. The choices are per second, per minute, per hour, and per day. Finally, for calculation of the rate itself, the time interval at which the rate (or slope between points) is calculated is also specified as a time interval in milliseconds.
So, for example, if you want to put a rate limit on the rate at which a number of gallons accumulates in a tank as 200 gallons per minute, and you want to specify the calculation to be performed every 5 seconds, then specify:
IncreasingHi.Limit = 200
Rate.Units = /Min
EvalPeriod = 5000
For linear scaling, the following equation is used:
For square root scaling, the following equation is used:
The time stamp of the resulting ScaledValue is the time stamp of the RawValue, if it has associated time stamp. Otherwise, the current time is used as the ScaledValue time stamp.
If you configure the object to have input or input/output and advisement of active items is enabled globally, both the reference count and suspend count for the PV and/or SP attribute is incremented when the object starts up. This puts the object into a suspended state and propagates a suspend message to the input source.
When the object is in a suspended state, no input scanning occurs, because no new input values are being sent by the input source. The quality of the suspended attribute is INITIALIZING.
If the PV overide is disabled, the input's value, time, and quality (VTQ) is used to update PVAuto and PV.
If the PV overide is enabled and PV.Mode is Auto, the input's VTQ is used to update PVAuto and PV.
If the PV overide is enabled and PV.Mode is Manual, the input's VTQ is used to update PVAuto. PV stays at the last user set value, the current time of the set, and a quality of UNCERTAIN.
If analog output is enabled:
If you configure the object as an analog regulator:
The following table describe the object editor options for configuration and the associated attributes:
For general information on objects, including relationships, deployment, and alarm distribution, see the Integrated Development Environment (IDE) documentation.
For information on configuration options of object scripts, attributes, or features, click Attributes Help in the Help file header.
Use the General tab to configure general options for the AnalogDevice object.
|
Editor Option
|
Associated Attribute
|
Description
|
Run-Time Access (Supervisory, User, Read-Only, None)
|
|---|---|---|---|
|
Type
|
AnalogType
|
Used to specify whether the AnalogDevice object is a basic analog device or an analog PID regulator device. Valid values are: AnalogInput, AnalogRegulator.
|
Read-Only
|
|
Enable analog output
|
AnalogOutputEnabled
|
Used to allow the basic analog-type AnalogDevice object to have an output.
|
None
|
|
Enable PV override
|
PV.OverrideEnabled
|
Used to allow the PV mode to be set to Manual instead of the default of Auto.
|
Supervisory, User
|
|
Initial PV mode
|
PV.Mode
|
The initial PV mode setting, either Auto or Manual.
|
Supervisory, User
|
|
PV value
|
PV
|
The default "process value," in engineering units, if the initial PV mode setting is Manual.
For extra quality handling, see Quality Handling.
|
Supervisory, User
|
|
Engineering units
|
PV.EngUnits
|
The name of the engineering units. For example, PSI. The maximum number of characters is 32.
|
User
|
|
PV deadband
|
Deadband
|
The value, in engineering units, by which the input must change to update the PVAuto value.
|
Supervisory, User
|
|
Enable I/O scaling
|
Scaled
|
Used to enable scaling between the raw value and the EU value.
|
None
|
|
Raw value - Minimum
|
RawMin
|
The raw input minimum to be used in the scaling calculation.
|
Supervisory, User
|
|
Raw value - Maximum
|
RawMax
|
The raw input maximum to be used in the scaling calculation.
|
Supervisory, User
|
|
EU value - Minimum
|
EngUnitsMin
|
The minimum value, in engineering units, used in the scaling calculation.
|
Supervisory, User
|
|
EU value - Maximum
|
EngUnitsMax
|
The maximum value, in engineering units, used in the scaling calculation.
|
Supervisory, User
|
|
EU range value - Minimum
|
EngUnitsRangeMin
|
If scaling is enabled, the lowest allowed value for PV before it is either clamped or set NaN, if clamping is enabled. This value must be less than or equal to the specified minimum engineering unit value.
|
Supervisory, User
|
|
EU range value - Minimum
|
EngUnitsRangeMax
|
If scaling is enabled, the highest allowed value for PV before it is either clamped or set NaN, if clamping is enabled. This value must be greater than or equal to the specified maximum engineering unit value.
|
Supervisory, User
|
|
Conversion mode
|
ConversionMode
|
Used to specify either Linear or Square Root for the equation that will be used to scale the input.
|
Read-Only
|
|
Clamp input to EU range
|
ClampEnabled
|
Used to allow the scaling process to clamp the engineering unit result. If clamping is enabled, the scaling calculation result is clamped at either the maximum engineering unit range value or the minimum engineering unit range value, and the PV quality is set to UNCERTAIN. If not clamped, and the PV exceeds the engineering unit range, then PVAuto is set to NaN, and the quality is set to BAD.
|
Supervisory, User
|
Use the I/O tab to configure input and output references for the AnalogDevice object.
Use the Alarms tab to select the types of alarms to detect and the conditions under which alarms will be triggered.
|
Editor Option
|
Associated Attribute
|
Description
|
Run-Time Access (Supervisory, User, Read-Only, None)
|
|---|---|---|---|
|
Generate event upon PV change
|
PV.LogDataChangeEvent
|
If enabled, data change events for the PV will be logged to event history.
|
Supervisory, User
|
|
Detect PV level(limit) alarms
|
PV.LevelAlarmed
|
If enabled, alarms will be triggered for when the PV level reaches configured limits.
|
None
|
|
HiHi
|
HiHi.Alarmed
|
If enabled, an alarm will be triggered when the PV reaches the HiHi limit.
|
None
|
|
HiHi - Limit
|
HiHi.Limit
|
The HiHi limit that the PV must exceed to trigger an alarm.
|
Supervisory, User
|
|
HiHi - Priority
|
HiHi.Priority
|
See Alarm Attributes.
|
Supervisory, User
|
|
HiHi - Alarm Message Attribute
|
HiHi.DescAttrName
|
See Alarm Attributes. Click the ellipse button to access the Attribute Browser.
|
None
|
|
Hi
|
Hi.Alarmed
|
If enabled, an alarm will be triggered when the PV reaches the Hi limit.
|
None
|
|
Hi - Limit
|
Hi.Limit
|
The Hi limit that the PV must exceed before an alarm is triggered.
|
Supervisory, User
|
|
Hi - Priority
|
Hi.Priority
|
See Alarm Attributes.
|
Supervisory, User
|
|
Hi - Alarm Message Attribute
|
Hi.DescAttrName
|
See Alarm Attributes. Click the ellipse button to access the Attribute Browser.
|
None
|
|
Lo
|
Lo.Alarmed
|
If enabled, an alarm will be triggered when the PV reaches the Lo limit.
|
None
|
|
Lo - Limit
|
Lo.Limit
|
The Lo limit that the PV must exceed to trigger an alarm.
|
Supervisory, User
|
|
Lo - Priority
|
Lo.Priority
|
See Alarm Attributes.
|
Supervisory, User
|
|
Lo - Alarm Message Attribute
|
Lo.DescAttrName
|
See Alarm Attributes. Click the ellipse button to access the Attribute Browser.
|
None
|
|
LoLo
|
LoLo.Alarmed
|
If enabled, an alarm will be triggered when the PV reaches the LoLo limit.
|
None
|
|
LoLo - Limit
|
LoLo.Limit
|
The LoLo limit that the PV must exceed to trigger an alarm.
|
Supervisory, User
|
|
LoLo - Priority
|
LoLo.Priority
|
See Alarm Attributes.
|
Supervisory, User
|
|
LoLo - Alarm Message Attribute
|
LoLo.DescAttrName
|
See Alarm Attributes. Click the ellipse button to access the Attribute Browser.
|
None
|
|
Alarm deadband
|
LevelAlarm.ValueDeadband
|
The amount, in engineering units, that the PV must drop below either the HiHi limit or Hi limit, or increase above either the LoLo limit or Lo limit before an alarm is triggered.
|
Supervisory, User
|
|
Detect PV rate of change alarms
|
PV.ROCAlarmed
|
If enabled, alarms will be triggered for when the PV level reaches configured rates of change.
|
None
|
|
Up
|
PV.ROC.IncreasingHi.Alarmed
|
If enabled, an alarm will be triggered when the PV is increasing too fast.
|
None
|
|
Up - Limit
|
PV.ROC.IncreasingHi.Limit
|
The alarm limit that the rate of change calculation must exceed in order to trigger an alarm.
|
Supervisory, User
|
|
Up - Priority
|
PV.ROC.IncreasingHi.Priority
|
See Alarm Attributes.
|
Supervisory, User
|
|
Up - Alarm Message Attribute
|
PV.ROC.IncreasingHi.DescAttrName
|
See Alarm Attributes. Click the ellipse button to access the Attribute Browser.
|
None
|
|
Down
|
PV.ROC.DecreasingHi.Alarmed
|
If enabled, an alarm will be triggered when the PV is decreasing too fast.
|
None
|
|
Down - Limit
|
PV.ROC.DecreasingHi.Limit
|
The alarm limit that the rate of change calculation must exceed in order to trigger an alarm. (This value, although a positive value, actually indicates a negative rate of change, or a descending rate of change Hi limit.)
|
Supervisory, User
|
|
Down - Priority
|
PV.ROC.DecreasingHi.Priority
|
See Alarm Attributes.
|
Supervisory, User
|
|
Down - Alarm Message Attribute
|
PV.ROC.DecreasingHi.DescAttrName
|
See Alarm Attributes. Click the ellipse button to access the Attribute Browser.
|
None
|
|
Per
|
PV.ROC.Rate.Units
|
The units of time for the rate of change calculation.
|
Read-Only
|
|
Evaluate every
|
PV.ROC.EvalPeriod
|
The time interval, in milliseconds, at which the rate of change calculation and detection is performed.
|
Supervisory, User
|
|
Detect PV target deviation alarms
|
PV.DevAlarmed
|
If enabled, alarms will be triggered for when the PV level deviates from a target value by a configured amount.
|
None
|
|
Minor
|
PV.Dev.Minor.Alarmed
|
If enabled, an alarm will be triggered when the PV reaches the minor deviation tolerance.
|
None
|
|
Minor - Deviation
|
PV.Dev.Minor.Tolerance
|
The amount, in engineering units, that the PV must differ from the setpoint before an alarm will be triggered.
|
Supervisory, User
|
|
Minor - Priority
|
PV.Dev.Minor.Priority
|
See Alarm Attributes.
|
Supervisory, User
|
|
Minor - Alarm Message Attribute
|
PV.Dev.Minor.DescAttrName
|
See Alarm Attributes. Click the ellipse button to access the Attribute Browser.
|
None
|
|
Major
|
PV.Dev.Major.Alarmed
|
If enabled, an alarm will be triggered when the PV reaches the major deviation tolerance.
|
None
|
|
Major - Deviation
|
PV.Dev.Major.Tolerance
|
The amount, in engineering units, that the PV must differ from the setpoint before an alarm will be triggered.
|
Supervisory, User
|
|
Major - Priority
|
PV.Dev.Major.Priority
|
See Alarm Attributes.
|
Supervisory, User
|
|
Major - Alarm Message Attribute
|
PV.Dev.Major.DescAttrName
|
See Alarm Attributes. Click the ellipse button to access the Attribute Browser.
|
None
|
|
Setpoint
|
SP
|
The target value. The setpoint is only available for AnalogDevice objects configured as type AnalogRegulator (not Analog).
|
Supervisory, User
|
|
Deviation deadband
|
PV.Dev.Deadband
|
The amount the PV must drop (measured in engineering units) below any of the deviation limits before the respective condition is set to FALSE.
|
Supervisory, User
|
|
Settling period
|
PV.Dev.SettlingPeriod
|
The amount of time, in seconds, allowed for the PV to return within the normal range after the deviation alarm clears. (A deviation alarm cannot occur again until the alarm clears.) The value you specify will be converted to the following format: days hh:mm:ss.fffffff.
|
Supervisory, User
|
|
Bad PV
|
PV.Bad.Alarmed
|
If enabled, alarms will be triggered for when the PV has bad data values or data quality.
|
None
|
|
Bad PV priority
|
PV.Bad.Priority
|
See Alarm Attributes.
|
Supervisory, User
|
|
Alarm Message Attribute
|
PV.Bad.DescAttrName
|
See Alarm Attributes. Click the ellipse button to access the Attribute Browser.
|
None
|
Use the History tab to configure the historization of data values that are generated or received by the AnalogDevice object.
|
Editor Option
|
Associated Attribute
|
Description
|
Run-Time Access (Supervisory, User, Read-Only, None)
|
|---|---|---|---|
|
PV
|
PV.Historized
|
If enabled, the system historizes the default "process value," in engineering units, if the initial PV mode setting is Manual.
|
None
|
|
SP
|
SP.Historized
|
If enabled, the system will historize the target value.
|
None
|
|
PV mode
|
PV.Mode.Historized
|
If enabled, the system will historize the initial PV mode setting, either Auto or Manual.
|
None
|
|
Control mode
|
CtrlMode.Historized
|
If enabled, the system will historize the default value for the control mode, either Manual, Cascade, or None.
|
None
|
|
Control Track Flag
|
CtrlTrack.ValueHist.Historized
|
If enabled, the system will historize the current value of the control tracking flag.
|
None
|
|
Force storage period
|
<Attribute>.ForceStoragePeriod
|
See History Attributes.
|
Supervisory, User
|
|
Value deadband
|
<Attribute>.ValueDeadband
|
See History Attributes.
|
Supervisory, User
|
|
Trend high
|
<Attribute>.TrendHi
|
See History Attributes.
|
Supervisory, User
|
|
Trend low
|
<Attribute>.TrendLo
|
See History Attributes.
|
Supervisory, User
|
|
Interpolation Type
|
<Attribute>.InterpolationType
|
See History Attributes.
|
Supervisory, User
|
|
Sample Count
|
<Attribute>.SampleCount
|
See History Attributes.
|
Supervisory, User
|
|
Rollover Value
|
<Attribute>.RolloverValue
|
See History Attributes.
|
Supervisory, User
|
|
Enable Swinging Door
|
<Attribute>.EnableSwingingDoor
|
See History Attributes.
|
Supervisory, User
|
|
Rate DeadBand
|
<Attribute>.RateDeadBand
|
See History Attributes.
|
Supervisory, User
|
Use the Control tab to specify control settings for an AnalogDevice object of type analog regulator.
The following table describes the run-time only attributes for the object.
Note Configurable run-time attributes are described in the configuration sections. For more information, see Configuration.
For a list of common attributes, click Attributes Help in the Help file header.
|
Attribute
|
Description
|
Run-Time Access
(Supervisory, User, Read-Only, None)
|
|---|---|---|
|
CtrlTrack.DataType
|
The expected data type of the CtrlTrack attribute value. This is always Boolean.
|
Read-Only
|
|
CtrlTrack.ReadStatus
|
The cause of any errors that have occurred when data is read from the target feedback reference (object and attribute). This is the Message Exchange status and not the status of the communication to external systems or devices such as Programmable Logic Controllers (PLCs).
|
Read-Only
|
|
CtrlTrack.Value
|
The value that is read from the CtrlTrack.InputSource attribute.
|
Read-Only
|
|
CtrlTrack.ValueHist
|
The current value of the control tracking flag.
|
Read-Only
|
|
Hi.Condition
|
Set to TRUE if the PV has exceeded the Hi level limit.
|
Read-Only
|
|
HiHi.Condition
|
Set to TRUE if the PV has exceeded the HiHi level limit.
|
Read-Only
|
|
Lo.Condition
|
Set to TRUE if the PV has exceeded the Lo level limit.
|
Read-Only
|
|
LoLo.Condition
|
Set to TRUE if the PV has exceeded the LoLo level limit.
|
Read-Only
|
|
PV.Bad.Condition
|
If TRUE, then the calculated PV has a quality of BAD.
|
Read-Only
|
|
PV.Dev.Deviation
|
The current deviation, in engineering units, between the PV and the SP.
|
Read-Only
|
|
PV.Dev.Major.Condition
|
Set to TRUE when the difference between the PV and SP has exceeded the major tolerance and the timer has expired.
|
Read-Only
|
|
PV.Dev.Minor.Condition
|
Set to TRUE when the difference between the PV and the target has exceeded the minor tolerance and the timer has expired.
|
Read-Only
|
|
PV.Dev.TimeSinceTargetChange
|
The amount of time that has elapsed since the SP was changed. The format is: days hh:mm:ss.fffffff. The value is calculated based on the SPChangeTime attribute.
|
Read-Only
|
|
PV.Dev.SPChangeTime
|
The time of the most recent change to the SP value since object deployment. This time is used to calculate the TimeSinceTargetChange attribute.
|
Read-Only
|
|
PV.Input.DataType
|
The data type of the PV value. This is always Float.
|
Read-Only
|
|
PV.Input.ReadStatus
|
The cause of any errors that have occurred when data is read from the target feedback reference (object and attribute). This is the Message Exchange status and not the status of the communication to external systems or devices such as Programmable Logic Controllers (PLCs).
|
Read-Only
|
|
PV.Input.Value
|
The value that is read from the PV.Input.InputSource attribute.
|
Read-Only
|
|
PV.Output.DataType
|
The data type of the PV value. This is always Float.
|
Read-Only
|
|
PV.Output.WriteStatus
|
The cause of any errors when writing data to the target location (object and attribute), or, in the case where that location is in a DeviceIntegration Object, the actual field I/O status. This status is the Message Exchange status and, when OutputDest is a DeviceIntegration Object, the status of the communication to external systems or devices such as Programmable Logic Controllers (PLCs).
|
Supervisory
|
|
PV.Output.Value
|
A placeholder for values that will be written to the target location.
|
Read-Only
|
|
PV.ROC.DecreasingHi.Condition
|
Set to TRUE if the PV has exceeded the Lo rate of change limit.
|
Read-Only
|
|
PV.ROC.IncreasingHi.Condition
|
Set to TRUE if the PV has exceeded the Hi rate of change limit.
|
Read-Only
|
|
PV.ROC.Rate
|
The calculated rate of change of the PV.
|
Read-Only
|
|
PVAuto
|
This attribute is calculated independently of the state of the PVMode attribute. The PVAuto attribute is calculated as if the state of "PV" were always "Auto." The PVAuto attribute is calculated from the PV.Input.Value attribute using any configured scaling parameters.
For extra quality handling, see Quality Handling.
|
Read-Only
|
|
SP.DataType
|
The data type of the SP value when the analog type is AnalogRegulator. This value is always Float.
|
Read-Only
|
|
SP.ReadStatus
|
The cause of any errors that have occurred when data is read from the target feedback reference (object and attribute). This is the Message Exchange status and not the status of the communication to external systems or devices such as Programmable Logic Controllers (PLCs).
|
Read-Only
|
|
SP.ReadValue
|
The value that is read from the SP.InputSource attribute when the analog type is AnalogRegulator.
For extra quality handling, see Quality Handling.
|
Read-Only
|
|
SP.WriteStatus
|
Reports whether the last SP value written reached the intended target specified by the output destination. This only applies when the analog type is AnalogRegulator.
|
Supervisory
|
|
SP.WriteValue
|
The value received internally from this object or from an external Message Exchange client.
|
Supervisory, User
|
The following attributes are available for all Objects. If alarm aggregation is enabled on the Area, the following attributes aggregate their respective alarm status values for the Area, for all sub-Areas, contained objects, and their descendants assigned to the Area. If alarm aggregation is disabled, these attributes remain at their default values. Alarm aggregation attributes behave similarly to alarm aggregation of individual attributes.
If a historization Feature is enabled, then the following additional history-related attributes become available. None of these attributes can be alarmed.
If an alarm attribute is enabled, then the following additional alarm attributes become available. None of these attributes can be alarmed.
The following attributes have extra quality handling.
© 2014 Invensys Systems, Inc. All Rights Reserved.
Invensys is a Schneider Electric company
10/17/14