What the Large Analog Value Object Is
The Large Analog Value object, defined in Clause 12.39 of ANSI/ASHRAE 135-2024, represents a double-precision floating-point value inside a BACnet device that is not tied to physical I/O. Where an Analog Value holds a single-precision REAL, a Large Analog Value holds a Double: a value that needs more range or precision than REAL provides, such as a large energy total, a high-resolution flow accumulation, or a computed result that would lose precision as a single-precision number.
A Large Analog Value can be read-only or commandable. When it is commandable, it carries the same 16-slot priority array as an Analog Output; when it is a simple stored value, it does not. Large Analog Value objects that support intrinsic reporting apply the DOUBLE_OUT_OF_RANGE event algorithm and deliver the alarm through the event notification services.
Where You’ll See It
- Large totals. A cumulative energy or volume total that would overflow or lose precision as a single-precision number.
- High-precision calculations. A computed result the logic exposes for other devices to read with ReadProperty.
- Wide-range parameters. A tuning value whose magnitude spans a range that single-precision
REALcannot represent cleanly.
Required Properties
Clause 12.39 requires every Large Analog Value object to provide these properties. Datatypes are the spec’s names: Double is a double-precision floating-point number, CharacterString a text string, and the BACnet-prefixed types are structured values defined by the standard.
| Property | Datatype | What it holds |
|---|---|---|
Object_Identifier | BACnetObjectIdentifier | The object’s type and instance number, unique within the device |
Object_Name | CharacterString | The human-readable point name, unique within the device |
Object_Type | BACnetObjectType | Always large-analog-value for this object |
Present_Value | Double | The double-precision value. Read-only or commandable depending on the instance |
Status_Flags | BACnetStatusFlags | Four health flags: in-alarm, fault, overridden, out-of-service |
Units | BACnetEngineeringUnits | The engineering units of the value |
Property_List | BACnetARRAY[N] of BACnetPropertyIdentifier | The list of properties this instance actually implements |
When the object is commandable, it additionally implements Priority_Array (the 16 command slots), Relinquish_Default (the fallback when all slots are Null), and Current_Command_Priority. On a simple stored Large Analog Value these are absent. See How Commanding Works on the Analog Output page for the priority-array model.
Optional Properties
The properties integrators meet most are COV_Increment (how much the value must change before a COV, Change of Value, notification fires), the alarm-limit group (High_Limit, Low_Limit, Deadband, Limit_Enable), and, on commandable instances, the command-tracking group. The intrinsic-reporting group generally appears or is absent as a set.
| Property | Datatype | Group |
|---|---|---|
Description | CharacterString | General |
Out_Of_Service | BOOLEAN | General |
Event_State | BACnetEventState | General |
Resolution | Double | General |
Min_Pres_Value | Double | Value range |
Max_Pres_Value | Double | Value range |
Priority_Array | BACnetPriorityArray | Commanding |
Relinquish_Default | Double | Commanding |
Current_Command_Priority | BACnetOptionalUnsigned | Commanding |
Value_Source | BACnetValueSource | Commanding |
Value_Source_Array | BACnetARRAY[16] of BACnetValueSource | Commanding |
Last_Command_Time | BACnetTimeStamp | Commanding |
Command_Time_Array | BACnetARRAY[16] of BACnetTimeStamp | Commanding |
COV_Increment | Double | COV reporting |
Time_Delay | Unsigned | Intrinsic reporting |
Notification_Class | Unsigned | Intrinsic reporting |
High_Limit | Double | Intrinsic reporting |
Low_Limit | Double | Intrinsic reporting |
Deadband | Double | Intrinsic reporting |
Limit_Enable | BACnetLimitEnable | Intrinsic reporting |
Event_Enable | BACnetEventTransitionBits | Intrinsic reporting |
Acked_Transitions | BACnetEventTransitionBits | Intrinsic reporting |
Notify_Type | BACnetNotifyType | Intrinsic reporting |
Event_Time_Stamps | BACnetARRAY[3] of BACnetTimeStamp | Intrinsic reporting |
Event_Message_Texts | BACnetARRAY[3] of CharacterString | Intrinsic reporting |
Event_Message_Texts_Config | BACnetARRAY[3] of CharacterString | Intrinsic reporting |
Event_Detection_Enable | BOOLEAN | Intrinsic reporting |
Event_Algorithm_Inhibit_Ref | BACnetObjectPropertyReference | Intrinsic reporting |
Event_Algorithm_Inhibit | BOOLEAN | Intrinsic reporting |
Time_Delay_Normal | Unsigned | Intrinsic reporting |
Reliability | BACnetReliability | Fault detection |
Fault_High_Limit | Double | Fault detection |
Fault_Low_Limit | Double | Fault detection |
Reliability_Evaluation_Inhibit | BOOLEAN | Fault detection |
Audit_Level | BACnetAuditLevel | Auditing |
Auditable_Operations | BACnetAuditOperationFlags | Auditing |
Tags | BACnetARRAY[N] of BACnetNameValue | Tagging and profile |
Profile_Location | CharacterString | Tagging and profile |
Profile_Name | CharacterString | Tagging and profile |
Related Objects
- Analog Value: the single-precision floating-point software point, sufficient for most setpoints and calculated values.
- Integer Value: a signed whole-number software point.
- Positive Integer Value: an unsigned whole-number software point.
- Analog Output: the commandable single-precision value driven to physical hardware.
What Chipkin Provides
The Large Analog Value object, in both read-only and commandable forms, is a first-class object type in the CAS BACnet Stack. Talk to us about modeling your device’s points.