BACnet - What is a BACnet Pulse Converter object
The Pulse Converter object is described by the BACnet standard as a process monitor represented by counts or pulses.
The type of processes monitored can include those tasks necessary to maintain a building, such as the following examples:
- Power Usage
- Water Usage
- Natural Gas Usage
The Pulse Converter object might represent a physical input. As an alternative, it might acquire the data from the Present_Value of an Accumulator object, representing an input in the same device as the Pulse Converter object.
The following table will present the actual properties and associated datatypes of the Group object from the BACnet standard:
Property | Datatype |
Object_Identifier | BACnet Object Identifier |
Object_Name | Character String |
Object_Type | BACnet Object Type |
Description | Character String |
Present_Value | Real |
Input_Reference | BACnet Object Property Reference |
Status_Flags | BACnet Status Flags |
Event_State | BACnet Event State |
Reliability | BACnet Reliability |
Out_of_Service | Boolean |
Units | BACnet Engineering Units |
Scale_Factor | Real |
Adjust_Value | Real |
Count | Unsigned |
Update_Time | BACnet Date Time |
Count_Change_Time | BACnet Date Time |
Count_Before_Change | Unsigned |
COV_Increment | Real |
COV_Period | Unsigned |
Notification_Class | Unsigned |
Time_Delay | Unsigned |
High_Limit | Real |
Low_ Limit | Real |
Deadband | Real |
Limit_Enable | BACnet Limit Enable |
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 developer should pay close attention to a specific property in the preceding table. The specific property is the Adjust_Value property. This property allows the developer to adjust the Present_Value property by writing to the Adjust_Value property, which also causes an adjustment to the Count property as well.
The following example from the BACnet standard will present the Pulse Converter object structure from an actual automation application. This example will specifically focus on the utility usage in a building:
Property: Object_Identifier = (Pulse Converter, Instance 1)
Property: Object_Name = "Meter 5"
Property: Object_Type = PULSE_CONVERTER
Property: Description = ""
Property: Present_Value = 125.0
Property: Input_Reference = ((Accumulator, Instance 1), Present_Value)
Property: Status_Flags = {FALSE, FALSE, FALSE, FALSE}
Property: Event_State = NORMAL
Property: Out_Of_Service = FALSE
Property: Units = LITERS_PER_HOUR
Property: Scale_Factor = 0.5
Property: Adjust_Value = 500.0
Property: Count = 250
Property: Update_Time = (10-JUL-01,11:40:21.0),
Property: Count_Change_Time = (10-JUL-01,11:30:01.0),
Property: Count_Before_Change = 523
Property: COV_Increment = 10.0
Property: COV_Period = 3600
Property: Notification_Class = 5
Property: Time_Delay = 0
Property: High_Limit = 1000.0
Property: Low_Limit = 0.0
Property: Deadband = 0.0
Property: Limit_Enable = {FALSE, TRUE}
Property: Event_Enable = {TRUE, FALSE, TRUE}
Property: Acked_Transitions = {TRUE, TRUE, TRUE}
Property: Notify_Type = ALARM
Property: Event_Time_Stamps = ((12-JUL-01,18:50:21.2), (*-*-*,*:*:*.*), (12-JUL-01,19:01:34.0))