Download User Manual - Contemporary Controls

Transcript
A Small But Powerful Building Management System
User Manual
Version 1.x
# TD110500-0MA
Table of Contents
Table of Contents .................................................................................................................................... 2
Introduction .............................................................................................................................................. 3
Getting Started ......................................................................................................................................... 4
Alarm Editor ........................................................................................................................................... 11
Analog Point Wizard .............................................................................................................................. 13
BACnet MS/TP Driver ............................................................................................................................ 14
BACnet Point Addressing..................................................................................................................... 15
BACnet/IP Device .................................................................................................................................. 17
BACnet/IP Driver .................................................................................................................................... 18
Calculation Editor .................................................................................................................................. 19
Control Points ........................................................................................................................................ 20
Date/Time Point Wizard ......................................................................................................................... 21
Devices ................................................................................................................................................... 21
Device Tree ............................................................................................................................................ 22
Digital Point Wizard ............................................................................................................................... 23
Drivers .................................................................................................................................................... 24
ESI Point Addressing ............................................................................................................................ 24
Folders .................................................................................................................................................... 25
Graphics ................................................................................................................................................. 26
Groups Database ................................................................................................................................... 27
Links ....................................................................................................................................................... 28
LonWorks Device .................................................................................................................................. 29
LonWorks Driver .................................................................................................................................... 30
LonWorks Point Addressing ................................................................................................................ 31
Modbus Point Addressing .................................................................................................................... 34
Modbus Serial Device ........................................................................................................................... 35
Modbus Serial Driver............................................................................................................................. 36
Modbus/TCP Device .............................................................................................................................. 37
Modbus/TCP Driver ............................................................................................................................... 38
Multi-State Point Wizard ....................................................................................................................... 39
Point Addressing ................................................................................................................................... 40
Program Editor ...................................................................................................................................... 40
Programming Reference ....................................................................................................................... 42
Programs ................................................................................................................................................ 48
Runtime Editor ....................................................................................................................................... 49
Runtimes ................................................................................................................................................ 51
Schedules ............................................................................................................................................... 52
Schedule Wizard .................................................................................................................................... 54
Site Settings ........................................................................................................................................... 55
String Point Wizard ............................................................................................................................... 55
Templates ............................................................................................................................................... 56
Toolbar.................................................................................................................................................... 56
Trends ..................................................................................................................................................... 57
Trends Wizard ........................................................................................................................................ 58
Users Database ...................................................................................................................................... 59
TD110500-0MA
2
Introduction
Contemporary Controls BASview is a stand-alone, embedded, web-based graphical interface for building
automation and process/access control systems. Multiple protocols are supported including LonWorks,
Modbus/485, Modbus/TCP, BACnet/IP and BACnet MS/TP.
Some of the features include animated graphic screens, scheduling, historical trending, runtime
accumulation and alarm monitoring. All of these features are supported even with devices that do not
natively support them. Contemporary Controls BASview will automatically toggle outputs and change
setpoints on schedule, collect runtime and trend data, and monitor alarm conditions.
Contemporary Controls BASview uses Flash memory for internal storage. It contains no hard disk or other
moving parts. The Linux operating system is used for enhanced security and stability. Contemporary
Controls BASview is totally self-contained. All set up and user interactions are performed via a web
browser. No dedicated PC or external applications are required.
The user interface utilizes Adobe Flash to allow for advanced graphical features, platform-independence
and drag and drop setup. No knowledge of HTML, XML, Flash, JavaScript or any other programming
language is required to set up or use Contemporary Controls BASview (unless Program objects are used
for control logic).
Features















Animated graphics
Internally maintained schedules
Trend collection, display and export
Runtime accumulation with email notification
Alarm condition monitoring with email notification
Calculated point values (average, min, max, etc)
Database of up to 100 users and 100 user groups
Multiple simultaneous users
Activity log for tracking important user actions
Template system for quickly cloning points, graphics, devices or entire networks
Support for OEM templates that include all points, graphics, schedules, etc. for any device
Flexible point addressing system allows access to most proprietary structures, bit fields and
objects
Calculations may be performed on data points when read and/or written (e.g. Deg. F to Deg. C or
scaling)
Support for custom OEM plug-in software device modules for more complex data access
Support for up to 2,000 tree nodes which can be any combination of points, graphics, trends, etc.
There are no hard limits on individual nodes. (Practical limits on control points will depend on
communication speed and network bandwidth used.)
Supported Protocols:





LonWorks
Modbus RTU/485
Modbus/TCP
BACnet/IP
BACnet MS/TP
TD110500-0MA
3
Getting Started
Login Screen

The default IP address of the BASview is 192.168.92.68, but yours may be set to a different address.

You will be prompted to login.

The default authentication strings are ...
o
Username: admin
o
Password: pass
BASview Screen

After your first login, you see the BASview webpage — which defaults to the Info screen below.
The three basic screen elements are the Toolbar, Device Tree and the Working Area.

The Device Tree that you will build always starts with the Site icon.
TD110500-0MA
4
Toolbar
The 9 icons in the Toolbar are:









Home
Site Info
Logout
Users
User Groups
Admin
Alarms
Runtime
Help
The Admin icon (the wrench symbol) is a drop-down where you can see logs and status, configure the IP
address, reboot the unit and update the firmware.
Help Screens

When you hover over any button,
you see a popup that explains the button function.

Pressing
on the Toolbar displays the help system and opens a context-appropriate screen.
TD110500-0MA
5
IP Address Setting

Enter your IP address settings — then reboot.

In BACnet systems the Broadcast setting must match the broadcast address in your subnet.
Add a Driver

To communicate with devices, you must load a driver.

Right click the Site icon in the Device Tree and select New Driver.

In the popup, select the appropriate driver and press Ok.
TD110500-0MA
6
Driver Configuration

Enter in your driver configuration.

For BACnet use a system-wide unique Device ID.

The standard BACnet port number is 47808.

Enter a label for the driver and press Finish.
Add a Device to a Driver

In the Device Tree, right click a driver and select New Device.

A Device Wizard appears so you can enter device parameters or, with BACnet, discover a device.

For BACnet, as shown below, press the Scan button to discover BACnet devices.

Press Finish on the next popup window.
TD110500-0MA
7
BACnet Device Scan

If the NetworkID is 0, the device is on the same network as the BASview, otherwise it is
accessed through a router.

For each device you want in your Device Tree, select it, add a label then press the Add button.
Add BACnet Points

Refresh the Device Tree to see your new BACnet devices.

Right click a device and select New Point. A Point Wizard appears

Enter a point or discover points.

Press Scan to discover points.

Press Finish on next window.
TD110500-0MA
8

Select points of interest and press the Add button.

You can select multiple points.

Points will disappear from the list as they are added.
Points To Be Written

All points are read-only by default.

To modify a point you must mark it writeable.

Right-click the point and select Properties.

When the Point Wizard appears, press Next.

Press the Modifications tab (if displayed), check the “Allow this point to be manually changed by
users” box and press Finish.
TD110500-0MA
9
Manually Writing/Reading Points

Left-click a writeable point in the Device Tree. A Point Information/Control popup appears.

Modify its value and press the Apply button.

This can be used to simply view the status of a point.

The lock symbol can be used to view/modify the BACnet priorities for the point.
TD110500-0MA
10
Alarm Editor
The alarm editor allows editing of alarm conditions, messages and email recipients.
Status Tab






The status tab contains:
The current active/inactive status of the alarm.
The date and time of the last change of state of the alarm.
The last message generated by the alarm.
A refresh button to update the status on the screen.
A disable selection to completely disable the alarm.
Conditions Tab
This is where the alarm conditions are specified.
There are sub-tabs for active conditions and clear conditions. For backward compatibility, the logic used
for alarms is different depending on if clear conditions are present:
If clear conditions are not present (old-style alarms) the original logic still applies:


Alarm is active if the active conditions are true for x minutes (x specified on active tab).
Alarm becomes inactive if the active conditions are false for the same x minutes (x specified on
active tab).
If clear conditions are present:




Alarm is active if the active conditions are true for x minutes (x specified on the active tab).
Alarm is cleared if the active conditions are not true, and the clear conditions are true for x
minutes (x specified on the clear tab).
Active conditions take precedence over clear conditions. If both are true, the alarm is active.
If neither active nor clear conditions are true, the alarm remains in its current state.
Example:
Conditions:
Active if temp > 78
Clear if temp < 74
Behaviour:
If temp goes up to 79, the alarm becomes active.
If temp goes down to 75, the alarm remains active.
If temp goes down to 73, the alarm is cleared.
There are two modes for the conditions:


All conditions are true — The alarm will be active/cleared if every condition evaluates to true.
Any condition is true — The alarm will be active/cleared if any one of the conditions evaluates to true.
To be considered active/cleared, the condition(s) must be true for at least the number of minutes
specified. If any/all of the conditions become false for the same number of minutes, the alarm will
become active/cleared.
Up to six conditions may be entered. Click the "+" or "X" buttons to add or delete conditions. Each
condition contains the following fields:

Point — A point must be dragged from the device tree and dropped here. The value of this point
is what will be tested.

Comparison — This is the comparison that will be performed.

Comparison Value — This is what the point value will be compared with.
TD110500-0MA
11
The comparison value can be any one of the following:

Numerical Value — Type any valid numerical value.

Another Point — Drag a point from the tree to compare with its current value. For digital and
multi-state points, click the drop-down list to display the valid values.

Value Range — For the in/out of range comparisons, type the low value and the high value
separated by a comma (e.g.: 50,100). For the is/is not in list comparisons, type a list of values
separated by commas (e.g. 1,2,3,5,85,1000).
Floating point values (e.g. 72.5) are valid, but will not always give the desired results. What
displays on the screen as 72.5 may actually be 72.499854 because of the way computers round
numbers. Testing a point value for equality with 72.5 will most likely always be false. Use
"greater than", "less than" or a value range instead.
Messages Tab
Active Message
This is the message that is saved to the database and emailed when the alarm becomes active. The
following codes may be embedded in both the active or clear message:








= point address
= point name
@Ux = point units
@Lx = point label
@Dx = point description
@Ox = point low limit
@Hx = point high limit
@Sx = point status
@Ax
@Nx
x = condition number
Clear Message
This optional message is saved to the database and emailed when the alarm is cleared (becomes inactive).
Both messages may contain the following codes to embed information within the text:


@Vx
@Cx
— The value of the point (the point on the left-side).
— The comparison value (the point or value on the right side).
"x" in both codes is the condition number (1–6)
Example:
"Temperature is too high (@V1)." will be recorded as "Temperature is too high (77.4)".
Example:
"Temperature (@V1) is greater than setpoint (@C1)." will be recorded as "Temperature (76.3) is greater than setpoint
(74.5)."
"@" codes in the active message refer to the points and values on the "Active" tab. "@" codes in the clear message refer
to the points and values on the "Clear" tab.
For old-style alarms with no clear conditions, all @ codes refer to the points and values on the "Active" tab.
Notifications Tab
Email to Groups
Select the list of user groups that should receive this alarms messages. Every person in the group that
has an email address in the user database will receive both active and clear messages.
Additional Email Addresses
Any additional email addresses that should receive the messages may be typed here.
TD110500-0MA
12
Analog Point Wizard
Below are the settings for points with a point type of analogue.
Analog Settings Tab
Engineering Units
The engineering units can be set to specify the units of measure or physical characteristics of the
analogue value. Common engineering units would include Degrees F, Amps and Volts.
Type any text or select from a list of common units by clicking the down arrow to the right of the edit area.
Precision
Precision controls how the value is displayed. A value of 2 display 2 digits to the right of the decimal point
(74.25). A value of 0 will truncate the decimal value and not display a decimal point at all (74).
Increment
Increment controls how the value can be changed by the user. It should normally be set to the increment
supported by the point in the device. A value of 1 allows the value to be changed in steps of 1 (74, 75,
76, etc). A value of 0.1 allows steps of 0.1 (74.1, 74.2, 74.3, etc)
For user modification, check "Allow this point to be manually changed by users" on the "Modifications" tab.
Modifications Tab
The modification settings are used to determine if the value of this point may be modified by users, and
how to handle or restrict the allowed values.
Allow this point to be manually changed by users
This checkbox must be selected for the point to be modifiable by the user.
Low Modify Limit
This is the lowest value to which the user will be allowed to modify the value. If left blank, any value valid
for the data type of the point will be allowed.
High Modify Limit
This is the highest value to which the user will be allowed to modify the value. If left blank, any value
valid for the data type of the point will be allowed.
In/Out Calculations
In and out calculations are optionally used to convert raw point values from a device in to more useable values.
For example, it is fairly common for Modbus devices to represent a temperature as the actual temperature *10.
In this case, 75.5 degrees would be read from the device as 755.
To this value treated properly, an In Calculation of @/10 would be used. The @ sign specifies where in
the calculation to insert the raw value from the device.
So in this example, it would calculate 755 / 10 for a result of 75.5. This calculated value is then used
everywhere else in the system instead of the 755, including on graphics, trends and alarms.
If the point is modifiable by the user, the Out Calculation should be the opposite of the In Calculation.
In this case it would be @*10. If the user then changes the value of the point to 76.2, the calculation 76.2
*10 would be executed and the value 762 sent to the device.
Several common calculation presets, including F to C and C to F conversions, are available by
clicking the down arrow to the right of the edit area.
Two points with the same address can have different calculations (such as a temperature in both F and C.
TD110500-0MA
13
BACnet MS/TP Driver
This screen is used to configure access to a BACnet MS/TP network.
Settings Tab
Label
Label is the name of the item as displayed in the Device Tree.
All items in the Device Tree are sorted alphabetically by label. Folders can be used to organize items.
Description
Description is optional text that describes the item. It can be any descriptive text or be left blank.
Device ID
This is the device ID to use for the BASview unit itself. It must be unique for the entire BACnet network.
MAC Address
The MAC address or node ID to use for the Contemporary Controls BASview unit on the MS/TP network.
It must be unique for the MS/TP network.
Baud Rate
The baud rate used in the MS/TP network. The standard BACnet baud rates of 9600, 19200, 38400 and
76800 are supported.
Max. Master
The highest MAC address used on the network. Setting this too low may cause devices with higher MAC
addresses to not function properly. Setting it too high is inefficient, but will not otherwise be harmful. If
unknown, use 127.
Max. Info Frames
The number of frames or packets of data the BASview should be allowed to transmit each time it is has
control of the network (when it has the MS/TP token). The default of 1 is recommended.
APDU Timeout
This is the APDU timeout, in milliseconds to use for devices on the BACnet network. It should be set to
the highest APDU timeout used by any device on the network. Normally, it should be left at the default of
3,000 (3 seconds).
Group Settings Tab
The group settings are used to determine which user groups can see this item in the tree. The default
setting is "Everyone". Unchecking "Allow Everyone" enables selecting individual groups.
If a user group is not allowed to see an item, the group will be unable to see items under it in the tree.
There are "Check All" and "Uncheck All" buttons in the upper-right corner to make major changes easier.
Advanced Tab
Name
Name is used for advanced features. If left blank, it will be assigned automatically. It is recommended
that the default value not be changed. It can be up to 48 characters. Only A–Z, a–z, 0–9, period (.) and
underscore (_) are allowed. Names are case sensitive.
TD110500-0MA
14
BACnet Point Addressing
BACnet point addressing is very simple for standard BACnet I/O points. Extended addressing is also
available to access non-I/O or proprietary points.
Address Format
A valid address must have at least a point type and a point number:
AV3
— Analog Value #3
BO14 — Binary Output #14
MSI205 — Multi-State Input #205
The list of supported point types includes:
AI
AO
AV
AVG
BI
BO
BV
CAL
CMD
DEV
— Analog Input
— Analog Output
— Analog Value
— Averaging Object
— Binary Input
— Binary Output
— Binary Value
— Calendar Object
— Command Object
— Device Object
EE
FL
GRP
LP
MSI
MSO
MSV
NC
PRG
SCH
TL
— Event Enrollment Object
— File Object
— Group Object
— Loop Object
— Multi-State Input
— Multi-State Output
— Multi-State Value
— Notification Class Object
— Program Object
— Schedule Object
— Trend Log Object
Please note that even though properties of non-I/O objects can be read and written, there is currently no
support for editing an object as a whole object. For example, a single property of a schedule object may
be changed, but editing the dates and times of a schedule in a grid is not supported.
Other Standard and Proprietary Objects
For standard object types not listed above or for proprietary points, the address may be specified as
objectType:InstanceID.
Example:
22032:89 — Proprietary object type #22032, instance #89.
Property ID
If not specified, property #85 (present value) is assumed. A different property ID may be specified with a
comma, followed by the property ID:
Examples:
AV32,81 — Analog Value 32, property ID 81 (Out of Service flag)
22032:89,72 — Proprietary object type #22032, instance #89, property 112 (status flags)
TD110500-0MA
15
Data Type
The data type used for the objects listed above with property #85 (present value) is automatically known
and used. If a property other than present value is used, or for any property of a proprietary object the
default data type is "String". This will allow the value of the property to be viewed but will probably not be
sufficient to write a new value to the property. Note that only NULL, boolean, character string and all of
the numeric data types currently support writing.
To use a different data type, it must be specified immediately following the property ID with a comma and
a data type specifier:
Examples:
AV32,81,BOOL — Analog Value 32, property ID 81 (Out of Service flag), treat the value as a boolean.
22032:89,72,INT — Proprietary object type #22032, instance #89, property 112 (status flags), treat the value as an integer.
The list of supported point types includes:
NULL — A NULL or empty value
BOOL — Boolean off/on, 0/1, inactive/active, etc.
UINT — Unsigned integer
INT
— Signed integer
REAL — A Real" or floating point value
DBL — A double precision floating point value
OCT — Octet String (binary data)
STR — Character string (standard ASCII characters)
BITS
ENUM
DATE
TIME
OBJ
RES1
RES2
RES3
— Bit String
— Enumeration
— Date
— Time
— Unspecified object type
— Currently reserved by BACnet
— Currently reserved by BACnet
— Currently reserved by BACnet
Array Index
For array type objects, an array index may be specified after the data type with a comma, followed by the
array index to read:
Example:
22032:89,72,INT,56 — Proprietary object type #22032, instance #89, property 112 (status flags), treat the value as an
integer, array index 56.
Note: All parameters of an address must be specified in the order listed above. For example, the
array index may not be specified unless the property ID and data type are also specified first.
TD110500-0MA
16
BACnet/IP Device
This screen is used to configure access to a single device on a BACnet/IP network.
Settings Tab
Label
Label is the name of the item as displayed in the Device Tree.
All items in the Device Tree are sorted alphabetically by label. Folders can be used to organize items.
Description
Description is optional text that describes the item. It can be any descriptive text or be left blank.
Address
The IP address of the device or router (Example: 192.168.0.60). Do not include the UDP port.
Device ID
The BACnet device ID of the device. This must be between 0 and 4,194,303.
Max. APDU Size
The Maximum APDU size supported by the device. If unknown, try 480 and lower it if problems arise.
Network #
The BACnet network number of this device. This is only needed for devices behind routers, and must be
between 0 and 65,535.
Destination Address
The destination address of this device. This is only needed for devices behind routers and would usually
be the MSTP address of the device.
Write Priority
The default BACnet priority to use when writing to points on this device.
Group Settings Tab
The group settings are used to determine which user groups can see this item in the tree. The default
setting is "Everyone". Unchecking "Allow Everyone" enables selecting individual groups.
If a user group is not allowed to see an item, that group will also not be able to see any items under it in the tree.
There are "Check All" and "Uncheck All" buttons in the upper-right corner to make major changes easier.
Advanced Tab
Name
Name is used for advanced features. If left blank, it will be assigned automatically. It is recommended
that the default value not be changed.
It can be up to 48 characters. Only A–Z, a–z, 0–9, period (.) and underscore (_) are allowed. Names are
case sensitive.
Node ID
The internal reference ID of this node (read-only)
Disable communication with this device
Check this box to prevent communications with this device. Uncheck for normal operation.
TD110500-0MA
17
BACnet/IP Driver
This screen is used to configure access to a BACnet/IP network. Other BACnet networks, such as MSTP
may also be accessed with this driver through a 3rd party router.
Settings Tab
Label
Label is the name of the item as displayed in the Device Tree.
All items in the Device Tree are sorted alphabetically by label. Folders can be used to organize items.
Description
Description is optional text that describes the item. It can be any descriptive text or be left blank.
Device ID
This is the device ID to use for the Contemporary Controls BASview unit itself. It must be unique for the
entire BACnet network.
UDP Port
This is the UDP port the BACnet network is using. The default is 47808 (BAC0).
APDU Timeout
This is the APDU timeout, in milliseconds to use for devices on the BACnet network. It should be set to
the highest APDU timeout used by any device on the network. Normally, it should be left at the default of
3,000 (3 seconds).
Network Delay
The network delay can be used to throttle traffic on the BACnet/IP network.
The value specified here is the number of milliseconds to wait between network transmissions on the
BACnet/IP network. It may be set higher on busy networks or for slower devices causing read errors. It
may be set lower for faster point updates. Except in extreme conditions, it should be set to 100 or lower.
Group Settings Tab
The group settings are used to determine which user groups can see this item in the tree. The default
setting is "Everyone". Unchecking "Allow Everyone" enables selecting individual groups.
If a user group is not allowed to see an item, that group will also not be able to see any items under it in
the tree.
There are "Check All" and "Uncheck All" buttons in the upper-right corner to make major changes easier.
Advanced Tab
Name
Name is used for advanced features. If left blank, it will be assigned automatically. It is recommended
that the default value not be changed. It can be up to 48 characters. Only A–Z, a–z, 0–9, period (.) and
underscore (_) are allowed. Names are case sensitive.
TD110500-0MA
18
Calculation Editor
Calculations read points from one or more devices and performs a calculation on them, such as average,
minimum or maximum. Custom calculations may also be used. Calculations may be used on graphics,
trends, alarms and even other calculations just like physical points. Points must be dragged from the
device tree and dropped in the points list. Drop every point that will be part of the calculation. The order
of the points is generally not important unless a custom function is used.
Function
Select the function to perform on the points in the point list. For example, to average three temperatures,
drag the three temperature points to the point list and select "Average".
Custom functions are also supported by selecting "Custom" and entering a calculation in the "Postfunction Calculation" below.
Post-function Calculation
The post-function calculation is used to perform an additional calculation on the result of the function, or
to specify a custom function.
Example: To have this Calculation point equal the average of three temperatures, but converted from Fahrenheit to
Celsius, add the three points to the list, select "Average" and enter the following in the post-function calculation:
(@R-32)/1.8
The result of the calculation function selected above (the average temperature in this example) will be
inserted in to the post-function calculation where the @R code is located.
To use a completely custom function, select "Custom" as the function and then enter a post-function
calculation with @Vx codes where the point values from the list should appear. @V1 is the value of the
first point in the list, @V2 the second point, etc.
Example: To get the sum total of three points and subtract 100 from it, enter the following in the post-function calculation:
(@V1+@V2+@V3)-100
Several built-in sub-functions are available to call from within the post-function calculation:
min — Returns the minimum of a list of values: min(@V1,@V2,@V3).
max — Returns the maximum of a list of values: max(@V1,@V2,@V3).
CtoF — Convert a value from Celsius to Fahrenheit: CtoF(@V1)
FtoC — Convert a value from Fahrenheit to Celsius: FtoC(@V1)
Example: To get the lowest of three temperatures and then convert it from Celsius to Fahrenheit, add the three points
to the list, select "Custom" and enter the following in the post-function calculation:
CtoF(min(@V1,@V2,@V3))
Refresh Button
The refresh button will update the value and status shown on the screen. If changes have been made,
they must first be saved by clicking the "Apply" button.
Units
This is the engineering units to display for this Calculation when used on graphics.
Precision
This is the number of digits to the right of the decimal point to displa y for this Calculation when used
on graphics.
TD110500-0MA
19
Control Points
A Control Point, usually referred to as just a "point", is any input, output, variable or property on a device
that a value can be read from, and possibly allows a new value to be written to it.
At least one point is required for the unit to do anything useful. Most systems will have dozens or
hundreds of points. Point types include Analog Point Wizard, Digital Point Wizard, Multi-State Point
Wizard, Date/Time Point Wizard, String Point Wizard.
Settings Tab
Label
Label is the name of the item as displayed in the Device Tree.
All items in the Device Tree are sorted alphabetically by label. Folders can be used to organize items.
Address
The address is the name, number or combination of the two that specifies how to access and interpret
this point. Addressing is different for different types of devices (LonWorks, Modbus, etc.) See Point
Addressing for information on how to specify the address.
Virtual Point
Check this box to declare this point as "virtual". Virtual points hold a value but are not read or written to a
device so they do not require an address. Their value is maintained internally and can be used anywhere
a normal point can be used. They are normally used with program or calculation objects for smart
setpoint logic or to hold user specified values.
Description
Description is optional text that describes the item. It can be any descriptive text or be left blank.
Point Type
The Point Type specifies how the value should be treated and displayed once it has been read from the device.
The available point types are:
 Analog
— Any numeric value. Digital values are converted to 0 for OFF and 1 for ON.

Digital

Multi-State — One of a limited set of numeric values such as 1 through 4, or -2 through 15.

String

DateTime — The value is a packed binary date, time or combined date/time value.
— The value is treated as ON or OFF. Any non-zero value is considered ON.
— The value is a string of ASCII characters.
Although the point type should usually be set to match the actual type of point, it is sometimes useful
to use a different setting. For example, an analog input could be set to a point type of Digital so that any
value other than 0 would be displayed as ON or Active.
Point Class
The Point Class is currently used only for informational purposes and has no real affect on how the value
will be treated or displayed. It may be used for more in a future version so it is recommended that it
always be set to the proper value.
The available point classes are:

Input
— The point is a physical input of any type.

Output
— The point is a physical output of any type.

Variable — The point is a logical point in the device such as a setpoint, programming variable or flag.

Object
— The point is an object or other logical data structure.
TD110500-0MA
20
Group Settings Tab
The group settings are used to determine which user groups can see this item in the tree. The default
setting is "Everyone". Unchecking "Allow Everyone" enables selecting individual groups.
If a user group is not allowed to see an item, that group will also not be able to see any items under it
in the tree.
There are "Check All" and "Uncheck All" buttons in the upper-right corner to make major changes easier.
Advanced Tab
Name
Name is used for advanced features. If left blank, it will be assigned automatically. It is recommended
that the default value not be changed.
It can be up to 48 characters. Only A–Z, a–z, 0–9, period (.) and underscore (_) are allowed. Names are
case sensitive.
Date/Time Point Wizard
Below are the settings for points with a point type of DateTime.
Date/Time Settings Tab
Allow this point to be manually changed by users
This checkbox must be selected for the point to be modifiable by the user.
Devices
A device is any physical device, panel or I/O unit in the system.
Supported devices include:

LonWorks Device

Modbus Serial Device

Modbus/TCP Device

BACnet/IP Device
TD110500-0MA
21
Device Tree
The device tree appears on the left side of the main window. It displays all interactive items in the
system. Each type of item is represented by one of the following icons:
Alarms — Monitors specified conditions and generates an alarm message and optional email alerts.
Calculations — Reads the value of one or more points and performs a calculation on them. For
example, averaging several temperatures.
Devices — Any physical device, panel or I/O unit in the system.
Drivers — A physical network or logical grouping of devices based on the protocol they use. For
example, an entire LonWorks network is a single driver.
Folders — Used to help organize other items. Folders may contain other folders.
Graphics — Used to display information from the system and to control equipment.
Links — Used to access other units, web pages or other web content.
Points — Any physical or logical control point on a device. Inputs, outputs, setpoints and variables
on a device are all considered "points".
Programs — Allows simple programs to be written to control setpoints, outputs and other points.
Runtimes — Monitors specified conditions and accumulates the amount of time the conditions are
true, and generates a message and optional email alerts when a limit is reached.
Schedules — Allows for control of several points based on the time of day.
Site — The root item from which all other items branch.
Trends — Automatically records point values at specified intervals to allow for later viewing.
Navigating the Device Tree
Drivers, devices and folders may contain other items. Click the item to open it and display any sub-items.
Click again to close the item and hide the sub-items.
Clicking any other item will display a viewing/editing screen for the item. Click a graphic to view it, click a
point to display and control the value, etc.
Right-click any item and select "Collapse" or "Collapse All" to close an open folder or all open folders,
respectively.
Editing the Device Tree
Right-click any item and select "Delete Item(s)" to remove them from the tree.
Deleting an item will also delete all sub-items beneath it in the tree.
Clicking and dragging an item allows it to be moved. Note that there are several restrictions on where
items may be dropped. Generally, items under a device may only be dropped on a folder under that
same device, or on the device item itself. Devices under a driver may only be dropped on folders under
the same driver, or on the driver itself.
TD110500-0MA
22
If an item needs to be moved outside of these restrictions, right-click the item, save it as a template,
delete it and then recreate it from the template at the new location. Note that the points attached to items
using this method may need to be re-attached
Multiple items may be moved or deleted at the same time. Hold down the Ctrl key and click an item to
select multiple items. Hold down the Shift key and click an item to select all items from the highlighted
item to the newly clicked item. Note that the restrictions explained above still apply when moving multiple items.
Adding Items
Right-clicking an existing item in the tree will display a popup menu with options to create new items. The
items available will depend on the type of item clicked.
Editing Items
To edit any item, right-click it and select "Properties". An editor screen specific to that item will appear.
Save as Template
Right-click any item and select "Save as Template" to save the item, and all sub-items beneath it as a
single template. This template may then be restored later to clone the items. See Templates for more
information.
Digital Point Wizard
Below are the settings for points with a point type of digital.
Digital Settings Tab
Allow this point to be manually changed by users
This checkbox must be selected for the point to be modifiable by the user.
Digital Text
The digital text setting allows the point to be displayed as something other than ON or OFF.
Several preset pairs of digital text labels are available in the drop-down box above the edit area. Any
custom labels may also be used by typing directly in the editing area.
The format for digital text labels is:
0:Normal
1:Alarm
The 0 label (Normal) will be displayed when the point is OFF (or zero). The 1 label (Alarm) is used when
the point is ON (or any non-zero value). There should be no extra spaces anywhere except in the text
label itself.
TD110500-0MA
23
Drivers
A driver is a physical network or logical grouping of devices based on the protocol they use. For example,
an entire LonWorks network is a single driver.
Supported devices include:

LonWorks Driver

Modbus Serial Driver

Modbus/TCP Driver

BACnet/IP Driver

BACnet MS/TP Driver
ESI Point Addressing
Addresses for ESI points are actually just the commands used to read and write the desired data — with
an optional format specifier.
For example, the address for the "Name" of the device is simply:
N
When the point is read, it will send out the command "N?" and wait for a response. When the user
changes the name, it will send out "NTheNewName".
For some points, such as the current position of the motor, it needs to use one command (r) to read the
position and a different command (m) to change the position. In this case, the address should use the
readCommand;writeCommand format:
r;m
(The semi-colon here is a command separator and has nothing to do with the semi-colon required at the end of ESI commands.)
With this address, it will issue an "r?" command to read the position. If the user changes the position to
50, it will send out "m50". However, this presents a problem if the user changes the position to 6. The
"m" command requires 2 characters for the position (m06, not m6). In this case, use the optional format
specifier:
r;m;00
This will format the command to always be 2 characters, padded on the left with zeros.
TD110500-0MA
24
Folders
Folders are used to organize tree items. They are typically used to contain a single type of item, such as
all points on a device, all schedules, or all devices in a specific area.
Any type of item may be placed inside a folder, including other folders. On a system with many items it is
important to keep them organized for ease of use. One organizational system might be something like:
But there are no built-in limitations on how items are organized.
Settings Tab
Label
Label is the name of the item as displayed in the Device Tree.
All items in the Device Tree are sorted alphabetically by label.
Group Settings Tab
The group settings are used to determine which user groups can see this item in the tree. The default
setting is "Everyone". Unchecking "Allow Everyone" enables selecting individual groups.
If a user group is not allowed to see an item, that group will also not be able to see any items under it in
the tree.
There are "Check All" and "Uncheck All" buttons in the upper-right corner to make major changes easier.
Advanced Tab
Name
Name is used for advanced features. If left blank, it will be assigned automatically. It is recommended
that the default value not be changed.
It can be up to 48 characters. Only A–Z, a–z, 0–9, period (.) and underscore (_) are allowed. Names are
case sensitive.
TD110500-0MA
25
Graphics
Graphics allow for visual representations of areas, floors, buildings or hardware systems. There are
several components available including text labels, checkboxes, LED's, seven-segment displays, etc.
GIF Animations are also supported.
Settings Tab
Label
Label is the name of the item as displayed in the Device Tree.
All items in the Device Tree are sorted alphabetically by label.
There are two basic types of graphic screens:
Unique Graphic
A unique graphic is a the most common and simple type of graphic. Each unique graphic represents
exactly one area, floor or system. Changes made to a unique graphic do not affect any other graphic.
A different unique graphic would be used for each unique area or system, or even for very similar but not
identical floors of a building, VAV systems or rooftop systems.
Shared Graphic
A shared graphic would be used only for virtually identical VAV systems, floors or areas. Shared graphics
use a single data file that, when changed, affect all graphics that use the shared file.
The main advantage of a shared graphic is that one graphic can be designed and reused for an unlimited
number of identical areas. When a change needs to be made, all graphics that use the shared file are
updated automatically.
Shared graphics do allow for different text labels on each instance, but no other changes are
allowed between instances. There is no way to show components on one instance but not on
others. Consider using unique graphics if this is needed.
Shared Data File
This is the shared data file that should be used for this graphic. Click the "Select" button and select or
create a new data file to set this field.
Group Settings Tab
The group settings are used to determine which user groups can see this item in the tree. The default
setting is "Everyone". Unchecking "Allow Everyone" enables selecting individual groups.
If a user group is not allowed to see an item, that group will also not be able to see any items under it in
the tree.
There are "Check All" and "Uncheck All" buttons in the upper-right corner to make major changes easier.
Advanced Tab
Name
Name is used for advanced features. If left blank, it will be assigned automatically. It is recommended
that the default value not be changed.
It can be up to 48 characters. Only A–Z, a–z, 0–9, period (.) and underscore (_) are allowed. Names are
case sensitive.
TD110500-0MA
26
Groups Database
User access is controlled by a system of Groups and Users. Groups are defined with certain
permissions, and then users are added to those groups. Users must belong to at least one group to be
able to access the system at all.
The database screen has two sections: a list of groups on the left, and the settings editor on the right.
List of Groups
At the top of the list are tabs that may be used to organize groups. Right-clicking the tabs will display a list of
tab options including creating, deleting and renaming tabs and removing selected groups from a tab.
The "All" tab always contains all groups. It cannot be changed, deleted or renamed.
Right-clicking a group in the list will display a menu with the following options:
New Item
— Create a new group.
Delete Items
— Delete the selected group(s)
Duplicate Item — Duplicate the selected group. The name of the newly created group must then be
changed in the settings editor.
Filter List
— Allows entering text for filtering the list of users. Type any text and click "Ok" to
display only groups that contain that text.
Hold down the Ctrl key and click a group to select multiple groups. Hold down the Shift key and click
a group to select all groups from the highlighted group to the newly clicked group.
Settings Editor
Clicking a group in the list will fill the editor with the settings for that group. Once any changes have been
made to the settings, the changes must be applied or cancelled before clicking a new group in the list.
Group Name
This is the descriptive name for the group that will appear in the list, and on other screens that require
selection of groups.
Home Screen
The home screen is the graphic, trend or schedule that will be automatically loaded and displayed every
time a user in this group logs in. This can be overridden by a user with their personal settings if they have
'View Device Tree' access.
Behaviour is undefined if the user is in multiple groups with different home screen settings that are
not overridden by personal settings.
Maximum Open Graphics
This is the maximum number of graphics users in this group will be allowed to have open at the same
time. It is easy to forget to close graphics when changing screens. Setting this value low will help keep
the server more responsive to multiple users.
Permissions
This is the list of functions available to users. Check each function this group of users should be able to
access. There are "Check all" and "Uncheck all" buttons in the upper-right to make selecting easier.
TD110500-0MA
27
Links
Links are used to access other units, web pages or other web content.
Settings Tab
Label
Label is the name of the item as displayed in the Device Tree.
All items in the Device Tree are sorted alphabetically by label. Folders can be used to organize items.
URL
The URL of the link. Enter a complete URL including http:// if necessary. For links to other units, use the
format http://xxx.xxx.xxx.xxx. Do not include '/index.html' or '/index.pih'.
Display Node
The node ID of a graphic, schedule or trend to display on the linked unit. The node ID may be found on
the advanced tab of the nodes properties dialog on the target unit. Use 0 to display the default screen.
Open in new window
Opens the link in a new browser window.
Auto Login
Automatically log in to another unit using the current users name and password. The user must exist on
the linked unit and have the same name and password. This option should only be selected when linking
to other units, otherwise the link will not work properly.
Group Settings Tab
The group settings are used to determine which user groups can see this item in the tree. The default
setting is "Everyone". Unchecking "Allow Everyone" enables selecting individual groups.
If a user group is not allowed to see an item, the group will be unable to see any items under it in the tree.
There are "Check All" and "Uncheck All" buttons in the upper-right corner to make major changes easier.
Advanced Tab
Name
Name is used for advanced features. If left blank, it will be assigned automatically. It is recommended
that the default value not be changed. It can be up to 48 characters. Only A–Z, a–z, 0–9, period (.) and
underscore (_) are allowed. Names are case sensitive.
TD110500-0MA
28
LonWorks Device
This screen is used to configure access to a single device on a LonWorks network.
Settings Tab
Label
Label is the name of the item as displayed in the Device Tree.
All items in the Device Tree are sorted alphabetically by label. Folders can be used to organize items.
Neuron ID
The Neuron ID is the six pairs of hexadecimal numbers displayed on most LonWorks devices. It can
usually be found on a sticker somewhere on the device itself.
It should appear on the device as either six pairs of hexadecimal numbers (02 2B 49 8B 01 00) or as a
run of twelve numbers/letters (022B498B0100). Regardless of how it appears on the device, it should be
entered here as a single run of twelve digits(022B498B0100).
Description
Description is optional text that describes the item. It can be any descriptive text or be left blank.
Device Module (optional)
A device module is a custom written programming module that allows for access to complicated data
structures within a device. The normal addressing system will allow access to most data within a device,
but device modules may be needed for very complex data.
Addressing Tab
Domain ID, Subnet and Node
These addressing fields are initialized during device scanning and are not automatically updated or used
to access the device. They are shown here for reference only and must be manually updated.
Group Settings Tab
The group settings are used to determine which user groups can see this item in the tree. The default
setting is "Everyone". Unchecking "Allow Everyone" enables selecting individual groups.
If a user group is not allowed to see an item, the group will be unable to see any items under it in the tree.
There are "Check All" and "Uncheck All" buttons in the upper-right corner to make major changes easier.
Advanced Tab
Name
Name is used for advanced features. If left blank, it will be assigned automatically. It is recommended
that the default value not be changed. It can be up to 48 characters. Only A–Z, a–z, 0–9, period (.) and
underscore (_) are allowed. Names are case sensitive.
TD110500-0MA
29
LonWorks Driver
This screen is used to configure a BASV-LON interface to access a LonWorks network.
Settings Tab
Label
Label is the name of the item as displayed in the Device Tree.
All items in the Device Tree are sorted alphabetically by label. Folders can be used to organize items.
Description
Description is optional text that describes the item. It can be any descriptive text or be left blank.
Interface Serial #
This is the eight digit serial number found on the back of the BASV-LON interface. Enter it here as a
single run of eight numbers and letters (e.g., 85WZ03E4).
Be careful with letters and numbers that look similar, such as O/0, I/L/1, etc. If it seems to not be
communicating and the BASV-LON power light is not lit, check the serial number again.
Network Delay
The network delay can be used to throttle traffic on the BASV-LON interface.
The value specified here is the number of milliseconds to wait between network transmissions by the
BASV-LON. It may be set higher on busy networks or for slower devices causing read errors. It may be
set lower for faster point updates. Except in extreme conditions, it should be set to 100 or lower.
Domain
This is the domain ID the BASV-LON interface should be set to. It can usually be left blank, but if a router
is in use on this network, it should be set to match the domain of the router. The domain ID must be 0,1,3
or 6 pairs of hexadecimal digits (0–9, A-F). For example: B0, F21804 or E43C10563D92.
If the domain ID is set (non-blank) with no routers in use, the BASV-LON interface will be limited to
accessing only devices on that domain. This is useful in specialized cases, but is not normally desired.
Subnet/Node
This is the subnet and node the BASV-LON interface should be set to.
subnet/node that does not already exist on the network.
They can be set to any
The subnet and node must be set even if routers are not in use.
Group Settings Tab
The group settings are used to determine which user groups can see this item in the tree. The default
setting is "Everyone". Unchecking "Allow Everyone" enables selecting individual groups.
If a user group is not allowed to see an item, the group will be unable to see any items under it in the tree.
There are "Check All" and "Uncheck All" buttons in the upper-right corner to make major changes easier.
Advanced Tab
Name
Name is used for advanced features. If left blank, it will be assigned automatically. It is recommended
that the default value not be changed. It can be up to 48 characters. Only A–Z, a–z, 0–9, period (.) and
underscore (_) are allowed. Names are case sensitive.
TD110500-0MA
30
LonWorks Point Addressing
LonWorks addressing supports three separate modes:
Mode 1
Mode 1 is the standard mode and can be used with the majority of LonWorks points.
The format is:
1,NVindex,SNVT
NVindex = The Network Variable Index of the point.
SNVT = The Standard Network Variable Type of the point.
Example:
1,15,9
Mode=1, NV index=15, SVNT=9 (count_inc)
Mode 2
Mode 2 is the most flexible, but also the most complicated. It is used to access non-standard data
structures, or individual elements of standard data structures.
Many systems will not need to use this addressing mode and it can usually be ignored because most
points can be imported with a point scan or an XIF file import.
The format is:
2,NVindex,SNVT,Offset,DataType,[Extra]
NVindex = The Network Variable Index of the point.
SNVT = The Standard Network Variable Type to use when converting the data.
Offset = This is the offset (starting at 0) of the data within the data structure returned by the device
DataType = The raw data type of the data. See below for a list of supported data types.
[Extra] = Extra data required only if the data type is ASCII/International String or BitField
Supported data types are:
0 = Unsigned Short Integer — 1 byte
1 = Signed Sort Integer — 1 byte
2 = unsigned Long Integer — 2 bytes
3 = Signed Long Integer — 2 bytes
4 = Floating Point Number — 4 bytes
5 = ASCII String — Maximum length specified in "Extra" parameter
6 = Signed 32-bit Integer — 4 bytes
7 = BitField — 1 byte bit mask specified in "Extra" parameter
8 = Date — 4 byte date (year,month,day)
9 = Time — 3 byte time (hour,minute,second)
10 = TimeStamp — 7 byte time stamp (year,month,day,hour,minute,second)
11 = International String — Not currently supported. Treated as an ASCII string.
12 = Object — Any other type of data
13 = Unsigned 32-bit Integer — 4 bytes
TD110500-0MA
31
Examples:
2,12,9,4,0
Mode=2, NV index=12, SVNT=9 (count_inc), Offset=4, DataType=0 (unsigned short)
This example will read the data structure at NV Index 12, take a single byte (DataType 0)
starting at byte 4 in the structure, and convert it to a value of type count_inc (SNVT 9).
2,23,48,9,4
Mode=2, NV index=23, SVNT=48 (amp_f), Offset=9, DataType=4 (floating point)
This example will read the data structure at NV Index 23, take 4 bytes (DataType 4) starting
at byte 9 in the structure, and convert it to a floating point value (SNVT 48).
2,18,0,14,1,12
Mode=2, NV index=18, SVNT=0 (no conversion), Offset=14, DataType=0 (unsigned short), Extra=12
This example will read the data structure at NV Index 18, take 1 byte (DataType 0) starting
at byte 14 in the structure, and convert it to a raw integer value (SNVT 0, no conversion)
Bit Field Notes:
Bits are numbered from right to left. Bit 0 is the right-most, or least-significant bit.
For bit field data types the "Extra" value should be an 8-bit mask to logically AND with the raw data byte.
The result is always returned right-shifted to the lowest significant bit.
For example, with a bit mask of 12 (binary 00001100), the resulting value would always be between 0 and
3 because after the AND operation the result is right-shifted twice.
If the user changes the value it is automatically left-shifted twice, then AND/OR'd back in to the original raw
data before it is sent to the device. This allows the point to always be treated as an integer value and
avoids any manual shifting of bits.
As another example, if a single byte in the structure contains the status of 8 relays and you want a point
for the status of just relay 5, the mask would be 16 (binary 00010000). After the data is read from the
device, the value of the point will be 0 or 1 to reflect the state of the relay.
The best way to calculate a mask is to determine which bits are significant and use the Windows
calculator to translate it to a decimal value (the calculator may need to be changed to "scientific" mode).
String Notes:
For string data types the "Extra" value should be set to the maximum length of the string, including the
NULL terminator.
Mode 3
Mode 3 is only used with custom device modules. All available points will be imported during a device
point scan so the format is very simple and inflexible.
The format is:
3,pointName
pointName = The point name assigned to the point by the device module.
TD110500-0MA
32
Supported SNVTs
Below is a list of supported Standard Network Variable Types. See documentation from Echelon for more
information about these SNVTs.
1 — amp
2 — amp_mil
3 — angle
4 — angle_vel
5 — btu_kilo
6 — btu_mega
7 — char_ascii
8 — count
9 — count_inc
10 — date_cal
11 — date_day
12 — date_time
13 — elec_kwh
14 — elec_whr
15 — flow
16 — flow_mil
17 — length
18 — length_kilo
19 — length_micr
20 — length_mil
21 — lev_cont
22 — lev_disc
23 — mass
24 — mass_kilo
25 — mass_mega
26 — mass_mil
27 — power
28 — power_kilo
29 — ppm
30 — press
31 — res
32 — res_kilo
33 — sound_db
34 — speed
35 — speed_mil
36 — str_asc
37 — str_int
38 — telcom
39 — temp
40 — time_passed
41 — vol
42 — vol_kilo
43 — vol_mil
44 — volt
45 — volt_dbmv
46 — volt_kilo
47 — volt_mil
48 — amp_f
49 — angle_f
50 — angle_vel_f
51 — count_f
52 — count_inc_f
53 — flow_f
54 — length_f
55 — lev_cont_f
56 — mass_f
57 — power_f
58 — ppm_f
59 — press_f
60 — res_f
61 — sound_db_f
62 — speed_f
63 — temp_f
64 — time_f
65 — vol_f
66 — volt_f
67 — btu_f
68 — elec_whr_f
69 — config_src
70 — color
71 — grammage
72 — grammage_f
73 — file_req
74 — file_status
75 — freq_f
76 — freq_hz
77 — freq_kilohz
78 — freq_milhz
79 — lux
80 — ISO_7811
81 — lev_percent
82 — multiplier
83 — state
84 — time_stamp
85 — zero_span
86 — magcard
87 — elapsed_tm
88 — alarm
89 — currency
90 — file_pos
91 — muldiv
92 — obj_request
93 — obj_status
94 — preset
95 — switch
96 — trans_table
97 — override
98 — pwr_fact
99 — pwr_fact_f
100 — density
101 — density_f
102 — rpm
103 — hvac_emerg
104 — angle_deg
105 — temp_p
106 — temp_setpt
107 — time_sec
108 — hvac_mode
109 — occupancy
110 — area
111 — havc_overid
112 — havc_status
113 — press_p
114 — address
115 — scene
116 — scene_cfg
117 — setting
118 — evap_state
119 — therm_mode
120 — defr_mode
121 — defr_term
122 — defr_state
123 — time_min
124 — time_hour
125 — ph
126 — ph_f
127 — chlr_status
128 — tod_event
129 — smo_obscur
130 — fire_test
131 — temp_ror
132 — fire_init
TD110500-0MA
33
133 — fire_indcte
134 — time_zone
135 — earth_pos
136 — reg_val
137 — reg_val_ts
138 — volt_ac
139 — amp_ac
140 — reserved140
141 — reserved141
142 — reserved142
143 — turbidity
144 — turbidity_f
145 — hvac_type
146 — elec_kwh_l
147 — temp_diff_p
148 — ctrl_req
149 — ctrl_resp
150 — ptz
151 — privacyzone
152 — pos_ctrl
153 — enthalpy
154 — gfci_status
155 — motor_state
156 — pumpset_mn
157 — ex_control
158 — pumpset_sn
159 — pump_sensor
160 — abs_humid
161 — flow_p
162 — dev_c_mode
163 — valve_mode
164 — alarm_2
165 — state_64
166 — nv_type
167 — reserved167
168 — ent_opmode
169 — ent_state
170 — ent_status
171 — flow_dir
172 — hvac_satsts
173 — dev_status
174 — dev_fault
175 — dev_maint
176 — date_event
Modbus Point Addressing
Modbus point addressing is fairly simple for the majority of Modbus points, but can get complicated
because of inconsistencies in the way some devices implement the standard.
Important notes:
The documentation of some Modbus devices will list holding registers as 40,005 rather than just 5. If the
address given is greater than 40,000, you will usually need to subtract 40,000 from the number and use
HREG5 instead of HREG40005. The same is true for input registers being listed as 30,000.
There also seems to be differences in the way some devices address their points starting at zero and
others starting at one. Some devices will document a point as coil 1 (OUT1), but it will actually be coil 0
(OUT0). If in doubt, configure one point that should return a known value. If you do not get the correct
value, try to raise or lower the point number by one. If you then get a correct value, all of the point
addresses will need to be adjusted by the same amount.
Inputs and input registers are read-only.
Address Format
A valid address must have at least a point type and a point number:
OUT3
— Output #3 (Coil 3)
IN14
— Input #14
HREG205 — Holding register #205
IREG12
— Input register #12
For non-standard points, the following extra parameters may be specified for holding and input registers:
HREGxxx, FirstBit, NumberOfBits, DataType
(Bits are numbered from right to left. Bit 0 is the right-most, or least-significant bit.)
Examples:
HREG142,0,8,I (I = the letter i)
This example will read the 16-bit value from holding register 142, then take the 8 bits starting at bit 0 and
convert it to an integer (whole number) value.
HREG64,4,3,I (I = the letter i)
This example will read the 16-bit value from holding register 64, then take the 3 bits starting at bit 4 and convert
it to an integer (whole number) value. Note that the value (binary 0xxx0000) is automatically right-shifted so that
the value will always be between 0 and 7 (00000xxx). If the user changes the point value, it is automatically leftshifted back in to the proper position before being written to the device.
IREG41,0,32,F
This example will read two 16-bit values starting at input register 41, then take all 32 bits and convert it to a
floating point number
The valid data types are:
B
I
F
R
S
O
D
= Boolean (true/false)
= Integer
= Floating point
= "Reverse" floating point (required for some devices)
= String
= Object
= Date/Time
TD110500-0MA
34
Modbus Serial Device
This screen is used to configure access to a single device on a Modbus serial network.
Settings Tab
Label
Label is the name of the item as displayed in the Device Tree.
All items in the Device Tree are sorted alphabetically by label. Folders can be used to organize items.
Description
Description is optional text that describes the item. It can be any descriptive text or be left blank.
Address
The Modbus address of the device (1-254). This can usually be found by looking at DIP switches on the
device, or through the devices setup software.
Sentinel Point
The sentinel point is any valid point on the device that can be read to verify proper communications. This
is optional and if not specified, output #1 will be used. It is only used in cases of suspected
communications failure.
See Modbus Point Addressing for information on how to specify the sentinel point address.
Use Modbus function 6 to write data
Check this box to use Modbus function 6 (Preset Single Register) to write data rather than function 16
(Preset Multiple Registers). Some Modbus devices do not properly support function 16.
Leave this unchecked unless errors occur when writing point values to the device, or it is known that
function 16 is not supported.
Group Settings Tab
The group settings are used to determine which user groups can see this item in the tree. The default
setting is "Everyone". Unchecking "Allow Everyone" enables selecting individual groups.
If a user group is not allowed to see an item, the group will also be unable to see any items under it in the tree.
There are "Check All" and "Uncheck All" buttons in the upper-right corner to make major changes easier.
Advanced Tab
Name
Name is used for advanced features. If left blank, it will be assigned automatically. It is recommended
that the default value not be changed.
It can be up to 48 characters. Only A–Z, a–z, 0–9, period (.) and underscore (_) are allowed. Names are
case sensitive.
Node ID
The internal reference ID of this node (read-only)
Disable communication with this device
Check this box to prevent communications with this device. Uncheck for normal operation.
TD110500-0MA
35
Modbus Serial Driver
This screen is used to configure a BASV-MOD interface to access a Modbus serial network.
Settings Tab
Label
Label is the name of the item as displayed in the Device Tree.
All items in the Device Tree are sorted alphabetically by label. Folders can be used to organize items.
Description
Description is optional text that describes the item. It can be any descriptive text or be left blank.
Interface Serial #
This is the eight digit serial number found on the back of the BASV-MOD interface. Enter it here as a
single run of eight numbers and letters (e.g., 85WZ03E4).
Be careful with letters and numbers that look similar, such as O/0, I/L/1, etc. If it seems to not
be communicating and the BASV-MOD power light is not lit, check the serial number again.
Network Delay
The network delay can be used to throttle traffic on the BASV-MOD interface.
The value specified here is the number of milliseconds to wait between network transmissions by the
BASV-MOD. It may be set higher on busy networks or for slower devices causing read errors. It may be
set lower for faster point updates. Except in extreme conditions, it should be set to 100 or lower.
Domain
This is the domain ID the BASV-MOD interface should be set to. It can usually be left blank, but if a
router is in use on this network, it should be set to match the domain of the router. The domain ID must
be 0,1,3 or 6 pairs of hexadecimal digits (0–9, A-F). For example: B0, F21804 or E43C10563D92.
If the domain ID is set (non-blank) with no routers in use, the USB@485 interface will be
limited to accessing only devices on that domain. This is useful in some specialized cases, but is
not normally desired.
Subnet/Node
This is the subnet and node the USB@485 interface should be set to.
subnet/node that does not already exist on the network.
They can be set to any
The subnet and node must be set even if routers are not in use.
Group Settings Tab
The group settings are used to determine which user groups can see this item in the tree. The default
setting is "Everyone". Unchecking "Allow Everyone" enables selecting individual groups.
If a user group is not allowed to see an item, the group will be unable to see any items under it in the tree.
There are "Check All" and "Uncheck All" buttons in the upper-right corner to make major changes easier.
Advanced Tab
Name
Name is used for advanced features. If left blank, it will be assigned automatically. It is recommended
that the default value not be changed. It can be up to 48 characters. Only A–Z, a–z, 0–9, period (.) and
underscore (_) are allowed. Names are case sensitive.
TD110500-0MA
36
Modbus/TCP Device
This screen is used to configure access to a single device on a Modbus/TCP network.
Settings Tab
Label
Label is the name of the item as displayed in the Device Tree.
All items in the Device Tree are sorted alphabetically by label. Folders can be used to organize items.
Description
Description is optional text that describes the item. It can be any descriptive text or be left blank.
Address
The IP address of the device (example: 192.168.0.63).
Port
This is the TCP port used to access this device. The Modbus default is 502.
Unit ID (serial routers only)
This is the ID of the unit if it is behind a serial router. It should be set to zero if no serial routers are in use.
Sentinel Point
The sentinel point is any valid point on the device that can be read to verify proper communications. This
is optional and if not specified, output #1 will be used. It is only used in cases of suspected
communications failure.
See Modbus Point Addressing for information on how to specify the sentinel point address.
Use Modbus function 6 to write data
Check this box to use Modbus function 6 (Preset Single Register) to write data rather than function 16
(Preset Multiple Registers). Some Modbus devices do not properly support function 16.
Leave this unchecked unless errors occur when writing point values to the device, or it is known that
function 16 is not supported.
Group Settings Tab
The group settings are used to determine which user groups can see this item in the tree. The default
setting is "Everyone". Unchecking "Allow Everyone" enables selecting individual groups.
If a user group is not allowed to see an item, the group will be unable to see any items under it in the tree.
There are "Check All" and "Uncheck All" buttons in the upper-right corner to make major changes easier.
Advanced Tab
Name
Name is used for advanced features. If left blank, it will be assigned automatically. It is recommended
that the default value not be changed. It can be up to 48 characters. Only A–Z, a–z, 0–9, period (.) and
underscore (_) are allowed. Names are case sensitive.
Node ID
The internal reference ID of this node (read-only)
Disable communication with this device
Check this box to prevent communications with this device. Uncheck for normal operation.
TD110500-0MA
37
Modbus/TCP Driver
This screen is used to configure a connection to a Modbus/TCP network.
Settings Tab
Label
Label is the name of the item as displayed in the Device Tree.
All items in the Device Tree are sorted alphabetically by label. Folders can be used to organize items.
Description
Description is optional text that describes the item. It can be any descriptive text or be left blank.
Network Delay
The network delay can be used to throttle traffic on the Modbus/TCP network.
The value specified here is the number of milliseconds to wait between network transmissions. It may be
set higher on busy networks or for slower devices causing read errors. It may be set lower for faster point
updates. Except in extreme conditions, it should be set to 100 or lower.
Group Settings Tab
The group settings are used to determine which user groups can see this item in the tree. The default
setting is "Everyone". Unchecking "Allow Everyone" enables selecting individual groups.
If a user group is not allowed to see an item, the group will be unable to see any items under it in the tree.
There are "Check All" and "Uncheck All" buttons in the upper-right corner to make major changes easier.
Advanced Tab
Name
Name is used for advanced features. If left blank, it will be assigned automatically. It is recommended
that the default value not be changed. It can be up to 48 characters. Only A–Z, a–z, 0–9, period (.) and
underscore (_) are allowed. Names are case sensitive.
TD110500-0MA
38
Multi-State Point Wizard
Below are the settings for points with a point type of multi-state.
Multi-State Settings Tab
Multi-State Text
The multi-state text setting allows the point to be displayed as something other than numbers.
Several preset pairs of multi-state text labels are available in the drop-down box above the edit area. Any
custom labels may also be used by typing directly in the editing area.
The format for multi-state text labels is:
0:Off
1:Low
2:Medium
3:High
With the above example, if the value of the point is exactly 0,1,2 or 3, the corresponding word will be
displayed. If the value is less than zero, greater than 3, or not a whole number (for example, 2.5), the
point will display the exact numerical value.
For this point to modifiable by the user, the "Allow this point to be manually changed by
users" box needs to be checked on the "Modifications" tab.
Modifications Tab
The modification settings are used to determine if the value of this point may be modified by users, and
how to handle or restrict the allowed values.
Allow this point to be manually changed by users
This checkbox must be selected for the point to be modifiable by the user.
In/Out Calculations
In and out calculations are optionally used to convert raw point values from a device in to more useable
values.
For example, it is common for Modbus devices to represent a temperature as the actual temperature *10.
In this case, 75.5 degrees would be read from the device as 755.
To have this value treated properly, an In Calculation of @/10 would be used. The @ sign specifies
where in the calculation to insert the raw value from the device.
So in this example, it would calculate 755 / 10 for a result of 75.5. This calculated value is then used
everywhere else in the system instead of the 755, including on graphics, trends and alarms.
If the point is modifiable by the user, the Out Calculation should be the opposite of the In Calculation.
In this case it would be @*10.
If the user then changes the value of the point to 76.2, the calculation 76.2 * 10 would be executed and
the value 762 sent to the device.
TD110500-0MA
39
Point Addressing
Each protocol requires a different point addressing system. Select one of the following for more details.

LonWorks Point Addressing

Modbus Point Addressing

BACnet Point Addressing

ESI Point Addressing
Program Editor
Programs allows simple programs to be written to control setpoints, outputs and other points.
Every effort has been made to minimize the effects of user programming errors, but it is not
possible to protect against every programming error that may be made by users. Erroneous
programs could have undesired effects on equipment and devices, including but not limited to
short-cycling of outputs, setting of point values to invalid values, etc. The accuracy and proper
operation of user programming is the responsibility of the user and not the dealer, supplier or
manufacturer of Contemporary Controls BASview. Use of the programming feature is entirely at
your own risk.
For more information about how to write programs and the built-in functions available, see Programming
Reference.
Edit Tab
The edit tab is where the program options are set and the actual programming is entered.
Enable Execution Every x Seconds
Check the box to enable the program for execution. Unchecking the box prevents the program from
automatically executing. If the program is enabled, the seconds to wait between executions of the
program may be specified. It is recommended that the seconds be set to the highest value possible that
will allow for proper operation.
Keep in mind that it may take several seconds for all point values to be read, so executing a program
more often than every 5 seconds would usually be an unnecessary burden on the system. Also,
temperatures and some other types of points do not usually change very quickly so programs that depend
on their values may only need to execute every 30 or 60 seconds.
On Demand
If automatic execution is disabled, the program may still be executed "on demand" by checking this box.
"On demand" means it is only executed when a user clicks a button that is linked to this program on a
graphic screen. To link a graphic button to a program, drag the program node from the tree to a graphic
and select a Link Button control.
Status
This displays the current status of the program. If an error is displayed, see the debug screen for more
information.
Point Table
The point table lists up to 16 points that the program can use. Because the names used internally by the
system to identify points can be complicated and hard to remember or type, points are accessed in the
program by a simplified name called the Reference Name.
TD110500-0MA
40
For example, a point called "Unoccupied Cool Setpoint" in the tree, may have an internal name of
"/Drv.BACnet_Network_1/Dev.BACnet_Device2/ Pnt.Unoccupied_Cool_Setpoint". This name is long and
not easy to type, so the reference name is simplified to "Unoccupied_Cool_Setpoint".
Any time a reference name is used in a program, it must be prefixed with an "@" so the system knows a
point is being referenced rather than a local variable.
Rename a Point Reference
A reference name may be changed by clicking on that row of the table. This allows the reference name
to be simplified even more, for example to UnOccCool or anything that easier to remember and type.
Deleting a Point Reference
Right click a row in the table and select "Delete Item" to remove a point reference from the table.
Edit Program
Check this box to enable editing of the program code.
Code Editor
The code editor is a simple text editor where the program code may be entered and modified.
Debug Tab
The debug tab is where debug messages are displayed. The upper portion displays the current value of
all points used by the program as well as the value of the timer for this program and a few other items that
may be useful for debugging a program.
The lower portion displays error messages and debug messages generated by a program by calling the
debug() function.
Auto-Refresh
Uncheck this box to prevent the debug screen from updating. This will allow more time to read debug
messages that may quickly scroll off the screen. Check the box to re-enable updating.
TD110500-0MA
41
Programming Reference
The following is a reference guide on how to write programs for Contemporary Controls BASview. For
more information on setup and configuration of programming nodes in the tree, and an explanation of
"reference names" see Program Editor.
Overview
Programs for Contemporary Controls BASview are written using a modified version of the Python
programming language. Python is a very easy to learn language, but can scale up to more complicated
tasks when necessary. Contemporary Controls BASview itself makes extensive use of Python internally.
The following reference is designed to allow a new user to write simple programs. It is recommended that
users new to programming also view at least one tutorial on the Python language. Several of them may
be found on the Internet via Google. It is not necessary to learn the more complicated aspects of Python,
just the basics of structure and indentation, if/elif/else blocks and using simple functions.
The Python language used in the BASview has the following differences from normal Python:

It is based on version 2.4 of Python.

The "import" keyword has been disabled for security reasons.

A double underscore "__" is not allowed anywhere in a program.
Basic Rules
The following are some basic rules for a Python program.

Any text on a line after a # symbol is considered a comment and is ignored
Example:
bias = bias + 0.5

#This is a comment and ignored.
Python uses indentation (spaces or tabs) to define structure, rather than brackets or begin/end
keywords.
Example:
if setpoint > 65:
bias = 0.5
elif setpoint > 75:
bias = 0.7
else:
bias = 0.2
deadband = 2
output = output + bias
#note the required colon for if, elif and else
#part of the "if" condition
#elif means "else if"
#part of the "elif" condition
#do this if the other conditions are false
#still part of the "else" condition
#not part of the if/elif/else block
Any number of spaces may be used for indentation, but it must be consistent for each block. It is
recommended that a number be chosen and used in all programs (2 or 4 are popular choices).

Local variables do not need to be declared and can be of any data type (which can be changed).
Example:
myVariable = 50
myVariable = 6.5
myVariable = "test"

#myVariable is created as an integer
#then changed to a floating point number
#then to a string
All variables, functions and keywords are case-sensitive.
Example:
myVariable = myVariable +1
output = MyVariable
#increment myVariable
#Bug! "MyVariable" is undefined.
TD110500-0MA
42
Program Execution
Before the program is executed for the first time (after it is edited and saved, or after a reboot), all of the
points the program requires are read from the network and only then is the program executed. If one or
more points could not be read properly, because of an offline device or other reason, the program will not
be executed.
At each execution, the program is run from the top to the bottom and then ended. It does not loop back to
the top on the next execution, rather it is completely restarted.
Local Python variables and their values are not maintained between each execution of the program.
There is a way to remember variable values between executions. See "Saved Variables" below.
Each program is limited to a maximum of 3 seconds to fully execute and end. In practice, a program
should never be written to take anywhere near 3 seconds to execute because it will bog down the rest of
the system. Programs should never execute long "for" or "while" loops, or anything else that could take
more than a few milliseconds.
The 3 second timeout is a failsafe to keep a program from hogging resources. If a program takes longer
than 3 seconds, it will be shut down, flagged as disabled and not run again until it is modified and saved
or the unit is rebooted.
Simple Example
if getValue(@mySwitch)>0:
setValue(@myLights,1,3600)
overrideSchedule(@mySched,1,3600)
#Is the switch being pressed?
#override myLights on for 1 hour
#override schedule on for 1 hour
In the above example, the program will continually check the point "mySwitch" to see if it is being
pressed. If it is being pressed (if its value is greater than 0), the point "myLights" will be turned ON (set to
1) for 3600 seconds (1 hour) and the schedule "mySchedule" will also be overridden ON for 1 hour.
Something to note about the above example is the way points are read and written using "getValue" and
"setValue". Those functions are the only way to access points on the network.
getValue() will return the value of the point specified by the reference name. Note that the getValue
function does not go out and read the value of the point from the network. It has already been read and
stored before the program executed for the first time and it is continually updated in the background. On
a busy network, the stored value could possibly be several seconds old at any given time.
setValue() will set the value of the point specified by the reference name to the value given as the second
argument. An optional third argument may be used to set a timed override in seconds. If the override
time is not supplied, the value will be set until something changes it. Note that the point must have the
"Allow modifications" option checked in its properties screen for setValue to work.
Note that any time a point reference name is used, it must be prefixed with the @ symbol.
TD110500-0MA
43
Saved Variables
Normal Python variables in programs lose their value every time the program completes a run and are
undefined at the beginning of the next run. It is sometimes useful to be able to remember a value so it
may be used on the next execution of a program. This is supported by the setVariable and getVariable
functions.
setVariable("bias", 12.5)
myBias=getVariable("bias")
#store the value of bias
#get the value and store in myBias
Note the required quotes around the desired variable name ("bias"). These variables are local to this
program only. The same variable names can be used in many programs. Each program may have up to
10 saved variables.
Calling getVariable with a variable name that has not been defined will always return zero.
If a variable is no longer needed, use removeVariable("myVariable") to remove it from the list of saved
variables.
Here is an example that extends the override switch example above:
Do not use the following example before reading this entire section. It is potentially dangerous if not
set up properly.
if getValue(@mySwitch)>0:
isOverridden = getVariable("isOV")
if isOverridden:
release(@myLights)
releaseSchedule(@mySched)
setVariable("isOV",0)
else:
setValue(@myLights,1,3600)
overrideSchedule(@mySched,1,3600)
setVariable("isOV",1)
#Is the switch being pressed?
#get stored value
#if it is already overridden
#release myLights
#release schedule
#set isOV to 0
#if it is not overridden
#override myLights
#override schedule
#set isOV to 1
The above example uses getVariable and setVariable to remember if the override is currently active. If it is
not active and the switch is pressed it overrides the points. If the override is already active, it releases the
points from program control. The points will then fall back to the value the rest of the system determines
they should have (from a schedule, etc).
The effect of this to the user is that if he needs to stay late, he can press a switch to keep things running
for 1 more hour. If he then wants to leave 20 minutes later, he can hit the switch again to release the
points to their normally scheduled values.
The above example still has a potential problem. There is no check to see how long it has been since the
last change of override state. This means that if a user holds the switch down for 10 seconds, it could
override the points on then off several times before the user releases the switch.
This can be avoided by setting the program to execute every 10 seconds. But what if the user holds the
button for 20 seconds or someone later changes the execution interval to 1 second?
TD110500-0MA
44
The solution is to use the built in timer. Each program has its own timer that is continuously incremented
in the background. It will always return a value equal to the number of seconds the program has been
running (since it was saved, or since reboot), or since it was last cleared. Here is a safer example of the
above program:
if timer() > 60*5:
if getValue(@mySwitch)>0:
isOverridden = getVariable("isOV")
if isOverridden:
clearTimer()
release(@myLights)
releaseSchedule(@mySched)
setVariable("isOV",0)
else:
clearTimer()
setValue(@myLights,1,3600)
overrideSchedule(@mySched,1,3600)
setVariable("isOV",1)
#Have 5 minutes passed?
#Is the switch being pressed?
#get stored value
#if it is already overridden
#reset timer to 0
#release myLights
#release schedule
#set isOV to 0
#if it is not overridden
#reset timer to 0
#override myLights
#override schedule
#set isOV to 1
In the above example, the timer is checked to see if it has been more than 5 minutes since the override
state changed. If so, the program continues like in the previous example. If 5 minutes have not passed,
the program exits and the switch is never looked at. The key to making this example work is to clear the
timer every time the override state changes so it will stay that way for at least 5 minutes and not shortcycle the points.
Unfortunately, the program is still not perfect. If the user hits the override switch to override for 1 hour,
then 4 minutes later decides he is done and wants to leave, pressing the switch will have no effect and
the override will remain active for the full hour. This is a good example of the thought process necessary
for writing a solid program. Every possibility must be taken in to account or the results may not be what is
expected.
There really is no "best" solution for hitting the switch after 4 minutes. The timer check could be lowered
to 2 minutes, but it will still ignore it if the user presses it after 1 minute 50 seconds. This is not likely to
happen, and worst case the lights stay on 58 minutes longer than required. In this particular example it is
not a major problem if the switch press is missed so you may decide that this program is sufficient.
Global Variables
Global variables can be used to share values between programs. They work exactly like saved variables
except that there are maximum of 100 global variables and they are shared amongst all programs. If a
program sets a global variable called "bias" to 50, all other programs can read and modifty that value.
setGlobal("bias", 12.5)
#store the value of bias globally
A different program can then use:
myBias=getGlobal("bias")
#get the value and store in myBias
Calling getGlobal with a variable name that has not been defined will always return zero.
If a global variable is no longer needed, use removeGlobal("myVariable") to remove it from the list of
global variables.
TD110500-0MA
45
Built-in Functions
The following is a list of the built-in functions and a short description of each.
getValue(@referenceName)
Get the value of a point specified by the referenceName.
setValue(@referenceName, value, overrideTime=0)
Set the value of a point specified by the referenceName, to the value given in the second argument. An
optional override time in seconds may be given as a third argument. If the override time is not supplied,
or set to 0, the point will retain the value indefinitely. Note that the point must have the "Allow
modifications" option checked in its properties screen for setValue to work.
release(@referenceName)
Release the point specified by the referenceName from program control. The point will then fall back to
the value the rest of the system determines it should have (from a schedule, etc).
resend(@referenceName)
Forces the current value of the point specified by referenceName to be resent to the device, effectively
refreshing the point. Normally when a point is already ON, a second ON command will not resend the ON
state to a device. This function forces the ON to be resent.
overrideSchedule(@referenceName, state, timer=0)
Override the schedule specified by referenceName to the state (0 or 1) given in argument 2. An optional
override time in seconds may be given as a third argument. If the override time is not supplied, or set to
0, the schedule will remain overridden indefinitely.
releaseSchedule(@referenceName)
Release the schedule specified by the referenceName from program control. The schedule will then
revert to normal operation.
overrideAlarm(@referenceName, state, timer=0)
Override the alarm specified by referenceName to the state (0 or 1) given in argument 2. An optional
override time in seconds may be given as a third argument. Note that the timeout specified on the alarm
screen is still in effect. If the alarm timeout is 2 minutes, the alarm must be overriden for at least 2
minutes to become active.
releaseAlarm(@referenceName)
Release the alarm specified by the referenceName from program control. The alarm will then revert to
normal operation.
timer()
Returns the number of seconds the program has been running since it was saved, since reboot, or since
it was last cleared. Each program has its own timer that is continuously incremented in the background.
clearTimer()
Clear the timer for this program to 0.
debug(msg)
Send a text message to the debug window on the debug tab of the Program Editor. Note that the
message must be enclosed in quotes, for example: debug("This is a debug message"). To embed a
numeric value in a debug message, use the built-in Python str() function. Example: debug("Setpoint = " +
str(getValue(@mySetpoint))).
getVariable("name")
Read a saved variable. See "Saved Variables" above for more information. Returns zero if a variable
called "name" has not been previously set.
setVariable("name", value)
Set a saved variable. See "Saved Variables" above for more information.
removeVariable("name")
Remove a saved variable from the list. See "Saved Variables" above for more information.
TD110500-0MA
46
getGlobal("name")
Read a global variable. See "Global Variables" above for more information. Returns zero if a variable
called "name" has not been previously set.
setGlobal("name", value)
Set a global variable. See "Global Variables" above for more information.
removeGlobal("name")
Remove a global variable from the list. See "Global Variables" above for more information.
disable()
Disable this program. It will never execute again until it is manually enabled in the Program Editor.
year()
Return the current year as an integer (e.g. 2009).
month()
Return the current month as an integer (1-12).
day()
Return the current day of the month as an integer (1-31).
hour()
Return the current hour as an integer (0-23).
minute()
Return the current minute as an integer (0-59).
second()
Return the current second as an integer (0-59).
dayOfWeek()
Return the current day of week as an integer (Monday = 0).
dayOfYear()
Return the current day of the year as an integer (1-366).
time()
Returns the number of seconds since midnight on January 1st, 1970 as a floating point number.
clearRuntime(@referenceName)
Clear the accumulated runtime hours for the Runtime object specified by referenceName.
firstRun()
Returns 1 if this is the first time the program has been executed since the last time it was edited and
saved, or since the last reboot. It is useful for initializing saved variables:
if firstRun():
setVariable("Bias",50)
setVariable("myVariable",92.7)
A firstRun can also be simulated with the "restart()" function (see below).
restart()
Resets the internal firstRun flag so for the next execution of the program firstRun() will return 1. This is
useful to reinitialize saved variables.
setDefaultValue(@referenceName, value, timer=0)
Set the default value for the point specified by referenceName. The default value is the value the point
will have if nothing else is controlling it, such as a schedule or program. If a point is released from
program control using the "release()" function and nothing else is controlling it, this default value will be
sent to the point.
releaseDefault(@referenceName)
Clear the default value of the point specified by the referenceName. If a point is released using the
"release()" function, nothing else is controlling it and it has no default value, it will retain the last value sent
by the program indefinitely.
TD110500-0MA
47
Programs
Programs allows simple programs to be written to control setpoints, outputs and other points.
Program Editor for more information.
See
Settings Tab
Label
Label is the name of the item as displayed in the Device Tree.
All items in the Device Tree are sorted alphabetically by label. Folders can be used to organize items.
Description
Description is optional text that describes the item. It can be any descriptive text or be left blank.
Group Settings Tab
The group settings are used to determine which user groups can see this item in the tree. The default
setting is "Everyone". Unchecking "Allow Everyone" enables selecting individual groups.
If a user group is not allowed to see an item, the group will be unable to see any items under it in the tree.
There are "Check All" and "Uncheck All" buttons in the upper-right corner to make major changes easier.
Advanced Tab
Name
Name is used for advanced features. If left blank, it will be assigned automatically. It is recommended
that the default value not be changed. It can be up to 48 characters. Only A–Z, a–z, 0–9, period (.) and
underscore (_) are allowed. Names are case sensitive.
TD110500-0MA
48
Runtime Editor
The runtime editor allows editing of the settings of a runtime accumulator. A set of conditions are defined
(such as a fan running) and when the conditions are true, the runtime is incremented to keep track of how
long a piece of equipment has been used.
Runtime can also server other purposes. For example, a condition of "Temperature1 is greater than
Setpoint1" could be set up and the runtime will be equal to the number of hours a temperature has
exceeded setpoint.
Status Tab
The status tab contains:

The limit, in hours, defined for this runtime.

The number of accumulated hours, and the percentage of the limit of runtime so far.

A clear button to reset the runtime hours to 0.

A refresh button to update the status on the screen.

The last message generated by the runtime.
Conditions Tab
This is where the alarm conditions are specified.
There are two modes for the conditions:

All conditions are true — Runtime will be accumulated if every condition evaluates to true.

Any condition is true — Runtime will be accumulated if any of the conditions evaluates to true.
The condition(s) must be true for runtime to be accumulated.
Up to six conditions may be entered. Click the "+" or "X" buttons to add or delete conditions. Each
condition contains the following fields:

Point — A point must be dragged from the device tree and dropped here. The value of this point
is what will be tested.

Comparison — This is the comparison that will be performed.

Comparison Value — This is what the point value will be compared with.
The comparison value can be any one of the following:

Numerical Value — Type any valid numerical value.

Another Point — Drag a point from the tree to compare with its current value. For digital and
multi-state points, click the drop-down list to display the valid values.

Value Range — For the in/out of range comparisons, type the low value and the high value
separated by a comma (e.g.: 50,100).

Value List — For the is/is not in list comparisons, type a list of values separated by commas (e.g.
1,2,3,5,85,1000).
Floating point values (e.g. 72.5) are valid, but will not always give the desired results. What
displays on the screen as 72.5 may actually be 72.499854 because of the way computers round
numbers. Testing a point value for equality with 72.5 will most likely always be false. Use
"greater than", "less than" or a value range instead.
TD110500-0MA
49
Runtime Limit
This is the number of hours considered the limit for this runtime. Email alerts may be sent at specified
percentages of this limit. See the Notifications tab for more information.
Message Tab
Message
This is the message that is saved to the database and emailed when the runtime is exceeded, or at
specified intervals.
The message may contain the following codes to embed information within the text:
@Vx — The value of the point (the point on the left-side).
@Cx — The comparison value (the point or value on the right side).
@R
— The current runtime, in hours.
@L
— The runtime limit specified on the conditions tab.
x = condition number
Example:
"@V1 filter needs cleaned." will be recorded as "Fan1 filter needs cleaned".
Example:
"@V1 has accumulated @R hours of runtime." will be recorded as "Fan1 has accumulated 114.35 hour of runtime.".
Notifications Tab
Email to Groups
Select the list of user groups that should receive runtime messages. Every person in the group that has
an email address in the user database will receive the messages.
Additional Email Addresses
Any additional email addresses that should receive the messages may be typed here.
Notify at...
This is the percentage of limit to record the first message. For example, with a limit of 1,000 hours and
this value set to 90%, the first message recorded would be at 900 hours.
Notify again every...
This is the percentage of limit to record messages after the first. Using the above example, and this value
set to 5%, a message would be recorded at 90%, 95%, 100%, 105%, etc.
TD110500-0MA
50
Runtimes
Runtimes monitor a set of user-defined conditions and increments a timer while the conditions are true,
and optionally sends email alerts when the accumulated time exceeds a specified limit.
Once the runtime has been added to the tree, left-click it to edit the conditions. See Runtime Editor for
more information.
Settings Tab
Label
Label is the name of the item as displayed in the Device Tree.
All items in the Device Tree are sorted alphabetically by label. Folders can be used to organize items.
Description
Description is optional text that describes the item. It can be any descriptive text or be left blank.
Group Settings Tab
The group settings are used to determine which user groups can see this item in the tree. The default
setting is "Everyone". Unchecking "Allow Everyone" enables selecting individual groups.
If a user group is not allowed to see an item, the group will be unable to see any items under it in the tree.
There are "Check All" and "Uncheck All" buttons in the upper-right corner to make major changes easier.
Advanced Tab
Name
Name is used for advanced features. If left blank, it will be assigned automatically. It is recommended
that the default value not be changed. It can be up to 48 characters. Only A–Z, a–z, 0–9, period (.) and
underscore (_) are allowed. Names are case sensitive.
TD110500-0MA
51
Schedules
Schedules allow for control of several points based on the time of day. Schedules are either active or
inactive. Active means the current time of day falls within one of the specified time periods.
Up to 32 points can be controlled by each schedule. An active and inactive value may be defined for
each point. For example, the schedule is active from 8am to 6pm and a setpoint is modified to 72 during
active periods and to 78 during inactive periods.
Clicking the "Apply" button will save all changes on all tabs of the schedule.
Normal Hours Tab
Normal hours are the default times for each day of the week. Special exception dates may be defined on
the "Exceptions" tab (see below).
Each day of the week has a horizontal bar where time periods are displayed and can be changed if the
current users access permits it.
Above the bars is a header that displays the time of day the mouse is pointing to as it is moved over the
bars, or if the mouse is pointing at an existing time period, the header shows the starting and ending time
for that period.
Normally, the time the mouse points to is rounded to the nearest 15 minutes (0,15,30 and 45 after
each hour). Holding down the Ctrl key will force it to round at 5 minute intervals. Depending on the
resolution of the mouse, some time values may be difficult to pinpoint at 5 minute intervals. In these
cases, select a time close to the desired time and then right-click the marker and select "Edit Marker".
This allows typing an exact time.
Adding Time Periods
To add a new time period, move the mouse until the desired start time appears in the header, then hold
the left mouse button down while dragging the mouse to the desired ending time.
Multiple days can be set at the same time by dragging the mouse over all the days that should be included.
For example, click and hold the left mouse button on Monday at 8am, then drag it to 5pm on Friday.
Editing Time Periods
To edit an existing time period, click the left mouse button on a starting or ending time marker and drag
the mouse to the new time while holding the left button down.
Adding a new time period that overlaps an existing time period will merge the two. For example, with an
existing time period of 8am to 5pm, clicking anywhere within the time period and dragging the mouse to
8pm will extend the existing time period to 8pm.
Any starting or ending time marker may be right-clicked to display a menu. The menu option "Edit
Marker" may be used to edit that time by typing a new value.
Right-clicking on the schedule will display a popup menu. Depending on where it is clicked, the menu will
contain some of the following options:

Edit Marker — (Only when right-clicking a marker) Allows editing the time of the marker in 1
minute intervals by typing a new value. Also allows making the time for this marker depend on the
local sunrise/sunset times. Note that the longitude and latitude settings in the "Set Time/Location"
selection of the Admin menu must be correct for the sunrise/sunset times to be accurate.

Delete Active Period — (Only when right-clicking an active time period) Deletes the time period
that was clicked.

Clear Entry — Clears all time periods on the bar that was clicked.

Clear Page — Clears the entire page of all time periods.
TD110500-0MA
52
Exceptions Tab
An exception is a single date or a range of dates where the desired active periods differ from the normal
schedule. Examples of exceptions would be holidays or special events. Up to 32 exceptions may be
defined on each schedule.
Clicking anywhere on an empty exception entry will create a new exception and allow selecting the
date(s) for the exception.
Exception time periods are created and edited the same way as normal time periods. See above for more
information.
An exception with no times defined is a "closed" period. The schedule will remain inactive all day.
Points
The points list displays all points affected by this schedule, the active/inactive values of each point and
the number of seconds by which to offset the changing of this point.
Offsets allow points to be staggered on or off to minimize demand spikes. Please note that offsets cannot
cross midnight in either direction. With an inactive time of 11:59pm and an offset of +120 seconds, the
point will follow the next day’s schedule at 12:00am and not honour the offset of the previous day. Also
note that offsets that cause an overlap with another active period may not have the expected results.
Offsets are also useful for simplifying schedules. A single schedule can be set to the open and close time
and the offsets used to turn on the fans 60 minutes before opening (-3600 seconds), the lights at open
time (0 seconds) and change the setpoint 2 hours later (+7200 seconds).
Drag a point from the device tree and drop it anywhere on the points list to add it to the bottom of the list.
Right-clicking on a point in the list will display a popup menu with the following options:

Edit Entry

Clear Entry — Removes the selected point from the list.

Clear Page — Clears the entire page of all points.
— Allows editing the active/inactive values of the selected point.
Resend Point Values
The resend point value option will resend the point values of all points at the specified interval. This can
be useful to automatically refresh setpoints that users may have changed and other similar
circumstances. Setting the interval to 0 will disable refreshes.
Refreshing many points at small intervals can slow the network. Be careful how this option is used.
TD110500-0MA
53
Schedule Wizard
Schedules allow users to set active and inactive periods for each day of the week, and special exception
dates, or holiday periods.
Schedules allow multiple points to be changed to one set of values when the schedule is active, and
another set of values when inactive.
Once the schedule has been added to the tree, left-click it to edit it. See Edit Schedules for more
information.
Settings Tab
Label
Label is the name of the item as displayed in the Device Tree.
All items in the Device Tree are sorted alphabetically by label. Folders can be used to organize items.
Description
Description is optional text that describes the item. It can be any descriptive text or be left blank.
Group Settings Tab
The group settings are used to determine which user groups can see this item in the tree. The default
setting is "Everyone". Unchecking "Allow Everyone" enables selecting individual groups.
If a user group is not allowed to see an item, the group will be unable to see any items under it in the tree.
There are "Check All" and "Uncheck All" buttons in the upper-right corner to make major changes easier.
Advanced Tab
Name
Name is used for advanced features. If left blank, it will be assigned automatically. It is recommended
that the default value not be changed. It can be up to 48 characters. Only A–Z, a–z, 0–9, period (.) and
underscore (_) are allowed. Names are case sensitive.
TD110500-0MA
54
Site Settings
The site settings are only used in the Info screen. They are for informational purposes only and do not
affect the operation of the system.
General Tab
Site Description
This should be a general description or name of the site.
Address/Details
This should be set to the address of the site and can contain any other information desired.
Contacts Tab
Emergency Contacts
This should be the contact information of one or more people to contact in case of an emergency.
Service Tab
The service tab contains information about the company that installed the system or the company
responsible for servicing the site.
Service Contact
This should be the contact information of the service company.
Service URL
This can be the URL (web site address) of the service company. It must be a full URL (with the http://).
Upload Image
Click this button to upload a small image or company logo to display in the service tab on the Info Page.
String Point Wizard
Below are the settings for points with a point type of string.
String Settings Tab
Allow this point to be manually changed by users
This checkbox must be selected for the point to be modifiable by the user.
TD110500-0MA
55
Templates
Templates are a powerful tool to make system setup easier. Any item in the device tree may be right-clicked
and saved as a template. That item can then be quickly recreated without worrying about the details.
For example, a temperature setpoint for the first floor may be defined, including a label, description,
modify limits and calculations to convert from Fahrenheit to Celsius. It may then be right-clicked and
saved as a template.
To create a similar setpoint for the second floor, select "New Point" from the device tree and click the
"Template" button. Select the saved template to recreate it and change the name if desired. Right-click
the new point and change the address to match the address of the setpoint on the device and it is done.
Saving a driver, device or folder as a template will save all sub-items beneath it in the tree as a single
template. It may then be restored to quickly duplicate it.
For example, if a network has 20 VAV box devices, set one up, including all points, graphics, schedules,
alarms, etc. and save it as a template. Then right-click the driver in the tree, select "New Device" and
click the "Template" button on the device editor screen. Select the saved template to fully recreate a
second VAV box device. Only the address of the device must be changed for it to be fully functional.
When an item is created from a template, it uses the template as it exists at that time. Changing a
template later will have no effect on items previously created from it. For this reason, it is important to fully
test an item before duplicating it with templates. Otherwise, the duplicated items will have to be deleted
and re-created to reflect changes made to a template.
Toolbar
The toolbar at the top of the screen is used to access several features. The exact buttons displayed will
depend upon the access permissions of the current users.
Home — Display the "home" page of the current user. This will be the screen defined in the group
the user belongs to or the screen the user has selected in his personal settings. If neither of those
have been defined, it will display the Site Information page.

Info Screen — Display the Site Information page, which contains information about the site and the
user’s personal preference settings.

Logoff — Logs the current user out of the system and returns to the login screen.

User Database — Displays and allows editing of the user database.

User Groups Database — Displays and allows editing of the user groups database.

Administrator Menu — Contains a menu of advanced functions.

Alarm Database — View the alarms stored in the alarm database. If there are any active alarms,
this button will flash and display the number of active alarms. Click the button to display the
database and stop the flashing.

Runtime Status — View the current status of all runtimes. If there are runtimes over their limit, this
button will flash and display the number of over-limit runtimes. Click the button to display the
database and stop the flashing.
Help — Displays help for the currently displayed screen.
TD110500-0MA
56
Trends
Trends automatically record point values at specified intervals to allow for later viewing. Both a graphical
line chart and a tabular text view are available.
Chart Tab
Depending on the way it is configured, the chart tab displays either one or two separate charts. The
upper chart normally displays analog values such as temperatures. The lower chart displays digital
(On/Off) values, and values with low, small ranges such as equipment modes (Off/Heating/Cooling) or
status (Off/On/Auto).
There is a divider bar between the two charts that may be used to resize the charts.
The left side of a chart shows the value scale. Along the bottom of a chart is the time scale. Both scales
are automatically adjusted to fit the data currently displayed.
In the background is a grid to show where the value and time scales intersect. Hover the mouse over the
intersection of a chart line and a grid line to display information about the value at that time.
Toolbar
— Export trend data to a .CSV file suitable for viewing in Excel or other spreadsheet.
— Select the start of the trend data to be viewed. The amount of data shown will depend on the
interval at which the data is recorded.
— Show or hide lines on the chart. This can be useful when some lines are obscuring others.
— Scroll back one screen of data.
— Scroll forward one screen of data.
Data Tab
The data grid displays the same data as the chart, but in a tabular text format. The first column is the
date/time of the reading. Each point is then listed in order, from left to right.
Any of the column headers may be clicked to sort the data by that field. Clicking the header a second
time will reverse the sort order.
If there is more data than can fit on the screen, a scroll bar will appear to allow scrolling through the data.
A mouse wheel may also be used to scroll.
Points Tab
The Points tab is used to configure the trend. Up to six point may be specified for a trend.
Points Column
Drag a point from the device tree and drop it in one of the slots. Dropping a point on a slot already in use
will replace the old point with the new point.
Changing or deleting points will erase any previously recorded data for that point that is stored with
this chart. The recorded data for the same point on other charts will not be affected.
Right-click a slot to clear the point assigned to that slot, or to clear all points from all slots.
TD110500-0MA
57
Chart Selection Column
Points may be forced to appear in either the upper or lower chart. Select "Auto" to have the trend
automatically decide which chart it should appear in based on the values of the data.
Colour Selection Column
Each point can have a specific colour assigned to it. Click a colour box to select a new colour.
Recording Interval Selection
Click the drop-down list to select a recording interval. The list displays the recording interval as well as
the time span that will be saved at that interval. When the recording limit is reached, older data is
replaced with new data.
Trends Wizard
Trends read and store point values at specified time intervals and allow the stored data to be viewed as a
line chart, or as tabular data.
Once the trend has been added to the tree, left-click it to edit it. See Trends for more information.
Settings Tab
Label
Label is the name of the item as displayed in the Device Tree.
All items in the Device Tree are sorted alphabetically by label. Folders can be used to organize items.
Description
Description is optional text that describes the item. It can be any descriptive text or be left blank.
Group Settings Tab
The group settings are used to determine which user groups can see this item in the tree. The default
setting is "Everyone". Unchecking "Allow Everyone" enables selecting individual groups.
If a user group is not allowed to see an item, that group will also not be able to see any items under it in
the tree.
There are "Check All" and "Uncheck All" buttons in the upper-right corner to make major changes easier.
Advanced Tab
Name
Name is used for advanced features. If left blank, it will be assigned automatically. It is recommended
that the default value not be changed. It can be up to 48 characters. Only A–Z, a–z, 0–9, period (.) and
underscore (_) are allowed. Names are case sensitive.
TD110500-0MA
58
Users Database
User access is controlled by a system of Groups and Users. Groups are defined with certain permissions,
and then users are added to those groups. Users must belong to at least one group to be able to access
the system at all.
The database screen is divided into two sections: a list of users on the left, and the settings editor on the right.
List of Users
At the top of the list are tabs that may be used to organize users. Right-clicking the tabs will display a list
of tab options including creating, deleting and renaming tabs and removing selected users from a tab.
The "All" tab always contains all users. It cannot be changed, deleted or renamed.
Right-clicking a user in the list will display a menu with the following options:

New Item
— Create a new user.

Delete Items
— Delete the selected user(s)

Duplicate Item — Duplicate the selected user. The name of the newly created user must then
be changed in the settings editor.

Filter List
— Allows entering text for filtering the list of users. Type any text and click "Ok"
to display only users that contain that text.
Hold down the Ctrl key and click a user to select multiple users. Hold down the Shift key and click a
user to select all users from the highlighted user to the newly clicked user.
Settings Editor
Clicking a user in the list will fill the editor with the settings for that user. Once any changes have been
made to the settings, the changes must be applied or cancelled before clicking a new user in the list.
Settings Tab
Full Name
This is the full name of the user. It will appear in the list to the left.
Username
This is the username used to log in to the system.
Password/Confirm Password
This is the password used to log in to the system.
For security reasons, passwords are not stored as text and are not recoverable. If a user forgets their
password, a new password must be entered here.
Group Membership
This is the list of groups to which this user belongs. The user will be able to access all functions that all
group they belong to can access.
Check each group to which this users should belong. There are "Check all" and "Uncheck all" buttons in
the upper-right to make selecting easier.
TD110500-0MA
59
The Administrator always has access to all functions and belongs to all groups.
membership cannot be changed.
Contact Tab
Email Address
This email address of the user must be accurate for this user to receive email from the system.
Contact Information
This can be any contact information desired for this user.
TD110500-0MA
60
His group