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 in maintaining 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))

Written by: Scott Cosby

© Chipkin Automation Systems 2007