Project

General

Profile

Actions

DTXr features

BACNet/IP Stack

DTXr hosts a full BACnet/IP stack.

  • Rev. 19 Ver. 1
  • BTL tested

IDE

Introduction

This is the documentation of the DTXr Integrated Development Environment (IDE)
The IDE can be hosted on a BACnet device or on any other device that can run the application such as a PC or other device able to host a Virtual Java Machine. There are several reasons to hosting the IDE on a BACnet device rather than on a computer. Most importantly is the ability to cope with the future. Several years from now when a change is needed, the user will most likely have a different computer, a different operating system and will probably not keep track of old interface cables. Furthermore the syntax used to create the logic of the device is JavaScript. The reasons for this are many, but most important is the fact that JavaScript does not need to compile and downloaded to a device but is real time interpreted. Hence the code will be active as soon as it is saved, saving compilation and upload time.

The Object page

The object page may look very different depending on what objects that are in the device that you have entered. If the device is Gateway or a HUB (also sometimes called a cloud server) the objects will appear as general or virtual objects but if the device is a BACnet device there will be objects according to what hardware is in the BACnet device.
If the device has many objects they may appear further down and you may have to scroll down quite a bit in order to see all the objects in the device.
In the Top pane of the Object side there are five drop down menus.

Objects (leftmost drop down menu)

This only contains an option to refresh the page.

Devices (second leftmost menu)

When you first enter the Object page, you will see the objects that belong to the device that you have entered by writing its IP address or DNS name and logged in. In the Device dropdown menu you can enter any other BACnet device that is on your network.

Priority

In the priority menu you may choose the priority that a change will be performed at if you make changes on objects. Default priority is eight, or Manual operator priority. Note that a change won’t happen if another command has a higher priority
Priority Level Application
1 Manual-Life Safety
2 Automatic-Life Safety
3 Available
4 Available
5 Critical Equipment Control
6 Minimum On/Off
7 Available
8 Manual Operator
9 Available
10 Available
11 Available
12 Available
13 Available
14 Available
15 Available
16 Available

Notifications

If something out of the ordinary happens there may be a notification. A notification can typically be set up if a value is out of the normal interval. If there are notifications they will appear here.
For more information about notifications se:
Short article about notifiacations
More advanced information on notifications

Page Browser Menu

This is where you surf to other pages in the DTXr Integrated Development Environment such as:
Setup
Code
API
Blocks
Logout

TBD...

Graph Editor

TBD...

Map Editor

TBD...

Blockly

REST-API

Every running DTXr instance has it's own REST API that can be used to access and modify various aspects of the node.

A swagger index pages is offered as:
http://[IP]:[PORT]/browse/swagger/index.html

Object Type enumeration

analogInput: 0
analogOutput: 1
analogValue: 2
binaryInput: 3
binaryOutput: 4
binaryValue: 5
calendar: 6
command: 7
device: 8
eventEnrollment: 9
file: 10
group: 11
loop: 12
multiStateInput: 13
multiStateOutput: 14
notificationClass: 15
program: 16
schedule: 17
averaging: 18
multiStateValue: 19
trendLog: 20
lifeSafetyPoint: 21
lifeSafetyZone: 22
accumulator: 23
pulseConverter: 24
eventLog: 25
trendLogMultiple: 27
loadControl: 28
structuredView: 29
accessDoor: 30
accessCredentialInput: 37
characterStringValue: 40
integerValue: 45
alertEnrollment: 52
lightingOutput: 54
bacqlScript: 129

Updated by David Fredriksson over 2 years ago · 21 revisions