How to set and relinquish a BACnet point from AS Script programming?

Issue

How to turn on and release a specific command priority on a BACnet point?

Product Line

SmartStruxure Solution

Environment

ES AS Bacnet interface

Script programming

Cause

Wants an example script program to turn on/ off specific BACnet command priorities in a BACnet device.

Resolution

To control a specific Digital or Analog Output in a BACnet device, from a script program you would use a Numeric Output in the program that has its value set as required by the program.

This Output from the program is then bound to the specific command priority attribute of the point to be controlled.

To release control from that Command Priority the "Relinquish" keyword is used in the program to Null that specific command priority and allow lower commands to take control of the output.

 

Here is an example AS test program that turns on a Digital Output for 4 seconds and then releases it for 4 seconds.

The Numeric Output DOControl should be bound to the required Output Command Priority 2, it is written as a fallthru program.

Notice; the Relinquish command is releasing the output from Command Priority 2 as used in this example.

 

Numeric Output DOControl

DOOnLine:
DOControl = Active

Wait4:
If TS > 4 Then goto DOOffline Else goto Wait4

DOOffline:
Relinquish(DOControl,2)

Wait4More:
If TS > 4 Then goto DOOnline Else goto Wait4More

 

This type of script program can be located in the Application of the BACnet interface and control outputs on 3rd party BACnet products or b3 controllers.

Note: For control of b3 outputs it is often better to put an appropriate control program (Not the above code) within the b3 controller itself, making it more robust in case of comms failure and also reducing communications traffic.

Also check out the Convert Continuum Plain English into SBO Script Quick-Help video on the Exchange.