Issue
BACnet binary value objects will pulse an Infinity output when they are used to set its value instead of turning it on.
Environment
- BACnet binary value object
- Infinity output
Cause
People who are unfamiliar with programming for BACnet controllers may find it difficult to code their programs based on BACnet point values.
Resolution
When coding for Andover BACnet controllers, it is important to consider the differences between BACnet and Infinet point types. If you create a Numeric (configured as a binaryvalue) in a b3, b4 or BCX BACnet controller and you import that value into another controller for use in controlling an Infinity output, the output will pulse once on change of state (equivalent to output=1)and then shut off. Also, when changing the binaryvalue from inactive to active will cause the output to pulse as well.
When an Infinity output is set to Digital The default display format is $###. When the display format has been set to $### , values greater than zero will be displayed as ON, zero value will display as OFF and values less than zero will display as -ON if it is a tristate output. Changing this display format to ###.## will show the exact value of the output. On/Off or the analog value sent to it.
Use the blue BACnet folder and check that the source point is defined as a Binary Value and the Output is a Binary Output. If an Infinity Numeric was originally created as the default Analog Value and sent to database in the BACnet folders, it will have to be deleted and re-sent to database to get it into the correct Binary Value folder.
Example 1: The program below in the importing controller is a one-line looping program as follows:
output1= B4/B3/BinaryValue
A possible use for this would be a global occupancy point being used to turn the lights on.
Example 2:
- Write a PE program to copy a binaryvalue (BV) to a binaryoutput (BO).
- Set the BV to Inactive. Observe that the BO is Inactive.
- Set the BV to Active. Observe that the BO pulses for one second.
In order to import BACnet Binary values into another controller and use these points to drive an output on that controller you must use the BACnet point objects in your Plain English program as per below:
"Full BACnet Path" Binary Output Name = "Full BACnet Path" Binary Value Name
This will ensure that when the binary value is true, or "1", that the Binary output will go to "ON" and not pulse for 1 second.