BACNet priority and BASIC

How does one write specific BACnet priority in BASIC programming for TSTAT10?

We are using a external platform to do supervisory control, but want to release those controls points in the event that the communication fails. Currently, our external platform writes at priority 8. Essentially, the basic program will watch a heartbeat for a state change and then release the control points at priority 8 if it does not see the change in the configured time (e.g., 300 seconds).

Good question Robert, one I was hoping to avoid for as long as possible. I knew it would rear its head one of these days though. If you could show us how you are used to seeing this done with your usual system that would be appreciated. We can add it to the todo list.

And since you are working with communications health we have a new command which will be helpful, its an internal variable which increments each minute when communications are down. As long as communications are present the variable will be at zero. When communications goes down the variable will start increasing till it hits some upper maximum.

I will update this post with better detail shortly but the new statement goes something like this:
10 VAR1 = PVAR( 100 )
20 IF VAR1 > 10 THEN …close a relay, send an alarm, etc.

Where VAR1 is the usual variable you use in your everyday programs. PVAR is the proprietary bacnet variable, 100 is the index point, I need to update this post with the details, but basically you have access to many internal data points such as the hardware model number, the serial number, com port settings, com port data counters and many other bits of interest through these ‘proprietary’ bacnet variables.

The objects show up in regular bacnet tool scans like Yabe as well. So any bacnet environment will have access to them.