The Loop object is defined by the standard in terms of the object properties representing the external, physical attributes of any category of control loop. The Loop object is a detailed and complex object in the standard.
The optimal flexibility of this object is attained by including three specific gain constants with no assumed values as the units:
- Proportional Constant
- Integral Constant
- Derivative Constant
The developer should pay close attention to these three constants when drafting the object structure for BACnet devices. The suitable gain units are figured by a control algorithm, which is a local matter for the automation developer.
The following table will present the actual properties and datatypes of the Loop object from the BACnet standard:
| Property | Datatype |
| Object_Identifier | BACnet Object Identifier |
| Object_Name | Character String |
| Object_Type | BACnet Object Type |
| Present_Value | Real |
| Description | Character String |
| Status_Flags | BACnet Status Flags |
| Event_State | BACnet Event State |
| Reliability | BACnet Reliability |
| Out_of_Service | Boolean |
| Update_Interval | Unsigned |
| Output_Units | BACnet Engineering Units |
| Manipulated_Variable_Reference | BACnet Object Property Reference |
| Controlled_Variable_Reference | BACnet Object Property Reference |
| Controlled_Variable_Value | Real |
| Controlled_Variable_Units | BACnet Engineering Units |
| Setpoint_Reference | BACnet Setpoint Reference |
| Setpoint | Real |
| Action | BACnet Action |
| Proportional_Constant | Real |
| Proportional_Constant_Units | BACnet Engineering Units |
| Integral_Constant | Real |
| Integral_Constant_Units | BACnet Engineering Units |
| Derivative_Constant | Real |
| Derivative_Constant_Units | BACnet Engineering Units |
| Bias | Real |
| Maximum_Output | Real |
| Minimum_Output | Real |
| Priority_For_Writing | Unsigned |
| COV_Increment | Real |
| Time_Delay | Unsigned |
| Notification_Class | Unsigned |
| Error_Limit | Real |
| Event_Enable | BACnet Event Transition Bits |
| Acked_Transitions | BACnet Event Transition Bits |
| Notify_Type | BACnet Notify Type |
| Event_Time_Stamps | BACnet Array (3) of BACnet Time Stamp |
| Profile_Name | Character String |
The following example from the standard will present the Loop object structure from an actual building automation application. This example will specifically focus on the air temperature control in a HVAC unit:
| Object_Identifier | (Loop, Instance 1) |
| Object_Name | “AHU_SAT_LOOP” |
| Object_Type | LOOP |
| Present_Value | 8.3 |
| Description | “Supply air temp. PI control” |
| Status_Flags | {FALSE, FALSE, FALSE, FALSE} |
| Event_State | NORMAL |
| Reliability | NO_FAULT_DETECTED |
| Out_Of_Service | FALSE |
| Update_Interval | 1 |
| Output_Units | POUNDS_FORCE_PER_SQUARE_INCH |
| Manipulated_Variable_Reference | ((Analog Output, Instance 5),Present_Value) |
| Controlled_Variable_Reference | ((Analog Input, Instance 3), Present_Value) |
| Controlled_Variable_Value | 56.1 |
| Controlled_Variable_Units | DEGREES_FAHRENHEIT |
| Setpoint_Reference | ((Analog Value, Instance 7), Present_Value) |
| Setpoint | 57.0 |
| Action | DIRECT |
| Proportional_Constant | 0.5 |
| Proportional_Constant_Units | PSI_PER_DEGREE_FAHRENHEIT |
| Integral_Constant | 0.1 |
| Integral_Constant_Units | PER-MINUTE |
| Derivative_Constant | 0.0 |
| Derivative_Constant_Units | NO-UNITS |
| Bias | 9.0 |
| Maximum_Output | 15.0 |
| Minimum_Output | 3.0 |
| Priority_For_Writing | 10 |
| COV_Increment | 0.2 |
| Time_Delay | 3 |
| Notification_Class | 1 |
| Error_Limit | 5.0 |
| Event_Enable | {TRUE, TRUE, TRUE} |
| Acked_Transitions | {TRUE, TRUE, TRUE} |
| Notify_Type | ALARM |
| Event_Time_Stamps | ((23-MAR-95,18:50:21.2), (*-*-*,*:*:*.*), (23-MAR-95,19:01:34.0)) |
Written by: Scott Cosby
© Chipkin Automation Systems 2007
Subscribe To The RSS Feed!
To catch many more articles like this in the future, make it easy on yourself and subscribe to me via RSS. You will not regret it!
Do you have a question?
We will do our best to try and solve any building automation, protocol, integration problem you may have
0 Responses to “BACnet: The Loop Object”