Technical Reference Guide
Technical Reference Guide
Technical
Reference Guide
04-16006-04-en
March 2015
StruxureWare Building Operation
Technical
Reference Guide
04-16006-04-en
March 2015
Copyright © 2015 Schneider Electric. All rights reserved.
The Schneider Electric brand and any registered trademarks of Schneider Electric Industries SAS referred to in this guide are the sole property of Schneider
Electric SA and its subsidiaries. They may not be used for any purpose without the owner's permission, given in writing. This guide and its content are
protected, within the meaning of the French intellectual property code (Code de la propriété intellectuelle français, referred to hereafter as "the Code"), under
the laws of copyright covering texts, drawings and models, as well as by trademark law. You agree not to reproduce, other than for your own personal, non-
commercial use as defined in the Code, all or part of this guide on any medium whatsoever without Schneider Electric's permission, given in writing. You also
agree not to establish any hypertext links to this guide or its content. Schneider Electric does not grant any right or license for the personal and non-
commercial use of the guide or its content, except for a non-exclusive license to consult it on an "as is" basis, at your own risk. All other rights are reserved.
Trademarks and registered trademarks are the property of their respective owners.
Contents
Introduction
1 About This Guide ....................................................... 117
1.1 Purpose of This Guide ............................................................... 119
1.2 How This Guide is Organized .................................................... 120
1.3 Typographical Conventions ....................................................... 121
Reference
3 Building Operation Servers ......................................... 131
3.1 Server Overview ........................................................................ 133
3.1.1 Project Configuration Server .................................................... 135
3.1.2 Enterprise Server .................................................................... 135
3.1.3 Automation Server .................................................................. 135
3.1.4 Server System ........................................................................ 135
3.1.5 Automation Server Web Configuration Page ............................ 135
3.2 Enterprise Server ...................................................................... 136
3.2.1 Engineering ............................................................................. 136
3.2.2 Features ................................................................................. 136
3.2.3 The Enterprise Server in Context ............................................. 137
3.3 Server System .......................................................................... 138
3.3.1 Server Communication ............................................................ 139
3.3.2 Server Status .......................................................................... 139
3.3.3 Server Management ................................................................ 139
3.4 Server Management .................................................................. 140
3.5 Device Discovery ....................................................................... 141
3.6 Automation Server .................................................................... 142
3.6.1 Central I/O and Field Busses ................................................... 142
3.6.2 Features ................................................................................. 143
3.6.3 SNMP ..................................................................................... 144
3.6.4 Automation Server Upgrade .................................................... 145
3.7 Creating an Automation Server .................................................. 146
Topics
Purpose of This Guide
How This Guide is Organized
Typographical Conventions
1 About This Guide
1.1 Purpose of This Guide
Introduction
The Introduction part contains information on the purpose of this guide, how this
guide is organized, where to find more information, and information on regulatory
notices.
Reference
The Reference part contains conceptual information, procedures, user interface
descriptions and troubleshooting information. If you want more information, see
WebHelp or the other Building Operation Reference Guides.
Tip
Helps you understand the benefits and capabilities of the product.
Note
Provides you with supplementary information.
Important
Alerts you to supplementary information that is essential to the completion of a
task.
Caution
Alerts you to a condition that can cause loss of data.
Warning
Alerts you to a condition that can cause product damage or physical harm.
Bold texts:
User interface items, such as property names and buttons, are written in bold, for
example "On the File menu, select New."
Topics
Where to Find Additional Information
Regulatory Notices
2 Additional Information
2.1 Where to Find Additional Information
Finding information
The easiest way to find information on WebHelp is to search for it.
UL 916 Listed products for the Unites States and Canada, Open
Class Energy Management Equipment.
Industry Canada
ICES-003
This is a Class B digital device that meets all requirements of the Canadian
Interference Causing Equipment Regulations.
Topics
Server Overview
Enterprise Server
Server System
Server Management
Device Discovery
Automation Server
Creating an Automation Server
Creating an Automation Server from a Backup Set
Deleting an Automation Server
Renaming a Server
Connecting to an Automation Server Using the USB Device
Port
Connecting to an Automation Server Using the IP Network
Saving a List of Automation Servers
Restoring a List of Automation Servers
Setting Device Log On Options
Getting Automation Server Debug Information
Identifying the Automation Server IP Address
Setting the Automation Server IP Address
Configuring an Automation Server to Use DHCP
Configuring the Time for an Automation Server with Factory
Settings
Restoring the Software of a Damaged Automation Server
Creating an SNMP User
Automation Server Upgrade
Server Object Properties
Displaying CPU and System Memory Usage
3 Building Operation Servers
3.1 Server Overview
Create Projects X
Continued
Task Project Enterprise Server Automation
Configuration Server
Server
Bind values X X X
Use binding X X X
templates
Create Enterprise X
Server
Create Automation X X -
Server
Download, X X
commission, and
upload device
configuration
Run programs X X
Store logs X X
Control I/O - X
Important
Ensure that you have a working and available Enterprise Server license. A working
license is required to start the Enterprise Server. For more information, see the
Licenses topic on WebHelp.
3.2.1 Engineering
You can log into the Enterprise Server and engineer the entire system. Through the
Enterprise Server you can access and engineer any resource, any Automation
Server, and any resource that resides under an Automation Server.
You can also log into to an Automation Server directly, and perform engineering
tasks locally. However, the Automation Server has a lesser range of engineering
features, and you can only access the resources of that specific Automation Server.
3.2.2 Features
The Enterprise Server provides features for system supervision, and tools for
engineering.
Live Features
These are the live features of the Enterprise Server:
• Global view and access
• Program runtime environment
• Centralized alarms and data management:
– Manage alarms from multiple servers
– View extended trend logs from multiple server
– View event logs from multiple servers
– Store historical data from multiple servers
• Capable of monitoring field bus:
– Connects to Lon field bus through RNI, L-IP, or NIC network interface
– Connects to BACnet field bus through a BACnet/IP router
Engineering Features
These are the engineering features of the Enterprise Server:
• Automation Server management
• Tools for device discovery and commissioning
• Programming editors
• Binding tool
• Graphic Editor
• User management
• Domain management
• Windows Active Directory integration
Move server No No No
a) Not recommended.
b) A server can be renamed if it is a stand-alone server in the system. You can rename the Enterprise
Server as long as you have not yet added any Automation Servers.
Note
When changing the name of a folder or server, you also have to reconfigure users
and user groups path permissions to this server or folder. For more information,
see the Path Permissions topic on WebHelp.
3.6.2 Features
The Automation Server facilitates features for automation control, monitoring, and
tools and services that you can use for local engineering.
Live Features
These are the live features of the Automation Server:
• Local view and access
• Program runtime environment
• Alarms and data management:
– Manage local alarms
– View local trend logs
– View local event logs
– Store historical data in local database
• Capable of controlling central I/O
• Capable of monitoring field bus
– Connects to the LonWorks field bus through port
3.6.3 SNMP
Simple Network Management Protocol (SNMP) is an Internet-standard protocol for
managing devices on IP networks.
SNMP traps enable an agent to notify the management station of significant events
by way of an unsolicited SNMP message.
The Automation Server supports the following SNMP traps:
• ColdStart: The Automation Server is restarted.
• LinkUp: The Automation Server is up and running.
• AuthenticationFailure: Someone has made unsuccessful attempts to log on to
the Automation Server.
To be able to use SNMP for supervising Automation Server, you must use a
management information base (mib) file. The mib-file translates the binary
information from the Automation Server to readable text. The mib-file for Building
Operations is called sboProductMib.mib, and can be found on Download Center.
Figure: The SNMP user, the MIB-file and the SNMP manager tool.
To be able to send information from the Automation Server to the SNMP managing
system, you must create a user on the Automation Server that the SNMP manager
system uses to connect to the Automation Server.
You can log all access attempts to the SNMP server in the System log.
Important
• If the Automation Server has been assigned a dynamic IP
address, use the fully qualified domain name of the server
instead of the IP address.
7. In the Protocol box, select a protocol for the server. For more information,
see section 4.1 “Server Communication” on page 173.
8. In the Port box, enter a port number.
9. Click Create.
10. In the Password box , type the custom password if required.
Important
You have to backup the Automation Server whose backup set you want to reuse
before starting to create the new Automation Server.
For more information, see section 3.6 “Automation Server” on page 142.
6. In the Address box, type the IP address or fully qualified domain name of the
Automation Server.
Important
• If the Automation Server has been assigned a dynamic IP
address, use the fully qualified domain name of the server
instead of the IP address.
7. In the Protocol box, select a protocol for the server. For more information,
see section 4.1 “Server Communication” on page 173.
8. In the Port box, enter a port number.
9. Click Next.
10. In the Password box , type the custom password if required.
12. In the File box, enter the path to the backup set file.
Note
When changing the name of a folder or server, you also have to reconfigure users
and user groups path permissions to this server or folder. For more information,
see the Path Permissions topic on WebHelp.
Important
You can rename a server only if it is the only server in the system.
For more information, see section 3.4 “Server Management” on page 140.
To rename a server
1. In WorkStation, in the System Tree pane, select the server that you want to
rename.
2. On the Edit menu, click Rename.
3. In the Object Name box, type a new name for the server.
4. Click OK.
5. In the Confirm Rename dialog box, click Yes.
6. Click OK.
Important
• If the Found New Hardware Wizard dialog box is displayed,
follow the instructions to install the Automation Server driver.
3. In the Connection column for the Automation Server, ensure that usb is
displayed.
Now you can upgrade or install new software and assign the IP address of the
device.
3. Enter the user name and password in one of the following ways:
• Type the user name and password for this Automation Server.
• Select Use default device log on to log on using the user name and
password specified in the Device log on options dialog box.
4. Click OK.
Now you can upgrade or install new software and assign the IP address of the
device.
3. Click Save.
Note
The list of Automation Servers does not include anything connected through the
USB device port, only servers that are connected through the IP network.
3. Click Open.
Note
If the Automation Server does not respond to normal communication, you must
reset the Automation Server and connect through the USB device port. For more
information, see the Resetting the Automation Server topic on WebHelp.
4. In the Host name box, type a unique host name for the Automation Server.
5. Click OK.
6. In the IP changes dialog box, click OK.
3.23.2 Status
After upload and conversion, the color of the progress bar in the Device
Administrator indicates the status of the database conversion:
• Green: The database conversion is complete.
• Yellow: The database conversion is complete. Open the Conversion Logs and
determine if you can use the converted database for download or if you need
to fix configuration issues in the Automation Server.
• Red: The database conversion has failed. Open the Conversion Logs and
determine the configuration issues that you need to fix in the Automation
Server.
For more information, see the Opening the Conversion Log topic on WebHelp.
For more information, see the Opening the High Priority Conversion Log topic
on WebHelp.
4. If the CPU usage and system memory usage is above 50%, adjust the polling
interval settings on the network to optimize system performance.
Topics
Server Communication
Server Status
Repairing Server Communication
Updating Communication Parameters
Updating References
Selecting the Schneider Electric E-mail Server for E-mail
Notifications
Selecting and Specifying an E-mail Server for E-mail
Notifications
Server Communication in Project Configuration Server
Updating Project Configuration Server Communication
Parameters
Setting Server Logon Credential
4 Server Communication
4.1 Server Communication
Address
Every server needs an IP address to communicate in the network. You either use
the installation default IP address, or specify a static address that is unique in the
network. We advise against enabling DHCP.
You can also specify the server's fully qualified domain name, if one is defined and
the DNS service is enabled. A fully qualified domain name for a server consists of
two parts: the host name and the domain name. For example, a server with a host
name “es1” and the domain name “universityx.edu” has the fully qualified domain
name “es1.universityx.edu”. Always use the server's fully qualified domain name,
rather than its host name (without the domain information), to avoid lead-shadow
reference server communication problems. For more information, see section 144.7
“Lead-Shadow Reference Server Communication Problems ” on page 5477.
Protocols
Building Operation servers can use three different communication protocols:
• TCP is fast and you can set up domain authentication which makes for easy,
yet secure access.
• HTTP is slower than TCP but better for accessing resources outside the
LAN/firewalls.
• HTTPS is slower than HTTP but safer for accessing resources outside the
LAN/firewalls.
Ports
Each server listens on three communication ports, one for each communication
protocol:
• TCP on port 4444 (fixed)
• HTTP on port 80 (default)
• HTTPS on port 443 (default)
Server Communication
An offline server’s communication parameter about other Building Operation
servers, those in the Communication tab, becomes inconsistent:
• If you add a new server to the live system
• If you remove a server from the live system
Solution: select the Enterprise Server and click the Repair server
communication command on the Actions -> Advanced menu.
Object References
An offline server’s object references becomes broken:
• If you delete the referenced object
• If you move the referenced object
• If you rename the referenced object
Solution: select the object and click the Repair references command on the
Actions -> Advanced menu.
You know which objects are affected by the list that is displayed to you, in the
confirmation dialog box, at the time you remove/move/rename the objects in
question.
Important
• If the Automation Server has been assigned a dynamic IP
address, use the fully qualified domain name of the server
instead of the IP address.
6. In the Protocol box, select a new protocol if you want to change the way this
server communicates with the other server.
7. In the Port box, enter the new port number.
To update references
1. In WorkStation, in the System Tree pane, select the object that has a broken
reference.
2. On the Actions menu, point to Advanced and then click Update
References.
Note
• Any available SMTP server can be used to send E-mail notifications. For more
information, see section 4.7 “Selecting and Specifying an E-mail Server for E-
mail Notifications” on page 183.
For more information, see section 4.1 “Server Communication” on page 173.
5. In the Sender E-mail box, type a sender address for the E-mail messages
that are generated by this server. The sender E-mail address is the receiver of
replies.
6. In the Maximum queue size box, enter the maximum number of E-mail
messages that is allowed in the queue.
7. In the Maximum retry count box, enter the number of attempts to send an
E-mail message that are performed before cancelling the E-mail message.
8. In the Retry time box, enter the number of minutes between each attempt.
9. In the Host box, confirm that the Schneider Electric E-mail Server address is
smtpservice.tac.com.
10. In the Port box, confirm that the port number is 25.
11. Click OK.
Note
• The Schneider Electric E-mail Server, which is hosted by Schneider Electric,
can also be selected to send e-mail notifications. For more information, see
section 4.6 “Selecting the Schneider Electric E-mail Server for E-mail
Notifications” on page 181.
For more information, see section 4.1 “Server Communication” on page 173.
11. In the primary Password box, type the password for the e-mail user account
on the primary e-mail server.
12. In the primary Confirm Password box, type the password again for the e-
mail user account on the primary e-mail server.
13. In the Primary port box, enter the port that is designated for incoming SMTP
traffic on the primary e-mail server.
14. In the Secondary host box, type the secondary e-mail server web address.
15. In the Secondary user name box, type the user name that authenticates
the usage of the secondary e-mail server.
16. In the secondary Password box, type the password for the e-mail user
account on the primary e-mail server.
17. In the secondary Confirm Password box, type the password again for the
e-mail user account on the primary e-mail server.
18. In the Secondary port box, enter the port that is designated for incoming
SMTP traffic on the primary e-mail server.
19. Click OK.
Logon credentials
You can set the logon credential for the communication between the Project
Configuration Server and the Enterprise Server and Automation Servers. For
example, the default user admin and the password admin, which can be useful
when you are setting up new servers.
For more information, see section 4.9 “Updating Project Configuration Server
Communication Parameters” on page 187.
2. In the Server Information view, select a server and click the Show/Hide
Note
The default custom user name is admin, and the default password is
also admin.
Topics
WorkStation for Projects Overview
Project Configuration Server
Compatibility Notes
Installing the Project Configuration Server
Upgrading the Project Configuration Server
Configuring Server Port Settings
Stopping the Project Configuration Server Windows Service
Starting the Project Configuration Server Windows Service
Restarting the Server Windows Service
Uninstalling the Project Configuration Server
Reinstalling the Project Configuration Server
WorkStation for Projects
Log on to WorkStation for Projects
Logging on to WorkStation for Projects
Logging off WorkStation for Projects
WorkStation for Projects User Account Management
Creating a WorkStation for Projects User Account
Deleting a WorkStation for Projects User Account
Changing the WorkStation for Projects User Password
Changing other WorkStation for Projects Users Password
Disabling a WorkStation for Projects User Account
Enabling a WorkStation for Projects User Account
Setting an Expiration Date for a WorkStation for Projects
User Account
Removing the Expiration Date for a WorkStation for Projects
User Account
Forcing WorkStation for Projects User to Change Password
5 WorkStation for Projects Introduction
5.1 WorkStation for Projects Overview
5.1.4 Projects
You use the Project Configuration Server to create and configure projects. The
project can be an almost full logical blueprint of the target system, complete with
servers, programs, domains, user groups, networks, devices, and applications.
However, without any historical data.
For more information, see section 6.1 “Projects” on page 239.
5.2.1 Engineering
You can install and run multiple versions of Project Configuration Server on the
same computer as an Enterprise Server.
When connected to the system IP network, the Project Configuration Server can
deploy projects, with domain set-ups, to servers. When working in a project, only
one pre-configured workspace is available.
5.2.2 Features
The Project Configuration Server provides features for project management, and
tools for engineering:
• Project management
• Enterprise Server setup
• Automation Server setup
• Programming editors
• Binding tool
• Graphics editor
• Domain setup
• Project deployment
5.2.3 License
Project Configuration Server requires no license. However, WorkStation for Projects
used for project configuration requires a WorkStation license since they are installed
with the same installation package.
For more information, see the Licenses topic on WebHelp.
5.3.3 Reports
You cannot create reports in the Project Configuration Server. The reports pack
(exported from WebReports) can be uploaded in the Project Configuration Server,
but you cannot view or manage reports in WorkStation for Projects.
5.3.4 Sigma
Sigma is not supported in the Project Configuration Server.
4. Click Next.
5. Click I Agree.
8. In the Projects Folder box, enter the path to the location where you want to
save the Project Configuration Server projects.
Important
• If a Project Configuration Server is already installed, the project
location of the Project Configuration Server with the highest
version number is default.
• When installing a Project Configuration Server with a different
version number from the currently installed, the new Project
Configuration Server version is installed in parallel to the current
version.
• The user database is copied and upgraded from the current
installation if the current installation has a lower version number.
• The database for a project is located in the project folder.
• The folder path can contain up to 107 characters.
• The folder path can only contain ASCII and Unicode characters.
9. Click Next.
10. Click Next.
11. In the HTTP Port box, type the port number the Project Configuration Server
listens to when communicating through the Hypertext Transfer Protocol.
12. In the HTTPS Port box, type the port number the Project Configuration
Server listens to when communicating through the Hypertext Transfer Protocol
Secure.
13. In the TCP Port box, type the port number the Project Configuration Server
listens to when communicating through the Transmission Control Protocol.
14. Click Install.
Continued on next page
Note
Click Show details to follow the progress of the installation.
Important
To upgrade Project Configuration Server, you must have access to an installation
package with a higher number than currently installed version.
For more information, see the System Upgrade Overview topic on WebHelp.
4. Click I Agree.
5. Click Next.
Caution
If you previously selected a custom folder for your installation, select
a different installation folder to aviod data loss.
6. In the Projects Folder box, enter the path to the location where you want to
save the Project Configuration Server projects.
Important
If a Project Configuration Server is already installed, the set project
location of the installed Project Configuration Server with the highest
version number is default.
When installing a Project Configuration Server with a different version
number as the currently installed Project Configuration Server, the
user database is upgraded. For more information, see the Version
Numbers and Parallel Installations topic on WebHelp.
When installing a Project Configuration Server with a different version
number from the currently installed, the new Project Configuration
Server version is installed in parallel to the current version.
The user database is copied and upgraded from the current
installation with the highest version.
The folder path can contain up to 107 characters.
The folder path can only contain ASCII and Unicode characters.
Important
Projects created in a previous Project Configuration Server version is
not automatically upgraded and have to be upgraded manually in the
new version of WorkStation for Projects. For more information, see
section 6.17 “Upgrading a Project” on page 268.
7. Click Next.
8. In the HTTP Port box, type the port number the Project Configuration Server
listens to when communicating through the Hypertext Transfer Protocol.
Important
If you configure the ports manually, make sure not to set the same
HTTP, HTTPS, and TCP ports used in a parallel Project Configuration
Server installation.
9. In the HTTPS Port box, type the port number the Project Configuration
Server listens to when communicating through the Hypertext Transfer Protocol
Secure.
Continued on next page
10. In the TCP Port box, type the port number the Project Configuration Server
listens to when communicating through the Transmission Control Protocol.
11. Click Install.
12. Click Next.
Note
Click Show details to follow the progress of the installation.
Note
The Project Configuration Server Windows service automatically starts when the
server is installed or the computer it is installed on is started.
Important
Ensure that you have a working and available Enterprise Server license. A working
license is required to start the Enterprise Server. For more information, see the
Licenses topic on WebHelp.
Note
You do not need to back up the Project Configuration Server before uninstalling
the product. All projects created on the Project Configuration Server are saved on
the computer and remain unaffected by the uninstallation.
4. Click Next.
5. Click I Agree.
6. Click Next.
7. Click Next.
8. Click Next.
9. In the HTTP Port box, type the port number the Project Configuration Server
listens to when communicating through the Hypertext Transfer Protocol.
10. In the HTTPS Port box, type the port number the Project Configuration
Server listens to when communicating through the Hypertext Transfer Protocol
Secure.
11. In the TCP Port box, type the port number the Project Configuration Server
listens to when communicating through the Transmission Control Protocol.
12. Click Install.
Continued on next page
Note
Click Show details to follow the progress of the installation.
5.12.2 License
WorkStation for Projects is installed with the same installation package as
WorkStation, and therefore requires a WorkStation license.
For more information, see the Licenses topic on WebHelp.
Note
The first time you log on to WorkStation for Projects you need to use
the administrator user account to create a project user account. For
more information, see section 5.17 “Creating a WorkStation for
Projects User Account” on page 225.
Important
You can configure expiration rules for a WorkStation for Projects user account.
The administrator can also force users to change their passwords in WorkStation
for Projects.
Important
When a password is changed while the user is logged on, the user needs to log
off and log on again before opening a project.
7. In the Middle name box, type the middle name of the person that is going to
use the account.
Continued on next page
8. In the Last name box, type the last name of the person that is going to use
the account.
9. In the Home E-mail address box, type the home e-mail address of the
person that is going to use the account.
10. In the Work E-mail address box, type the work e-mail address of the
person that is going to use the account.
11. In the Expires on box, enter an expiration date of the user account.
12. In the Password box, type a password for the user account.
2. Click Yes.
Important
You have to log off and then log on again before being able to create
and open projects.
4. Click Save.
The user is now disabled from logging in to WorkStation for Projects.
4. Click Save.
The user is now enabled to log on to WorkStation for Projects.
4. Click Save.
4. Click Save.
4. Click Save.
The user are now forced to change the password, at the next log on to WorkStation
for Projects.
Topics
Projects
Creating a Project
Opening a Project
Closing a Project
Deleting a Project
Creating an Enterprise Server in a Project
Creating an Automation Server in a Project
Deploy
Deploy Workflow
Alternative Deploy Workflow
Variables in Project Configuration Server
Deploying a Server
Moving a Project Database
Synchronization Events
Viewing Synchronization Events
Project Upgrade
Upgrading a Project
6 WorkStation for Projects Projects
6.1 Projects
6.1 Projects
You use the Project Configuration Server to create and configure projects. The
project can be an almost full logical blueprint of the target system, complete with
servers, programs, domains, user groups, networks, devices, and applications.
However, without any historical data.
In a project, you can create either one Enterprise Server or one Automation Server
on the root level. You can configure an Enterprise Server with up to 64 child
Automation Servers.
The following types of objects can be created directly under a project, but they are
not deployed:
• Folder
• Document
• Event View
• Search
Projects are stored in a separate folder specified at the installation of Project
Configuration Server.
You move a project database from an off-site computer to a customer site
computer, when a project cannot be deployed from an off-site computer.
For more information, see section 6.13 “Moving a Project Database” on page 261.
After a project is created, you cannot change the name of the project.
6.1.1 Deploy
You deploy a project to an Enterprise Server or an Automation Server when you are
done with your project engineering off site.
For more information, see section 6.8 “Deploy” on page 248.
Note
Project names are not case sensitive. For example, you cannot have a project
called “Project1” and another called “project1”.
Note
After a project is created, you cannot change the name of the project.
To create a project
1. In WorkStation for Projects, in the WorkStation for Projects - Projects
To open a project
1. In WorkStation for Projects, in the WorkStation for Projects - Projects
view, select the project that you want to open.
To close a project
1. In WorkStation for Projects, with a project open, click File menu.
2. Click Close project.
The project is closed and you are redirected to the projects view.
To delete a project
1. In WorkStation for Projects, in the WorkStation for Projects - Projects
view, select the project that you want to delete.
Note
After a server is created, you cannot change the name of the server.
7. In the DNS/IP address box, type the IP address or fully qualified domain
name of the server.
Important
Ensure that you use either an IP address or a fully qualified domain
name to avoid lead-shadow communication problems after deploy.
For more information, see section 144.7 “Lead-Shadow Reference
Server Communication Problems ” on page 5477.
Important
When you create a new Automation Server under the Enterprise Server after an
Enterprise Server deploy, the Enterprise Server will not recognize the Automation
Server. This has to be done on the on-line server.
6. In the DNS/IP address box, type the IP address or fully qualified domain
name of the server.
6.8 Deploy
You deploy the project when you want to download the project configuration to an
Enterprise Server or Automation Servers.
A deploy downloads configurations to one specific server. Objects in a child server
are not deployed when the parent server is deployed. For example, you deploy ES1
with child Automation Server AS1. In WorkStation, only the AS1 object under ES1 is
displayed in the System Tree pane, as an offline server. The objects under the AS1
are not displayed because they have not been deployed yet.
Important
• You can only deploy a project to a server when the server has an empty
database and not have been part of a multi-server system. A server is
considered empty when it does not contain any user-created objects, such
as programs and graphics.
The server database can be emptied in different ways depending on if it is an
Automation Server or an Enterprise Server:
• Reinstall the Enterprise Server. For more information, see the Reinstalling the
Enterprise Server topic on WebHelp.
• Upgrade the Automation Server with a new database. For more information,
see the Uploading and Upgrading an Automation Server topic on WebHelp.
You move the project database from an off-site computer to an on-site computer
when you cannot deploy to the on-site computer. For example, there is no network
connection between the off-site computer and the on-site computer. When the
project database has been moved to the on-site computer, you deploy the project
configuration to the Automation Server or Enterprise Server with WorkStation for
Projects.
For more information, see section 6.10 “Alternative Deploy Workflow” on page 254.
Create a project
In WorkStation for Projects, create a project for the LonWorks system. For more
information, see section 6.2 “Creating a Project” on page 240.
For more information, see section 6.6 “Creating an Enterprise Server in a Project”
on page 244.
Create devices
In WorkStation for Projects, continue with the appropriate protocol device
workflows to create devices offline and to deploy the Automation Servers and the
Enterprise Server to the on-site server, with specific domain device procedures.
For more information, see section 56.19 “Create LonWorks Device Workflow” on
page 2034.
For more information, see section 61.7 “Create Xenta LonWorks Device Workflow”
on page 2216.
For more information, see section 73.9 “BACnet System Configuration Workflows”
on page 2564.
For more information, see section 83.7 “Create b3 BACnet Devices with Factory
Settings Workflow” on page 3278.
For more information, see section 83.8 “Create Previously Used b3 BACnet Devices
Workflow” on page 3281.
Important
It is recommended that you update the Enterprise Server communication
parameters before the deploy of the first Automation Server.
Important
Ensure that you have created all domain devices and objects before the deploy of
an Automation Server. If you add devices and objects to the Automation Server
and deploy the server again, you first have to clear the database of the physical
Automation Server.
For more information, see section 6.8 “Deploy” on page 248.
Important
Ensure that you have created all Automation Servers in the project before the
deploy of the Enterprise Server. You can only deploy to an empty Enterprise
Server. Any additional Automation Servers have to be created on the on-site
server.
For more information, see section 6.8 “Deploy” on page 248.
Important
Ensure that you have created all domain devices and objects before the deploy of
an Automation Server. If you add devices and objects to the Automation Server
and deploy the server again, you first have to clear the database of the physical
Automation Server.
For more information, see section 6.8 “Deploy” on page 248.
For more information, see section 61.7 “Create Xenta LonWorks Device Workflow”
on page 2216.
For more information, see section 73.9 “BACnet System Configuration Workflows”
on page 2564.
For more information, see section 83.7 “Create b3 BACnet Devices with Factory
Settings Workflow” on page 3278.
For more information, see section 83.8 “Create Previously Used b3 BACnet Devices
Workflow” on page 3281.
Important
Ensure that you have created all Automation Servers before the deploy of the
Enterprise Server. You can only deploy to an empty Enterprise Server. Any
additional Automation Servers have to be created on the on-site server.
For more information, see section 6.8 “Deploy” on page 248.
Note
All bindings will be synchronized as soon as all server communication are
resolved by the Enterprise Server which can take a couple of minutes.
For more information, see section 61.7 “Create Xenta LonWorks Device Workflow”
on page 2216.
For more information, see section 73.9 “BACnet System Configuration Workflows”
on page 2564.
For more information, see section 83.7 “Create b3 BACnet Devices with Factory
Settings Workflow” on page 3278.
For more information, see section 83.8 “Create Previously Used b3 BACnet Devices
Workflow” on page 3281.
Important
It is recommended that you update the Enterprise Server communication
parameters before the deploy of the of the first Automation server, and all
Automation Server communication parameters before the deploy of the
Enterprise Server.
Caution
Ensure that you have created all domain devices and objects before the deploy of
an Automation Server. If you add devices and objects to the Automation Server
and deploy the server again, you first have to clear the database of the physical
Automation Server.
Ensure that you have created all objects and servers, with devices and objects, in
the project and deployed all Automation Servers before the deploy of the
Enterprise Server. Any additional servers, devices, and objects have to be created
on the on-site server.
For more information, see section 6.8 “Deploy” on page 248.
To deploy a server
1. In WorkStation for Projects, in the System Tree pane, select the server that
you want to deploy.
2. On the Actions menu, click Deploy.
3. Click Yes.
4. Click Close.
You can now commission or associate the devices to bring them online with the
Enterprise Server or Automation Server.
Note
A project closes 5 minutes after the last user has logged off or when
the Project Configuration Server Windows service is stopped in
Software Administrator.
Note
When multiple users are working with the Project Configuration
Server, make sure a stop of the Project Configuration Server
Windows service does not negatively affect your projects before
closing.
5. In Windows Explorer, in the Address box, paste the path of the Projects
folder.
8. In Windows Explorer, in the Address box, paste the path of the Projects
folder.
9. Move the individual project folder from the USB drive to the Projects folder.
The project can now be opened in WorkStation for Projects on the target computer.
Important
To see the recently moved project in WorkStation for Projects - Projects view on
the target computer, refresh the view or restart the Project Configuration Server.
For more information, see section 144.9 “Project Not Visible” on page 5479.
2. Click the Detail view button to see details of the selected event in a new
pane.
Important
When manually upgrading the projects, the old version of the projects will be
deleted. It is advisable to make backups or copies of the old versions before
upgrading, such as storing them in version folders on the off-site computer.
All servers that are to be synchronized with an upgraded project must also be
upgraded to the same version.
For more information, see section 6.17 “Upgrading a Project” on page 268.
To upgrade a project
1. Install the new version of Project Configuration Server. For more information,
see section 5.5 “Upgrading the Project Configuration Server” on page 203.
2. In the newest version of WorkStation for Projects, in the WorkStation for
Projects - Projects view, select the project and click the Upgrade Project
button .
3. Click Yes.
You can now open the project and make configurations. The project will also no
longer be visible in the older version of WorkStation for Projects.
Topics
Time and Time Zone
Time Zone Configuration in Project Configuration Server
Changing the Time Zone of a Project
Creating a Custom Time Zone for a Project
7 Project Configuration Server Time Zone
7.1 Time and Time Zone
4. In the Project Date & Time view, select Predefined time zone and then
select the time zone the Project Configuration Server is located in.
5. Click Save.
If your time zone not is listed, you can create and configure a custom time zone.
3. In the Project Date & Time view, click Network time and time zones.
Continued on next page
5. In the Description box, type a descriptive text for the time zone.
6. In the UTC Offset boxes, select the UTC offset in hours and minutes.
7. Select This custom time zone uses daylight saving time.
8. In the Time adjustment box, select the saving time in minutes.
9. Under the Start column, select the Month, Week, Date, and Time to start
using daylight saving time.
10. Under the End column, select the Month, Week, Date, and Time to start
using daylight saving time.
11. Click Save.
Topics
Backup and Restore Overview
Project Backup and Restore
Project Backup
Project Configuration Server Backup Sets
Backup Set Storage and Protection
Project Configuration Backup Status
Checking the Backup Status of a Project
Backing Up a Project
Locating the Local Backup Path on the Project Configuration
Server
Deleting a Backup Set from a Project
Project Restore
Restored Data
Restoring a Project
8 Project Configuration Server Backup and Restore Overview
8.1 Backup and Restore Overview
8.1.1 Backup
Backup is the process of copying and storing data so that the copy can be used to
restore the primary source if a data loss occurs as well as to revert to an older
version. Ideally, server backups should take place during non-business hours. In
Building Operation, you can perform backups on an individual server and its devices
or a group of servers and their devices.
Building Operation provides two backup options:
• Configuration only: Useful for new installations, Building Operation backs up
the configuration database, which preserves a snapshot of the configuration
data for a particular date and time.
• All data: Useful for existing systems, Building Operation backs up the
configuration data and historical data, which preserves a snapshot of the
configuration data for a particular date and includes a copy of the trend logs
and event logs.
For more information, see the Backup topic on WebHelp.
8.1.2 Restore
Restore is the process of restoring data to an original or former state. Using
Restore, you can revert to a previous snapshot of the server data despite any
configuration changes made since the last backup. In Building Operation, Restore is
a manual process designed to avoid the accidental overwriting of current server
data.
For more information, see the Restore topic on WebHelp.
Note
The system generates default backup names that are a combination of the
project name and the server date, and time. For ease of use, manual backups
include the local time of the Project Configuration Server, such as University X
Project_20130823-020127. The server date stamp that is recorded within the
backup set is based on the local time zone of Project Configuration Server.
Backup Comments
When you create a manual backup, you can also add a comment up to 255
characters to identify a particular backup set. Once the backup completes, the
system displays these comments as ToolTips in the Restore Options dialog box.
For example, you can add a comment, After Deploy, to backups of deployed
projects. For more information, see the Backup Options Dialog Box topic on
WebHelp.
For more information, see section 8.6 “Project Configuration Backup Status” on
page 286.
Server Rename
Building Operation associates each backup set with a particular server name.
Therefore, you should not rename a Building Operation server unless absolutely
necessary. If you do rename a server, the previous backup sets do not display in
the Restore Options dialog box. You can view all the backup sets that are stored
locally on a Project Configuration Server. For more information, see Locating the
Local Backup Path on the Project Configuration Server
Tip
Going forward, you must create new backups for the renamed server.
Figure: Copy backup set from a Project Configuration Server to a network drive
To back up a project
1. In WorkStation for Projects, in the System Tree pane, right-click the project
and then click Backup.
2. In the Backup set name prefix box, type some text at the beginning of the
file name that helps identify the backup set, such as Daily.
3. In the Backup set name suffix box, type some text at the end of the file
name that helps identify the backup set. Date and Time are inserted by
default.
4. In the Include column, manually select the projects that you want to include
in the backup, or click the Select All button to include all the listed
projects in the backup.
5. In the Backup content column, select the type of data you want to back up for
each server:
• Configuration only: Project Configuration Server backs up the project
configuration database, which includes points, values, alarm objects,
trend objects, programs, graphics, and custom object type data.
• All data: Project Configuration Server backs up the project configuration
database and the historical database, which include synchronization
events.
Continued on next page
Note
The Synchronize Comment button, Synchronize Content
button, and the Synchronize All button are not activated for
WorkStation for Projects.
7. Click Backup.
8. Verify that each backup succeeded and click Close.
After you backed up a project, you can restore the project data at any time.
The server name is part of the restore data. Therefore, if you rename a server after a
backup, a restore process will revert back to the previous server name.
To restore a project
1. In WorkStation for Projects, open the project.
2. In the System Tree pane, right-click the project and then select Restore.
3. In the Available restore points list, select a backup set and click Restore.
4. Click Yes.
5. Click Close.
6. Click Close.
Topics
Software Administrator – Project Configuration Server View
Building Operation WorkStation for Projects Window
WorkStation for Projects View
WorkStation for Projects – Projects View
WorkStation for Projects – Users View
WorkStation for Projects Manager Toolbar
WorkStation for Projects Toolbar
File Menu
Actions Menu
Synchronization Event View
Create Object Wizard – Naming the Object Page
Create Object Wizard – Server Information Page
Create Report Wizard – Select Report Pack Page
Confirm Deploy Dialog Box
Progress View – Advanced
Operation Details Dialog Box
Project Control Panel View
Backup and Restore Manager on the Project Configuration
Server
WorkStation for Projects - Servers View
Project Server – Date & Time View
Enterprise Server – Date & Time View
Automation Server – Date & Time View
Communication View
User Account Properties
9 WorkStation for Projects User Interface
9.1 Software Administrator – Project Configuration Server View
Continued
Component Description
Continued
Component Description
Continued
Component Description
Log off
Click to log off the WorkStation for Projects.
Change password
Click to change the password of the user
account that you are currently using. For
more information, see the Change Password
Dialog Box topic on WebHelp.
Button Description
Close Project
Click to close an open project.
Workspace
Click to open the Workspace menu where
you can view the workspace used. For more
information, see the List View topic on
WebHelp.
Control Panel
Click to open the Control Panel where you
get access to some of the most used
administration functions in Building
Operation, such as alarms, domains, user
accounts, backup and archiving, and
engineering. For more information, see the
Control Panel View topic on WebHelp.
New
Click to open the New submenu where you
create new objects. For more information,
see the File Menu - New Submenu topic on
WebHelp.
Open in New
Click to open the selected object in a new
window in the work area.
Save
Click to save changes.
Cut
Click to cut the selected objects. The objects
are placed on the clipboard.
Copy
Click to copy the selected objects. The
objects are placed on the clipboard.
Paste
Click to paste a copied or cut object.
Continued
Button Description
Delete
Click to open the Confirm delete dialog
box where you delete the selected object.
For more information, see the Confirm Delete
Dialog topic on WebHelp.
Cancel
Click to cancel the latest command.
Refresh
Click to refresh the selected object or
workspace.
Print
Click to print the selected object.
Help
Click to open Building Operation help.
Command Description
Continued
Command Description
Continued
Command Description
Create Reports From WebReports Click to restore the Reports folder in the
System Tree. For more information, see the
Reports in WorkStation and the WebReports
Web Site topic on WebHelp.
Continued
Command Description
Continued
Command Description
Edit Standard Alarm View filter Click to open the Select conditions dialog
box, where you sort the information in an
Alarms pane. For more information, see the
Select Conditions Dialog Box – Alarm Filter
Properties topic on WebHelp.
Edit Sum Alarm Condition Click to open the Select conditions dialog
box, where you configure the conditions that
determine which alarms the sum alarm
surveys. For more information, see the
Select Conditions Dialog Box – Alarm Filter
Properties topic on WebHelp.
Edit the style of associated events Click to open the Event styles dialog box
where you style the appearance of a specific
event in the Events pane. For more
information, see the Event Styles Dialog Box
topic on WebHelp.
Continued
Command Description
Learn BDT Table Click to open the Learn BDT Table dialog
box where you learn the BACnet Broadcast
Device Table from one BBMD to another
BBMD. For more information, see section
75.35 “Learning a BBMD Configuration from
one BBMD to Another” on page 2649.
LCM sync date time Sends the server's date and time to each
LCM device on the LCM network. For more
information, see section 96.5 “NETWORK
8000 LCMs” on page 3799.
Continued
Command Description
Continued
Command Description
Revert to application value Click to use an NCI value from the device
application when downloading the device
configuration (NCI values) to an MNL
LonWorks device. For more information, see
section 71.8 “NCI Values” on page 2434.
Send log set Click to send the selected log set to the
relevant Sigma controller.
Send log sets Click to send all log sets to the relevant
Sigma controllers.
Send time sync now Manually forces the server to send out time
synch notifications to all the configured
recipients. For more information, see section
75.12 “Manually Triggering the Time
Recipients List of a Server” on page 2622.
Continued
Command Description
Continued
Command Description
(Object type list) Select the type of object you want to create.
For more information, see the Object Types
topic on WebHelp.
Component Description
Select Report Pack Select the report pack of reports that you
want to create in WorkStation for Projects.
Component Description
No Click to cancel.
Operation details Dislays the time and text for the operation.
Network time and time zones Click to configure the time zone for your
project. For more information, see section
7.2 “Time Zone Configuration in Project
Configuration Server” on page 272.
Backup and Restore Manager Click to open the Backup and Restore
manager, where you can view backup status
and time of last backup. For more
information, see section 9.18 “Backup and
Restore Manager on the Project
Configuration Server” on page 330.
Predefined time zone Select the time zone the server belongs to.
UTC offset Select the time difference the time zone has
from UTC in the hours and minutes boxes.
This custom time zone uses daylight Select to enable the daylight saving time
saving time settings for the custom time zone.
Continued
Component Description
Primary time server Type the address to the primary time server
to which the shadow Automation Servers
date and time object synchronizes its clock.
Continued
Component Description
Manually adjust date & time Select to use manual date and time
configuration for connected shadow
Automation Servers.
Predefined time zone Select the time zone the server belongs to.
UTC offset Select the time difference the time zone has
from UTC in the hours and minutes boxes.
This custom time zone uses daylight Select to enable the daylight saving time
saving time settings for the custom time zone.
Continued
Component Description
Primary time server Type the address to the primary time server
to which the shadow Automation Servers
date and time object synchronizes its clock.
Continued
Component Description
Manually adjust date & time Select to manually set the server clock.
Local date & time Enter the date and time you want to set the
server clock to. This time is displayed in
server local time.
Predefined time zone Select the time zone the server belongs to.
UTC offset Select the time difference the time zone has
from UTC in the hours and minutes boxes.
This custom time zone uses daylight Select to enable the daylight saving time
saving time settings for the custom time zone.
Continued
Component Description
Continued
Component Description
Topics
Server Wizard – Configure IP/DNS Address and Port Page
Log On Dialog Box
Enterprise Server Properties – Basic Tab
Enterprise Server Properties – Network Tab
Enterprise Server Properties – E-mail Tab
Automation Server Properties – Basic Tab
Automation Server Properties – E-mail Tab
Automation Server Properties – Network Tab
Communication View
Device Discovery View
Variables View
10 Building Operation Servers User Interface
10.1 Server Wizard – Configure IP/DNS Address and Port Page
Continued
Component Description
Server directory size Displays the current size (Mb) of the types
stored in the server file system.
Thread pool size Displays the present size of the thread pool.
Request-specific thread pool usage Displays the current number of threads in the
request-specific thread pool.
Continued
Component Description
Primary user name Type the user name for the E-mail account
on the primary E-mail server.
Primary Confirm Password Type the password again for the E-mail
account on the primary E-mail server.
Secondary user name Type the user name for the E-mail account
on the secondary E-mail server.
Secondary Confirm Password Type the password again for the E-mail
account on the secondary E-mail server.
Server directory size Displays the current size (Mb) of the types
stored in the server file system.
Thread pool size Displays the present size of the thread pool.
Request-specific thread pool usage Displays the current number of threads in the
request-specific thread pool.
Continued
Component Description
Continued
Component Description
Primary user name Type the user name for the E-mail account
on the primary E-mail server.
Primary Confirm Password Type the password again for the E-mail
account on the primary E-mail server.
Secondary user name Type the user name for the E-mail account
on the secondary E-mail server.
Secondary Confirm Password Type the password again for the E-mail
account on the secondary E-mail server.
Continued
Component Description
System Tree
Select where to search in the System Tree.
Note
The Variables view is continuously updated. If all categories are expanded, it puts
a heavy load on the system. Avoid having too many values on display.
Topics
Device Administrator
Device Administrator Toolbar
Device Administrator List
Upgrade Device Dialog Box
Connect to Device Dialog Box
Detailed Progress Dialog Box
Device Log On Options Dialog Box
Enter User Name and Password Dialog Box
Edit Connection Dialog Box
Confirm Download Dialog Box
Device Administrator Properties – General Tab
Device Administrator Properties – Network Tab
Device Administrator Properties – SNMP Configuration Tab
Device Administrator Properties – Firewall Tab
Device Administrator Properties – Time Tab
11 Device Administrator User Interface
11.1 Device Administrator
Device list
Use the Device list to collect and inspect the
software status of the Automation Servers.
For more information, see section 11.3
“Device Administrator List” on page 368.
device(s)
Displays the number of devices in the list.
Software version
Displays the software version on the
Automation Server.
Firmware version
Displays the current software version that is
used for the upgrade.
Upgrade Device(s)
Click to open the Upgrade Device dialog
box, where you select the type of upgrade.
For more information, see section 11.4
“Upgrade Device Dialog Box” on page 369.
Cancel action
Click to stop the extraction of debug
information.
Continued
Button Description
Properties
Click to open the Properties pane listing
important information about the selected
Automation Server. For more information,
see section 11.11 “Device Administrator
Properties – General Tab” on page 376.
Set time on device Select to transfer the date and time on the
computer that runs Device Administrator to
the Automation Server. For more
information, see section 3.23 “ Automation
Server Upgrade ” on page 166.
Use default device log on Select to use default device log on.
Use default device log on Select to use default device log on.
Continued
Component Description
Continued
Component Description
Traps destination host address Type the host name or address to the SNMP
Manager.
Authentication password (MD5) Type the password for the SNMP user. The
password must be at least ten characters
long.
Continued
Component Description
Set time on device Select to transfer the date and time on the
computer that runs Device Administrator to
the Automation Server. For more
information, see section 3.23 “ Automation
Server Upgrade ” on page 166.
Topics
Cannot Connect to the Automation Server
Enterprise Server Service Disabled
Error – Upgrade Using DFU Mode
Lead-Shadow Reference Server Communication Problems
12 Building Operation Servers Troubleshooting
12.1 Cannot Connect to the Automation Server
12.1.1 Solution
• If the Automation Server's name is in red, the password has been changed.
Contact the administrator to get the new, correct password.
• If the Automation Server's name is in grey italic, the connection is broken.
Make sure that the Automation Server is connected using the network or USB.
Make sure that you use the correct address.
• If the Automation Server's name is in orange, the USB program that handles
the connection with the Automation Server has malfunctioned.
• If the Automation Server is offline, make sure that the computer you are using is
on the whitelist:
– Connect the computer to the Automation Server using the USB
connection. For more information, see section 3.11 “Connecting to an
Automation Server Using the USB Device Port” on page 153.
– Add your computer to the whitelist. For more information, see section
123.4 “Adding a Device to the Whitelist” on page 5190.
12.2.1 Solution
Restart the computer.
12.3.1 Solution
Connect to the Automation Server in DFU mode. For more information, see section
3.11 “Connecting to an Automation Server Using the USB Device Port” on page
153.
Restore the software on the Automation Server. For more information, see section
3.21 “Restoring the Software of a Damaged Automation Server” on page 164.
Restore the Automation Server from the latest backup. For more information, see
the Restoring a Server topic on WebHelp.
12.4.1 Solution
The solutions are listed in order: the solution most likely to fix the problem is listed
first. Work through each solution until the problem is resolved.
• Ensure that the communication address to the Enterprise Server is correct. The
address should be either an IP address or a fully qualified domain name (host
name plus domain name) such as es1.universityx.edu.
For more information, see section 4.4 “Updating Communication Parameters”
on page 179.
For more information, see section 4.9 “Updating Project Configuration Server
Communication Parameters” on page 187.
• If you have deployed both the Enterprise Server and the Automation Server,
and changed the server communication setting on the Automation Server
afterwards, you may have to reset the Automation Server with a warm start.
For more information, see the Reset Functions topic on WebHelp.
Topics
Automation Server Web Configuration Page
Configuring the Automation Server TCP/IP Settings and
Ports
Displaying the Automation Server System Information
Exporting Automation Server Log Files
Refreshing the Automation Server System Log
13 Automation Server Web Configuration
13.1 Automation Server Web Configuration Page
You cannot configure all the settings in the system information using the Web
Configuration. For example, Automation Server time and time zone settings are
configured through WorkStation.
4. Click Save.
5. Select the location where you want to save the compressed log files and click
Save.
6. Click Close.
The log files, when downloaded, are compressed to a ZIP file. To open the log files,
extract the compressed file and open the .log-files with any text editor.
3. Click Server Log tab to refresh the web page to display the latest log events.
Topics
Automation Server Web Configuration – TCP/IP Page
Automation Server Web Configuration – System Information
Page
Automation Server Web Configuration – Server Log Page
14 Automation Server Web Configuration User Interface
14.1 Automation Server Web Configuration – TCP/IP Page
Continued
Component Description
HTTP Port Type the port number that the server listens
to when communicating through the
Hypertext Transfer Protocol.
Continued
Component Description
Use external NTP server Dispalys if the server synchronizes its time
and date with an network time protocol
server
Time zone (UTC Offset) Displays the server time zone settings.
Daylight saving time Displays if the time zone has a DST offset.
Continued
Component Description
Get all log files Click to export all log files stored on the
Automation Server. The log files are
compressed into a zip file.
Topics
Bindings Overview
Methods of Binding
Binding Values Manually
Binding Rules
Direction of Bindings
Value Transfer Settings
Value Transfer
Configuring the Value Transfer Interval
Locked and Unlocked Binding Paths
Locking or Unlocking a Path
Bindings Management
Checking the Status of Bindings
LonWorks Bindings
Server Values
Creating a Server Value
Creating a Server Analog Value
Configuring the Value and the Unit for a Server Analog
Value
Creating a Server Digital Value
15 Bindings
15.1 Bindings Overview
15.2.1 Manual
You can bind a value by dragging it to a property's Bindings box in the Binding list.
You use manual binding for a binding task unless you have prepared a binding
template for that particular task.
Figure: Drag-and-drop
You can type a path to a value in the property's Binding box to create a binding.
You can also drag objects from the System Tree pane, or values from the
Search pane, or you can type the binding path in the Binding box.
One-to-One
A one-to-one binding is a binding between two variables of compatible types.
Figure: The transfer interval rate is set in the Values setting transfer dialog box
Note
• The actual transfer rate can differ from the requested transfer rate depending
on, for example:
– Whether or not the value is transferred to more than one recipient.
Continued on next page
If a value is transferred within a server, the transfer takes place as fast as possible.
Figure: The requested transfer rate (1) is the rate at which the value is transferred if
possible.
Note
If you set the Delta to zero, the program reacts on any relative change above or
below zero. For example, if the Delta is set to 1, value changes above 1 or below -
1 relative to the previous recorded value are transferred.
You can also set the value transfer rate to transfer the value at each requested
interval even if the value has not changed. In this case, the value is transferred at
every interval. Selecting this option makes the Delta setting unavailable since it has
no use if the transfer is accomplished based on the rate
Figure: The Delta is checked each time but only values that exceed the Delta (2) are
transferred..
Figure: The guaranteed transfer interval (3) makes sure that you get at least one transfer
per interval.
Figure: You can combine methods, for example, to make sure that the value is transferred
at a minimum rate.
Note
Delays can happen when several applications try to execute at the same time.
Examples:
• A value object within AS1 reads from a value object within AS2. In this case,
the value object read is controlled by the Value transfer settings. By default, the
poll rate is set to 10 seconds. You can change the value transfer interval. If you
set a Delta value no value transfer occurs even after the polling interval has
passed unless the change since the previous reading exceeds the Delta value
setting. If you set a Guaranteed value transfer rate, the value transfer is forced
after the elapsed time regardless of whether the value has changed.
• A value object within AS1 reads from a value object also within AS1. In this
case, the value object read is not controlled by the Requested transfer rate
setting. The reason is that there is no cost for immediate value transfer since
there is no server-to-server or field bus communication. However, the Delta
and the Guaranteed transfer settings are still in force.
– If the SBO object is reading from the BACnet object, the Variable transfer
settings are delivered to the BACnet plug-in. The plug-in determines if the
device producing the value supports COV for the object property
requested.
– If it does, it requests a subscription between SBO and that device.
The device transfers values based on its own services and the COV
increment for the requested object. It does not use the delta in the
Variable transfer settings. The communication plug-in knows the most
efficient way to get values from the field bus and it uses that method
to satisfy the read request from the consuming object. In the case of
BACnet, COV is most efficient; so it transfers the values at the COV
increment of the object that is being read. The values are then
delivered to the Variable Transfer Manager, which decides if the
values are to be read by the consuming object based on the Delta set
in the Value transfer settings. This can cause unexpected behavior
depending on the relative sizes of the referenced object COV
increment and the Delta set in the Value transfer settings. If the COV
increment in the object is, for example, 0.4 and the Delta in the Value
transfer settings is 0.5, the actual read takes place in 0.8 because the
first 0.4 increment does not satisfy the Value transfer setting so it
waits for the next change actually to read the new value.
– If the object being referenced does not support COV, the BACnet
plug-in issues a read property request at the rate specified in the
shorter of the requested value transfer rate or guaranteed value
transfer rate.
• A Script or Function Block Program using a BACnet object as an input.
– The program’s task rate drives the reading frequency, regardless of the
Value transfer settings.
• A Modbus object connected to an SBO object.
– If the Modbus register is reading from the SBO object, the transfer
mechanism considers the cost to communicate down the field bus and it
regards the delta and intervals in the Variable transfer settings
– If the SBO object is reading from the Modbus register, the Variable transfer
settings are delivered to the Modbus plug-in. Since Modbus is a polled
communication bus, the requested transfer, delta, and guaranteed
transfer rates are regarded. As soon as a subscription is established
between a Modbus register and an SBO object, that subscription cancels
the Modbus device polling regardless of whether the subscription rate is
longer than the device polling rate.
– Since Modbus is a polling protocol, it is possible that so many requests
can be made that none of them can be satisfied in the time requested. In
this case, the value transfer occurs as fast as possible
• A LON device connected to an SBO object.
– If the SBO object requires a value from the LON device, it is recommended
to mirror the LON value to the Local Node, and then bind the SBO object
to the copy on the Local Node. In this way, LON send-on-delta updates
the Local Node copy, and then application data transfer dictates how the
SBO object receives updates from the Local Node’s copy of the value. For
graphics bindings that only generate traffic when the associated graphic is
open, it is acceptable to either bind to a Local Node copy of the value
when available, or otherwise to bind directly to the value on the LON
device. Binding the graphic directly to the value on the LON device
generates polling requests only when the graphic page is open.
– If the LON device requires a value from the SBO object, this value can be
sent in one of two ways:
– The SBO object’s value can be bound to an object on the Local
Node, and then a LON binding from the Local Node to the LON
device will allow a conventional LON binding (with heartbeat). The
requested transfer rate is not significant between the SBO object and
the Local Node object, but both the delta and the guaranteed transfer
rate are very significant. If either results in an update to the Local
Node object, the LON plug-in will generate an update message and
send it to the LON device. The guaranteed transfer rate can force this
message to be generated even if there is no change in the
value—whenever the Local Node object is updated, a message is
sent. The Local Node object can also be configured with a "send
rate", which can also cause the value to be routinely pushed to the
LON device.
– The SBO object’s value can also be bound directly to the input on a
LON device, and this does make use of the retransmit interval, delta,
and guaranteed transfer rate. It is not a true LON binding, however,
so controllers like the MNL with a configurable heartbeat requirement
may not accept the writes as valid heartbeats and may revert the
objects to default values between writes.
15.7.4 Cautions
The value is transferred as fast as possible considering the value transfer rate
limitations in field bus and network communication. The value transfer rate also
depends on the direction. If an SBO object is reading from a BACnet object, the
value transfer rate can differ from the scenario when the BACnet object is reading
from the SBO object, even if the Variable transfer settings are identical.
If your implementation requires that a certain delta be imposed before doing
something else, a Guaranteed value transfer rate setting can cause unexpected
behavior. The Guaranteed transfer even if value has not changed setting, means
that the value is transferred even if it has not changed in relation to the previous
value by an amount greater than the delta.
When attempting to confirm the actual value transfer rate, it is important to be
certain that all of the value transfers are known because one value transfer can
easily affect another. When the producer is told to update two entities on the same
server at different rates, it updates both at the faster of those two rates.
5. Click OK.
6. On the File menu, click Save.
Note
The lock feature is disabled for LonWorks bindings, because a locked LonWorks
binding may result in scenarios where a binding contains several hubs pointing to
one target, or different binding profiles are mixed.
15.9.1 Locked
There are two types of locked binding paths:
• System absolute
• Server absolute
System Absolute
System absolute binding paths to objects on another server are always locked and
cannot be unlocked. The path is displayed as, for example,
/Server2/System/Folder/Value.
Server Absolute
Server absolute binding paths to objects in the System folder are always locked and
cannot be unlocked. The path is displayed as, for example, ~/System/Folder/Value.
15.9.2 Unlocked
Unlocked binding paths are always relative. All binding paths that are not server
absolute or system absolute are relative and, by default, unlocked. The path starts
with elipses (..),is displayed as, for example, ../Folder/Value.
Note
• To create a LonWorks binding, you need to bind on the variable level. If you
bind two members of network variables, a Building Operation binding is
created rather than a LonWorks binding. For more information, see section
57.9 “Network Variables and Configuration Parameters” on page 2074.
Note
The lock feature is disabled for LonWorks bindings, because a locked LonWorks
binding may result in scenarios where a binding contains several hubs pointing to
one target, or different binding profiles are mixed.
For more information, see section 58.5 “Bindable Objects in LonWorks” on page
2101.
• Configure the transfer interval. For more information, see section 15.8
“Configuring the Value Transfer Interval” on page 428.
• Bind the server value object to the program input. For more information, see
section 15.3 “Binding Values Manually” on page 416.
To configure the value and the unit for a server analog value
1. In WorkStation, in the System Tree pane, select the server analog value you
want to configure.
2. On the File menu, click Properties.
8. Click OK.
Topics
Binding Templates
Binding Template Types
Type Binding Templates
Type Binding Template Examples
Fan Coil - Bind to Zone Controller
Fan Coil - Bind to Occupancy Sensor
Fan Coil - Bind to Temperature Sensor
Path Matching Binding Templates and Syntax
Path Matching
Path Syntax
Path Matching Binding Template Examples
Path Matching Binding Template Example 1
Path Matching Binding Template Example 2
Path Matching Binding Template Example 3
Path Matching Binding Template Example 4
Path Matching Binding Template Example 5
Binding Values Using a Binding Template
Binding Values in Script Editor Using a Binding Template
Creating a Type Binding Template from Instance
Creating a Type Binding Template
Creating a Path Matching Binding Template
16 Binding Templates
16.1 Binding Templates
Figure: Dragging the Zone Controller value manually to the Fan Coil property
At this point you can choose to save the bindings and the task will be complete.
/ Path separator
You use path separators to further specify a
path. The more you specify a path, the more
conditions you impose on possible
candidates, and the more you narrow down
the search.
* Wildcard
You use wildcards to substitute any
character or any sequence of characters.
However, a wildcard does not substitute
path separators.
If you impose many conditions, that is specifying a long path, you will be narrowing
down the search. You can also widen the search with wildcards, but then again
impose conditions on both paths in the rule by using identifiers. Identifiers state
which elements must be identical in the two paths of a rule.
The floor 1 Graphic (UI) binds to all Xenta controllers on floor 1. The floor Graphic
(UI) can also be reused if more floors with identical room configurations are added.
The binding template in this example autogenerates the bindings between the floor
Graphic (UI) and the Xenta controllers and can also be reused if more floors with
identical room configurations are added. When you define a path matching binding
template and reuse bindings, the naming of folders, objects, and properties must
be consistent.
When you create the floor Graphic (UI), the properties that bind to values in the
Xenta devices must incorporate the name of the device, the SNVT, the member,
and the value that they can bind to.
For example, naming a property in the floor Graphic (UI)
Room0101.nvoOccSensor.Value makes it possible to define a path matching
rule that binds it to the "Value" of the "nvoOccSensor" SNVT in the "Room0101"
Xenta device.
Properties and values are bound between the floor Graphic (UI) and the Xenta
controllers:
Figure: Dragging the Floor01 folder to the Bind to Multiple Xentas binding template
The template matches the properties of the floor Graphic (UI) with the values in the
Xenta controllers and displays a binding confirmation dialog box:
The new AHU 2 Application folder Program will have the same bindings to its Air
Handling Unit I/O as the AHU 1 Program has to its Air Handling Unit I/O. The
Program, the IO, and the naming of folders, objects and properties, is identical in
the two Application folders. Therefore, we can use the same binding template that
was defined for AHU 1, to bind the AHU 2 Program to its air handling unit.
The application folder, in which the application Program resides, must incorporate
the name of the air handling unit that it will control. Also, the air handling unit I/O
binding points must incorporate both the name of its air handling unit and the name
of the program properties that they bind to.
For example, naming an I/O binding point of the AHU02 air handling unit 06-
AHU02-DAT makes it possible to define a Path matching rule that binds it to the
"DAT" property in the application Program of the "AHU02" application folder.
Properties and values are bound between the application Program and its Air
Handling Unit I/O:
Figure: Dragging the I/O bus to the Bind to I/O Binding template
The template matches the properties of the AHU 2 application Program with the
values in the I/O bus and displays a binding confirmation dialog box:
The new AHU 2 application Program will have the same bindings to its application
configuration as the application Program in AHU 1 has to its application
configuration. The configuration and the naming of folders, objects and properties,
is identical in the two Application folders. Therefore, we can use the same binding
template that was defined for AHU 1, to bind the AHU 2 application Program to its
application configuration.
When you create the Alarms, Trend logs, and Schedules, the name of the object
that bind to the application Program must incorporate the name of the program
properties that they bind to.
For example, naming an Alarm RF Alarm makes it possible to define a Path
matching rule that binds it to the "RF_A" property in the application Program.
Properties and values are bound between the Program and the application
configuration:
Figure: Dragging the AHU02 folder to the Bind to Unit binding template
The template matches the properties of the application Program with the values in
the application AHU02 folder and displays a binding confirmation dialog box:
The new AHU 2 application Graphic (UI) have the same bindings to its application
configuration as the application Graphic (UI) in AHU 1 has to its application
configuration. The configuration and the naming of folders, objects and properties,
is identical in the two Application folders. Therefore we can use the same binding
template that was defined for AHU 1, to bind the AHU 2 application Graphic (UI) to
its application configuration.
When you create the application Graphic (UI), the properties that bind to values in
the application Program, the Alarms, the Trend logs, and the Schedules, must
incorporate the name of the object or property value that they bind to.
For example, naming a property in the application Graphic (UI) CWV.Value makes
it possible to define a Path matching rule that binds it to the "Value" of the "CWV"
property in the application.
Properties and values are bound between the application Graphic (UI) and its
application configuration:
Figure: Dragging the AHU02 folder to the Bind to Unit binding template
The template matches the properties of the application Graphic (UI) with the values
in the AHU02 folder and displays a binding confirmation dialog box:
Instead of searching and manually binding 16 values, you have reduced the
procedure into a one-step-task with less chance of making mistakes. It takes some
effort to define a template but it is well worth the effort for configurations that you
frequently reuse.
Tip
• When creating bindings, follow the recommended general guidelines: create
bindings between Inputs and Outputs only and do not create bindings to
Public Signals.
For more information, see section 16.1 “Binding Templates” on page 449.
3. In the binding point browser, drag the object or folder to the binding template
that you want to apply.
5. Click OK.
Continued on next page
Tip
• To ensure data flow is occurring as intended, use the Watch pane to view
values and monitor changes.
4. Click OK.
5. Verify that all bindings are correctly bound.
Note
• The type binding template is only applicable between two LonWorks devices.
For more information, see section 16.1 “Binding Templates” on page 449.
button .
Note
• The Type binding template is only applicable on LonWorks devices.
For more information, see section 16.3 “Type Binding Templates” on page 452.
8. Click Next.
9. Select the LonWorks devices that hold values, which will be bound to the type
on which this template is based, and then click the Add button .
8. Click Next.
9. In the Selected object box, type the property or the path to the property
that you want to bind.
Note
• Paths can be full or partial. Values, properties, and paths can
also contain identifiers and wildcards.
10. In the Binding candidate box, type a value or the path to a value that you
want to find and bind.
Note
• If a value is found in the Binding candidate, as specified, it is
bound to the property that is specified for the Selected object.
Paths can be full or partial. Values, properties, and paths can
also contain identifiers and wildcards.
11. In the Property box, select if the rule is to match values by their Name,
Description, Note 1, or Note 2 property.
12. Click the Add rule button to add more path matching rules.
Topics
Bindings View
Bindings Diagnostics
Binding Point List Toolbar
Binding Templates List
Browser Toolbar
Browser
Bind Dialog Box – Select Direction
Bind Dialog Box – Replace or Keep
Bind Dialog Box – Replace or Add
Value Transfer Settings Dialog Box
Variables View Features
Confirm Bindings Dialog Box
Bindings Status Icons
Binding Templates View
Binding Template Wizard – Choosing the Type and Naming
the Object Page
Binding Template Wizard – What Type Do You Want to Bind
in the Template Page
Binding Template Wizard – What Type(s) Do You Want to
Bind to with the Template Page
Binding Template Wizard – Specify the Bindings in The
Template Page
Binding Template Wizard – Specify the Path Matching
Patterns in the Template Page
Binding Template Properties
Edit Binding Template Dialog Box – Type Binding Template
Edit Binding Template Dialog Box – Path Matching Binding
Template
Time Stamp Value Properties
17 Bindings User Interface
17.1 Bindings View
Figure:
Continued
Number Description
Parent folder
Click to open the parent folder in the
Browser.
Lock/Unlock path
Click to lock the Browser so it stays locked
onto the present folder when you navigate
the System Tree pane.
Lock/Unlock path
Click to unlock the Browser so it displays
what you select in the System Tree pane.
17.6 Browser
Use the Browser to find and drag bindable values to the Binding points list, or
entire folders to the Binding templates list.
Figure: Browser
Table: Browser
Component Description
Transfer value each time, even if the Select if you want to transfer the value even if
value has not changed it has not changed since the last time it was
sent. For more information, see section 15.6
“Value Transfer Settings ” on page 420.
Continued
Property Description
Transfer only if value change exceeds Enter a delta interval. For more information,
'Delta value' see section 15.6 “Value Transfer Settings ”
on page 420.
Turn off this feature Select if you do not want to use transfer
interval. For more information, see section
15.6 “Value Transfer Settings ” on page 420.
The categories can be expanded or collapsed so that you can set up a manageable
overview of properties and live values.
You can also use the Quick Filter box to filter the Variables list. With LonWorks
devices, your typing in the Quick Filter box filters category such as outputs, inputs,
and public signals.
Unresolved
Indicates an unresolved binding due to a number of reasons, for example:
• A binding points to an object or property that does not exist. This may
occur after a copy and paste operation when a new object includes a
property with the same name as a property deleted from the database,
but is incompatible.
• A binding points to an object located on another server. For instance,
the system has not resolved the binding yet so the target object may (or
may not) exist.
• A binding points to an object located on another server that is being
engineered, and server communication is not yet fully synched between
the two servers. Generally, the bindings are automatically resolved.
Warning
Indicates an invalid reference in binding functions, which occurs during an
import of bindings or applying a binding template. For more information, see
section 17.12 “Confirm Bindings Dialog Box” on page 539.
Invalid
Indicates that the system resolved the binding and the object exists.
However, the reference is invalid for some reason. In most cases, the target
property is no longer supported, does not exist in the target object, or the
engineering units are incompatible.
Hover over the icon to view the cause of the invalid status.
Figure: What type(s) do you want to bind to with the template page
Table: What Type(s) Do You Want to Bind to with the Template Page
Component Description
Add
Click to add LonWorks devices.
Add rule
Click to add a new rule entry. Within a rule
entry, you specify a value or the path to the
value in the Selected object. You also
specify a value or the path of a value in the
Binding candidate. If a value is found in
the Binding candidate, as specified, it is
bound to the specified value in the
Selected object.
Remove rule
Click to remove a rule entry.
Move up
Click to move the selected rule entry up in
the list. The order in which rules are stated
can affect which values are bound.
Continued
Component Description
Move down
Click to move the selected rule entry down in
the list. The order in which rules are stated
can affect which values are bound.
Move to top
Click to move the selected rule entry to the
top in the list. The order in which rules are
stated can affect which values are bound.
Move to bottom
Click to move the selected rule entry to the
bottom in the list. The order in which rules
are stated can affect which values are
bound.
Selected object Type the value or the path of the value that
you want to bind in the Selected object.
Binding candidate Type the value or the path of the value that
you want to bind in the Binding
candidate.
When the template is used and the rule is
executed, if a value is found in the Binding
candidate as specified, it is bound to the
specified value in the Selected object.
Continued
Component Description
Hide bound
Hides bound rows.
Hide parameters
Hides parameter rows.
Continued
Component Description
Match units
Displays points that match at least one row
that has the same unit.
Match data types
Displays points that match at least one row
that has the same type.
Hide parameters
Hides parameter rows.
Add rule
Click to add a new rule entry. Within a rule
entry, you specify a value or the path to the
value in the Selected object. You also
specify a value or the path of a value in the
Binding candidate. If a value is found in
the Binding candidate, as specified, it is
bound to the specified value in the
Selected object.
Remove rule
Click to remove a rule entry.
Move up
Click to move the selected rule entry up in
the list. The order in which rules are stated
can affect which values are bound.
Move down
Click to move the selected rule entry down in
the list. The order in which rules are stated
can affect which values are bound.
Continued
Component Description
Move to top
Click to move the selected rule entry to the
top in the list. The order in which rules are
stated can affect which values are bound.
Move to bottom
Click to move the selected rule entry to the
bottom in the list. The order in which rules
are stated can affect which values are
bound.
Selected object Type the value or the path of the value that
you want to bind in the Selected object.
Binding candidate Type the value or the path of the value that
you want to bind in the Binding
candidate.
When the template is used and the rule is
executed, if a value is found in the Binding
candidate as specified, it is bound to the
specified value in the Selected object.
Topics
Import and Export Overview
Export
Exporting a Solution
Selecting Multiple Solutions for Export
Export of Networks, Devices, and Protocols
Import and Export of I/O Solutions
Import and Export of b3 Solutions
Import and Export of BACnet Solutions
Import and Export of GCM Solutions
Import and Export of LonWorks Solutions
Import and Export of MNL LonWorks Solutions
Import and Export of MicroNet Solutions
Import and Export of Modbus Solutions
Import and Export of Sigma Solutions
Import and Export of Xenta Solutions
Export of Programs, Functions, and Applications
Import and Export of Script Solutions
Import and Export of User Management Solutions
Import and Export of Alarm Solutions
Import and Export of Trend Solutions
Import and Export of Schedule Solutions
Import and Export of Report Solutions
Custom Object Type
Export Library Mode
Exportable and Non-exportable Objects
Import
Importing a Solution
Import of Networks, Devices, and Protocols
Import of Programs, Functions, and Applications
Import and Export of Supporting Objects
Import and Export of Bindings and Binding Templates
18 Import and Export
18.1 Import and Export Overview
18.1.1 Export
Export involves writing a solution configuration into a file, which is saved to another
location. To export a solution in Building Operation, select an existing solution
container and then click the Export command. Building Operation generates an
export file comprised of the objects and their configurations.
For more information, see section 18.2 “Export” on page 559.
18.1.3 Import
Import involves reading a previously exported file and then recreating objects based
on the configuration of the file. To import a solution in Building Operation, select a
target location on the server and then click the Import command.
For more information, see section 18.26 “Import” on page 591.
18.2 Export
Export involves writing a solution configuration into a file, which is saved to another
location. To export a solution in Building Operation, select an existing solution
container and then click the Export command. Building Operation generates an
export file comprised of the objects and their configurations.
Building Operation does not export some system objects and properties. For
example, you cannot export the System folder, or object properties like device IDs.
If a system object or folder is mistakenly included in an export, the export process
provides an Export Preview area, which lists the non-exportable objects. The export
proceeds but the system object or folder is not included in the export file. For more
information, see section 18.25 “Exportable and Non-exportable Objects” on page
590.
If you create your own objects and folders within a system folder, you can export
them separately to the corresponding system folder on the targeted server, for
example, System – Alarms.
When exporting a solution, an internal binding path is one that refers to an object
that is also included in the export. An external binding path is one that refers to an
object that is not included in the export. Internal unlocked binding paths are always
kept.
You decide what external binding paths to include in an export: locked, locked and
unlocked, or none.
• Export Special: Keeps all external binding paths (locked and unlocked). After
an import, some binding paths may be unresolved.
• Export Library mode: Removes all external binding paths (locked and
unlocked). Generates an export file that you can use anywhere and know that,
upon import, every reference has been resolved to what you expect. Use one
of the other export reference filter types when you know how the export will be
used.
• Export: Removes all external unlocked binding paths. After an import, some
binding paths may be unresolved.
Tip
From the List View, you can select multiple solutions for export, which are
exported as a single file. For more information, see section 18.4 “Selecting
Multiple Solutions for Export” on page 562.
To export a solution
1. In WorkStation, in the System Tree pane or the List View, select the
solution that you want to export.
2. On the File menu, click Export.
3. In the Select an Export Reference Filter option, select the filter type to be
used for the export.
4. Click Export.
5. In the Save As dialog box, enter the location and file name.
6. Click Save.
7. Click Close when the export is complete.
Import
In most cases, you can import the following module and point properties:
• Module IDs. When you import a module, if the module has been used by
another module, the module is still imported. However, the module ID is set to
Null and an import warning is reported.
• Channel numbers. When you import a point, if the channel number has been
used by another point, the point is still imported. However, the channel number
is set to Null and an import warning is reported.
• All other configuration parameters
• Requested values
If an I/O module or point already exists on the targeted server during an import, the
import process creates a copy of the object and generates an alternate name to
prevent accidental overwriting. For example, a module named Slot03:UI16 is
renamed Slot03:UI16_2.
Export
Generally, you can:
• Export a b3 BACnet device and its contents to a file.
• Export one or more objects from a b3 BACnet device to a file.
For more information, see section 82.3 “b3 BACnet Device Controllers” on page
3257.
Import
Generally, you can:
• Import a file containing objects, solutions, or the entire contents of a b3
BACnet device to an MS/TP Network.
• Import one or more objects from a b3 BACnet device to a b3 BACnet device
Application folder.
Tip
After you import a file containing objects, solutions, or the entire contents of a b3
BACnet device, you need to associate the device object with a live b3 BACnet
device in the Hardware folder, or the Automation Server's Device Discovery tab.
You then download the device. If you fail to do so, the b3 BACnet device is
unusable.
Note
There can be only one NETWORK 8000 Interface in a server. If you attempt to
import another interface, the system identifies import conflicts during the import
process and prevents the import from taking place. However, you can export any
group of NETWORK 8000 objects and import them into another Automation
Server with a NETWORK 8000 Interface.
Tip
There is a workaround that allows you to import solutions and at the same time
resolve binding conflicts. For more information, see section 18.24 “Export Library
Mode” on page 589.
Caution
If a name conflict occurs during the import process, proceed with caution. It is
possible that the existing application type and the application type in the solution
file are not identical. In such a case, the Application objects that are created
during import may not contain all the attributes of the original Application
objects on the source server.
For more information, see section 158.21 “Name Conflicts During MNL LonWorks
Solution Import” on page 5619.
Caution
If a name conflict occurs during the import process, and the MNL device model
number is different between the existing application type and the application type
in the solution file, do not proceed with the import. Instead, use WorkPlace Tech
Editor to import the original application type from which the solution was created
and then save it with a different name.
For more information, see section 70.8 “Importing a Single MNL LonWorks
Application Type” on page 2403.
WorkPlace Tech Editor and Monitor Engineering Guide Supplement (F-27745)
Export
You can export one or more Script programs or functions from an Enterprise
Server, Automation Server, or b3 device.
Import
Keep the following points in mind to preserve bindings during an import:
• Import the referenced objects to the targeted server or device prior to
importing the actual Script programs and functions that reference these
objects. For example, import any referenced I/O points before importing the
programs that read and write the I/O points.
• Import a previously exported file that contains one or more Script programs or
functions to an appropriate destination, such as an Enterprise Server.
For more information, see section 52.2 “Script Editor Program Creation” on page
1854.
Note
In multi-server configurations, you may have to manually recreate some bindings
after an import takes place.
Export
Within the Domains folder, you can export one domain at a time by choosing either
the full or partial contents. The Domains folder contains the following exportable
folders:
• Building Operation Domains. These domains are preinstalled on Enterprise
Servers as well as Automation Servers that are part of a multi-server
configuration.
– On the Enterprise Server, this domain contains user accounts, user
account groups, software permissions, policies, and workspaces. In a
multi-server scenario, this domain also supports the functionality to add or
remove member servers from the domain.
– On an Automation Server, this domain only supports communication with
the top level server.
• User-created Domains. These domains are created by an administrator or
engineer for a particular purpose. You can create and then export user-created
domains and their contents.
• User-created Accounts and Account Groups. In contrast to other domain
objects, user accounts and groups are unique to the domain to which they
belong. Therefore, you cannot export them individually. They can only be
exported as part of an export of an entire user-created domain.
• Workspaces. Workspaces can be created by the user in any of the domains, or
exported individually. An export of an entire domain includes all the
workspaces within it.
Building Operation cannot export local workspaces.
For more information, see the User Account Management Overview topic on
WebHelp.
Note
In Building Operation, software permissions are set at the path and/or command
level, rather than at the object or folder level. Therefore, do not change the names
of the exported objects or folders. For example, if you change the name of an
exported folder, users with previously granted path permissions will be denied
access to this folder and its subfolders after the import takes place. You will have
to reset these permissions.
Some objects that you select for export may not be exportable because they are
used internally by Building Operation, specifically:
• Domains/Local. Preinstalled on all Building Operation servers, Local is a
system object designed primarily for local server log-on activities.
• System objects. In addition, there are system objects within the Domains/Local
folder that cannot be exported, for example, groups, users, and workspaces
(except workspaces that are created by users).
Important
Building Operation encrypts account passwords whenever user accounts are
exported from an Enterprise Server.
For more information, see section 149.13 “Cannot Export User Management
System Objects” on page 5518.
Import
You can import the following objects:
• An 'out-of-the-box' domain. For example, the Users Domain contains user
accounts, user account groups, and group-related workspaces and software
permissions.
• A user-defined domain.
• The full contents of any exported workspaces within the Workspaces folder of
a domain.
Note
Software permissions are set at the path and/or command level, rather than at
the object or folder level. Therefore, when you import a solution, software
permissions apply only to any identically named objects and folders found on the
targeted location. For example, if you change the name of a folder, users with
previously granted path permissions will be denied access to this folder and its
subfolders. You will have to reset these permissions.
Export
Building Operation exports the following Alarm objects:
• Alarms. Building Operation preserves Alarm references during export.
• Alarm Views. Building Operation preserves Alarm View references during
export.
• Event Views. Building Operation preserves Event View references during
export.
• Automatic assignment. Building Operation preserves the references of
automatically assigned objects during export.
• Notifications. Building Operation preserves Notification references during
export.
• User Action (supporting objects). Building Operation preserves the references
to the following supporting objects: categories, cause notes, action notes, and
checklists during export. For more information, see section 18.30 “Import and
Export of Supporting Objects” on page 599.
Building Operation cannot export the following:
• Alarm styles.
• Default Alarm panes.
• Default Event panes.
• Customized Alarm and Event View Columns
For more information, see the Alarm Functions topic on WebHelp.
Import
When an exported file is imported, Building Operation preserves the references
among the imported Alarm objects, with a few exceptions:
• User Action (supporting objects). The import process handles categories,
cause notes, action notes, and checklists in the following ways:
– If User Actions with conflicting names are found on the targeted server,
Import reestablishes the references among the objects with the identical
name. The import process does not create the imported object under a
new name.
– If User Actions are imported to an Enterprise Server in a multi-server
configuration, the supporting objects have to be recreated on the top
server. After creation, they are automatically copied to the connected tier
level servers. For more information, see section 149.12 “Cannot Import
Supporting Objects for Alarms” on page 5517.
Export
Keep the following points in mind when exporting Trend objects or solutions:
• Export cannot export historical log data from a Building Operation server.
• When exporting Trend objects, you need to follow some guidelines for porting
Trend solutions from one Building Operation server to another. For more
information, see section 149.10 “Cannot Preserve Trend Object Bindings
During Import” on page 5515.
• An exported extended trend log does not retain the references to the
monitored trend log.
For more information, see the Trend Overview topic on WebHelp.
Import
To preserve bindings during an import:
• Import the referenced points, devices, or programs to the targeted server prior
to importing the Trend logs or solutions. For example, import any referenced
I/O points and programs first. Then, import the Trend logs that reference them.
• Import all the Trend objects in a particular order. For more information, see
section 149.10 “Cannot Preserve Trend Object Bindings During Import” on
page 5515.
Multi-server Configuration
If you import Shadow Schedules or Calendars to a Building Operation server and
the references to the Lead are broken, you need to manually recreate references:
• In the Shadow Calendars that point to the Lead Calendar
• In the Shadow Schedules that point to the Lead Schedule
For more information, see the Schedule and Calendar Synchronization topic on
WebHelp.
Exportable Objects
The following table lists the types of data that can be exported.
Top level objects and lower tier BACnet devices, LonWorks devices, folders,
objects nested within a top level programs, graphics, alarms, and trends
object
Non-exportable Objects
The following table lists the types of data that cannot be exported.
Default (System) objects Building Operation default and system objects, for
example, System folder of Local Domain
Note
Building Operation does not export some object properties like output values,
forced values, and device IDs.
18.26 Import
Import involves reading a previously exported file and then recreating objects based
on the configuration of the file. To import a solution in Building Operation, select a
target location on the server and then click the Import command. For convenience,
the Import dialog box displays a summary and preview of the solution you want to
import. Summary displays information about the file to be imported while Import
Preview displays the names and file structure of the objects to be imported. Custom
Type preview displays the names of the custom types that will be imported. For
more information, see section 18.27 “Importing a Solution” on page 594.
Building Operation detects a name conflict if any objects in the targeted destination
have the same name as any of the top level objects in the imported solution. In
addition, the import process generates an alternate name to prevent accidental
overwriting. For more information, see section 149.2 “Name Conflicts During
Import” on page 5504.
If there are container conflicts, Building Operation prevents the import from taking
place and makes the Import button unavailable. The reason for why the container
cannot be imported is shown in the error(s) tab.
For more information, see section 149.3 “Container Conflicts During Import” on
page 5506.
To import a solution
1. In WorkStation, in the System Tree pane or List View, select a location
where you want to import a solution.
2. On the File menu, click Import.
3. In the Open dialog box, select the file and click Open.
4. Click Import.
• Import does not recreate or modify any existing objects on the server. For more
information, see section 149.2 “Name Conflicts During Import” on page 5504.
Topics
Export Status Dialog Box
Export Preview Dialog Box
Import and Export Toolbar
Import Dialog Box
Import Status Dialog Box
19 Import and Export User Interface
19.1 Export Status Dialog Box
Objects that Displays the objects that can be exported as part of the solution.
can be
exported
Objects that Displays the objects that cannot be exported as part of the solution. For
cannot be more information, see section 149.1 “Non-exportable Objects” on page
exported 5503.
Export Select to remove all external unlocked binding paths. For more
information, see section 15.9 “Locked and Unlocked Binding Paths” on
page 429.
Import
Click to import a solution to the selected location.
Export
Click to export a selected solution.
Import file Displays the location and name of the file selected for import.
Destination Displays the selected server location where the file will be imported.
Number of Displays the total number of the objects selected for import to the server,
objects not including any supporting objects that may be present. For more
information, see section 18.30 “Import and Export of Supporting Objects”
on page 599.
Continued
Component Description
Import Displays the names and the file structure of the objects in the solution to
preview be imported to the server.
Custom Displays the Custom object types that will be part of the solution. If a
types to Custom object type in the import already exists on the server, the preview
import will contain a message that the Custom object type will not be imported.
For more information, see section 18.23 “Custom Object Type” on page
588.
Topics
I/O Modules Overview
I/O Module Workflows
Physical Devices and I/O Module Objects
Creating an I/O Module
Configuring an I/O Module
Discovering an I/O Module
Creating Multiple I/O Modules
Updating I/O Module Firmware
Moving an I/O Module
Recovering from an I/O Module Failure
Assigning and Unassigning Logical I/O Modules
I/O Points
Creating Multiple Objects
Configuring Multiple Objects
Copying from MS Excel to Spreadsheet View
Copying from Spreadsheet View to MS Excel
I/O Module Low Power Mode
Setting and Recovering an I/O Module from Low Power
Printing a Label to Identify I/O Channels
Correcting a Module Type Mismatch
Output Override Status
Overriding a Digital Output
Overriding an Analog Output
Associating an Engineering Unit with Property Values
Inserting a New Module in the Middle of an Existing I/O Bus
Resolving I/O Module Device Address Changed and
Blacklisted Device Detection Errors
20 I/O Modules
20.1 I/O Modules Overview
Note
If there is an I/O module object in the I/O bus folder with the same module ID, the
system automatically associates its I/O points with the newly discovered module.
Note
• A logical I/O module is one that was added to the I/O Bus folder.
Tip
An I/O module with a configured status indicates that an I/O point has been
created. This differs from the process of configuring or changing the properties of
the I/O module as described in this procedure. Even if you configure or change
the I/O properties, that does not mean that the I/O module itself is in the
configured state.
For more information, see the I/O Bus Parts topic on WebHelp.
Once you create I/O modules and I/O points, you can view the status
attributes for that I/O module in the Properties pane. For example, for every
module associated with an Automation Server, you can see the Online/Offline,
Configured/Unconfigured, and Module type mismatch status.
4. Edit the basic I/O module properties as necessary (for example, set the
module to low power to save energy).
For more information, see section 20.18 “Setting and Recovering an I/O
Module from Low Power” on page 642.
5. Click OK.
5. Drag the I/O module to the IO Bus folder in order to create logical modules
and points that you can bind to from other system components.
The physical I/O modules are converted into I/O module objects in the I/O Bus
folder.
5. Enter the rest of the properties, as you would do in the corresponding wizard.
6. Create additional I/O modules using Steps 4-5.
Tip
• You can also copy and paste cells, rows, and entire blocks.
Tip
If you right-click on the I/O Bus and perform an upward revision, that
also updates all modules of the same type on the I/O bus.
4. In the Update IO Module File dialog box, locate and select the valid I/O
module firmware file.
5. Click Open to open the I/O module firmware file.
Continued on next page
7. Click Save Results to File to save the results to a text file (optional).
8. Click Exit.
The I/O Module Management Tool application assigns the Module ID to the
I/O module.
You can also drag and drop a physical device, such as an I/O module
hardware device, from the Unassigned Modules pane to an empty position
in the backplane.
4. Unplug the I/O module from the I/O bus.
5. Plug the I/O module into the new location.
Continued on next page
Note
• After you change the position of an I/O module, the I/O module
object and its I/O points in the Automation Server are bound to
the new physical position. The I/O module ID has been changed
and the I/O module is online. Applications bound to moved
points are still operational and running with as little interruption as
possible.
7. Click Exit.
The Physical device type column lists the physical devices connected to
the Automation Server, while the I/O module name column lists the logical
modules located in the IO Bus folder.
4. In the Unassigned Modules pane, drag and drop unassigned modules to
assign them to a physical device.
5. Drag and drop logical modules into the Unassigned Modules pane to
unassign them (module ID of Null).
6. Click Refresh to update the IO Module Management Tool.
7. Click Exit.
You can visualize physical devices, Module ID positions and the status of the I/O
modules assigned to them using the IO Module Management Tool window.
3. In the Spreadsheet view, click the button and select which type of
objects you want to set up.
Note
• The content of an I/O bus, I/O module, a Modbus interface, or a
Modbus device opens up directly in the Spreadsheet view.
4. In the first row of the Type column, select the object type.
5. Enter the rest of the properties, as you would do in the corresponding wizard.
Tip
You can use the shortcut key Ctrl + U to change the engineering unit
of a value in the Spreadsheet view.
Tip
• You can also copy and paste cells, rows, and entire blocks.
Tip
You can use the shortcut key Ctrl + U to change the engineering unit
of a value in the Spreadsheet view.
Tip
• The columns and the format of the cells, such as enumerations (date, time,
and so on) and language, must match the setup in the Spreadsheet view.
6. In WorkStation, in the Spreadsheet view, select the cell or the rows where
you want to paste the data.
7. Press CTRL-V.
In case of invalid data, you can either go back to MS Excel, correct the data, copy
and paste it again, or you could insert it anyways and correct the data in the
Spreadsheet view.
5. Press CTRL-V.
6. In WorkStation, in the Spreadsheet view, select the cells or the rows that
you want to paste into the MS Excel spreadsheet.
7. Press CTRL-C.
8. In the MS Excel spreadsheet, select where you want to paste the data, and
then press CTRL-V.
If the physical I/O module, shown in the System Hardware folder, matches the
logical I/O module defined in the I/O Bus, the I/O module goes into Low
power.
After the physical module enters low power, the Module status attribute in the
Status Information area displays Low power.
6. In the System Tree pane, expand the IO Bus to recover from low power
mode.
7. Click the I/O module you wish to recover.
8. Click File and then Properties.
9. Under Configuration Settings, in the Low power box, select False.
10. Click OK to change the value and close the Properties pane.
If the physical I/O module, shown in the System Hardware folder, matches the
logical I/O module defined in the I/O Bus folder, the I/O module exits from low
power. After the module resumes operation from low power, the Module
status returns to the status it had before it went into Low power.
Note
• You cannot print a label for an I/O module with a Module ID of Null.
• I/O points with a channel of Null do not show up in the label.
Note
• The label text prints in red if the text is too long to fit on the label.
4. In the Print IO Module Labels dialog box, select Blank Label Text to print
labels with only the channel number with no additional label text.
5. Use the Paper Type drop-down list to select a paper type.
6. Click Print to print the I/O module label or Save to save any changes to the
point’s label text property.
The I/O module label is properly sized to fit on the placard of the I/O module.
If not, the Module type mismatch property of the logical I/O module object
is TRUE, the table row displays in red, and an error message displays when
you hold the cursor over the row.
4. Fix this mismatch by physically replacing the mismatched I/O module with a
module of the correct type, or by dragging the logical I/O module out of the
row.
Tip
Moving the logical I/O module into the Unassigned Modules list removes any
association of the I/O module with the physical device.
The Override state is displayed in the Properties tab for the Output point. If the
Override State is True, the Output is overridden. The Override value takes
precedence over other values.
Tip
There is a separate override switch for each I/O point.
2. View the results of a digital output override by expanding the IO Bus folder
and clicking the selected I/O module.
3. In the List View, click the I/O point.
Continued on next page
Tip
You can also add the value to the Watch pane to view a dynamic
updating of the value.
2. On the I/O hardware module, adjust the potentiometer to set the current or
voltage level.
3. Override a voltage or current output by setting the override switch to HAND
and then adjusting the output level using the potentiometer.
4. Override an output to 0 by setting the override switch to OFF.
There is a separate potentiometer and override switch for each I/O point.
5. View the results of an analog output override by expanding the IO Bus folder.
6. Click the selected I/O module and then click the I/O point in the List View.
Continued on next page
Tip
You can also add the value to the Watch pane to view a dynamic
updating of the value.
Note
• Engineering units are also used for conversions to/from other applications
such as Script and Function Block programs.
For more information, see section 21.1 “I/O Point Types” on page 663.
4. In the Basic tab, click the Configure Settings icon next to the Value.
5. For Value, ensure that the checkbox to the left of the Unit field is checked
and then click the browse ( ) button.
6. In the Unit selection dialog box, select and expand a Units category (for
example, Current). Then, select a unit (for example, A for Amps).
Continued on next page
7. Select a Prefix (for example, m for milli-). In this example, the Selected unit
is mA (milli amps).
5. Set the new module IDs from Unassigned to their new address by dragging
the module IDs from the Unassigned Modules pane to the row with the
physical device.
Note
The Device ProductSN and Blacklisted ProductSN columns
only display when the system detects an IO module device address
change or blacklisted device error on an Automation Server.
4. Replace the lowest slot ID terminal base reporting the error as well as the
terminal base preceding this slot ID. Here, the terminal base at both ID 3 and 4
should be replaced.
5. Click Refresh.
If the highlighted addresses display in yellow, the serial numbers now match
the devices in order.
6. Verify that the I/O modules match the physical device configuration.
Continued on next page
7. Click Accept Blacklisted Devices to resolve the error and resume normal
operation.
8. Click Yes to reset the I/O modules and use the new address.
9. Click Refresh to verify that the blacklist is no longer displayed and the
modules have returned to their normal state.
Topics
I/O Point Types
Creating an I/O Module Input Point
Creating an I/O Module Output Point
Creating an I/O Module Digital Input
Creating an I/O Module Counter Input
Creating an I/O Module Temperature Input
Creating an I/O Module 2-Wire or 3-Wire RTD Temperature
Input
2-Wire RTD-DI-16 Temperature Input Wiring Resistance
2-Wire or 3-Wire RTD-DI-16 Temperature Input Value and
Reliability Levels
Creating an I/O Module 2-Wire or 3-Wire RTD Resistive
Input
Creating an I/O Module Voltage Input
Creating an I/O Module Digital Output
Creating an I/O Module Voltage Output
Configuring I/O Module Input or Output Points
Creating Multiple I/O Points
Reliability of I/O Points
Reviewing the Reliability of I/O Point Values
Forced I/O Point Values
Forcing Input Values
Forcing Output Values
I/O Point Scaling
Scaling an Input or Output I/O Point
Implicit Trend Logs for I/O Points
Input Point Offsets
Configuring Offsets for Input Points
Printing a Wiring List for the I/O Bus
Threshold Settings for I/O Points
21 I/O Points
21.1 I/O Point Types
Continued
I/O Module Module Type I/O Point Types
You assign each I/O point a channel in the I/O module as part of the configuration
process. The channel represents where the point is physically wired to the I/O
module.
The input or output channel number is unique to logical input or output points. For
example, a UI-8/DO-FC-4 module can have a Digital Output point on output
channel 1 and a Temperature Input point on input channel 1. The input and output
are different physical slots.
7. In the Input channel box, select the channel that corresponds to the
terminal connection on the I/O module where the point will be wired.
8. In the Label text box, enter text to identify the I/O point on the I/O module
label.
The other parameters that appear on the Basic Settings page are specific to
the type of I/O point you create.
For more information, see the New Input Point Configuration Wizard – Basic
Settings Page topic on WebHelp.
Tip
Choosing a channel number of Null creates a non-operational I/O
point on the I/O module that you can use as a placeholder until an
actual Channel number is established for the point. Also, if you
choose to click Create before going to the Basic Settings page,
you can set the I/O point properties at a later time. For more
information, see section 21.14 “Configuring I/O Module Input or
Output Points” on page 689.
9. Enter the I/O point properties that you want and then click Create.
A Progress view displays indicating that the configuration changes are being
saved to the database.
7. In the Output channel box, select the channel that corresponds to the
terminal connection on the I/O module where the output point is wired.
8. In the Label text box, enter text to identify the I/O point on the I/O module
label.
The other parameters that appear on the Basic Settings page are specific to
the type of I/O point you create.
For more information, see the New Output Point Configuration Wizard – Basic
Settings Page topic on WebHelp..
9. Enter the I/O point properties that you want and then click Create.
A Progress view displays indicating that the configuration changes are being
saved to the database.
7. In the Input channel box, select the channel that corresponds to the
terminal connection on the I/O module where the digital input is wired.
8. In the Label text box, type a label text to identify the digital input on the I/O
module label.
9. In the Invert box, select True to invert the value logically.
10. In the LED color box, select Green to make the LED green when it is lit.
11. In the LED invert box, select True to make the LED lit when the digital input
is off.
12. Click Create.
7. In the Input channel box, select the channel that corresponds to the
terminal connection on the I/O module where the counter input will be wired.
8. In the Label text box, type label text to identify the counter input on the I/O
module label.
9. In the Invert box, select True to invert the value logically.
10. In the LED color box, select Green to make the light green when it is lit.
11. In the LED invert box, select True to make the LED lit when the counter
input is off.
12. Click Create.
7. In the Input channel box, select the channel that corresponds to the
terminal connection on the I/O module where the temperature input is wired.
8. In the Label text box, type a label text to identify the temperature input on the
I/O module label.
9. In the Digital filter box, select True to filter out noise and prevent false
readings.
10. In the Threshold box, enter the minimum change of value before it is sent to
the Automation Server.
11. In the Thermistor type box, select the connected thermistor type.
12. In the Offset box, enter the offset value you want added to or subtracted
from the engineering value before it affects the point's value property.
13. In the Upper reliability level box, enter the upper value that indicates an
inaccurate sensor reading.
14. In the Lower reliability level box, enter the lower value that indicates an
inaccurate sensor reading.
15. Click Create.
Tip
The 3-wire RTD temperature input point is a 3-channel input that requires you to
connect the 2 RTD leads to the 2 inputs and the other lead to the RETurn. For
more information, see the RTD-DI-16 I/O Module topic on WebHelp.
For more information, see section 21.1 “I/O Point Types” on page 663.
4. In the Name box, type a name for the 2-wire or 3-wire RTD temperature input.
5. In the Description box, type a description for the 2-wire or 3-wire RTD
temperature input.
6. Click Next.
Continued on next page
7. In the Input channel box, select the channel that corresponds to the
terminal connection on the I/O module where the 2-wire or 3-wire RTD
temperature input is wired.
8. In the Label text box, type a label text to identify the 2-wire or 3-wire RTD
temperature input on the I/O module label.
9. In the Digital filter box, select True to filter out noise and prevent false
readings.
10. In the Threshold box, enter the minimum change of value before it is sent to
the Automation Server.
11. In the Sensor type box, select the specified sensor type to determine how
the resistance value is converted to temperature.
12. In the Offset box, enter the offset in degrees to the converted temperature
value.
13. In the Upper reliability level box, enter the upper value that indicates an
inaccurate sensor reading.
For more information, see section 21.9 “2-Wire or 3-Wire RTD-DI-16
Temperature Input Value and Reliability Levels” on page 679.
14. In the Lower reliability level box, enter the lower value that indicates an
inaccurate sensor reading.
15. In the Wiring resistance box, enter the wiring resistance.
For more information, see section 21.8 “2-Wire RTD-DI-16 Temperature Input
Wiring Resistance” on page 678.
16. Click Create.
Note
Wiring resistance is only available for the 2-wire RTD temperature input point.
Tip
The 3-wire RTD temperature input point is a 3-channel input that requires you to
connect the 2 RTD leads to the 2 inputs and the other lead to the RETurn. For
more information, see the RTD-DI-16 I/O Module topic on WebHelp.
For more information, see section 21.1 “I/O Point Types” on page 663.
4. In the Name box, type a name for the 2-wire or 3-wire RTD resistive input.
5. In the Description box, type a description for the 2-wire or 3-wire RTD
resistive input.
6. Click Next.
Continued on next page
7. In the Input channel box, select the channel that corresponds to the
terminal connection on the I/O module where the 2-wire or 3-wire RTD
resistive input is wired.
8. In the Label text box, type a label text to identify the 2-wire or 3-wire RTD
resistive input on the I/O module label.
9. In the Digital filter box, select True to filter out noise and prevent false
readings.
10. In the Threshold box, enter the minimum change of value before it is sent to
the Automation Server.
11. In the Top of scale engineering value box, enter the top of the range for
the sensor.
12. In the Top of scale electrical value box, enter the top of the range
resistance value for the input point scale.
13. In the Bottom of scale engineering value box, enter the bottom of the
range for the sensor.
14. In the Bottom of scale electrical value box, enter the bottom of the range
resistance value for the input point scale.
15. In the Offset box, enter the offset value you want added to or subtracted
from the engineering value before it affects the point's value property.
16. In the Upper reliability level box, enter the upper value that indicates an
inaccurate sensor reading.
17. In the Lower reliability level box, enter the lower value that indicates an
inaccurate sensor reading.
Continued on next page
18. In the Sensor class box, select the sensor class to configure the RTD
resistive input for the approximate range it will measure:
• 100 ohm based: measures a range from 50 to 220 ohm
• 1000 ohm based: measures a range from 500 to 2200 ohm
19. Click Create.
7. In the Input channel box, select the channel that corresponds to the
terminal connection on the I/O module where the voltage input will be wired.
8. In the Label text box, type label text to identify the voltage input on the I/O
module label.
9. In the Digital filter box, select True to filter out noise and prevent false
readings.
10. In the Threshold box, enter the minimum change of value before it is sent to
the Automation Server.
11. In the Top of scale engineering value box, enter the top of the range for
the sensor.
12. In the Top of scale electrical value box, enter the top of the range for the
sensor.
13. In the Bottom of scale engineering value box, enter the top of the range
for the voltage input.
14. In the Bottom of scale electrical value box, enter the top of the range for
the voltage input.
15. In the Unit box, enter the engineering unit for the voltage input.
16. In the Offset box, enter the offset value you want added to or subtracted
from the engineering value before it affects the point's value property.
17. In the Upper reliability level box, enter the upper value that indicates an
inaccurate sensor reading.
18. In the Lower reliability level box, enter the lower value that indicates an
inaccurate sensor reading.
19. Click Create.
7. In the Output channel box, select the channel that corresponds to the
terminal connection on the I/O module where the digital output is wired.
8. In the Label text box, type a label text to identify the digital output on the I/O
module label.
9. In the Requested value box, select Off to make the initial value of the first
program cycle off.
10. In the Default output value box, select Off to make the value revert to off if
the I/O module loses communication with the Automation Server for more
than 255 seconds.
11. In the Invert box, select True to invert the value logically.
12. Click Create.
7. In the Output channel box, select the channel that corresponds to the
terminal connection on the I/O module where the voltage output is wired.
8. In the Label text box, type a label text to identify the voltage output on the
I/O module label.
9. In the Requested value box, enter a value to make the initial value of the first
program cycle this value.
10. In the Default output value box, enter a value to make the value revert to
this value if the I/O module loses communication with the Automation Server
for more than 255 seconds.
11. In the Threshold box, enter the minimum change of value before it is sent to
the Automation Server.
12. In the Top of scale engineering value box, enter the top of the range
engineering value for the voltage output.
13. In the Top of scale electrical value box, enter the top of the range voltage
value for the voltage output.
14. In the Bottom of scale engineering value box, enter the bottom of the
range engineering value for the voltage output.
15. In the Bottom of scale electrical value box, enter the bottom of the range
voltage value for the voltage output.
16. In the Unit box, enter the engineering unit for the voltage output.
17. Click Create.
4. Edit the Basic input or output point properties as necessary (for example,
change the Default output value in a Digital Output point).
For more information, see the New Input Point Configuration Wizard – Basic
Settings Page topic on WebHelp.
For more information, see the New Output Point Configuration Wizard – Basic
Settings Page topic on WebHelp.
5. Click OK.
5. Enter the rest of the properties, as you would do in the corresponding wizard.
Tip
You can use the shortcut key Ctrl + U to change the engineering unit
of a value in the Spreadsheet view.
Tip
• You can also copy and paste cells, rows, and entire blocks.
The Reliability value contains one of the six possible values listed in a read-only
format.
Input
For an input I/O point, you can force the Value.
Output
For an output I/O point, you can force the Requested value.
Note
• A manual override takes precedence over a forced value.
Example
The Input Voltage range of 0 to 10 VDC measures a light level that ranges from 0 to
1400 Lux. At an input voltage of 1 VDC, the input object would expose 140 Lux.
Scaling applies to both input and output points.
None N/A
1k (Balco) 1 kΩ
20k (Honeywell) 20 kΩ
Example
A Voltage Output has a range of 0 to 10 VDC which is scaled to equal 0 to 100 %. If
the application value equals 20 %, the Output should be 2 VDC.
The Requested Value and Scaling parameters display in the Properties pane of
the Output point.
For Requested value, click the Configure Settings icon to display the
Requested value dialog box. Then, click the checkbox to the left of the Unit field
and the browse ( ) button to display the Unit selection parameter you want.
Examples
Pulse width modulation scaling can be performed in two ways:
• Using PWM scale parameters of Pulse duration (s) and Period (s), a pulse
duration of 5 seconds and a Period of 20 seconds produces a 5 second pulse
every 20 seconds.
• Using PWM scale parameters of Duty cycle (%) and Period (s), a duty cycle
of 25 % and a Period of 20 seconds produces a 5 second pulse every 20
seconds (25 % of 20 seconds = 5 seconds)
You set these parameters in the Pulse Width Modulation group of the Properties
Pane.
10. In the Electrical scale top and Electrical scale bottom boxes, enter
values for the top and bottom of the electrical scale range of the output point.
Continued on next page
7. In the Input channel box, select the channel that corresponds to the
terminal connection on the I/O module where the input will be wired.
8. In the Label text box, enter text to identify the input point on the I/O module
label.
9. Enter the remaining values you want in the boxes on the Basic Settings page.
For more information, see the New Input Point Configuration Wizard – Basic
Settings Page topic on WebHelp.
10. In the Offset box, enter the offset value that you want added to or subtracted
from the engineering value before it affects the point's value property.
11. Click Create.
Note
• You cannot print a wiring list for an I/O module with a Module ID of Null
(unconfigured).
• I/O points with a channel of Null do not display on the wiring list.
For more information, see the I/O Bus Overview topic on WebHelp.
2. Right-click IO Bus and then click Print IO wiring list to print a wiring list for
the entire I/O bus.
3. In the Print IO Wiring List dialog box, click the Printer icon to print the
I/O wiring list.
4. To print a wiring list for a single I/O module, right-click the selected I/O module
(AO-8 in this example).
Continued on next page
Continued
Points Maximum Minimum Value Maximum Value
Resolution
Voltage Output 42 mV 0V 10 V
* For UI-series modules, such as the UI-16, AO-4, UI-8, and DO-4, the temperature and
resistive input maximum resolution varies non-linearly depending on the temperature or
resistance range being measured. The maximum resolution listed here is the maximum
across the entire range.
Reporting the Value with its maximum resolution requires the system to process
every single fluctuation every time the Value changes. When a large number of
inputs and outputs are involved, the Automation Server may need a significant
amount of CPU bandwidth to process them. As a result, you may observe high
system CPU usage and slow response time. For more information, see section
150.6 “High CPU Usage and Slow System Response Time ” on page 5528.
Topics
Central I/O System Tree Pane Icons
I/O Module Management Tool Dialog Box
I/O Bus Properties – Basic Tab
I/O Module Properties – Basic Tab
I/O Modules in the Work Area
Counter Input Properties – Basic Tab
Current Input Properties – Basic Tab
Digital Input Properties – Basic Tab
Resistive Input Properties – Basic Tab
2-Wire or 3-Wire RTD Resistive Input Properties – Basic Tab
Supervised Input Properties – Basic Tab
Temperature Input Properties – Basic Tab
2-Wire or 3-Wire RTD Temperature Input Properties – Basic
Tab
Voltage Input Properties – Basic Tab
Current Output Properties – Basic Tab
Voltage Output Properties – Basic Tab
Digital Output Properties – Basic Tab
Digital Pulsed Output Properties – Basic Tab
Tristate Output Properties – Basic Tab
Tristate Pulsed Output Properties – Basic Tab
I/O Points in the Work Area
Print I/O Wiring List Dialog Box
Counter Input – Basic Settings Page
Current Input – Basic Settings Page
Digital Input – Basic Settings Page
Resistive Input – Basic Settings Page
2-Wire or 3-Wire RTD Resistive Input – Basic Settings Page
Supervised Input – Basic Settings Page
Temperature Input – Basic Settings Page
2-Wire or 3-Wire RTD Temperature Input – Basic Settings
Page
Voltage Input – Basic Settings Page
New I/O Module Wizard – Basic Settings Page
Current Output – Basic Settings Page
Voltage Output – Basic Settings Page
Digital Output – Basic Settings Page
Digital Pulsed Output – Basic Settings Page
Tristate Output – Basic Settings Page
Tristate Pulsed Output – Basic Settings Page
Print I/O Module Labels Dialog Box
Update I/O Module Firmware Dialog Box
22 I/O User Interface
22.1 Central I/O System Tree Pane Icons
I/O Bus
Indicates the I/O bus.
I/O Module
Indicates the I/O module.
I/O Point
Indicates an I/O point.
Module ID Displays the position of the I/O module on the I/O Bus. Null and 1
to 32 are valid positions. Null specifies that the Module ID is non-
operational and can be used as a placeholder to be configured
when you wish to assign it to a physical slot.
Physical device Displays the physical device type connected to the Automation
type Server.
IO module name Displays the logical module located in the IO Bus folder.
Continued
Component Description
Unssigned Modules Displays unassigned I/O modules. You drag and drop unassigned
modules to assign them to a physical device. For more
information, see section 20.11 “Assigning and Unassigning
Logical I/O Modules” on page 630.
Automation Server backplane address Displays the slot where the Automation
Server is currently located.
Continued
Component Description
Module type mismatch Displays True when the user has created a
different type of module at a specific location
in the I/O Bus than is physically installed at
that location. When this occurs, a Module
type mismatch alarm is also triggered.
Continued
Component Description
Tip
If you do not see all of the fields displayed here, right-click on the column header
to display more.
Continued
Component Description
Continued
Component Description
LED invert Select True to turn the LED off when the
counter is connected and on when the
counter is disconnected.
Continued
Component Description
Upper reliability level Type a value for the upper reliability level in
electrical units. When the electrical value is
above the upper reliability level, the Reliability
is Value over range.
Lower reliability level Type a value for the lower reliability level in
electrical units. When the electrical value is
below the lower reliability level, the Reliability
is Value under range.
Engineering scale top Type a top of the range engineering value for
the input point. (Example: 100%)
LED invert Select True to turn the LED off when the
current is closed.
Continued
Component Description
Upper reliability level Type a value for the upper reliability level in
electrical units. When the electrical value is
above the upper reliability level, the Reliability
is Value over range.
Lower reliability level Type a value for the lower reliability level in
electrical units. When the electrical value is
below the lower reliability level, the Reliability
is Value under range.
Engineering scale top Type a top of the range engineering value for
the input point. (Example: 100%)
Continued
Component Description
Upper reliability level Type a value for the upper reliability level in
electrical units. When the electrical value is
above the upper reliability level, the Reliability
is Value over range.
Lower reliability level Type a value for the lower reliability level in
electrical units. When the electrical value is
below the lower reliability level, the Reliability
is Value under range.
Engineering scale top Type a top of the range engineering value for
the input point. (Example: 100%)
Continued
Component Description
Supervised circuit type Select one of the following: Not set, None,
NO Series, NC Series, NO Parallel, NC
Parallel. NO Series/Parallel, or NC
Series/Parallel (NO= normally open, NC=
normally closed). The default value is NO
Series.
Continued
Component Description
Continued
Component Description
Continued
Component Description
Continued
Component Description
Upper reliability level Type a value for the upper reliability level in
electrical units. When the electrical value is
above the upper reliability level, the Reliability
is Value over range.
Lower reliability level Type a value for the lower reliability level in
electrical units. When the electrical value is
below the lower reliability level, the Reliability
is Value under range.
Engineering scale top Type a top of the range engineering value for
the input point. (Example: 100%)
Continued
Component Description
Default output value Enter the value that you want to revert to if
the I/O module loses communication with
the Automation Server for more than 255
seconds.
Engineering scale top Type a top of the range engineering value for
the input point. (Example: 100%)
Continued
Component Description
Default output value Enter the value that you want to revert to if
the I/O module loses communication with
the Automation Server for more than 255
seconds.
Engineering scale top Type a top of the range engineering value for
the input point. (Example: 100%)
Continued
Component Description
Continued
Component Description
Default output value Enter the value that you want to revert to if
the I/O module loses communication with
the Automation Server for more than 255
seconds.
Continued
Component Description
Default output value Select either On, Off, or -On to set the
default output value. Off is the default value.
The default output value is the value that the
output reverts to if the I/O module loses
communication with the Automation Server
for more than 255 seconds.
Continued
Component Description
Default output value Enter the value that you want to revert to if
the I/O module loses communication with
the Automation Server for more than 255
seconds.
Tip
If you do not see all of the fields displayed here, right-click on the column header
to display more.
Continued
Component Description
Input channel Select the physical input channel on the I/O module. Selecting a
value of Null specifies that the input point is non-operational and can
be used as a placeholder. For more information, see section 21.1
“I/O Point Types” on page 663.
Label text Type the text that is printed on an I/O module label. For more
information, see section 22.39 “Print I/O Module Labels Dialog Box”
on page 785.
Invert Select either True or False. Selecting True inverts the value of a
digital input and configures a counter input to increment when the
contact opens.
LED invert Select either True or False. Selecting True lights the LED when the
digital input is on and turns it off when the digital input is off.
Selecting False turns off the LED when the digital input is on and
turns on the LED when the digital input is off.
Input channel Select the physical input channel on the I/O module. Selecting a
value of Null specifies that the input point is non-operational and can
be used as a placeholder. For more information, see section 21.1
“I/O Point Types” on page 663.
Label text Type the text that is printed on an I/O module label. For more
information, see section 22.39 “Print I/O Module Labels Dialog Box”
on page 785.
Digital filter Select True (On) or False (Off) to filter out noise and prevent false
readings.
Threshold Type a value for minimum change of value before the I/O module
reports the value to the Automation Server. Properly setting the
threshold value reduces unnecessary communication between the
I/O module and the Automation Server. For more information, see
section 21.27 “Threshold Settings for I/O Points” on page 712.
Top of scale Type a value to enter the top of the range engineering value for the
engineering input point.
value
Top of scale Type a value to enter the top of the range voltage (VDC), current
electrical value (mA), or resistance (kohm) value for the input point scale.
Continued
Component Description
Bottom of scale Type a value for the bottom of the range engineering value for the
engineering input point scale.
value
Bottom of scale Type a bottom of the range voltage, (VDC), current (mA), or
electrical value resistance (kohm) value for the input point scale.
Upper reliability Type a value for the upper reliability level in electrical units. When the
level electrical value is above the upper reliability level, the Reliability is
Value over range.
Lower reliability Type a value for the lower reliability level in electrical units. When the
level electrical value is below the lower reliability level, the Reliability is
Value under range.
Input channel Select the physical input channel on the I/O module. Selecting a
value of Null specifies that the input point is non-operational and can
be used as a placeholder. For more information, see section 21.1
“I/O Point Types” on page 663.
Label text Type the text that is printed on an I/O module label. For more
information, see section 22.39 “Print I/O Module Labels Dialog Box”
on page 785.
Invert Select either True or False. Selecting True inverts the value of a
digital input and configures a counter input to increment when the
contact opens.
LED invert Select either True or False. Selecting True lights the LED when the
digital input is on and turns it off when the digital input is off.
Selecting False turns off the LED when the digital input is on and
turns on the LED when the digital input is off.
Input channel Select the physical input channel on the I/O module. Selecting a
value of Null specifies that the input point is non-operational and can
be used as a placeholder. For more information, see section 21.1
“I/O Point Types” on page 663.
Label text Type the text that is printed on an I/O module label. For more
information, see section 22.39 “Print I/O Module Labels Dialog Box”
on page 785.
Digital filter Select True (On) or False (Off) to filter out noise and prevent false
readings.
Threshold Type a value for minimum change of value before the I/O module
reports the value to the Automation Server. Properly setting the
threshold value reduces unnecessary communication between the
I/O module and the Automation Server. For more information, see
section 21.27 “Threshold Settings for I/O Points” on page 712.
Top of scale Type a value to enter the top of the range engineering value for the
enginering value input point.
Top of scale Type a value to enter the top of the range voltage (VDC), current
electrical value (mA), or resistance (kohm) value for the input point scale.
Continued
Component Description
Bottom of scale Type a value for the bottom of the range engineering value for the
engineering input point scale.
value
Bottom of scale Type a bottom of the range voltage, (VDC), current (mA), or
electrical value resistance (kohm) value for the input point scale.
Upper reliability Type a value for the upper reliability level in electrical units. When the
level electrical value is above the upper reliability level, the Reliability is
Value over range.
Lower reliability Type a value for the lower reliability level in electrical units. When the
level electrical value is below the lower reliability level, the Reliability is
Value under range.
Input channel Select the physical input channel on the I/O module. Selecting a
value of Null specifies that the input point is non-operational and can
be used as a placeholder. For more information, see section 21.1
“I/O Point Types” on page 663.
Label text Type the text that is printed on an I/O module label. For more
information, see section 22.39 “Print I/O Module Labels Dialog Box”
on page 785.
Digital filter Select True (On) or False (Off) to filter out noise and prevent false
readings.
Threshold Type a value for minimum change of value before the I/O module
reports the value to the Automation Server. Properly setting the
threshold value reduces unnecessary communication between the
I/O module and the Automation Server. For more information, see
section 21.27 “Threshold Settings for I/O Points” on page 712.
Top of scale Type a value to enter the top of the range engineering value for the
enginering value input point.
Top of scale Type a value to enter the top of the range voltage (VDC), current
electrical value (mA), or resistance (kohm) value for the input point scale.
Continued
Component Description
Bottom of scale Type a value for the bottom of the range engineering value for the
engineering input point scale.
value
Bottom of scale Type a bottom of the range voltage, (VDC), current (mA), or
electrical value resistance (kohm) value for the input point scale.
Upper reliability Type a value for the upper reliability level in electrical units. When the
level electrical value is above the upper reliability level, the Reliability is
Value over range.
Lower reliability Type a value for the lower reliability level in electrical units. When the
level electrical value is below the lower reliability level, the Reliability is
Value under range.
Sensor class Select the sensor class to configure the RTD resisitive input for the
approximate range it will measure:
• 100 ohm based: measures a range from 50 to 220 ohm
• 1000 ohm based: measures a range from 500 to 2200 ohm
Input channel Select the physical input channel on the I/O module. Selecting a
value of Null specifies that the input point is non-operational and can
be used as a placeholder. For more information, see section 21.1
“I/O Point Types” on page 663.
Label text Type the text that is printed on an I/O module label. For more
information, see section 22.39 “Print I/O Module Labels Dialog Box”
on page 785.
Supervised Type the value or use the up and down arrow keys to enter the
resistor value resistance value of the resistors in the supervised circuit.
Input channel Select the physical input channel on the I/O module. Selecting a
value of Null specifies that the input point is non-operational and can
be used as a placeholder. For more information, see section 21.1
“I/O Point Types” on page 663.
Label text Type the text that is printed on an I/O module label. For more
information, see section 22.39 “Print I/O Module Labels Dialog Box”
on page 785.
Digital filter Select True (On) or False (Off) to filter out noise and prevent false
readings.
Threshold Type a value for minimum change of value before the I/O module
reports the value to the Automation Server. Properly setting the
threshold value reduces unnecessary communication between the
I/O module and the Automation Server. For more information, see
section 21.27 “Threshold Settings for I/O Points” on page 712.
Thermistor type Select the appropriate thermistor type from the list.
Continued
Component Description
Upper reliability Type a temperature value for the upper reliability level. When the
level value is above the upper reliability level, the Reliability is Value over
range. For more information, see section 21.9 “2-Wire or 3-Wire
RTD-DI-16 Temperature Input Value and Reliability Levels” on page
679.
Lower reliability Type a temperature value for the lower reliability level. When the value
level is below the lower reliability level, the Reliability is Value under range.
For more information, see section 21.9 “2-Wire or 3-Wire RTD-DI-16
Temperature Input Value and Reliability Levels” on page 679.
Input channel Select the physical input channel on the I/O module. Selecting a
value of Null specifies that the input point is non-operational and can
be used as a placeholder. For more information, see section 21.1
“I/O Point Types” on page 663.
Label text Type the text that is printed on an I/O module label. For more
information, see section 22.39 “Print I/O Module Labels Dialog Box”
on page 785.
Digital filter Select True (On) or False (Off) to filter out noise and prevent false
readings.
Threshold Type a value for minimum change of value before the I/O module
reports the value to the Automation Server. Properly setting the
threshold value reduces unnecessary communication between the
I/O module and the Automation Server. For more information, see
section 21.27 “Threshold Settings for I/O Points” on page 712.
Sensor type Select a sensor type to determine how the resistance value is
converted to temperature.
Continued
Component Description
Upper reliability Type a temperature value for the upper reliability level. When the
level value is above the upper reliability level, the Reliability is Value over
range. For more information, see section 21.9 “2-Wire or 3-Wire
RTD-DI-16 Temperature Input Value and Reliability Levels” on page
679.
Lower reliability Type a temperature value for the lower reliability level. When the value
level is below the lower reliability level, the Reliability is Value under range.
For more information, see section 21.9 “2-Wire or 3-Wire RTD-DI-16
Temperature Input Value and Reliability Levels” on page 679.
Wiring resistance Type a wiring resistance value. For more information, see section
21.8 “2-Wire RTD-DI-16 Temperature Input Wiring Resistance” on
page 678.
Input channel Select the physical input channel on the I/O module. Selecting a
value of Null specifies that the input point is non-operational and can
be used as a placeholder. For more information, see section 21.1
“I/O Point Types” on page 663.
Label text Type the text that is printed on an I/O module label. For more
information, see section 22.39 “Print I/O Module Labels Dialog Box”
on page 785.
Digital filter Select True (On) or False (Off) to filter out noise and prevent false
readings.
Threshold Type a value for minimum change of value before the I/O module
reports the value to the Automation Server. Properly setting the
threshold value reduces unnecessary communication between the
I/O module and the Automation Server. For more information, see
section 21.27 “Threshold Settings for I/O Points” on page 712.
Top of scale Type a value to enter the top of the range engineering value for the
engineering input point.
value
Top of scale Type a value to enter the top of the range voltage (VDC), current
electrical value (mA), or resistance (kohm) value for the input point scale.
Continued
Component Description
Bottom of scale Type a value for the bottom of the range engineering value for the
engineering input point scale.
value
Bottom of scale Type a bottom of the range voltage, (VDC), current (mA), or
electrical value resistance (kohm) value for the input point scale.
Upper reliability Type a value for the upper reliability level in electrical units. When the
level electrical value is above the upper reliability level, the Reliability is
Value over range.
Lower reliability Type a value for the lower reliability level in electrical units. When the
level electrical value is below the lower reliability level, the Reliability is
Value under range.
Output channel Select the physical output channel on the I/O module. Selecting a
value of Null specifies that the output point is non-operational and
can be used as a placeholder. For more information, see section
21.1 “I/O Point Types” on page 663.
Label text Type the text that is printed on an I/O module label. For more
information, see section 22.39 “Print I/O Module Labels Dialog Box”
on page 785.
Requested value Enter a value that you want to assign to the output. This property
drives the output to a specific value. When the Requested value is
set, the output turns on and off and remains in that state unless the
I/O module loses communication with the Automation Server. 255
seconds later the default output value is used instead of the
requested value.
Default output Enter a default output value. The default output value is the value that
value the output reverts to if the I/O module loses communication with the
Automation Server for 255 seconds.
Threshold Type a value for minimum change of value before the I/O module
reports the value to the Automation Server. Properly setting the
threshold value reduces unnecessary communication between the
I/O module and the Automation Server. For more information, see
section 21.27 “Threshold Settings for I/O Points” on page 712.
Continued
Component Description
Top of scale Type a top of the range engineering value for the output point.
engineering Scaling applies a linear conversion to the value of the output points
value on an I/O module. For more information, see section 21.22 “Scaling
an Input or Output I/O Point” on page 703.
Top of scale Type a top of the range voltage (VDC) or current (mA) value for the
electrical value output point scale.
Bottom of scale Type a bottom of the range engineering value for the output point.
engineering
value
Bottom of scale Type a bottom of the range voltage (VDC) or current (mA) value for
electrical value the output point.
Output channel Select the physical output channel on the I/O module. Selecting a
value of Null specifies that the output point is non-operational and
can be used as a placeholder. For more information, see section
21.1 “I/O Point Types” on page 663.
Label text Type the text that is printed on an I/O module label. For more
information, see section 22.39 “Print I/O Module Labels Dialog Box”
on page 785.
Requested value Enter a value that you want to assign to the output. This property
drives the output to a specific value. When the Requested value is
set, the output turns on and off and remains in that state unless the
I/O module loses communication with the Automation Server. 255
seconds later the default output value is used instead of the
requested value.
Default output Enter a default output value. The default output value is the value that
value the output reverts to if the I/O module loses communication with the
Automation Server for 255 seconds.
Threshold Type a value for minimum change of value before the I/O module
reports the value to the Automation Server. Properly setting the
threshold value reduces unnecessary communication between the
I/O module and the Automation Server. For more information, see
section 21.27 “Threshold Settings for I/O Points” on page 712.
Continued
Component Description
Top of scale Type a top of the range engineering value for the output point.
engineering Scaling applies a linear conversion to the value of the output points
value on an I/O module. For more information, see section 21.22 “Scaling
an Input or Output I/O Point” on page 703.
Top of scale Type a top of the range voltage (VDC) or current (mA) value for the
electrical value output point scale.
Bottom of scale Type a bottom of the range engineering value for the output point.
engineering
value
Bottom of scale Type a bottom of the range voltage (VDC) or current (mA) value for
electrical value the output point.
Output channel Select the physical output channel on the I/O module. Selecting a
value of Null specifies that the output point is non-operational and
can be used as a placeholder. For more information, see section
21.1 “I/O Point Types” on page 663.
Label text Type the text that is printed on an I/O module label. For more
information, see section 22.39 “Print I/O Module Labels Dialog Box”
on page 785.
Requested value Select either On or Off to set the Requested value. When the
Requested value is set, the output turns on or off and remains in that
state unless the I/O module loses communication with the
Automation Server. 255 seconds later the default output value is
used instead of the requested value.
Default output Select either On or Off to set the Default output value. The Default
value output value is the value that the output reverts to if the I/O module
loses communication with the Automation Server for 255 seconds.
Output channel Select the physical output channel on the I/O module. Selecting a
value of Null specifies that the output point is non-operational and
can be used as a placeholder. For more information, see section
21.1 “I/O Point Types” on page 663.
Label text Type the text that is printed on an I/O module label. For more
information, see section 22.39 “Print I/O Module Labels Dialog Box”
on page 785.
Requested value Enter a value that you want to assign to the output. This property
drives the output to a specific value. When the Requested value is
set, the output turns on and off and remains in that state unless the
I/O module loses communication with the Automation Server. 255
seconds later the default output value is used instead of the
requested value.
The value of a digital pulsed output is On or Off since the output is
either On or Off at a given point in time.
Default output Enter a default output value. The default output value is the value that
value the output reverts to if the I/O module loses communication with the
Automation Server for 255 seconds.
Continued
Component Description
Output channel Select the physical output channel on the I/O module. Selecting a
value of Null specifies that the output point is non-operational and
can be used as a placeholder. For more information, see section
21.1 “I/O Point Types” on page 663.
Label text Type the text that is printed on an I/O module label. For more
information, see section 22.39 “Print I/O Module Labels Dialog Box”
on page 785.
Requested value Select either On, Off, or -On to set the Requested value. When the
Requested value is set, the output turns on or off and remains in that
state unless the I/O module loses communication with the
Automation Server. 255 seconds later the default output value is
used instead of the requested value.
Default output Select either On, Off, or -On to set the Default output value. The
value Default output value is the value that the output reverts to if the I/O
module loses communication with the Automation Server for 255
seconds.
Output channel Select the physical output channel on the I/O module. Selecting a
value of Null specifies that the output point is non-operational and
can be used as a placeholder. For more information, see section
21.1 “I/O Point Types” on page 663.
Label text Type the text that is printed on an I/O module label. For more
information, see section 22.39 “Print I/O Module Labels Dialog Box”
on page 785.
Requested value Enter a value that you want to assign to the output. This property
drives the output to a specific value. When the Requested value is
set, the output turns on and off and remains in that state unless the
I/O module loses communication with the Automation Server. 255
seconds later the default output value is used instead of the
requested value.
For Tristate pulsed outputs, the Requested value is a value in
seconds + or -.
Default output Enter a default output value. The default output value is the value that
value the output reverts to if the I/O module loses communication with the
Automation Server for 255 seconds.
Continued
Component Description
Blank Label Text Select to print labels with only the channel
number with no additional label text.
Paper Type Select the paper type for the label - letter or
A4.
Topics
Graphics Editor Overview
Graphics Editor Libraries
Graphics in WorkStation
Creating a Graphic
Adjusting the Graphic Work Area
Saving a Graphic
Drawing Tools
Keyboard Shortcuts for Graphics Editor
Testing
Testing a Graphic in Preview Mode
23 Graphics Introduction
23.1 Graphics Editor Overview
Important
You have to have a valid Graphics Editor license to start the Graphics Editor. For
more information, see the Licenses topic on WebHelp.
In Graphics Editor you can create advanced graphics. Graphics Editor contains
tools to make geometrical figures, symbols, texts, flexible data conversions,
animations, dynamics and interactivity. You can transform, move, align, arrange,
and distribute graphics objects in a work area in several ways.
Often used functionality, standard symbols and components representing common
functions are available in libraries delivered with Graphics Editor. You can add to
these libraries.
You can open and import graphics or photographs into Graphics Editor, paste
graphics into other graphics, and export from Graphics Editor.
You can link figures, for example, illustrations, symbols, and text, to database
objects in the Building Operation database. When the system is running, the
graphic objects can be displayed in WorkStation and automatically updated as
values at the site change.
You can print the graphics on any printer supported by Microsoft Windows.
A graphic component is a predefined graphic that contains one or several other
parts. Components are meant for reuse and typically represent a feature or a device
in a live system. Components can be designed as symbols which can be used as
building blocks and reused in several graphics. Components reside in dedicated
libraries and are displayed in the Components pane. The analog watch is an
example of a component.
When you design components, it is recommended that you set Graphics Editor
Component mode to Graphics.
The height and width values are copied to the ComponentHeight and
ComponentWidth properties of the Component element when you store the
component. When you use the component in a TGML graphic, however, the height
and width values are scaled to 20%, as mentioned above.
Thus, the component has one size when you use it in a graphic and another size
(usually larger) when you create or edit the component.
Components are stored as separate files in subfolders of the Components folder.
Typically, you would save different categories of components in different subfolders.
The subfolder names are displayed as separate bars in the Components pane.
23.1.1 Graphics
Graphics are representations of a site or parts of a site. Graphics can be made up
of figures, text and imported pictures. They can also contain components and
functions.
For more information, see section 23.3 “Graphics in WorkStation” on page 794.
23.1.2 Figures
A figure is the smallest independent element of a graphic, for example, a circle.
For more information, see section 33.1 “Figures” on page 967.
23.1.3 Components
Components are standardized, predefined graphics for defined use.
For more information, see section 24.1 “Components” on page 809.
23.1.4 Layers
When creating complex graphics, it can be a challenge to keep track of all the
graphic figures in the work area. Graphic figures get hidden under one another and
selecting becomes difficult. Layers provide a way to manage the graphic figures
that make up your graphic. Layers can be regarded as folders that contain graphic
figures.
For more information, see section 31.1 “Layers” on page 945.
All subfolders in the Components library are displayed as clickable bars in the
Components pane. All *.tgmlcomponent files in such a subfolder are displayed as
selectable components under the corresponding bar.
Similarly, all subfolders in the Snippets library are displayed as clickable bars in the
Snippets pane. All *.tgmlsnippet files in such a subfolder are displayed as selectable
snippets under the corresponding bar.
To create a graphic
1. In WorkStation, in the System Tree pane, select the folder or server where
you want to create the graphic.
2. On the File menu, point to New and then click Graphic.
3. In the Name box, type a name for the graphic.
6. In the File box, enter a .tgml file if the graphic has already been created using
Graphics Editor.
7. Click Create.
5. In the Stretch box, select the the behavior of the graphic when displayed in
WorkStation.
6. In the Height box, type the value for the height of the work area.
Continued on next page
7. In the Width box, type the value for the width of the work area.
To save a graphic
1. In Graphics Editor, on the File menu, click Save.
Important
• You can only save a graphic in Preview mode.
• If you choose to save by using the Save As command the link to
the database is broken and you have to define the location
where you want to save the .Tgml graphics file in the file system.
23.7.1 Lines
Use the Graphics Editor Line tool to draw a straight line, that is, a line between two
points.
For more information, see section 33.2 “Lines” on page 969.
23.7.2 Polylines
Use the Graphics Editor Polyline tool to draw a line with several nodes, that is, a
line with angles.
For more information, see section 33.9 “Polygons” on page 976.
23.7.3 Curves
Use the Graphics Editor Curve tool to draw a curve, that is, a line that is not
straight.
For more information, see section 33.6 “Curves” on page 973.
23.7.4 Polygons
Use the Graphics Editor Polygon tool to draw a polygon, that is, a plane figure that
is bounded by a closed path, composed of a finite sequence of straight line
segments.
For more information, see section 33.9 “Polygons” on page 976.
23.7.5 Rectangle
Use the Graphics Editor Rectangle tool to draw a simple rectangle, that is, a
quadrilateral with four right angles.
For more information, see section 33.11 “Rectangles” on page 979.
23.7.6 Ellipses
Use the Graphics Editor Ellipse tool to draw an ellipse, that is, a plane curve that
results from the intersection of a cone by a plane in a way that produces a closed
curve.
For more information, see section 33.14 “Ellipses” on page 982.
23.7.7 Arcs
Use the Graphcis Editor Arc tool to draw an arc, that is, a part of the periphery of
an ellipse, or a circle.
For more information, see section 33.18 “Arcs” on page 987.
23.7.8 Pies
Use the Graphics Editor Pie tool to draw a pie, that is, an area enclosed by two
radii of a circle and their intercepted arc.
For more information, see section 33.19 “Pies” on page 988.
23.7.10 Pictures
Use the Graphics Editor Insert Pictures tool to insert supported image files into
your graphic.
For more information, see section 33.30 “Pictures” on page 1001.
F1 Access Help
F2 Rename
F5 Refresh
CTRL+0 Zoom
CTRL+1 Select
Continued
Press To
CTRL+X Cut
CTRL+C Copy
CTRL+V Paste
DEL Delete
CTRL+F Find
23.9 Testing
You can test the behavior of graphics and components offline in Preview mode by
setting test values in the Test pane.
Any graphic or component with an associated name and a Bind object, is displayed
in the Test pane.
You enter test values in the Value column, and set an optional Unit.
You can also test the behavior for certain signal status values. The Status column
contains a drop-down menu where you can select four kinds of status:
• Error
• Database value
• Value from devide
• Forced value
By default, Error status is handled by the graphic (the figure is crossed over in red).
Other status types can be modified by user-written Java scripts.
Topics
Components
Component Design
Documenting and Saving a Component
Inhibiting Clipping
Controlling the Appearance of the Component
Grouping Drawing Objects as a Component
Adding a Component
Creating a New Component
Editing a Component
Saving as a Component
Snippets
Adding a Snippet
Saving as a Snippet
24 Components and Snippets
24.1 Components
24.1 Components
Components are standardized, predefined graphics for defined use.
All drawn objects are either graphics, that is, free-form drawings or components. A
component contains one or several graphic figures. It can also have predefined
functionality. Components typically represent a feature or a component in a live
system. Components can be designed as symbols, which can be used as building
blocks in graphics. Components are located in dedicated libraries and are displayed
in the Components pane. An analog gauge is an example of a component.
24.1.2 Categories
Standard components and functions are categorized in logical groups.
For more information, see section 26.1 “Categories” on page 839.
24.1.3 Snippets
Snippets are standardized, predefined functions for defined use.
For more information, see section 24.11 “Snippets” on page 828.
24.1.4 Properties
Each element in the Objects pane has a number of properties. The Graphics Editor
object properties are referred to as attributes, in compliance with XML standards.
The attributes are displayed in the Properties pane, where they can be edited.
Attributes are used to give a complete description of a graphic object. Most of the
attributes are automatically defined when the graphic object is created. By
changing the attributes, you can change, for example, the appearance and
behavior of a graphic object.
For more information, see section 27.1 “Attributes” on page 851.
Note
• When a component is edited in the components editor, the root element is
called ComponentContent. The element has two metadata elements that
contain the name of the component and the description. These elements are
not present when the component is used in a graphic.
Tip
To get a new line in the description, press CTRL+ENTER. Pressing ENTER alone
has the same effect as clicking OK.
Note
• To make your components useful to others, you can document and save
them in a standardized way.
For more information, see section 24.2 “Component Design” on page 811.
6. Click OK.
The component is now saved in the selected category and can be used in other
graphics.
To inhibit clipping
1. In Graphics Editor, in the Objects pane, select ComponentContent.
2. In the Properties pane, right-click in any input field, and then click Add.
3. In the Add a Custom Attribute dialog box, in the Attribute box, type 'Clip.
In the Value box, type 'False'.
4. Click OK.
In the Properties pane, the Content attribute has been added and its Clip
property is set to False.
Note
• You only bind an exposed property.
• You can also use the Control element to control the appearance of a
component.
For more information, see section 27.6 “Exposed Properties” on page 863.
2. In the Objects pane, right-click the bind element, point to New, and then
click the required number of Convert elements.
3. In the Properties pane, set the behavior for the Convert element.
4. On the View menu, click Test to open the Test pane.
Continued on next page
5. Click Preview.
To add a component
1. In Graphics Editor, in the Layers pane, select the layer where you want to add
the component.
2. In the Components pane, click the component category tab that contains
the component you want to use.
3. Select the component you want to add.
Note
You only need to name the drawing object if you will be binding the
object. Naming the object now will help you identify the object later.
5. Click OK.
6. In the Name box, type the name of the component.
7. In the Description box, type a description for the component. The
description is displayed as a ToolTip for the component in the Components
pane.
Continued on next page
8. In the Height and Width boxes, enter the size the component gets when
used in a drawing.
9. Click OK.
Note
• When you create a new component, a work area opens and a
ComponentContent root element appears in the Objects pane.
The name you give the component is also the file name the component gets when
saved (with the suffix .tgmlcomponent). The new component is now displayed in the
selected category in the Components pane, and is ready to use in other graphics.
To edit a component
1. In Graphics Editor, in the Components pane, select the category containing
the component you want to edit.
2. Right-click the component and click Edit.
5. Select the category where you want to save the edited component.
6. Click OK.
7. In the Name box, type the name of the component.
8. In the Description box, type a description to make the component easier to
identify.
9. In the Height and Width boxes, specify the size of the component.
To save as a component
1. In Graphics Editor, on the work area, select the component you want to save
to highlight it in the Objects pane.
2. From the Objects pane, drag the component to the components category
that you want to add the component to.
Important
You have to drag the component from the Objects pane. You can
not drag the component from the work area.
3. In the Properties dialog box, in the Name box, type the name you want to
display in the components category.
4. In the Description box, type the description you want to display as the
tooltip in the components category.
Continued on next page
5. In the Height box, type the height you want the component to have when it is
added to the work area.
6. In the Width box, type the width you want the component to have when it is
added to the work area.
7. Select Use default scale (0x0) to give the component the default size when
it is added to the work area.
8. Click OK.
The component is now saved in the Components library for use in the current
graphic and future graphics.
24.11 Snippets
Snippets are standardized, predefined functions for defined use.
Snippets typically represents a feature in a live system. Snippets are located in
dedicated libraries and are displayed in the Snippets pane. Blink, which starts and
stops a blink animation, is an example of a snippet.
By default, Graphics Editor uses two dedicated folders, containing subfolders, for
Components and Snippets. The folders are installed with the software. If your
computer runs on Windows 7 or Windows 8.1 the components and snippets
folders have the following paths:
C:\Users\[User name]\Documents\StruxureWare\Graphics Editor\Components or
Snippets\
The subfolders are displayed as categories in the Components and Snippets
panes.
Libraries can be located anywhere on the local disk.
You can show and hide categories from a selected library. You can add categories.
To add a Snippet
1. In Graphics Editor, in the Layers pane, select the layer where you want to add
the snippet.
2. In the Snippet pane, select the snippet category tab that contains the snippet
you want to use.
3. Select the snippet you want to add to the graphic.
To save as a snippet
1. In Graphics Editor, in the Objects Pane, select the Bind object that you want
to save to the Snippets library.
2. Drag the Bind object to the snippet category that you want to add the snippet
to.
3. In the Properties dialog box, in the Name box, type the name you want to
display in the snippets category.
4. In the Description box, type the description that you want to display as the
ToolTip in the Snippets category.
5. Click Ok.
The snippet is now saved in the Snippets library for use in the current graphic and
future graphics.
Topics
Printing Graphics
Setting Up a Page for Printing
Previewing a Print
25 Printing and Testing
25.1 Printing Graphics
To print graphics
1. In Graphics Editor, on the File menu, point to Print, and then click Print.
2. In the Print dialog box, select the printer you want to use and set other print
options.
3. Click Print.
3. Click OK.
Note
• The print settings apply for all printouts until you change them.
To preview a print
1. In Graphics Editor, on the File menu, point to Print, and then click Print
preview.
2. In the Print preview dialog box, set the amount of pages you want the
graphic to print on.
Topics
Categories
Creating a Category
Selecting a Category
Renaming a Category
Hiding a Category
Displaying a Hidden Category
Importing a Components Category
Importing a Snippets Category
Exporting a Category
Deleting a Category
26 Categories
26.1 Categories
26.1 Categories
Standard components and functions are categorized in logical groups.
The following groups are delivered with Graphics Editor:
• Basic Controls
Control and sensor devices and buttons of different kinds.
• DIN Symbols (EN)
English standard ISO symbols
• ISO Symbols
Standard ISO symbols
• My Components
An empty folder where you can save components you want to make available
for reuse.
• Basic Functions
Functions of different kinds.
• My Snippets
An empty folder where you can save functions you want to make available for
reuse.
For more information, see section 36.13 “Components Pane” on page 1165.
Note
• The categories listed above are read-only, and cannot be deleted.
The different categories are displayed as bars in the Components and Snippets
panes. You can hide unused categories.
You can display hidden categories, or categories that reside in other libraries, in the
Components pane.
You can store categories of components in other libraries. To make new libraries
accessible from the Components pane, you have to add them to the list of available
libraries.
When you import or export categories of components, or create new categories,
the default library is used. You can set any components library folder as the default
library.
To create a category
1. In the Components pane or in the Snippets pane, right-click and then click
New Category.
2. In the box, type a name for the category.
3. Click OK.
The new category is displayed as a tab in the Components pane or Snippets
pane.
To select a category
1. In Graphics Editor, in the Components pane or in the Snippets pane, click
the tab of the category you want to select.
To rename a category
1. In the Components pane or Snippets pane, select the category you want to
rename.
2. Right-click an empty space in the selected category and then click Rename
Category.
To hide a category
1. In the Components pane or Snippets pane, click the X to the right on the
specific tab of the category you want to hide.
3. Click Close.
3. Click OK.
The ímported snippets category is displayed as a tab in the Snippets pane.
To export a category
1. In Graphics Editor, right-click anywhere in the Components pane or
Snippets pane and then click Export.
2. Browse to the location where you want to save the export file.
3. In the File name box, verify or type a new name for the export file.
4. Click Save.
To delete a category
1. In the Components pane or Snippets pane, select the category you want to
delete.
2. Right-click an empty space in the category and then click Delete Category.
3. Click OK.
The selected category is deleted from the database.
Topics
Attributes
Graphic Object Attributes
Inherited Attributes
Defining Inheritance
Setting Up Inherited Properties
Exposed Properties
Adding an Expose Element
Exposing a Property
Modifying the Behavior of a Component
27 Attributes
27.1 Attributes
27.1 Attributes
Each element in the Objects pane has a number of properties. The Graphics Editor
object properties are referred to as attributes, in compliance with XML standards.
The attributes are displayed in the Properties pane, where they can be edited.
Attributes are used to give a complete description of a graphic object. Most of the
attributes are automatically defined when the graphic object is created. By
changing the attributes, you can change, for example, the appearance and
behavior of a graphic object.
The Properties pane has two modes, where you can define which level of detail you
want displayed.
• Normal
• Detailed
Normal mode displays the most commonly edited attributes. Detailed mode
displays all attributes.
You can add attribute values, for example, Name. Some attributes describe a
dynamic behavior and the attributes become apparent only when the graphic is
used in a dynamic environment, for example, as an online graphic accessible in
WorkStation Graphics viewer.
For some of the attributes in the Properties pane, a label is displayed at the bottom
of the pane when you select the attribute.
(blank)
The value has been chosen when the object was created and applies to this object.
Default value
The value was set by default when the object was created and applies to this
object.
Inherited value
The object is a part of a parent object and has inherited its value from the parent.
This information can be useful when you create more complex objects, where
attribute inheritance is used. For more information, see section 27.3 “Inherited
Attributes” on page 854.
Different objects and items have different attributes, which are described with each
item, but some general rules apply.
There are different categories of graphic object attributes
• Generic attributes
• Appearance, Position and Size attributes
• Behavior, Boundary and Target attributes
For Bind elements, the Name is displayed in the Binds and Links pane. From there
the Bind element cannot be connected to external signals. The actual binding is
performed from WorkStation.
Figure: The graphic figure in the group inherits the Fill attribute from the Group object.
Tip
If you do not know the value (for example, a color code), you can leave the value
box blank. In this case, when you add the property, the value box in the
Properties pane indicates an invalid (empty) value. Use the drop-down menu to
select a valid value.
To define inheritance
1. In Graphics Editor, in the Objects pane, select the parent object from which
you want to use a property, for example, Group.
2. In the Properties pane, right-click anywhere and then click Add.
3. In the Add a Custom Attribute dialog box, type a name for the property
that you want child objects to inherit, for example, "Fill".
4. In the Objects pane, select the objects that are to inherit properties from the
container object to which they belong.
5. In the Properties pane, delete the property that you want the container
object to control.
6. Click Remove.
Important
• Make sure that the property that you add on the container object
has a corresponding property on the inheriting objects. For
example, Fill.
• Corresponding properties have to have identical names.
Note
• You can override the inheritance from a container object by
keeping the property on an object that belongs to the container
object. This is useful when you want a group of objects in the
same container object to inherit a property, but have one or a
few objects in that container object, which should keep their
individual properties.
Note
• If a property for a shadow object is removed, the object inherits the
corresponding property from its lead object.
For more information, see section 24.2 “Component Design” on page 811.
Note
• If you do not know the value (for example, a color code), you can
leave the Value field blank. In this case, when you add the
property, the Value field in the Properties pane indicates an
invalid (empty) value. Use the drop-down menu to select a valid
value.
4. In the Objects pane, select the object whose property should be inherited.
Continued on next page
Note
• When naming exposed attributes, note that if two or more exposed elements
have the same name this is considered to be intentional. It means that the
named element is displayed only once in the Exposed Properties part of the
Properties pane.
3. In the Properties pane, click the ExposedAttribute box, and select the
property you want to expose from the drop-down list.
If you select the object containing the exposed property in the Objects pane, the
exposed property is displayed in the Properties pane
Note
• If a property for a low-level object is removed, the object inherits the
corresponding property from its parent object.
For more information, see section 24.2 “Component Design” on page 811.
To expose a property
1. In Graphics Editor, in the Objects pane, select the component containing the
property you want to expose
2. In the Properties pane, right-click the property you want to expose and then
click Expose.
Note
An Exposed Properties element is added in the Properties pane.
3. In the Objects pane, select the new Expose element and change the name
from My___ to a more descriptive name.
Note
• You can expose several properties at a time.
If you select the object containing the exposed property in the Objects pane, the
exposed property is displayed in the Properties pane.
4. In the Properties pane, in the Name box, type the name of the modified
component.
Note
You only need to name the drawing object if you will be binding the
object. Naming the object now will help you identify the object later.
5. In the Properties pane, type values for the Exposed Properties object.
6. Select Preview.
7. In the Binds and Links pane, enter values to test the modified behavior.
Note
• The bindings name consists of the component name, a dot, and
the bind name 'Value'.
Topics
Binds and Links
Adding a Link
Adding a Bind
Binding a Graphic to a Variable
Dynamic Updates
Activating a binding with a dynamic update attribute
28 Binds and Links
28.1 Binds and Links
Bindings are made by adding a Bind element to the graphic object. The Bind
element has a Target attribute that is changed as the incoming value from the
Server changes.
To add a link
1. In Graphics Editor, click the Snippets tab.
2. Select the Basic Functions category.
3. Drag the Link snippet to the drawing object that will be linked to a Web site,
application, or document.
4. In the Objects pane, click the Link object.
5. In the Properties pane, in the LinkName box, type the name of the Link
object.
6. Click Save.
The link is now added to the graphic and is available for binding in WorkStation.
To add a bind
1. In Graphics Editor, in the Objects pane, right-click the object to which you
want to add the bind.
2. Point to New and then click Bind.
3. In the Properties pane, in the Attribute box, enter the object attribute you
want to be affected by the server signal.
Before you can bind the graphic object attribute to a signal in WorkStation you have
to add, for example, a value converter to the bind.
4. Drag the variable or object to the box in the Binding column for the binding
point you want to bind.
Topics
Groups
Grouping Multiple Objects
Ungrouping Objects
Selecting an Object
Selecting Multiple Objects
Selecting All Objects
Clearing the Selection of Multiple Objects
Selecting a Group
29 Groups
29.1 Groups
29.1 Groups
A group is when two or more objects or components are joined together as one
entity. Groups can have nested groups, that is, groups within the group.
The purpose of grouping objects is to make it possible to perform an operation on
them all simultaneously. When you have selected a group, you can move, copy,
and zoom in on the objects of the group in one single command.
Once you have grouped objects, you cannot select individual objects within the
group from the work area. You can still select one or several objects of the group
from the Objects pane. The objects are then indicated as selected members of the
group.
This can be useful, for example, if you want to see on which objects a specific
element operates. The selected object is then indicated as a selected member of
the group in the work area as well.
When you select one or more individual objects of a group, the selected object or
objects are displayed with inverted text in the Objects pane, and are selected as
Group member in the work area.
Note
• A Group member selection is displayed in the work area as green dashed
rectangle(s), enclosing the object(s).
Figure: An individual member of a group has been selected. The group member selection
is indicated with a green rectangle in the work area
You can add objects that do not belong to the group to a selection by pressing
CTRL and clicking in the Objects pane.
Figure: A single curve is added to the selection. The ellipse is still surrounded by the green
rectangle, but now the group, which is the primary selection, is surrounded by a blue
rectangle
The usage of selection indicators in the work area, when you have selected one or
several objects, can be summarized as follows.
• Primary selection is indicated with a dashed blue rectangle enclosing the object
(which can also be a group)
• Group member selection is indicated with a dashed green rectangle enclosing
the individual object
You have to select an object before editing it. There are several ways to select an
object. You can select objects individually or simultaneously by clicking them or by
drawing a marquee around them.
When you select two or more objects, one of them is regarded as the primary
selection. The primary selection is displayed surrounded with a blue, dashed
rectangle in the work area.
You can select two or more objects to align them. All the selected objects are
aligned with the “primary selection” object. For more information, see section 30.5
“Aligning Objects” on page 902.
Press CTRL and click in the Last selected object (group is N/A
work area also an object)
Press CTRL and click non- First selected object (group is N/A
grouped objects or groups in also an object)
the Objects pane
Continued
Selection method Primary Selection Group Member Selection
Press CTRL and click non- First selected (group is also Each individually selected
grouped objects and an object) object in the group
members of a group in the
Objects pane (‘Mixed
selection’)
The selected objects are now grouped and enclosed by the selection rectangle.
To ungroup objects
1. In Graphics Editor, in the work area, select the group you want to ungroup.
The selected objects are now ungrouped. The selection rectangle still encloses all
the objects, but the objects also have separate selection indicators. All selections
are cleared when you click outside the objects.
To select an object
1. In Graphics Editor, in the work area, click the border or fill of the object you
want to select.
Note
• When an object is selected in the work area, it is highlighted in the Objects
pane tree structure.The opposite also applies: when you click an object in the
Objects pane, the corresponding object is selected in the work area.
Note
• You can add or remove objects by pressing CTRL while clicking the objects.
Clicking the same object toggles between select and clear.
To select a group
1. In Graphics Editor, in the work area, click the border, or any filled part, of any
of the objects in the group.
Topics
Selecting an Object Within a Group
Graphics Editing Tools
Object Organization
Moving Objects
Aligning Objects
Arranging Objects
Distributing Objects
Arranging a Table-like Layout
Duplicating an Object to the Same Position
Duplicating an Object with a Controlled Offset
Resizing an Object
Resizing an Object to the Same Size
Rotating a Single Object
Rotating Multiple Objects
Skewing Horizontally
Skewing Vertically
Flipping an Object
Copying an Object
Editing a Point of an Object
Editing Object Properties
Editing Multiple Objects
Deleting an Object
Colors
Adding a Custom Color
Using a Custom Color
Gradients
Gradient Properties
Adding a Linear Gradient
Adjusting a Linear Gradient
Adding a Radial Gradient
Adjusting a Radial Gradient
Animations
Adding an Animation
30 Editing Tools
30.1 Selecting an Object Within a Group
The entire group as well as each individually selected object are selected in the
work area. Any operation you perform only affects the individually selected objects,
not the entire group.
Tip
To include additional elements in the selection, press CTRL while clicking the
additional elements in the Objects pane.
30.2.3 Colors
You can apply color to most objects. Graphics Editor has a range of colors but you
can also customize colors and save for future use. Objects with both stroke and fill
can have different colors on stroke and fill.
For more information, see section 30.23 “Colors” on page 922.
30.2.4 Gradients
In addition to the Color palette, Fill and Stroke have a Gradient palette. Gradients
consist of smooth color transitions along a specified direction from one color to
another. There are two types of gradients: linear and radial.
For more information, see section 30.26 “Gradients” on page 925.
30.2.5 Animations
You can add animations to a graphic object to create an illusion of movement. You
can add animations to, for example, lines curves and rectangles. You can also add
animations to transformations of objects, for example rotate, scale, translate and
others. You can add the Animate property by adding it to the object you want to
animate in the Objects pane.
For more information, see section 30.32 “Animations” on page 937.
30.2.6 Paths
When you create a path of one or several objects, you create a copy in the form of a
path, where the original objects have been dissolved and replaced with
corresponding lines and fills. For example, a rectangle dissolves into a path of four
connected strokes.
For more information, see section 33.27 “Paths” on page 998.
Note
• All alignments refer to the object considered to be the primary selection.
Which object is regarded as the primary selection depends on how the
objects are selected. For more information, see section 29.1 “Groups” on
page 883.
Tip
The Align drop-down menu options indicate how the objects can be positioned
relative to the primary selection.
Note
• When you select more than one object, the selected objects keep their
internal order during the arrangement procedure.
Tip
The Arrange menu options list shows how the objects can be arranged.
Tip
The Distribute menu options list how the objects can be distributed.
Tip
• You can rotate an object by using the Rotate Selection tool on the Options
toolbar and drag the rotation handle.
• You can drag out the angle handle to increase the angle precision. This does
not affect the rotation in other ways.
• The aspect ratio is automatically used when rotated objects are resized.
• When you use the Rotate Selection tool, you can also change the center of
rotation by clicking it and moving the entire rotation handle. Before changing
the center of rotation, consider that the effect of future rotations can be
difficult to anticipate.
• If you move the center point of an object that has already been rotated, an
additional rotation is added to the object and the moved center point applies
to the new rotation that was added.
To move objects
1. In Graphics Editor, in the work area, select the object you want to move.
Note
• You can move multiple objects by selecting them all.
• You can also move the selected object(s) by using the arrow
keys.
To align objects
1. In Graphics Editor, in the work area, select the objects you want to align.
Note
• Make sure the object that controls the alignment is the primary
selection. The primary selection is enclosed within a blue,
dashed rectangle.
2. On the Options toolbar, click the Align button and select the required
alignment from the drop-down menu.
To arrange objects
1. In Graphics Editor, in the work area, select the object you want to move
backward or forward.
2. On the Options toolbar, click the Arrange button and then click the
required option.
To distribute objects
1. In Graphics Editor, in the work area, select the objects you want to distribute.
2. On the Options toolbar, click the Distribute button and then click
Horizontal or Vertical distribution.
Note
• When the objects are distributed, the objects’ center points, that
is, the vertical or horizontal middle, are used. The result becomes
most apparent when objects of different sizes are distributed.
2. On the Options toolbar, click Align and then click Top. The selected
objects align to the same horizontal height.
3. Select the objects that belong to the leftmost column, in order from top to
bottom.
4. On the Options toolbar, click the Align button and then click Left. The
selected objects align to the same left, vertical line.
5. Depending on the pattern and row/column distance you want, group the
objects, row-by-row or column-by-column.
6. Position the top/bottom rows, or the leftmost/rightmost columns.
7. Select all groups, comprising either rows or columns.
8. On the Options toolbar, click Distribute and then click Vertical if the
rows have been grouped, and Horizontal if the columns have been grouped.
The rows, or columns are distributed evenly between the outermost rows/columns.
If necessary, you continue to do adjustments by using the Align and Distribute
commands on individual objects or groups.
A copy of the object is created directly on top of the original object in the drawing.
4. Press CTRL+SHFT and move the copy to its correct position, relative to the
original.
5. Press CTRL+SHFT+V to paste another copy at the same distance relative to
the previous copy.
6. Repeat for as many copies as you need.
A number of copies are created and they are all placed with the same offset from
the previous object.
To resize an object
1. In Graphics Editor, in the work area, select the object you want to resize.
2. Click the border of the selection rectangle and drag until the object has the
size you want.
Note
• Pulling the “handles” at any of the corners of the rectangle
affects the scaling both horizontally and vertically.
• Pressing SHIFT while resizing makes the scaling proportional,
that is, resizes the object horizontally and vertically.
Note
• The last selected object is used as a size template. The size
template is enclosed in a blue rectangle.
3. On the Options toolbar, click Resize and then click the resize option you
want: Same width, Same height, or Same width and height.
To skew horizontally
1. In Graphics Editor, in the work area, select the object you want to skew.
Note
• A positive value implies counter-clockwise skew.
• A negative value implies clockwise skew.
To skew vertically
1. In Graphics Editor, in the work area, select the object you want to skew.
2. On the Options toolbar, click the Skew Vertical button to open the
degree selection menu.
3. Click the required amount of degrees, –60° to +60°.
Note
• A positive value implies counter-clockwise skew.
• A negative value implies clockwise skew.
To flip an object
1. In Graphics Editor, in the work area, select the object you want to flip.
2. On the Options toolbar, click Flip to open the flip axis menu.
To copy an object
1. In Graphics Editor, in the work area, select the object you want to copy.
2. On the Drawing toolbar, click Copy.
3. On the Drawing toolbar, click Paste.
Note
• When small objects are edited at an extreme zoom level, it can
be difficult to select the points. This is due to unavoidable
rounding errors, but the problem can be avoided if you draw and
edit the object in a larger size and then down-scale it.
• You can also use Show Grid (1 px) and Snap to Grid when
you create and edit the object. Grid points are not numerically
rounded.
3. In the work area, click anywhere outside the object you have edited to clear
the selection.
4. On the File menu, click Save.
You can edit a number of properties from the Properties pane.
2. On the Options toolbar, click any of the Fill, Stroke (border) color, Style, or
Width buttons and select appearance from the corresponding menu.
To delete an object
1. In Graphics Editor, in the work area, select the object you want to delete.
The selected object is deleted but you can undo the command by clicking Undo on
the menu bar before you have edited any other objects.
30.23 Colors
You can apply color to most objects. Graphics Editor has a range of colors but you
can also customize colors and save for future use. Objects with both stroke and fill
can have different colors on stroke and fill.
You can define color hue from the Gradient palette.
3. In the Color dialog box, in the colored square, move the pointer to the color
you want to add. If required, you can adjust the color by adjusting the
numerical values for Hue, Saturation, Red, Green, Blue, and
Luminosity.
Note
• Fill and Stroke use the same color palette and also the same
custom colors.
5. Click OK.
The color is displayed in one of the Custom Color boxes.
5. Click OK.
30.26 Gradients
In addition to the Color palette, Fill and Stroke have a Gradient palette. Gradients
consist of smooth color transitions along a specified direction from one color to
another. There are two types of gradients: linear and radial.
Gradients work with gradient stops where the two colors are specified and
indicating where they start and stop.
The Gradients and Gradient stops are properties, added to the object in the Objects
pane. For more information, see section 33.1 “Figures” on page 967.
Figure: The three different SpredMethods used with the same StartPoints and EndPoints
A radial gradient has the following properties:
• Focus
Point that defines where the radial gradient starts.
• Center
Center point for the circle (ellipse) that defines where the radial gradient ends.
• RadiusX
One of the two axes for the circle (ellipse) that define where the radial gradient
ends.
• RadiusY
One of the two axes for the circle (ellipse) that define where the radial gradient
ends.
Example: An ellipse, created with one of the standard circular gradient patterns
from the Fill Gradient palette:
Figure: A radial gradient with an off-center focus, suggesting light from upper-left
The SpreadMethod for a radial gradient is always “Pad”.
The colors at the StartPoint and EndPoint of a gradient (linear or radial) are specified
in two GradientStop objects, belonging to the “parent” LinearGradient or
RadialGradient object.
The GradientStop objects also have an Offset, which modifies where the gradient
starts and stops. If the values are 0 and 1, the StartPoint and EndPoint are not
modified.
Example: A rectangle with two different pairs of settings for the GradientStop:
Figure: A linear gradient, in the lower case modified by the GradientStop Offsets
Gradients and gradient stops can be used in more complex ways.
For example, you can add more GradientStops to a Linear/RadialGradient to make
the color change at each Offset distance. Below is an example with three
GradientStops.
We use a square, 400x400, in which we want the gradients to run roughly in a
diagonal direction, but described only within the inner part of the square. By setting
the StartPoint to (0.2, 0.4) and the EndPoint to (0.7, 0.9), the gradients will run from
the coordinates (180, 260) to (380, 460).
Figure: A square with a limited linear gradient, three gradient stops, and two
"preadMethod" areas outside the linear gradient definition.
The three GradientStops have the following properties:
• Color 1 (green), Offset=0.1
• Color 2 (none), Offset=0.3
• Color 3 (blue), Offset=0.7
The area between Offset=0 and Offset=0.1 is padded with Color 1 (green).
The area between Offset=0.1 and Offset=0.3 gradually changes from Color 1
(green) to Color 2 (transparent).
The area between Offset=0.3 and Offset=0.7 gradually changes from Color 2
(transparent) to Color 3 (blue).
The area between Offset=0.7 and Offset=1 is padded with Color 3 (blue).
The two areas outside the LinearGradient definition use the same SpreadMethod, in
this case Repeat, but Pad or Reflect could also have been used. With Repeat, the
pattern is repeated according to the defined gradient. With Reflect, the pattern
would have been mirrored, and with Pad the outermost colors (here 1 and 3) would
have been extended.
Note
• You have to add the GradientStops to the Objects pane in a strictly
ascending Offset order (0 to 1), otherwise the result is undefined.
• When you add a GradientStop to the list, its Color and Offset are undefined,
which means that the associated object are transparent until the parameters
have been set.
6. To change the gradient start and end points (also indicating the gradient
direction), in the Position area, in the StartPoint or EndPoint box, type x
and y-coordinates between (0,0), (0,1), (1,0) and (1,1). If the gradient is
positioned well within the square outlined above, the areas “outside” the start
and end points can be filled by one of three spread methods.
7. To change the gradient spread method, in the Behavior area, in the
SpreadMethod box, switch between Pad (extending the end colors),
Reflect (mirroring the gradient in the Start/End points), and Repeat
(repeating the gradient as far as the “outside” area stretches).
Continued on next page
8. To change any of the gradient colors (the “start” and “stop” colors), in the
Appearance area, in the Color box, click a color in the Color palette, or
type a hexadecimal color code.
9. To change the offset (where the “start” and “stop” colors will be positioned,
relative to the LinearGradient Start/End points), in the Position area, in the
Offset box, type a value between 0 and 1.
6. To change the gradient focus (the beginning of the radial gradient), in the
Position area, in the Focus box, type x and y-coordinates between (0,0) and
(1,1). To change how far the gradient will reach (a kind of gradient end point
periphery), a circle or ellipse is used.
7. In the Position area, click the periphery ellipse Center, and type x and y-
coordinates between (0,0) and (1,1).
8. In the Position area, complete the circle/ellipse by selecting RadiusX or
RadiusY, and type values between 0 and 1 to define the reach of the
periphery.
Continued on next page
9. To change any of the gradient colors (the “start” and “stop” colors), in the
Appearance area, in the Color box, click a color in the Color palette, or
type the a hexadecimal color code.
10. To change the offset (where the “start” and “stop” colors will be positioned,
relative to the RadialGradient focal point), in the Position area, in the Offset
box, type a value between 0 and 1.
30.32 Animations
You can add animations to a graphic object to create an illusion of movement. You
can add animations to, for example, lines curves and rectangles. You can also add
animations to transformations of objects, for example rotate, scale, translate and
others. You can add the Animate property by adding it to the object you want to
animate in the Objects pane.
The Animate element has a Target attribute, that is, the property in the parent object
that you want the animation to change. For example, the Target attribute can be
Visibility. The Boundary attribute of the Animate element decides how the Target
attribute is affected. For example, a visible element can be hidden. The Behavior
attribute of the Animate element decides how the parent element of the Animate
element will go from visible to hidden. For example, Linear, in which case the parent
element softly goes from visible to hidden. You select attribute from a drop-down
list in the attribute box. Only relevant attributes are available in the list.
Two examples:
When you add an Animate element to a rectangle, you can animate a whole
number of rectangle properties:
If True, the current animation value is saved when the dynamic mode is exited.
If False, the value is reset.
• Repeat
Either an entered number of runs or Forever, that is, endless repetition.
• Boundary, From and To
The end values for the animated property.
To add an animation
1. In Graphics Editor, in the work area, select the object you want to animate.
2. In the Objects pane, right-click the object, click New, and then click
Animate.
3. In the Properties pane, under Target, in the Attribute box, enter the
property that you want the animation to affect.
4. In the Behavior field, in the Animation box, click Start to be able to specify
what is to start the animation.
5. In the Properties pane, add other attributes to control how the attribute is to
behave.
Continued on next page
6. In the Objects pane, right-click the Animate element, point to New, and
then click Bind.
7. In the Objects pane, right-click the Bind element, point to New, and then
click a converter or another property that controls what the animation is to
change.
Topics
Layers
Adding a Layer
Copying a Layer
Deleting a Layer
Renaming a Layer
Selecting a Layer
Hiding a Layer
Controlling the Visibility of a Layer
31 Layers
31.1 Layers
31.1 Layers
When creating complex graphics, it can be a challenge to keep track of all the
graphic figures in the work area. Graphic figures get hidden under one another and
selecting becomes difficult. Layers provide a way to manage the graphic figures
that make up your graphic. Layers can be regarded as folders that contain graphic
figures.
The structure of layers in your document can be as simple or complex as you want
it to be. By default, all graphic figures are organized in a single, root layer. This layer
is named Tgml and you cannot rename it. The Tgml layer is always visible.
Layers have the same properties as Group elements: Opacity and Visibility. You can
control these layer properties from the Properties pane.
Layers are located on the TGML root level. New layers are added at the top of the
work area (z-order, corresponding to the top of the tree), which means that the
figures in the layer are displayed above (and possibly on top of) figures in previous
layers. For more information, see section 33.1 “Figures” on page 967.
Tip
• To rearrange the order of the layers, you can select a layer in the Layers pane
and click the Move up and Move down buttons to move the layer
upward or downward in the tree.
You manage layers in the Layers pane. From the Layers pane you can create, select
and merge layers. You can also show, hide, duplicate, move, rename and delete all
layers except the Tgml layer. You can copy graphic figures from one layer to
another. To edit a layer and access all its contents, you have to make sure that the
layer is selected. When you select one layer, all other layers become inaccessible. If
you move the layers up or down, you change the stacking order of the graphic
figures in the work area.
Figure: Tgml and two additional layers, the last (Layer 2; topmost) active
The display area of the Layers pane has the following columns:
• Buttons to select the active layer
• Thumbnail, showing the contents of a layer. For Tgml the merged contents are
displayed.
• The name of the layer, which can be edited (except for Tgml)
• Check box to show/hide a layer
Tip
• You can edit the name in the Name box in the Properties pane.
• You can also edit the name in the tree structure in the Objects pane.
Continued on next page
• You can show/hide layers during the design process, but also in run time, for
example, through a signal bound to the Visibility property.
You typically use layers to create a background image, which lies inert during the
remaining design work, or to create layers with information that is to be displayed
only under certain conditions.
To add a layer
1. In Graphics Editor, on the View menu, click Layers.
2. In the Layers pane, on the Layers toolbar, click the New Layer button .
3. In the layer list, double click the layer name and type the name of the layer.
4. Press Enter.
5. On the File menu, click Save.
To copy a layer
1. In Graphics Editor, on the View menu, click Layers.
2. In the Layers pane, right click the layer you want to copy and then click
Duplicate.
Note
• The Tgml layer cannot be copied.
In the Layers pane, the new layer is displayed at the bottom of the list with content
identical to the content of the original layer. The new layer is automatically named
Copy of [name of the original layer]. For example, Copy of Text layer.
To delete a layer
1. In Graphics Editor, on the View menu, click Layers.
2. In the Layers pane, right-click the layer you want to delete and then click
Delete.
Note
• The inherent Tgml layer cannot be removed. Objects,
components and groups in this layer are contents of the root
level of the Tgml object.
The selected layer is deleted from the layers list, and all its contents is removed from
the work area.
To rename a layer
1. In Graphics Editor, on the View menu, click Layers.
2. In the Layers pane, click the layer name and then type a new name.
To select a layer
1. In Graphics Editor, on the View menu, click Layers.
2. In the Layers pane, select the option button for the layer you want to edit.
Note
• When you have selected a layer, all other layers will automatically
be made inaccessible.
To hide a layer
1. In Graphics Editor, on the View menu, click Layers.
2. In the Layers pane, clear the box in the eye icon column for the layer you
want to hide.
Note
• Selecting the box in the eye icon column displays the layer.
• It is not possible to hide the Tgml layer.
3. In the Properties pane, under General, in the Name box, enter a layer
name and add “.Value”.
4. Right-click the Bind element and add two ConvertValue elements.
Topics
Grid
Showing/Hiding the Grid
Switching on/off Snap to Grid
Nudging an Object
Zooming
Zoom to a Specified Value
32 Grid and Zoom
32.1 Grid
32.1 Grid
A grid is a Graphics Editor feature that can be of assistance when you draw and
position graphic figures in a graphic. Graphic figures can be made to snap (attach)
to the grid intersection points, which always align with the logical pixels.
There are two kinds of pixels:
• Logical pixels
• Screen pixels
The logical pixel is the unit of measurement in the graphic. Figure coordinates,
stroke width, and so on, are all based on pixels. Although a line with Stroke width
1.0 px will look different (use few or many screen pixels) depending on the zoom
level, the line will always have the width of 1.0 logical pixel.
The width of the grid lines can be set to: 1, 2, 5, 10, or 20 logical pixels.
The screen pixel is the smallest possible detail on a screen and its physical size
depends on the screen resolution.
When you zoom out of a graphic, the grid pattern eventually becomes cluttered. In
this case, the grid lines are removed so that the distance between two grid lines
never gets shorter than five pixels.
You can customize the pixel space between the grid lines. This is useful when you
draw small details.
The grid size is saved in the .tgml document.
When you zoom in on a graphic, additional, lighter grid lines are added to show the
logical 1.0x1.0 pixel grid. This is the grid that is used when you nudge a figure.
Note
• By default, the grid is hidden.
• Even if the grid is hidden, Snap to grid can be active.
Note
• Show Grid has a drop-down menu where you set the grid
distance to 1, 2, 5, 10, or 20 pixels.
Note
• You can snap to the grid even when the grid is hidden.
Snap to Grid toggles between switching on and switching off the Snap to Grid.
To nudge an object
1. In Graphics Editor, in the work area, select the object you want to nudge.
2. If Snap to Grid is active, press ALT to temporarily disable the snap function
during the nudging.
3. Use the arrow keys to move the object in the desired direction.
You move the object one pixel each time you press an arrow key.
32.5 Zooming
You zoom in to get a more detalied view of an object. You zoom out to get an
overview of a design.
To zoom
1. In Graphics Editor, on the Drawing toolbar, click Zoom .
2. On the Options toolbar, select the magnifying glass you want to use, + to
zoom in and - to zoom out.
3. In the work area, click the object you want to zoom in or out on.
Note
You zoom in/out by 10% each time you click the object.
Note
• Zoom to fit zooms the drawing to fill the available presentation
area.
• You can enter any percentage value in the Zoom box.
Topics
Figures
Lines
Drawing a Line
Polylines
Drawing a Polyline
Curves
Drawing a Curve
Editing a Curve
Polygons
Drawing a Polygon
Rectangles
Drawing a Rectangle
Drawing a Square
Ellipses
Drawing an Ellipse
Circles
Drawing a Circle
Arcs
Pies
Drawing an Arc or a Pie
Editing an Arc
Texts and Textboxes
Adding Text Using the Text Tool
Making Text Content Dynamic
Adding Text Using the Textbox tool
Editing Text
Paths
Creating a Text Path
Editing a Text Path
Pictures
SVG Support
Inserting a Picture
Adjusting a Picture
Adding an Animated Picture
Making an Animated Picture Dynamic
33 Graphics Editor Figures
33.1 Figures
33.1 Figures
A figure is the smallest independent element of a graphic, for example, a circle.
All figures in a graphic are displayed in a tree structure in the Objects pane. The
TGML root object is always present in the tree structure and cannot be deleted. The
TGML root object properties define the size and color of the work area. The position
of the objects in the tree structure reflects the relationship between figures in the
graphic. The closer in the tree structure a figure is to the TGML root object, the
further back it is located in the work area. You can move the figures in the tree
structure. When you move a figure in the tree structure, it is dynamically moved
back or forward in the work area.
Note
• Apart from the two surface coordinates, x and y, figures also have a hidden
stacking order known as the z-coordinate or the z-order. The z order means
that more recently added figures are put in the front and older ones in the
back. Thus, more recent figures can cover previous figures in the graphic.
Tip
• To change the order of the figures, you select a figure in the Objects pane
and click the Move up or Move down button.
When you select a figure in the work area, the figure and its elements are selected in
the Objects pane. You can also select an element in the Objects pane.
Important
• Before you can select a figure in the work area, you have to make sure that
the layer where the figure is located is active.
To create certain elements on an object, you need to right-click on the object and
then click the element in the Objects pane.
Use this method to create the following elements on an object:
• Bind
• Link
• Animate
• TargetArea
• Metadata
• Chord
• AnimatedImage
• Expose
• Script
you have to right-click the object and then click the element in the Objects pane.
33.1.2 Snippets
Snippets are standardized, predefined functions for defined use.
For more information, see section 24.11 “Snippets” on page 828.
33.1.3 Attributes
Each element in the Objects pane has a number of properties. The Graphics Editor
object properties are referred to as attributes, in compliance with XML standards.
The attributes are displayed in the Properties pane, where they can be edited.
Attributes are used to give a complete description of a graphic object. Most of the
attributes are automatically defined when the graphic object is created. By
changing the attributes, you can change, for example, the appearance and
behavior of a graphic object.
For more information, see section 27.1 “Attributes” on page 851.
33.2 Lines
Use the Graphics Editor Line tool to draw a straight line, that is, a line between two
points.
You can set stroke, style and width properties for the line to change the line color,
pattern and thickness.
To draw a line
1. In Graphics Editor, in the Layers pane, select the layer whre you want to draw
the line.
2. On the Drawing toolbar, click Line.
3. In the work area, click where you want the line to start and drag to where you
want it to end.
4. On the Drawing toolbar, click Select.
5. In the Properties pane, in the Name box, type the name of the line.
Note
You only need to name the drawing object if you will be binding the
object. Naming the object now will help you identify the object later.
33.4 Polylines
Use the Graphics Editor Polyline tool to draw a line with several nodes, that is, a
line with angles.
You can set fill, stroke, style and line width to achieve a certain appearance of the
polyline.
To draw a polyline
1. In Graphics Editor, in the Layers pane, select the layer where you want to
draw the polyline
2. On the Drawing toolbar, click Polyline.
3. In the work area, drag from where you want the polyline to start and click for
each new line segment you want to add.
Note
You have to add a new segment for every turn of the polyline.
Note
You only need to name the drawing object if you will be binding the
object. Naming the object now will help you identify the object later.
33.6 Curves
Use the Graphics Editor Curve tool to draw a curve, that is, a line that is not
straight.
Drawing perfect curves requires some understanding of the principles of curves, as
well as some practical experience. When you draw a curve and click the key points
of the curve, a number of curve segments are created. These segments are defined
by three vertices:
• The vertex, that is, the start point
• The highest/lowest point of a curve segment
• The end point
When a curve consists of more than one segment, the point connecting two curve
segments is also a vertex. The curve passes through all of these vertex points.
Normally, the vertex points are not displayed, but to modify the curve you need to
access these points.
When you double-click the curve, the vertices are displayed. Two handles are
associated with each vertex (except for the start and end points, which have only
one handle).
Figure: A simple curve with its three vertices and two plus two handles
Each handle controls the shape of the curve at its side of the vertex. The length and
the angle of the handle determine the direction and curvature of that end of the
segment. The handle can be regarded as a magnet attracting its part of the
segment.
Figure: By stretching the top right handle, that part of the curve segment is modified
If you want to modify a curve, you have the following options:
• Moving a Curve Vertex
• Adjusting a Curve Handle
Tip
You can also nudge the vertex by using the arrow keys.
To draw a curve
1. In Graphics Editor, in the Layers pane, select the layer where you want to
draw the curve.
2. On the Drawing toolbar, click Curve.
3. In the work area, drag from where you want the curve to start and click for
each segment you want to add.
Note
You have to add a new segment for each turn of the curved line.
Note
You only need to name the drawing object if you will be binding the
object. Naming the object now will help you identify the object later.
To edit a curve
1. In Graphics Editor, in the work area, double-click the curve to display its
vertices.
2. Drag the vertex you want to change to a new position.
33.9 Polygons
Use the Graphics Editor Polygon tool to draw a polygon, that is, a plane figure that
is bounded by a closed path, composed of a finite sequence of straight line
segments.
To draw a polygon
1. In Graphics Editor, in the Layers pane, select the layer where you want to
draw the polygon.
2. On the Drawing toolbar, click Polygon.
3. In the work area, click where you want to locate the corners of the polygon.
Note
You only need to name the drawing object if you will be binding the
object. Naming the object now will help you identify the object later.
33.11 Rectangles
Use the Graphics Editor Rectangle tool to draw a simple rectangle, that is, a
quadrilateral with four right angles.
To draw a rectangle
1. In Graphics Editor, in the Layers pane, select the layer you want to draw the
rectangle on.
2. On the Drawing toolbar, click Rectangle.
3. In the work area, click where you want the rectangle to begin and drag the
pointer to where you want it to end.
5. In the Properties pane, in the Name box, type the name of the rectangle.
Note
You only need to name the drawing object if you will be binding the
object. Naming the object now will help you identify the object later.
To draw a square
1. In Graphics Editor, in the Layers pane, select the layer you want to draw the
square.
2. On the Drawing toolbar, click Rectangle
3. In the work area, press SHIFT and click where you want the square to begin
and drag to where you want it to end.
4. On the Drawing toolbar, click Select.
5. In the Properties pane, in the Name box, type the name of the square.
Note
You only need to name the drawing object if you will be binding the
object. Naming the object now will help you identify the object later.
33.14 Ellipses
Use the Graphics Editor Ellipse tool to draw an ellipse, that is, a plane curve that
results from the intersection of a cone by a plane in a way that produces a closed
curve.
Tip
To draw a circle, select Ellipse and press SHIFT while you draw.
To draw an ellipse
1. In Graphics Editor, in the Layers pane, select the layer where you want to
draw the ellipse.
2. On the Drawing toolbar, click Ellipse.
3. In the work area, drag the pointer from where you want to start the ellipse to
where you want it to end.
Note
You only need to name the drawing object if you will be binding the
object. Naming the object now will help you identify the object later.
33.16 Circles
In Graphics Editor, use the Ellipse tool to draw a circle, that is, a line forming a
closed loop, every point on which is a fixed distance from a center point. A circle is
actually a special case of an ellipse. In an ellipse, if you make the major and minor
axis the same length, the result is a circle, with both foci at the center.
To draw a circle
1. In Graphics Editor, in the Layers pane, select the layer where you want to
draw the circle.
2. On the Drawing toolbar, click Ellipse.
3. I the work area, click SHIFT while dragging the pointer from where you want
the circle to begin to where you want it to end.
4. On the Drawing toolbar, click Select.
5. In the Properties pane, in the Name box, type the name of the circle.
Note
You only need to name the drawing object if you will be binding the
object. Naming the object now will help you identify the object later.
33.18 Arcs
Use the Graphcis Editor Arc tool to draw an arc, that is, a part of the periphery of
an ellipse, or a circle.
The arc is defined by a center point, a radius X, a radius Y, a start angle, and a
sweep angle. The start angle is the angle between the X-axis and the start of the
arc. The sweep angle can lie in the interval ±(0° – 360°).
33.19 Pies
Use the Graphics Editor Pie tool to draw a pie, that is, an area enclosed by two
radii of a circle and their intercepted arc.
The pie is defined by a radius X, a radius Y, a start angle, and a sweep angle. The
start angle is the angle between the X-axis and the start of the arc. The sweep angle
can lie in the interval ±(0° – 360°).
A pie is similar to an arc, but includes the two radii and the area within.
To draw an arc
1. In Graphics Editor, in the Layers pane, select the layer where you want to draw
the arc or pie.
2. On the Drawing toolbar, select Arc The cursor will change into a crosshair
pointer.
3. In the work area, drag the pointer from where you want to start the arc or pie
to where you want it to end.
4. On the Drawing toolbar, click Select.
5. In the Properties pane, in the Name box, type the name of the arc or pie.
Note
You only need to name the drawing object if you will be binding the
object. Naming the object now will help you identify the object later.
To edit an arc
1. In Graphics Editor, in the work area, double-click anywhere on the arc to
display the vertexes.
2. Select the vertex you want to edit and drag it to a new position.
Note
• You can extend the angle handle to increase the precision. This
does not affect the arc in other ways.
• If you press the SHIFT key while moving the cursor, the angle
changes in steps of 7.5°, somewhat depending on how much
you extend the handle.
5. Press Enter.
6. On the Drawing toolbar, click Select.
7. In the Properties pane, in the Name box, type the name of the text.
Note
You only need to name the drawing object if you will be binding the
object. Naming the object now will help you identify the object later.
4. In the Properties pane, in the Name box, type the name of the Bind object.
6. In the Objects pane, right-click Bind, point to New, and then click
ConvertValue.
7. In the Properties pane, in the Name box, type a name for the ConvertValue
object.
8. In the AttributeValue box, type the text that you want to display in the
graphic.
Continued on next page
9. In the SignalEqualTo box, type the value when the text is to be displayed.
10. Add more ConvertValue objects to the Bind object, one for each value of the
variable that is to be displayed as text.
11. In the Objects pane, right-click the Text, point to Group as, and then click
Component.
12. In the Properties pane, in the Name box, type the name of the component.
Note
You only need to name the drawing object if you will be binding the
object. Naming the object now will help you identify the object later.
To edit text
1. In Graphics Editor, in the work area, select the text or textbox object
containing the text you want to edit.
2. On the Options toolbar, expand Stroke and select a new text color from the
Color palette.
3. On the Options toolbar, expand Fill and select a new background color for
the textbox from the Color palette.
4. Double-click the text/textbox object and edit the text by adding or deleting
text.
5. On the Options toolbar, set font, font size, and other text properties.
33.27 Paths
When you create a path of one or several objects, you create a copy in the form of a
path, where the original objects have been dissolved and replaced with
corresponding lines and fills. For example, a rectangle dissolves into a path of four
connected strokes.
By creating a path, the number of objects is reduced to one. That is, the resulting
path.
The advantage of using a path is that it speeds up the drawing of the object, which
can be important when using animations.
The original objects remain unchanged and can be deleted, if required.
The characters are transformed to curve paths, with the appearance you specified
in the first step. You can edit the appearance.
Note
• The original text remains untouched, but can be moved or deleteed.
33.30 Pictures
Use the Graphics Editor Insert Pictures tool to insert supported image files into
your graphic.
The native Graphics Editor file formats are . *.gif, *.jpg, and *.png files. That is,
pasted components and graphics will be saved as one of these file types.
Bitmap *.bmp
Bitmap *.dib
GIF *.gif
Icon *.ico
JPEG *.jpg
JPEG *.jpeg
JPEG *.jpe
JPEG *.jfif
JPEG *.exif
Metafile *.wmf
Metafile *.emf;
PNG *.png
TIFF *.tiff
TIFF *.tif
Important
• To minimize system load, reduce size and color depht of the images before
inserting them into a graphic.
Use an image editor to resize the image to the size required in the graphic. If you
use the .jpg format, the image can be compressed to a quality of 60% without any
adverse effects on the appearance.
If you want to use transparency, you should add it to the original image. This can be
done if you use the .png format.
Tip
• You can paste any picture residing on the clipboard to the work area.
• You can also drag pictures to the work area.
Y2
CY
RY
FX
FY
ID
POINTS
STYLE
FILL
STROKE
STROKEWIDTH
OPACITY
OFFSET
FONTFAMILY
FONTSIZE
VISIBILITY
DISPLAY
VISIBILITY_HIDDEN
VISIBILITY_NONE
VISIBILITY_COLLAPSE
VISIBILITY_VISIBLE
VISIBILITY_INLINE
TRANSFORM
TRANSLATE
SCALE
SCALEX
SCALEY
ROTATE
SKEWX
SKEWY
STOP_COLOR
SPREADMETHOD
SPREADMETHOD_PAD
SPREADMETHOD_REFLECT
SPREADMETHOD_REPEAT
STROKE_OPACITY
FILL_OPACITY
XLINK_HREF
STROKEDASHARRAY
GRADIENTSTOP
To insert a picture
1. In Graphics Editor, in the Layers pane, select the layer where you want to add
the picture.
2. On the Drawing toolbar, click Insert Picture.
3. In the work area, click where you want to locate the upper-left corner of the
picture.
4. Select the picture you want to insert into the graphic.
5. On the Drawing toolbar, click Select.
6. In the Properties pane, in the Name box, type the name of the picture.
Note
You only need to name the drawing object if you will be binding the
object. Naming the object now will help you identify the object later.
To adjust a picture
1. In Graphics Editor, in the work area, select the picture you want to adjust.
2. Drag the picture to reposition it.
3. Press SHIFT while dragging one of the corner handles to resize the picture but
keep the aspect ratio.
4. To change the opacity or visibility for the picture, in the Properties pane, in
the Appearance area, select the corresponding elements and enter new
values.
Note
• For performance reasons, it is strongly recommended that you
edit the picture before inserting it into the graphic.
Note
You only need to name the drawing object if you will be binding the
object. Naming the object now will help you identify the object later.
9. In the SignalEqualTo box, type the value that should start the animation.
10. In the Objects pane, right-click Bind, point to New, and then click Convert
Value.
11. In the Properties pane, in the Name box, type the name of the
ConvertValue.
12. In the AttributeValue box, select Stop.
13. In the SignalEqualTo box, type the value that should stop the animation.
14. On the File menu, click Save.
Topics
TGML Overview
TGML Coordinate System
TGML Rendering Model
TGML Types and Enumerations
TGML File Format
TGML Code Snippets
TGML Common Attributes
TGML Components
TGML Document Structure
TGML Document Type Element and Metadata
TGML User-Defined Descriptions of Custom Attributes
TGML Animations
TGML Animation: <Animate>
TGML Sequences: <Sequence>
TGML Attribute Exposure
TGML Expose Element: <Expose>
TGML Curves and Paths
TGML Cubic Bezier Curve: <Curve>
TGML Path Element: <Path>
TGML Dynamics
TGML Signal Binding: <Bind>
TGML Value Conversion: <ConvertValue>
TGML Text Value Conversion: <ConvertText>
TGML Value Range Conversion: <ConvertRange>
TGML Custom Conversion: <ConvertCustom>
TGML Status Conversion: <ConvertStatus>
TGML Basic Shapes
TGML Line: <Line>
TGML Polyline: <Polyline>
TGML Polygon: <Polygon>
TGML Rectangle: <Rectangle>
TGML Ellipse: <Ellipse>
TGML Segment Shapes
TGML Elliptical Arc: <Arc>
TGML Elliptical Pie: <Pie>
TGML Elliptical Chord: <Chord>
TGML Gradients
TGML Linear Gradient: <LinearGradient>
TGML Radial Gradient: <RadialGradient>
TGML Gradient Stop: <GradientStop>
TGML Grouping Elements
TGML Grouping: <Group>
TGML Components: <Component>
TGML Layers: <Layer>
TGML Link element: <Link>
TGML Raster Images
TGML Image Element: <Image>
TGML Animated Images (GIF89a): <AnimatedImage>
TGML Scripting
TGML Script Element: Script
TGML Target Area Element: <TargetArea>
TGML Text
TGML Text Line: <Text>
TGML Text Flow: <TextBox>
TGML Transformations
TGML Rotation: <Rotate>
TGML Skewing: <SkewX> and <SkewY>
TGML Scaling: <Scale>
TGML Translations: <Translate>
34 Graphics TGML Format Specification
34.1 TGML Overview
TGML version
The TGML version is specified in a XML processing instruction:
Namespaces
The TGML graphics elements specified in this specification belong to the default
XML namespace, TGML.
TGML allows inclusion of elements from foreign namespaces anywhere with the
TGML content. In general, the TGML loader will include the unknown (foreign)
elements in the DOM, but will otherwise ignore the unknown elements.
Default Values
Most of the object properties have a default value. Element attributes that are
omitted in the TGML document are considered to be undefined. An undefined
attribute will result in assigning a default value to the corresponding property, unless
the value is inherited from a parent element.
Attribute Inheritance
TGML supports attribute inheritance similar to the SVG and XAML attribute
inheritance.
The attribute inheritance means that a child element inherits (gets) the attribute
value from an ancestor element if the attribute value is omitted and if the attribute
has been specified for an ancestor (any of the parents).
In the example below, Line will inherit the Stroke value from the Group. StrokeWidth
is not defined either, but since it is not specified at the parent level, StrokeWidth will
be assigned the default StrokeWidth value.
Custom Attributes
The implementation of attribute inheritance also enables the user to specify custom
attributes, since an element will accept attributes that are actually unknown for the
element. For example, in the attribute inheritance example, Stroke was specified,
and accepted at the group level, despite the Group does not have a Stroke
attribute.
Custom attributes can, for example, be used to create "local" variables. The custom
attribute can be bound to a signal, or animated, as any other attribute of an element
and it can be accessed from scripts in the graphics.
Error Notifications
TGML does not specify any error or warning notifications. However, the TGML
implementation (e.g. Graphics Services) and the viewer and editor applications
should notify the user about any error conditions.
Implicit Syntax
TGML uses an implicit syntax. The object model implementation is not exposed in
the serialized TGML.
The following example defines a group containing a line. The TGML code does not
reveal how the containment is implemented in Group. The Group implementation
includes for example a child list that is the actual container, but such information is
not serialized.
Undefined (non-specified) attributes values are not serialized, to avoid breaking the
attribute inheritance.
Coordinates
The unit of measurement for coordinates is the device independent pixel, which is
1/96 of an inch (96dpi). The data type for coordinates and lengths (that is, Width
and Height) is Double.
Initial Scale
A TGML viewer uses the Width, Height and Stretch attributes of the outermost
TGML element to determine the initial scale. Stretch specifies if the document is
scaled to fit within the work area (preserving the aspect ratio or not) or if the original
size is preserved (scale 1:1).
Figure: Filter effects specified for the group modify the temporary canvas.
The modified temporary canvas is composited into the background, taking into
account any group-level settings, such as opacity, on the group.
Continued
Type/Enumeration Description
Type/Enumeration Description
34.4.1 Arrays
Some attributes accepts arrays of values, such as arrays of Double and Point.
Arrays are written as a sequence of values, delimited by space.
Table: Supported file formats that you can import to Graphics Editor
Graphic type File type
TGML *.tgml
OGC *.ogc
OGC *.sym
OGC *.sgr
OGC *.ogx
SVG *.svg
CAD *.dxf
CAD *.dwg
Table: Supported file formats that you can export from Graphics Editor
Graphic type File type
Bitmap *.bmp
GIF *.gif
JPEG *.jpg
JPEG *.jpeg
JPEG *.jpe
PNG *.png
TIFF *.tiff
Continued
Graphic type File type
TIFF *.tif
Figure: Animation snippet that can be inserted as a child to any graphical (renderable)
TGML element
Component Library
Components are stored the same way as TGML code snipptets. Component is the
root element and the associated Metadata elements describe the component.
ComponentContent Element
The document type ComponentContent is the root of the document when the
content of a component is edited in the TGML graphics editor. ComponentContent
is replaced with Component when the component is stored in the library.
ComponentContent has the following attributes:
• Height
• Opacity
• Visibility
• Width
Width and Height are replaced with (copied to) ContentWidth and ContentHeight of
the Component element when the component is stored.
Initial Viewport
Width and Height of the stored Component are the initial viewport, that is, the initial
size of the component when it is pasted into a TGML document.
Figure: TGML code with the TGML root element and a number of child elements.
Remarks
The viewer uses the width, height, and stretch information to determine how the
document initially is streteched.
The viewer can display a document where information about width and height is
missing. When you view such a document no stretching is applied and any scroll
bars are disabled.
Stretch="None": Preserve the original size. This usually means that scroll bars are
enabled so the user can scroll to the right and the bottom of the document.
Stretch="Uniform": Resize the content, preserving the native aspect ratio. Scroll
bars are initially disabled.
Stretch="Fill": The content is resized but aspect ratio is not preserved. Scroll
bars are initially disabled.
Metadata: <Metadata>
The Metadata element carries textual information about its parent element. It is up
to the TGML application to create and interpret the metadata.
Applying metadata to the outermost TGML element is the same as applying the
information to the TGML document.
Figure: TGML code containing a user-defined description of a custom attribute. When the
user selects MyAttribute in the Graphics Editor properties pane the desciption is
displayed.
The Name of the Metadata element has to be the same as the attribute name. Value
contains the description.
Continued
Attribute Type Description
Figure: TGML code containing Expose element including a user-defined description of the
exposed attribute
Figure: Polybezier
Continued
Attribute Type Description
Continued
Attribute Type Description
Remarks
Some of the path commands can be converted or replaced when you import SVG
paths. For example, h, H (Horizontal lineto) and v, V (Vertical lineto) can be replaced
with l and L (lineto).
Figure: Overview of how an attribute in a graphic is bound to a server object, which in turn
dynamically affects the graphic.
Bindings can be thought of as a "connection table" between the exposed Bind
elements and the server variables. The TGML implementation (Graphics Services)
only has knowledge about the Name of the Bind elements.
Subscriptions are set up using the names of the Bind elements. When the value of a
bound signal is updated, it will be experienced as if the binding point was updated
(the signal identity is "hidden" behind the binding point). It is up to the server, or the
communication proxy depending on the binding implementation, to resolve the
name.
A TGML document can contain multiple Bind elements with the same Name.
However, the TGML implementation is only going to expose the Name once to the
bind tool in WorkStation (unique binding point). This makes it possible to have
multiple presentations of a signal, using a single binding point.
Remarks
Format is an instruction to the server how the subscribed value is to be formated.
"None" means "deliver the data as is". The data type is preserved (integer, float,
boolean, string, and so on ). You typically use conversion elements to convert the
server variable value to a TGML element attribute value.
"Presentation" is an instruction to the server: Deliver the text representation of the
variable value, if any (for example, On/Off instead of 0/1). "Presentation" is typically
used when the data i to be presented by a Text element without any value
conversions.
The “default action” when a user clicks an element containing a Bind element, is
usually to open an “edit value” dialog. This action is canceled when PreventDefault
is set to 'True'.
PreventDefault is typically set to 'True' in components that mimics interactive
controls such as check boxes and spin buttons. In such components, the value is
set in a JavaScript using the setValue function.
Figure: TGML code contianing a Bind element that dynamically presents a text
Figure: This TGML code example shows Bind that will be enabled/disabled on the
OnMouseOver event.
Figure: TGML code containing a ConvertValue element where the attribute is set to
#00FF00 (green) when the signal value is more than 18 and less than or equal to 22
Figure: A rule can never be fulfilled (and thus, never executed) if the signal value is both
equal to 0 and more than 10
Figure: TGML code containing a ConvertRange element that calculates an attribute value
Continued
Attribute Type Description
Continued
Attribute Type Description
Continued
Attribute Type Description
Continued
Attribute Type Description
Continued
Attribute Type Description
Continued
Attribute Type Description
Continued
Attribute Type Description
Continued
Attribute Type Description
Continued
Attribute Type Description
Remarks
StartPoint and EndPoint specify the starting and ending coordinates of the linear
gradient. "0.0 , 0.0" represents the upper left corner of the element and "1.0 , 1.0"
represents the lower right corner.
Figure: StartPoint set to "0.0 , 0.0" and EndPoint set to "1.0 , 1.0
Remarks
The RadialGradient element is similar in programming model to the LinearGradient
element. To define the gradient behavior, the RadialGradient element has a circle
along with a focal point instead of start and end points. The focal point defines the
beginning of the gradient and the circle defines the end point of the gradient. Radial
gradient only supports the spread method Pad in TGML version 1.0.
Figure: The relations between the StartPoint/EndPoint of the LinearGradient element and
the Color/Offset of the GradientStop element
Continued
Attribute Type Description
Remarks
The default action when the user clicks an element containing a Link element is to
navigate to, or open, another presentation. When PreventDefault is set to "True" this
action is canceled.
Only painted regions are clickable. Clicking a hollow shape, that is a shape with the
Fill attribute set to "None", has no effect.
Continued
Attribute Type Description
Continued
Attribute Type Description
Global Variables
Variables declared outside the Java script functions are global within the script
block. The global variables exist while the TGML document is displayed (executed)
in Dynamic mode.
The global variables can only be accessed by the functions that are defined in the
same script block.
Figure: TGML code with an example of how you can convert a varible to a number
Method Description
When an element contains Bind or Link, the viewer is supposed to respond when
the user clicks the element. The viewer is supposed to respond by showing a
change value dialog box or opening the linked presentation object. This is the
viewer default action that is canceled by the preventDefault function.
preventDefault in an OnMouseClick function cancels the change value dialog box
(when the element contains a Bind) or the link function (when the element contains
a Link).
preventDefault in an OnSignalChange function cancels the error indication indicated
by a red cross.
Figure: TGML code with a scipts containing getTarget() and getCurrentTarget() methods
Continued
Method Description
Method Description
Continued
Object Method Description
Figure: TGML code with a script containing getAttribute() and setAttribute() methods
Continued
Method Description
Continued
Method Description
Figure: TGML code that starts an interval timer and animates (toggles) the fill color when
the pointer is placed over the rectangle. The timer is stopped and the color is restored
when the pointer is moved from the rectangle.
Figure: TGML code where an alert box is displayed when the pointer is held over the
rectangle for one second. The timer is stopped wehn the pointer is moved from the
rectangle.
JavaScript 1.5
ECMAScript Language Specification, Rev. 3.
Continued
Event Attribute Event Type Target Desciption
Figure: TGML code containing a Script element with an OnMouseClick attribute event
You can use TargetArea to create a mouse-sensitive area that covers the whole
Component.
Without the TargetArea, the MouseOver and MouseOut events are sent every
time the cursor passes the contained elements when the Script is defined at the
Component level. The TargetArea has the effect of "hiding" the contained shapes
and you only get one MouseOver and one MouseOut when the cursor passes the
Component.
Figure: TGML code containing a TargetArea element and an OnMouseOut attribute event
Figure: TGML code fragment containing an invisible link area that can be placed above
other shapes
Figure: The character data (the text) is stored within the Text element as XML element
content.
The character data is accessible through the Content attribute which means that it
is possible to cerate dynamic texts by animating or binding the Content attribute.
Continued
Attribute Type Description
Continued
Attribute Type Description
Continued
Attribute Type Description
Continued
Attribute Type Description
Continued
Attribute Type Description
Continued
Attribute Type Description
Remarks
Topics
TGML Elements
TGML Limitations
Displaying the TGML Version
Global Scripts in TGML Graphics
Invoke Function
Panel Navigation
35 TGML Additions for Building Operation
35.1 TGML Elements
Continued
TGML Element Type Possible parent Description
<ComponentContent Container
>
Continued
TGML Element Type Possible parent Description
Continued
TGML Element Type Possible parent Description
Continued
TGML Element Type Possible parent Description
Continued
TGML Element Type Possible parent Description
Continued
TGML Element Type Possible parent Description
Continued
TGML Element Type Possible parent Description
Continued
TGML Element Type Possible parent Description
Continued
TGML Element Type Possible parent Description
Global variables
In the HTML5 viewer some names are reserved for the Web Browser. It might not
be apparent for users writing Java Scripts that using reserved names can cause a
conflict when viewing the TGML graphic in the HTML5 viewer, as it works fine in the
WorkStation viewer.
You can check whether or not there is a conflict by using the Global Variables tool in
the Graphics Editor Statistics pane to analyze the scripts in the TGML graphic and
looks for global variables that could cause name conflicts.
Example:
A script that contains a variable named ‘window’ without the var declaration might
have been intended to be used as a local variable. However, not declaring it as ‘var’
makes it a global variable and since ‘window’ is a reserved word (an object in the
Web Browser) this object is referenced instead, when the Web Browser executes
the script.
function load(evt)
{
window = 1;
}
Note
• The variable 'window' is visible in the list of Global script variables.
• To use reserved words locally in scripts as variables, make sure to declare
them as ‘var’.
function load(evt)
{
var window = 1;
}
invoke("Link 1", "OpenInTop"); The target object replaces the top panel,
that is the panel in which all other panels are
contained.
invoke("Link 1", "OpenInWorkArea"); Opens the target object in the work area.
This command replaces the obsolete 'View
object' command.
Command Description
OpenInFloatingWindow • Width
• Height
• Top
• Left
• ShowToolBar
OpenInTarget • Target
• DisplayName
• SkipFallback
• ShowToolbar
OpenInSelf • DisplayName
• ShowToolbar
Continued
Command Supported Attributes
OpenInWorkArea • SkipFallback
• ShowToolbar
OpenInParent • DisplayName
• SkipFallback
• ShowToolbar
OpenInTop • SkipFallback
• ShowToolbar
OpenInNewWindow • ShowToolbar
Figure: Example of the invoke syntax where you want Trend Chart 1 to open in the pane
named TopPane. If TopPane does not exist in the panel of the graphic, Trend Chart 1 is to
be opened in a floating window. The display name is Graphic 1 and a toolbar is to be
hidden.
Important
The following attribute settings made in the graphic override the corresponding
attributes of the previously displayed object in the panel:
• DisplayName
• ShowToolbar
Topics
Graphics Editor
Graphics Editor Menu Bar
Graphics Editor File Menu
Graphics Editor File Menu – New Submenu
File Menu – Open Submenu
File Menu – Save As Submenu
File Menu – Print Submenu
File Menu – Settings Submenu
Graphics Editor View Menu
Categories Context Menu
Graphics Editor Drawing Toolbar
Graphics Editor Options Toolbar
Components Pane
Graphics Editor Snippets Pane
Graphics Editor Panes
Graphics Editor Objects Pane
Graphics Editor Properties Pane
Graphics Editor Statistics Pane
Graphics Editor Test Pane
Graphics Editor Binds and Links Pane
Graphics Editor Layers Pane
Create Graphics Wizard - Basic Settings Page
Graphic Properties - Basic Tab
Graphic Properties – Bindings Tab
Graphic Properties – Links Tab
Graphic Properties - References Tab
Document Properties Dialog Box
Unsupported Characters
36 Graphics User Interface
36.1 Graphics Editor
Toolbars
Contain tools used to create and edit .tgml
files and other objects.
Work area
You can drag elements from the panes to
the work area. You can also draw free form
objects by using the drawing tools.
Continued
Number Description
Panes
Includes the following:
• Objects pane with a tree structure of
what is included in the graphic
• Properties pane where you edit the
properties of a selected object
• Layers pane where you manage layers
in a graphic
• Statistics Pane where you check the
efficiency of a graphic
• Binds and Links pane with
information on the bind objects
• Test pane where you test the behavior
of a graphic
• Components pane where you can
access standard components libraries
as well as components categories that
you have imported or created on your
own
• Snippets pane where you can access
standard snippets libraries as well as
snippets categories that you have
imported or created on your own
File
Click to open the File menu. For more
information, see section 36.3 “Graphics
Editor File Menu” on page 1149.
Save
Click to open the standard Save As
window.
Undo
Click to revert the graphic to the state it was
in before the latest performed command
was executed. Repeated use of Undo takes
you back in the changes history, all the way
to when the graphic file was opened.
Redo
Click to revert the graphic to the state it was
in before the latest Undo command.
Repeated use of Redo takes you forward in
the changes history, all the way to the most
recent change.
Magnification
Click to enter the percentage of
magnification of the work area.
Design
Click to open the current graphic's work
area for drawing and editing. It also displays
the tools on the drawing toolbar. Graphics
Editor opens in Design mode.
Source
Click to open the current graphic for tgml
text editing, by putting the cursor in the text.
Common text editing tools are made
available in the Options bar.
Preview
Click to open the current graphic to test
animations, bindings, and links.
Continued
Button Description
View
Click to open the View menu from which
you can select the panes you want to use in
Graphics Editor: Components, Snippets,
Statistics, Layers, Objects, Properties, Binds
and Links, and Test. You can also select Full
Screen mode. For more information, see
section 36.9 “Graphics Editor View Menu”
on page 1156.
Continued
Command Description
Page settings Click to open a dialog box where you can set
paper size, source, orientation and margins.
Binds and Links Click to show or hide the Binds and Links
pane where you manage the binds and links
of the graphic.
Select
Click the border, or anywhere within a filled
object, to select the object.
Scroll
Click and drag to adjust the work area in the
pane.
Zoom
Click to display three zoom tools in the
Options bar: Restore original, Zoom In, and
Zoom Out.
Line
Click-drag-release in the work area to draw
a line between the two end points.
Polyline
Click a number of times in the work area to
draw a polyline between the click points.
Double-click to finish the polyline.
Curve
Click a number of times in the work area to
draw a curve between the click points.
Double-click to finish the curve.
Polygon
Click a number of times in the work area to
draw a polygone between the click points.
Double-click to finish the polygon.
Rectangle
Click and drag in the work area to open up a
rectangle between the two corner points.
Simultaneously, press SHIFT to open up a
square.
Ellipse
Click and drag in the work area to open up
an ellipse between the two size-determining
points. Simultaneously, press SHIFT to open
up a circle.
Continued
Button Description
Arc
Click and drag in the work area to open up
an arc between the two size-determining
points. Simultaneously, press SHIFT to open
up a quarter of a circle. For more
information, see section 33.19 “Pies” on
page 988.
Pie
Click and drag in the work area to open up a
pie (filled arc) between the two size-
determining points. Simulataneously, press
SHIFT to open up a quarter of a pie. For
more information, see section 33.19 “Pies”
on page 988.
Text
Click in the work area to position the start
point of a text string. Type the text and press
ENTER.
Textbox
Click and drag in the work area to open up a
rectangular text box between the two corner
points. Simultaneously, press SHIFT to open
up a square. Type the text and press
ENTER.
Insert Picture
Click in the work area to position the upper
left corner of a picture insert. An Open
window lets you browse to the desired
picture file.
Cut
Click to remove the selected object from the
graphic. The object is temporarily stored on
the clipboard.
Copy
Click to save a copy of the selected object
on the clipboard.
Paste
Click to create a copy of the object residing
on the clipboard. The copy is displayed on
the graphic slightly displaced from the
original, or from any previous copy.
Delete
Click to delete the selected object from the
graphic. The clipboard is not affected.
Continued
Button Description
Show Grid
Click to toggle between show and hide grid.
Select a grid size value from the adjacent
combo box.
Snap to Grid
Click to toggle between enabling and
disabling the snap objects to the grid
function.
Point Selection
Click the border, or anywhere within a filled
object, to select the object and display the
curve points.
Rotate Selection
Click to rotate the selected object by
dragging the handle that is displayed at the
top of the object.
Swap Colors
Click to swap the current colors of the stroke
and the fill.
Group
Click to group the selected objects in the
work area.
Ungroup
Click to ungroup objects that were
previously grouped.
Align
Select the required alignment of two or more
objects from the list: left, center, right, top,
middle, bottom, or center and middle.
Continued
Button Description
Arrange
Select the required arrangement of an object
relative to other objects, from the list.
Distribute
Select the required distribution of three or
more objects, in the horizontal or vertical
direction, from the list.
Flip
Select the required flip operation of the
selected object, in the horizontal or vertical
direction, from the list.
Resize
Select the required resize operation of two or
more objects from the list: same width,
height, or width and height.
Rotate Left
Click to rotate objects (single or group) 90°
left.
Rotate Right
Click to rotate objects (single or group) 90°
right.
Skew Horizontal
Click to skew the objects (single or group)
horizontally to ±60°, ±45°, ±30°, or ±15°.
Skew Vertical
Click to skew the objects (single or group)
vertically to ±60°, ±45°, ±30°, or ±15°.
Font
Select the required font family from the list.
Size
Select the required font size, 8–100 pixels,
from the list.
Bold
Click to make the characters of the selected
text string or text box bold.
Italic
Click to make the characters of the selected
text string or text box italic.
Continued
Button Description
Underline
Click to make the characters of the selected
text string or text box underlined.
Strikethrough
Click to display the characters of the
selected text string or text box with
strikethrough.
Text
Click to align the text to the left based on the
insertion point of the text row.
Textbox
Click to align the text to the left in the text
box.
Text
Click to center the text based on the
insertion point of the text row.
Textbox
Click to center each text row in the textbox.
Text
Click to align the text to the left based on the
insertion point of the text row.
Textbox
Click to align the text to the right in the text
box.
Text
Click to align the top of the text to the
insertion point.
Textbox
Click to align the text to the top of the
textbox
Text
Click to align the middle of the text to the
insertion point.
Textbox
Click to align the text in the middle of the
texbox.
Continued
Button Description
Text
Click to align the bottom of the text to the
insertion point.
Textbox
Click to align the text to the bottom of the
textbox.
Basic Controls
This category contains standard controls
delivered with the program.
DIN Symbols
Standardized DIN control symbols.
ISO Symbols
Standardized ISO control symbols.
Continued
Number Description
My Components
This category is where you add customized
components that you want to reuse in the
future.
Tip
• To get a description of a snippet, right-click the snippet in the list, and then
click Properties.
Basic Functions
This category contains standard functions
delivered with the program.
Continued
Number Description
My Snippets
This category is where you save customized
functions that you want to reuse in the
future.
Layers
Use the Layers pane to manage layers in a
graphic.
Objects
Use the Objects pane tree structure to
navigate among the objects that make up a
graphic or a component.
Properties
Use the Properties pane to view and edit
the properties of a graphic or a component.
Statistics
Use the Statistics pane to test the
performance of a graphic.
Continued
Number Description
Test
Use the Test pane to test the behavior of a
graphic or a component.
Snippets
Use the Snippets pane to access and
manage functions.
Components
Use the Components pane to access and
manage components.
Figure: Graphics Editor Objects pane with the Tgml tree structure
Expand All
Click to show all branches in the Tgml tree.
Collapse All
Opens the standard Save As window.
Move Up
Moves the selected object upward in the
Tgml tree.
Move Down
Moves the selected object down in the Tgml
tree.
Normal
Click to display a selection of commonly
used properties.
Detailed
Click to display all properties.
Which properties that are displayed in the Properties pane depends on the objects
included in the graphic. Graphics properties define the appearance, boundary, and
behavior of the graphic.
Continued
Component Description
Note
• The actual binding and linking are perfomred in WorkStation.
New layer
Click to create a new layer.
Duplicate layer
Click to duplicate the current layer.
Merge layer
Click to merge the selected layers.
Delete layer
Click to delete the current layer.
Move up
Moves the selected layer upward in the layer
pane.
Move down
Moves the selected layer down in the layer
pane.
Continued
Column Description
Topics
Graphical Programming
Function Block Editor Overview
Function Block Workflow
Function Block Editor File Type
Function Block Editor Shortcut Keys
Programming Hints
Units of Measure
Function Block Diagram Structure
Programming Phases
Design Phase
Operation Modes
37 Function Block Introduction
37.1 Graphical Programming
Important
Ensure that you have a working and available Function Block Editor license. A
working license is required to start the Function Block Editor software. For more
information, see the Licenses topic on WebHelp.
When you open your new OfficeLight program in Function Block Editor, you begin
by adding function blocks based on the type of action you wish the program to
perform. You then connect the blocks. For more information, see section 37.1
“Graphical Programming” on page 1189.
When you have finished the graphical programming, you create points in
WorkStation. You then bind the signals of the function block program to those
points to view the output.
When you are finished, you use the Function Block Editor Simulation mode to check
the program for errors and save the program.
In WorkStation, in the Properties pane, you select the task in which you want to
include your programs. You then execute your function block program.
For more information, see section 37.3 “Function Block Workflow” on page 1191.
You can store your function block programs and include them later in projects for
use in your control system. By putting small function block programs together, you
can create function block programs that perform anything from simple to very
complex operations, such as lighting, boilers, and air handling units at multiple sites.
For more information, see section 38.3 “Creating a Function Block Program” on
page 1211.
.MTA
An .MTA file can be imported into Function Block Editor but, when saved, it is
converted into an .AUT file.
37.6.3 Equality
When testing whether two values are equal, ensure that the tested values are of the
Binary or Integer type. Do not carry out an equal test on Real values.
Topics
Function Block Programs in WorkStation
Function Block Program Printouts
Creating a Function Block Program
Function Block Program Import
Importing Function Block Program Code
Exporting Function Block Program Code
Opening a Function Block Program
Editing a Function Block Program
Binding a Function Block Program to I/Os
Binding Values Using a Binding Template
Saving a Function Block Program
Tasks
Adding a Task to a Program
Program Cycles in Building Operation
Configuring the Execution Precedence for a Program
Finding Cycles in a Task
Module Names
Default Names
Adding and Editing the Module Name
Adding Default Names to Function Blocks
Searching for a Text String
Replacing a Text String
Program Conversion
Importing a Xenta 280/300/401 Program
38 Function Block Programs
38.1 Function Block Programs in WorkStation
4. In the Name box, type a name for the function block program.
Continued on next page
5. In the Description box, type a description for the function block program.
6. Click Create.
Tip
• When a Menta file is imported, TSCH blocks and ALARM blocks
are removed, AI/DI blocks are converted to RI/BI blocks, and
AO/DO blocks are converted to RO/BO blocks. As a result of
these conversions, you may need to make adjustments to the
imported Menta code.
Important
Ensure that you have a working and available Function Block Editor license. A
working license is required to start the Function Block Editor software. For more
information, see the Licenses topic on WebHelp.
Tip
• When creating bindings, follow the recommended general guidelines: create
bindings between Inputs and Outputs only and do not create bindings to
Public Signals.
For more information, see section 16.1 “Binding Templates” on page 449.
3. In the binding point browser, drag the object or folder to the binding template
that you want to apply.
5. Click OK.
Continued on next page
Tip
• To ensure data flow is occurring as intended, use the Watch pane to view
values and monitor changes.
38.12 Tasks
Function block and Script programs must be connected to tasks in order to run.
You access Tasks from the Properties dialog box.
The task is a property of the object that defines the program cycles.
When you create a new function block or Script program, Task 3 is the default. This
means that one program cycle executes in 1000 ms.
Figure: Tasks
The way you schedule programs to execute in Script differs from how you schedule
them to execute in Continuum. For more information, see the Script and Plain
English Program Differences topic on WebHelp.
Task 3 1 seconds
Task 4 5 seconds
Task 5 10 seconds
Figure: In an algebraic loop the execution order of programs cannot easily be determined.
To resolve a cycle and determine which program runs first in the cycle, you use the
execution precedence function. Programs can have execution precedence values
ranging from 0 to 255 where 0 results in the highest priority and 255 results in the
lowest priority. The program with highest execution precedence is always executed
first in the cycle.
Execution Precedence
The execution precedence is configured in the properties for the program. The
default value when you create a new program is 100.
38.14.1 Example A
In this example we have four programs that are connected in a cycle. The execution
order cannot be determined from how programs are bound. Program 1 should run
before Program 2, Program 2 before Program 3, and Program 4 before Program 1.
Figure: Example
However, Program 2 reads from a physical input, Input A, and the information from
this reading is transferred to Program 4, which writes to a physical output, Output
B.
Figure: Example
So, we want to Program 2 to run before Program 4. To do this we use execution
precedence. By configuring the Execution precedence as 99 for Program 2,
Program 2 will be the first program to be executed in the cycle.
Figure: Example
The resulting execution order will be P2, P3, P4 and P1.
38.14.2 Example B
All programs use the default execution precedence that is 100. In this example, it is
not possible to determine the execution order of Program 1 and Program 2 and the
execution order of Program 3 and Program 4. The only thing we can be sure of is
that the cycle with Program 1 and Program 2 is executed before the cycle with
Program 3 and Program 4 due to the fact that Program 3 awaits input from
Program 2.
Figure: Example
To resolve the order we configure Program 2 and Program 3 to have the execution
precedence of 99. Then Program 2 runs before Program 1 in the first cycle and
Program 3 before Program 4 in the second cycle.
Figure: Example
Now the execution order is Program 2, Program 3, Program 4 and Program 1.
4. Click OK.
The module name is displayed in each function block in the module. The block type
designation of a block in a module is underlined and purple.
All previously unnamed blocks get an identifier referring to the block type and a
number, for example, BI1 and BI2 for Binary input blocks.
3. Select Signal-/ Constant Names to search for the text string in signal and
constant names.
4. Select Comment Text to search for the text string in comment texts.
5. Select Module Names to search for the text string in module names.
6. In the Block Types list, select the block type to search in.
7. Select Match case to match the letter case in the text string.
8. Select Whole words to only match whole words in the text string.
9. Click Search Next to start the search.
The text is displayed in the Text in Found Block area and the blocks containing the
text are selected.
Note
• To replace text strings in all blocks, click Replace All.
4. Click Yes.
The Menta program is now converted into a function block program is now
uploaded and can be edited in Function Block Editor.
Topics
Edit Mode
Changing to Edit Mode
Duplicating a Function Block
Selecting a Function Block
Copying a Selection to the Clipboard
Clearing a Function Block Selection
Printing a Selection
Moving a Function Block
Copying a Function Block
Deleting a Function Block
Naming a Function Block
Selecting a Group
Centering a Group
Moving a Group
Deleting a Group
Copying a Group
Disconnecting a Group
39 Function Blocks
39.1 Edit Mode
The block is now enclosed in a green rectangle and you can move or copy it.
To print a selection
1. In Function Block Editor, in the diagram window, select the function block you
want to print.
2. On the File menu, click Print.
3. Under Options, select Scale Output to one page.
4. Click Print.
4. Drag the block from the top left corner to a new position in the diagram
window.
You can now change the block parameters.
To select a group
1. In Function Block Editor, in the diagram window, drag the pointer around all
the blocks and connections you want to select.
The group is now selected and you can move, delete or copy it.
To center a group
1. In Function Block Editor, in the diagram window, select all the blocks and
connections you want to center.
2. On the Edit menu, click Center Selection.
Note
• The selection shifts what is displayed in the center of the diagram
window. It does not move any blocks or connections.
• Selections to the far left or at the top are not centered as well as
selections made at the bottom or to the right in the diagram
window.
To move a group
1. In Function Block Editor, in the diagram window, select all the blocks and
connection you want to move.
2. Drag the selected group to a new position.
To delete a group
1. In Function Block Editor, in the diagram window, select the blocks and
connections you want to delete.
To copy a group
1. In Function Block Editor, in the diagram window, select all the blocks and
connections you want to copy.
2. On the Edit menu, click Copy.
3. On the Edit menu, click Paste.
The copy is located at the top and to the left in the diagram window. You can now
move it to another position in the function block program and edit the block
parameters.
To disconnect a group
1. In Function Block Editor, in the diagram window, select the group.
2. Right-click inside the selection.
3. Click Disconnect.
The connections between the blocks inside the group and blocks outside the group
are removed. The connections between the blocks within the group are kept.
Topics
Hierarchical Function Blocks
Creating an Empty HFB
Adding an HFB I/O Block
Creating an HFB of Existing Function Blocks
Expanding an HFB
Compressing an HFB
Navigating in a Hierarchical Structure of HFBs
Printing an HFB
40 Hierarchical Function Blocks
40.1 Hierarchical Function Blocks
Important
• If you create or rename a function block program that includes an HFB, the
HFB and all its lower levels are included in this function block program.
4. Click OK.
5. In the Identifier box, type a name for the signal.
6. Click OK.
Note
• The signals within the HFB must have unique names. The input
and output blocks are only displayed when the HFB is expanded
and the signals cannot be made public.
Important
• When an HFB has been created, it cannot be reverted to its original flat
structure.
• When you create an HFB of a group of blocks and connections, the required
input and output block types HFAI, HFAO, HFDI, and HFDO are automatically
created and use the existing signal names.
• Do not change the name of the blocks (HFAI, HFAO, HFDI and HFDO).
For more information, see section 40.1 “Hierarchical Function Blocks” on page
1265.
3. In the Edit Hierarchy dialog box, in the Identifier box, type a name for the
HFB.
4. In the Description box, type a description of the HFB.
5. Click OK.
6. Click Save.
To expand an HFB
1. In Function Block Editor, in the diagram window, right-click the HFB function
block and then click Expand HFB.
The expanded HFB is displayed and contains the input and output block types
HFAI, HFAO, HFDI, and HFDO.
Note
• The displayed HFB I/Os are only symbols used to show the connections to
the higher level in the function block diagram structure.
To compress an HFB
1. In Function Block Editor, in the diagram window, right-click the expanded HFB
and then click Compress HFB.
To print an HFB
1. In Function Block Editor, on the File menu, click Print.
Topics
Function Block Editor Macros
Function Block Editor Macro Commands
Saving a Macro
Loading a Macro
Replacing a String
Adding a Message Box
Adding a Reminder
Adding a Sound
41 Macros
41.1 Function Block Editor Macros
Note
• You can use a macro command in more than one comment.
• You can mix macro commands with ordinary text in comments.
To save a macro
1. In Function Block Editor, in the diagram window, select all function blocks and
connections you want to include when saving the macro.
2. Right-click the selection and on the GROUP menu, click Save to save part of
the function block program.
3. Enter the location where you want to save the macro.
4. In the File name box, type a file name for the macro.
5. Click Save.
To load a macro
1. In Function Block Editor, right-click in the diagram window.
2. On the NEW menu, click Load Macro.
3. In the File name box, enter the name of the function block program you want
to load.
4. Click Open.
The imported function block program is added to the existing function block
program and selected.
3. Click OK.
4. Save the function block program and exit Function Block Editor.
5. In WorkStation, right-click the saved function block program and then click
Edit.
6. In the Macro Replace dialog box, in the With box, type the text string you
want to replace the existing text string with.
7. Click OK.
3. Click OK.
4. Save the function block program and exit Function Block Editor.
5. In WorkStation, right-click the saved function block program and then click
Edit.
6. Click OK.
The message box opens every time you open the function block program for
editing.
To add a reminder
1. In Function Block Editor, in the diagram window, right-click and then click
Comment.
2. Type '$REMINDER$' and then type the text you want to display in the
reminder box.
3. Click OK.
4. Save the function block program and exit Function Block Editor.
5. In WorkStation, right-click the saved function block program and then click
Edit.
6. Click OK.
The message box for the REMINDER macro command displays the reminder every
time the function block program is opened for editing.
To add a sound
1. In Function Block Editor, in the diagram window, right-click and then click
Comment.
2. Type '$PLAYSOUND$' and then type the name of the .wav sound file you
want to use.
3. Click OK.
4. Save the function block program and exit Function Block Editor.
5. In WorkStation, right-click the saved function block program and then click
Edit.
6. Click OK.
The sound file is played every time you open the function block program for editing.
Topics
Constants
Using a Constant
Making a Constant Public
Deleting All Unused Constants
Deleting a Constant
Editing a Constant
Adding a Constant
Changing the Value of a Constant
42 Constants
42.1 Constants
42.1 Constants
Constant names are alphanumerical strings of up to 20 characters. A constant
name must have at least one letter.
You can create constants separately or when you configure parameters in a
function block.
If you create a constant when you configure parameters in a function block, you
select the use of the constant by entering a text string instead of a numerical value
for the parameter in the function block. The text string is the identifier for the
constant.
Constants can be declared as either public or internal. By definition, a constant
cannot be modified by the function block program in which it is declared. When you
declare a constant as public, it can be accessed and modified from other nodes on
the network.
Important
• Public constants can be modified over the network as well during runtime.
• A public constant in Function Block Editor can only be assigned to one
function block parameter.
• An internal constant can be assigned to any number of function block
parameters. Non-public constant names are substituted with the
corresponding numerical values when the FBD is compiled.
• A public constant cannot have the same name as a public signal.
• Public constants are not allowed in expression blocks, or in operators.
• Public constants are not allowed inside the binding parameters of IO blocks.
• A constant used as a parameter in a function block is not removed from the
Constants Table when the function block is deleted.
You should always name blocks containing public constants so that the constants
can retrieve/change module names.
Note
• When you create a function block program, this block gets the initial value as
specified in the block.
• When you edit a function block program, this block keeps the value from the
last program cycle. When you change the init value in Function Block Editor it
does not affect the block.
To use a constant
1. In Function Block Editor, in the diagram window, right-click the function block
and then click Edit.
2. In the Parameter box, type a text string (identifier) instead of a numerical
value to use the value of the constant as the parameter setting.
3. Click OK.
3. Click OK.
The constant is now available to other nodes on the network and can be edited
from the function block program.
3. Click Exit.
To delete a constant
1. In Function Block Editor, on the Options menu, click Constants Table.
4. Click Exit.
To edit a constant
1. In Function Block Editor, on the Options menu, click Constants Table.
2. Double-click the constant you want to edit.
3. In the Value box, type the value.
To add a constant
1. In Function Block Editor, on the Options menu, click Constants Table.
2. Click Add.
3. In the Identifier box, type a name for the constant.
Important
• You can only change values for public constants in Simulation mode.
• You can view but not change values for internal constants.
• Values for public constants, modified from the Constants Table, update the
source code for the function block program, except when changes are made
during a simulation in tabular mode.
4. Click OK.
5. Click Exit.
Topics
Signals
Signal Names
43 Signals
43.1 Signals
43.1 Signals
The signals in a function block program are variables. These variables are generated
as outputs of function blocks and are transferred to inputs in other blocks by using
connections.
All function blocks in Function Block Editor have one output only. Each function
block generates a unique signal.
Unsupported characters
The following characters are reserved for use as separators or system object
identifiers in monitoring and supervising systems and cannot be used: comma ( , ),
semicolon ( ; ), colon ( : ), hyphen ( - ), period ( . ), dollar ( $ ), and apostrophe ( ' ).
Double-quotes are not allowed. If you type a name string with double-quotes
("Signal_name", for example), the double-quotes are deleted when the dialog box is
closed.
The space character (white space) is not allowed. Use the underscore character ( _ )
instead.
Topics
Simulation Mode
Changing to Simulation Mode
Setting Date and Time
Tiling the Simulation Area Vertically and Horizontally
Simulating One Cycle Only
Simulating a Defined Number of Cycles
Starting a Simulation
Setting Analog Simulation Inputs
Setting Digital Simulation Inputs
Changing from Function Diagram View to Table View
Adding a Binary Signal to the Recorder
Removing a Signal from the Recorder
Editing the Range of a Recorded Value
Restarting the Recorder
Resetting the Recorder
Viewing Sampled Values
Scanning Sampled Values
Defining the Sampling Period
Automatically Generated Input Signals
Automatically Generating an Analog Input Signal
Automatically Generating a Binary Input Signal
Modifying an Analog Signal
Modifying a Binary Signal
Viewing Parameters in a Function Block
44 Simulation Mode
44.1 Simulation Mode
2. Adjust the size of the diagram window and the trend area by moving the
separation bar between the two panes.
3. Press ENTER.
To start a simulation
1. In Function Block Editor, in Simulation mode, on the Commands menu,
click Execute.
The simulation toggles between start and stop when you click Execute.
Note
• You have to enter values in the engineering unit defined for the
analog input block.
3. Press ENTER.
The symbols on digital input buttons toggle between open and closed switches
when you click the buttons.
Note
You can toggle between the graphical view and the table view by
pressing F5.
The view shifts from the graphical view to the table view.
Note
• When you record a binary signal, the plot range (scale) for the
signal is always 0 to 1.
One of the six trend channel boxes in the trend logging area shows the name of the
signal you added to the recorder.
4. Press ENTER.
Note
• When you record a binary signal, the plot range (scale) for the
signal is always 0 to 1.
The recorder continues to display the graphs, starting from the left in the trend
logging area. Previously drawn graphs are left unchanged.
3. In the trend record box, view the logged values for the sampling.
3. In the recorded signal boxes, view the logged values for each sampling.
4. Right-click the trend logging area when finished.
3. Press ENTER.
3. Press ENTER.
3. Press ENTER.
3. Click OK.
Note
• When you use a public constant for a block parameter, you can
change the value by using the constants table.
Topics
Function Block Programming
Connections
Connecting a Block Output to a Block Input
Creating a Node on a Connection Line
Drawing a Connection Line from a Node
Drawing a Connection Line in the Diagram Window
Disconnecting All Connections
Disconnecting a Connection
Changing a Connection
Deleting a Connection
Detaching a Connection
Changing the Color of a Connection Line
Changing the Orthogonal Connection Setting
45 Function Block Programming
45.1 Function Block Programming
45.1.2 Operators
An operator is a type of function, which can perform an operation on one or several
operands.
For more information, see section 48.1 “Operators” on page 1481.
45.1.4 Connections
Connections in function block programs transport signals (data) between the
function blocks in the function block diagram. The connection is a link between the
output of one block and one or more inputs of other blocks.
For more information, see section 45.2 “Connections” on page 1335.
45.1.5 Signals
The signals in a function block program are variables. These variables are generated
as outputs of function blocks and are transferred to inputs in other blocks by using
connections.
For more information, see section 43.1 “Signals” on page 1301.
45.1.6 Macros
Macros in Function Block Editor, are small function block programs that contain
useful functions you want to reuse.
For more information, see section 41.1 “Function Block Editor Macros” on page
1277.
45.1.7 Comments
Comments are graphical containers for text. You use Comments when there is a
need to explain what the function block is supposed to do. Comments are plain text
that is displayed in the function block program. Comments are also the containers
where you write macro commands that are to be used in Function Block Editor.
45.2 Connections
Connections in function block programs transport signals (data) between the
function blocks in the function block diagram. The connection is a link between the
output of one block and one or more inputs of other blocks.
Connections inherit their data types from the connected outputs. Outputs and
inputs can only be connected when they have the same signal data type.
Connections are formed by straight line segments. The points where line segments
join are called nodes. The corners, formed when connection lines change direction,
are also nodes.
Note
• You cannot compile a function block diagram when there are unconnected
inputs.
• Unconnected inputs must be connected before switching to simulation
mode.
In Function Block Editor, you can draw connections from different starting points in
the diagram.
• Starting at a block output
• Starting at a connection line
• Starting at a node
• Starting in the work area
When you click the output of a function block, the cursor changes to an angled
cross.
When you start moving the cursor, a floating connection line is created and
movements are tracked by an elastic, green line.
When it is necessary to change position or direction of the connection line, you can
fixate the current segment end by clicking once. The floating connection line
changes into a fixed segment and a new floating connection line starts at the break
point.
You can repeat this fixation as many times as necessary, creating a connection
made up of various consecutive segments.
When you point to an input where you can connect, the cursor changes to a square
around a small angled cross.
2. Drag the pointer to the input of the block you want to connect to.
Tip
When it is necessary to change position or direction of the
connection line, you can fixate the current segment by clicking once.
You can repeat this fixation as many times as needed.
Tip
When it is necessary to change position or direction of the
connection line, you can fixate the current segment by clicking once.
You can repeat this fixation as many times as needed.
A node shaped as a filled, black circle is created on the connection line at the point
where you right-clicked.
To disconnect a connection
1. In Function Block Editor, in the diagram window, right-click the connection at
an input or an output, and then click Disconnect.
To change a connection
1. In Function Block Editor, in the diagram window, right-click the connection you
want to change and then click Detach.
To delete a connection
1. In Function Block Editor, in the diagram window, right-click the connection line
you want to delete.
To detach a connection
1. In Function Block Editor, in the diagram window, right-click the connection you
want to detach and then click Detach.
Topics
Expression Blocks
Adding an Expression Block
Expression Block Arithmetical Functions
Expression Block Operators
Function Block Editor Comments
Adding a Comment
Adding a Rectangle
46 Expression Blocks and Comments
46.1 Expression Blocks
Expression blocks are always read-only. The memory they occupy when compiled
depends on the complexity of the expression.
4. In the Unit box, enter the required engineering unit for the output.
5. In the Description box, type a short description that explains the expression.
6. Select Public to make the output signal into a public signal.
7. Click the type of expression you want for the output: Real, Integer, or
Binary.
Continued on next page
8. In the Expression box, type the expression you want to use to calculate the
output.
9. Click OK.
10. If the block is enclosed by a red rectangle, move the block to an empty space.
11. Click outside the green rectangle that encloses the block to clear the
selection.
You can use parentheses in an expression to force an evaluation order to differ from
the precedence order of the operators.
The three types of variables can always be combined with an operator without
problem, since the necessary type conversions are automatically performed
according to the rules described below:
• For the operations +, –, * and /, all values are converted to Real values.
• For the operations %, <<, >>, &, ^ and |, all values are converted to Integer
values (Real values are truncated).
• For the operation !, a Real or Integer value is converted to Binary using the
following rule: if the value is zero, it converts to zero, and if it is non-zero, it
converts to one before logical negation is carried out. A “true” bitwise Not
operation on an integer A can be obtained with the operation A ^ (-1), i.e. A
XOR (-1).
• The operations >, <, >=, <=, =, != convert the operands to Real values,
perform the comparison and return a Binary result.
?: IF-THEN-ELSE statement.
“a ? b : c” means “if a then b else c”.
Note
• Operators in Function Block Editor are equivalent to operators that can be
used in expression blocks. The result is equivalent; each single operator is
compiled to a single expression block, exactly as if it had been written in an
expression block.
Miscellaneous Operators
In an expression block, operands of different types can be combined by using any
operator. However, when you use an operator in the Function Block Editor shortcut
menu, you should perform conversions explicitly.
The D/A and A/D operators are simply operators that convert from binary to analog
and vice versa. Those operators are needed because the rest of the operators have
typed inputs. That is, without them you would not, for example, be able to
summarize a binary and an analog signal. In expression blocks, conversions are
done implicitly so you do not need to use these operators in expressions. The
conversion rules are as follows:
• A real or integer value is converted to a binary value giving a logical 0 if the
input is exactly 0, or 1 if it is anything but 0.
• A binary value is converted to an analog value as follows: logical 0 gives the
number 0 and logical 1 gives the number 1.
The multiplexer operators are switches, which select one of two input signals
depending on the binary switch value.
The Conversion AA operator is used when connecting an integer output to a real
input or vice versa. Since operators do not distinguish between real and integer
values, the Conversion AA operator does not carry out an explicit type conversion
with rounding or truncation. Instead, this type conversion is done in the block using
the Conversion AA output value as the input. It is recommended that you use
expression blocks when explicit type conversions with rounding or truncation are
required.
To add a comment
1. In Function Block Editor, right-click in the diagram window at the position
where you want to add the comment.
2. On the NEW menu, click Comment.
3. Type the text you want to display in the comment.
4. Click Font.
Continued on next page
6. Click OK.
7. In the Edit comment dialog box, click OK.
8. Click outside the green rectangle that encloses the comment to clear the
selection.
To add a rectangle
1. In Function Block Editor, right-click in the diagram window at the position
where you want the rectangle to begin.
2. On the NEW menu, click Rectangle.
3. Drag the pointer to where you want the rectangle to end.
Topics
Simple Blocks
Adding a Simple Block
Connection Blocks
BI – Binary Input
BO – Binary Output
II – Integer Input
IO – Integer Output
PI – Pulse-Counter Binary Input
PO – Pulsed Binary Output
RI – Real Input
RO – Real Output
Time Schedule and Alarm Blocks
ALARM – Alarm
TSCHI – Time Schedule
Accumulator Blocks
ACCUM – Accumulator
INTEG – Integrator
RT – Run-Time Measurement
Non-linear Function Blocks
AHYST – Analog Hysteresis
HYST – Binary Hysteresis
LIMIT – High/Low Signal Limit
MAX – Maximum Signal Selector
MIN – Minimum Signal Selector
Logical Function Blocks
AND – Logical AND Gate
NOT – NOT Gate
OR – OR Gate
PULSE – Pulse Generator
SR – Set-Reset Flip-Flop
TRIG – Trigger
XOR – Exclusive OR Gate
Transformation Function Blocks
CURVE – Curve Function
ENTH – Enthalpy
POLY – Polynomial Function
PRCNT – Percentage
VECTOR – Vectorial Curve Function
Delay Blocks
DELAY – Delayed On/Off
DELB – Binary Value Delay
DELI – Integer Value Delay
DELR – Real Value Delay
SHB – Sample and Hold Binary Value
SHI – Sample and Hold Integer Value
SHR – Sample and Hold Real Value
System Variable Blocks
DATE – Day
ERROR – System Error
Error Codes for the ERROR Function Block
HOUR – Hour
MINUTE – Minute
MONTH – Month
RST – Restart
SECOND – Second
WDAY – Week Day
TCYC – Cycle Time
Controller and Filter Blocks
FILT – First Order Filter
OPT – Optimization
PIDA – PID Controller – Analog Output
PIDI – PID Controller – Incremental Output
PIDP – PID Controller – Analog Output
RAMP – Ramp Filter
SEQ – Sequencer
Signal Source Blocks
NCYC – Program Cycle Counter
OSC – Oscillator
PVB – Parameter Value Binary
PVI – Integer Value Parameter
PVR – Real Value Parameter
47 Function Block Types
47.1 Simple Blocks
Continued
Name Description
SR Set/Reset flip-flop
Continued
Name Description
SEQ Sequencer
INTEG Integrator
Continued
Name Description
4. Click OK.
5. If the block is enclosed by a red rectangle, move the block to an empty space.
6. Click outside the green rectangle that encloses the block to clear the
selection.
47.3.1 BI
The BI block is a binary input to a function block program.
For more information, see section 47.4 “BI – Binary Input” on page 1376.
47.3.2 BO
The BO block is a binary output from a function block program.
For more information, see section 47.5 “BO – Binary Output ” on page 1377.
47.3.3 II
The II block is an integer input to function block program.
For more information, see section 47.6 “II – Integer Input” on page 1378.
47.3.4 IO
The IO block is an integer output from function block program.
For more information, see section 47.7 “IO – Integer Output ” on page 1379.
47.3.5 PI
The PI function block counts the number of pulses on the input during one
execution of a function block program.
For more information, see section 47.8 “PI – Pulse-Counter Binary Input” on page
1380.
47.3.6 PO
The PO block is designed to be used together with the PIDI function block.
For more information, see section 47.9 “PO – Pulsed Binary Output” on page 1381.
47.3.7 RI
The RI block represents a real input in a function block program.
For more information, see section 47.10 “RI – Real Input” on page 1382.
47.3.8 RO
The RO block represents a real output in a function block program.
For more information, see section 47.11 “RO – Real Output” on page 1383.
Note
• The BI block has no parameters.
BINARY RO
Important
It is not recommended to make any connection after the BO function blocks. Due
to system infrastructure, bindings to physical outputs are handled outside the
function block program. If you force the value of an output signal, the forced value
is not transferred back to the application program and anything connected after
the BO function block is unaffected by the forced value.
Note
• The BO block has no parameters.
BINARY RO
INTEGER RO
Important
It is not recommended to make any connection after the IO function blocks. Due
to system infrastructure, bindings to physical outputs are handled outside the
function block program. If you force the value of an output signal, the forced value
is not transferred back to the application program and anything connected after
the IO function block is unaffected by the forced value.
Note
• The IO block has no parameters.
INTEGER RO
Note
• The ACCUM block can be used to accumulate the number of pulses during
execution.
• The PI block has no parameters.
INTEGER –
REAL RO
Important
It is not recommended to make any connection after the PO function blocks. Due
to system infrastructure, bindings to physical outputs are handled outside the
function block program. If you force the value of an output signal, the forced value
is not transferred back to the application program and anything connected after
the PO function block is unaffected by the forced value.
REAL RO
REAL RO
Important
It is not recommended to make any connection after the RO function blocks. Due
to system infrastructure, Bindings to physical outputs are handled outside the
function block program. If you force the value of an output signal, the forced value
is not transferred back to the application program and anything connected after
the RO function block is unaffected by the forced value.
Note
• The RO block has no parameters.
REAL RO
47.12.1 ALARM
The ALARM block monitors the state of the binary input signal.
For more information, see section 47.13 “ALARM – Alarm” on page 1385.
47.12.2 TSCHI
The TSCHI block is an integer output indicating the number of minutes until the next
change of state of the time schedule.
For more information, see section 47.14 “TSCHI – Time Schedule” on page 1387.
Figure: The relation between input signal and alarm output signal
Note
• The input signal must be true for a time interval longer than DelayOn in order
to generate a new alarm. The input must also be false for a time interval
longer than DelayOff in order to reset the alarm.
BINARY RO
Note
• The TSCHI block has no parameters.
INTEGER RO
47.15.1 ACCUM
The ACCUM block is used to accumulate the total consumption from an
incremental input (the consumption during one program cycle).
For more information, see section 47.16 “ACCUM – Accumulator” on page 1389.
47.15.2 INTEG
The INTEG block integrates a rate or flow over time.
For more information, see section 47.17 “INTEG – Integrator” on page 1391.
47.15.3 RT
The RT block is used to calculate the runtime of the RunIndication signal.
For more information, see section 47.18 “RT – Run-Time Measurement” on page
1393.
Note
• The accumulated value is delayed by one program cycle before it appears on
the output.
The accumulator output is set to InitValue at the initial state. When the Reset input is
activated, the accumulator output is reset to a value specified by the ResetValue
input signal. When the Reset input is deactivated, the accumulation resumes from
the last value of the ResetValue input.
The upper and lower output limits are set by the maximum floating-point number
that can be represented in the controller.
Note
• When you create a function block program, this block gets the initial value as
specified in the block.
• When you edit a function block program, this block keeps the value from the
last program cycle. When you change the init value in Function Block Editor it
does not affect the block.
Continued
Input Data Type Description
REAL R/W
REAL R/W
The integral is computed as the sum of the rate multiplied by the time increment
(program cycle). The summation is done using extended numerical precision to
avoid underflow when the rate is small.
The integrator output is set to InitValue at the initial state. When the Reset input is
activated, the integrator output is reset to a value specified by the ResetValue input
signal. When the Reset input is deactivated, the integration is resumed starting from
the last value of the ResetValue input.
The upper and lower output limits are set by the maximum floating-point number
that can be represented in the controller.
Note
• When you create a function block program, this block gets the initial value as
specified in the block.
Continued on next page
• When you edit a function block program, this block keeps the value from the
last program cycle. When you change the init value in Function Block Editor it
does not affect the block.
INTEGER R/W
The output time unit (hours, minutes or seconds) is selected using the Unit
parameter. The output and all internal block states are set to zero at the initial state
or when the Reset input is activated. When the Reset input is deactivated,
accumulation resumes.
When the output reaches the maximum Integer limit (32767), accumulation stops,
but the output is not reset to zero.
Note
• When you create a function block program, this block gets the initial value as
specified in the block.
• When you edit a function block program, this block keeps the value from the
last program cycle. When you change the init value in Function Block Editor it
does not affect the block.
47.19.1 AHYST
The AHYST block implements an analog hysteresis function.
For more information, see section 47.20 “AHYST – Analog Hysteresis” on page
1396.
47.19.2 HYST
The binary HYST block implements a relay function with hysteresis.
For more information, see section 47.21 “HYST – Binary Hysteresis” on page 1398.
47.19.3 LIMIT
The LIMIT block limits the analog signal within a given range.
For more information, see section 47.22 “LIMIT – High/Low Signal Limit” on page
1400.
47.19.4 MAX
The MAX signal selector block selects the highest of two analog signals.
For more information, see section 47.23 “MAX – Maximum Signal Selector” on
page 1401.
47.19.5 MIN
The MIN signal selector block selects the lowest of two analog signals.
For more information, see section 47.24 “MIN – Minimum Signal Selector” on page
1402.
REAL RO
BINARY RO
When activate is greater than deactivate, the block has the following functions:
• If the output is false (0) and the input signal exceeds the activation threshold,
the output changes to true (1).
• If the output is true (1) and the input signal drops below the deactivation
threshold, the output changes to false (0).
• When the input signal is in the zone between the two thresholds, the output
remains in its previous state.
When activate is less than deactivate, the block has the following functions:
• If the output is true (1) and the input signal exceeds the deactivation threshold,
the output changes to false (0).
• If the output is false (0) and the input signal drops below the activation
threshold, the output changes to true (1).
• When the input signal is in the zone between the two thresholds, the output
remains in its previous state.
REAL RO
Note
• The MAX block has no parameters.
REAL RO
Note
• The MIN block has no parameters.
REAL RO
47.25.1 AND
The logical AND gate block calculates the boolean AND function of state1 and
state2.
For more information, see section 47.26 “AND – Logical AND Gate” on page 1405.
47.25.2 NOT
The NOT gate block inverts a binary signal.
For more information, see section 47.27 “NOT – NOT Gate” on page 1406.
47.25.3 OR
The OR gate block calculates the boolean OR function.
For more information, see section 47.28 “OR – OR Gate” on page 1407.
47.25.4 PULSE
The PULSE generator block generates a variable width pulse when the control input
is triggered.
For more information, see section 47.29 “PULSE – Pulse Generator” on page 1408.
47.25.5 SR
The SR flip-flop block is a bi-stable block with two inputs: set and reset.
For more information, see section 47.30 “SR – Set-Reset Flip-Flop” on page 1409.
47.25.6 TRIG
The TRIG block is mono-stable and fires when it detects a transition in its input
signal and generates a pulse which is equal to the duration of one program cycle.
For more information, see section 47.31 “TRIG – Trigger” on page 1411.
47.25.7 XOR
The exclusive OR gate block is a logical exclusive OR operator between two binary
values.
For more information, see section 47.32 “XOR – Exclusive OR Gate” on page 1412.
Note
• The AND block has no parameters.
BINARY State1
BINARY State2
BINARY RO
Table: Calculation of the Boolean AND Function of state1 and state2 in the Logical
AND Gate Block
state 1 state 2 output
0 0 0
0 1 0
1 0 0
1 1 1
Note
• The NOT block has no parameters.
BINARY RO
47.28 OR – OR Gate
The OR gate block calculates the boolean OR function.
Note
• The OR block has no parameters.
BINARY RO
Table: Calculation of the Boolean OR Function of state1 and state2 Using the OR
Gate Block
state1 state2 Output
0 0 0
0 1 1
1 0 1
1 1 1
Note
• The PULSE block has no parameters.
BINARY RO
The pulse generator block is a function block with a mono-stable binary output of
variable pulse length (pulse generator). The pulse length (in seconds) is given by the
input signal PulseLength. The PULSE block only has one stable output state (0).
When the input signal Trig switches from 0 to 1, the output switches to the unstable
state (1) and remains in this state for PulseLength seconds, after which it returns to
0. The output pulse is triggered by the transition of the input signal, from zero to
one, and not on its state. Thus, the output pulse length is independent of the
duration of the trig input pulse length.
BINARY R/W
Depending on the value of these inputs at any given moment, the output of the
block is given a value during the next program cycle in accordance with the
following transition table:
0 0 output (t)
0 1 0
1 0 1
1 1 inverse (output(t))
Thus, the output at time t+1 is equal to the input at time t if the two inputs are
inactive. If the two inputs are active, the output changes state every program cycle.
If only one of them is active, the output is activated or deactivated depending on
whether the input variable set or reset is active respectively.
BINARY RO
Note
• The XOR block has no parameters.
BINARY State1
BINARY State2
BINARY RO
The exclusive OR gate block calculates the boolean exclusive OR function of state1
and state2, according to the following truth table:
0 0 0
0 1 1
1 0 1
1 1 0
47.33.1 CURVE
The CURVE function block implements an arbitrary partially linear curve defined by a
number of curve breakpoints (xi, yi), that are the function values y = f(x) for a set of
input x values.
For more information, see section 47.34 “CURVE – Curve Function” on page 1414.
47.33.2 ENTH
The ENTH block is used to calculate moist air at normal atmospheric pressure as a
function of the dry-bulb temperature and the relative humidity.
For more information, see section 47.35 “ENTH – Enthalpy” on page 1416.
47.33.3 POLY
The POLY block calculates the polynomial function.
For more information, see section 47.36 “POLY – Polynomial Function” on page
1419.
47.33.4 PRCNT
The PRCNT block transforms an input signal to a 0–100% output signal.
For more information, see section 47.37 “PRCNT – Percentage” on page 1421.
47.33.5 VECTOR
In the VECTOR block the output value is calculated using a ranged array of input
values.
For more information, see section 47.38 “VECTOR – Vectorial Curve Function” on
page 1422.
BINARY RO
The number of breakpoints must not exceed 127. The number of specified
breakpoints (N) is indicated as Dimension in the graphical function block symbol.
The breakpoints are entered as a list of Real values x,y separated by commas, with
one coordinate pair on each row. The x values in the list have to be entered in order,
that is xi-1 < xi < xi+1.
The input signal is compared to the x-components of the breakpoints in order. The
first coordinate pair with an x-component greater than the input signal is chosen as
the end point of a line segment starting in the previous point. The output signal is
then calculated by linear interpolation on this line segment.
If the limit function selector is set to 1, the output is set to y1 when the input is less
than x1, and to yN when the input is greater than xN. When the limit selector is
disabled, the output is computed by linear extrapolation whenever the input signal
exceeds the range (x1, xN).
The following is a graphical representation of a “simple” case:
Note
• The ENTH block has no parameters.
REAL RO
• c8 = –5.8002206E+03;
• c9 = 1.3914993E+00;
• c10 = –4.8640239E-02;
• c11 = 4.1764768E-05;
• c12 = –1.4452093E-08;
• c13 = 6.5459673+00;
The enthalpy of moist air at normal atmospheric pressure as a function of the dry-
bulb temperature and the relative humidity is then given by the following equations:
pwsat = pws(t+273.15)
pw =F*pwsat/100)(24)
W = 0.62198*pw/(p-pw)(22)
h = 1.006 *t + W*(2501+1.805*t)(32)
where
• pwsat = water vapor saturation pressure (Pa)
• t = dry-bulb temperature (°C)
• F = relative humidity (%)
• pw = partial pressure of water vapor in moist air (Pa)
• p = ambient pressure (101325 Pa)
• W = humidity ratio, mass of water per unit mass of dry air
• h = enthalpy (kJ/kg)
Note
• Reference: ASHRAE Handbook 2001 – Fundamentals SI System of units.
Chapter 6, Psychrometrics. The equation numbers within parenthesis refer to
the corresponding equations in the ASHRAE Handbook.
pwsat = pws(t+459.67)
pw = F*pwsat/100)(24)
W = 0.62198*pw/(p-pw)(22)
h = 0.240*t + W*(1061+0.444*t)(32)
where
• pwsat = water vapor saturation pressure (psi)
• t = dry-bulb temperature (°F)
• F = relative humidity (%)
• pw = partial pressure of water vapor in moist air (psi)
• p = ambient pressure (14.696 psi)
• W = humidity ratio, mass of water per unit mass of dry air
• h = enthalpy (BTU/Pound)
Note
• Reference: ASHRAE Handbook 2001 – Fundamentals I-P System of units.
Chapter 6, Psychrometrics. The equation numbers within parenthesis refer to
the corresponding equations in the ASHRAE Handbook.
REAL –
REAL RO
The Polynomial block calculates the polynomial function defined by the expression:
Figure: Polynomial value calculated by using the algorithm known as Horner's scheme
REAL RO
REAL RO
The Vectorial curve function block permits the definition of any piece-wise linear
function for an input signal within the limits Xmax and Xmin. The function is defined
by specifying the output function values y = f(x) for N equally spaced input (x) values
between the two limits. For input values between two points, the function value is
calculated by linear interpolation. If the value of the input signal is less than Xmin,
the value defined at that point is used, and likewise if the input is greater than Xmax.
Note
• The Vectorial curve function block can act as a ranged array of Real values for
use as a look-up table as in the example below.
5 34.5
6 28.0
7 42.5
8 33.9
To do this, the input must always be an integer between Xmin and Xmax (Xmin = 5,
Xmax = 8 in the example), and the number of elements in the list must be equal to
Xmax – Xmin + 1 (8 – 5 + 1 = 4 in the example).
47.39.1 DELAY
The DELAY on/off block delays the transitions of an input signal (state) by the time
specified in seconds as defined by the DelayOn (transition 0 to 1) and DelayOff
(transition 1 to 0) parameters.
For more information, see section 47.40 “DELAY – Delayed On/Off” on page 1426.
47.39.2 DELB
The DELB block introduces a delay of one program cycle in the propagation of a
binary signal. For each program cycle, the output value is updated with the input
value from the previous cycle.
For more information, see section 47.41 “DELB – Binary Value Delay” on page
1427.
47.39.3 DELI
The DELI block introduces a delay of one program cycle in the propagation of an
Integer signal. For each program cycle, the value of the output is updated with the
input value from the previous cycle.
For more information, see section 47.42 “DELI – Integer Value Delay” on page
1428.
47.39.4 DELR
The DELR block introduces a delay of one program cycle in the propagation of a
Real signal. For each program cycle, the value of the output is updated with the
input value from the previous cycle.
For more information, see section 47.43 “DELR – Real Value Delay” on page 1429.
47.39.5 SHB
The SHB binary value block copies the input state to the output if the control signal
is active. If the control signal is inactive the output remains in the same state.
For more information, see section 47.44 “SHB – Sample and Hold Binary Value” on
page 1430.
47.39.6 SHI
The SHI integer value block copies the input state to the output if the control signal
is active. If the control signal is inactive the output remains in the same state.
For more information, see section 47.45 “SHI – Sample and Hold Integer Value” on
page 1432.
47.39.7 SHR
The SHR real value block copies the input state to the output if the control signal is
active. If the control signal is inactive the output remains in the same state.
For more information, see section 47.46 “SHR – Sample and Hold Real Value” on
page 1434.
BINARY RO
The input signal must be true for a time interval longer than DelayOn in order to
generate a pulse on the block output. The input must also be false for a time interval
longer than DelayOff in order to reset the output to false.
Figure:
If a power outage occurs during the delay, the elapsed delay time is saved if
Backup is selected in the Edit block dialog box.
BINAY R/W
INTEGER R/W
REAL R/W
BINARY R/W
0 0 output (t)
0 0 output (t)
0 1 0
1 1 1
Note
• When you create a function block program, this block gets the initial value as
specified in the block.
• When you edit a function block program, this block keeps the value from the
last program cycle. When you change the init value in Function Block Editor it
does not affect the block.
INTEGER R/W
Note
• When you create a function block program, this block gets the initial value as
specified in the block.
• When you edit a function block program, this block keeps the value from the
last program cycle. When you change the init value in Function Block Editor it
does not affect the block.
REAL R/W
Note
• When you create a function block program, this block gets the initial value as
specified in the block.
• When you edit a function block program, this block keeps the value from the
last program cycle. When you change the init value in Function Block Editor it
does not affect the block.
47.47.1 DATE
The DATE block provides the date of the month (1–31) according to the internal
system clock.
For more information, see section 47.48 “DATE – Day” on page 1438.
47.47.2 ERROR
The output of the system ERROR block is an integer value where each bit
represents an internal signal or error from the system program.
For more information, see section 47.49 “ERROR – System Error” on page 1439.
47.47.3 HOUR
The HOUR block provides the current hour (0–23) according to the internal system
clock.
For more information, see section 47.51 “HOUR – Hour” on page 1441.
47.47.4 MINUTE
The MINUTE block provides the current minute (0–59), according to the internal
system clock.
For more information, see section 47.52 “MINUTE – Minute” on page 1442.
47.47.5 MONTH
The MONTH block provides the month of the year (1–12) according to the internal
system clock.
For more information, see section 47.53 “MONTH – Month” on page 1443.
47.47.6 RST
The output in the RST block is activated the first program cycle after a warm start.
For more information, see section 47.54 “RST – Restart” on page 1444.
47.47.7 SECOND
The SECOND block provides the current second (0–59), according to the system
clock.
For more information, see section 47.55 “SECOND – Second” on page 1445.
47.47.8 TCYC
The TCYC block gives the duration in seconds of the set program cycle.
For more information, see section 47.57 “TCYC – Cycle Time” on page 1447.
47.47.9 WDAY
The WDAY block provides the week according to the system clock. 1 = Monday,
and so on.
For more information, see section 47.56 “WDAY – Week Day” on page 1446.
Note
• The DATE block has no parameters.
INTEGER RO
Note
• The ERROR block has no parameters.
INTEGER RO
Each output bit is set as long as the error condition remains. In the case of a restart
after a warm start, during the first program cycle following the restart, the output
value is zero when no error conditions are set.
1 2 Integer underflow/overflow
when the II function block is
used in 16 bit mode (Mode
0).
3 8 RT block overflow.
Note
• The HOUR block has no parameters.
INTEGER RO
Note
• The MINUTE block has no parameters.
INTEGER RO
Note
• The MONTH block has no parameters.
INTEGER RO
Note
• The RST block has no parameters.
BINARY RO
Note
• The SECOND block has no parameters.
INTEGER RO
Note
• The output signal does not change its value during execution of the function
block program module where it is being used. This is important if longer cycle
times than one second are used.
Note
• If you use both Script and Function Block programming, for example, when
using control sequences, be aware of the following. Script uses Sunday as
the first day of the week and assigns a value of 1 to that day, while Function
Block uses Monday as the first day of the week and assigns Monday a value
of 1.
INTEGER RO
Note
• The TCYC block has no parameters.
REAL RO
47.58.1 FILT
The FILT block is a discrete time first order software filter.
For more information, see section 47.59 “FILT – First Order Filter” on page 1450.
47.58.2 OPT
The OPT block calculates optimum start and stop times according to actual
temperatures.
For more information, see section 47.60 “OPT – Optimization” on page 1452.
47.58.3 PIDA
The PIDA controller block is designed to be used in control loops where the
controller output is either connected to an analog physical output or used as a set
point for another control loop (cascade control).
For more information, see section 47.61 “PIDA – PID Controller – Analog Output”
on page 1459.
47.58.4 PIDI
The PIDI controller block is designed to be used together with digital pulse output
(PO) blocks in control loops with increase/decrease actuators.
For more information, see section 47.62 “PIDI – PID Controller – Incremental
Output” on page 1463.
47.58.5 PIDP
The PIDP controller block is designed to be used in control loops where the
controller output is either connected to an analog physical output or used as a set
point for another control loop (cascade control).
For more information, see section 47.63 “PIDP – PID Controller – Analog Output”
on page 1466.
47.58.6 RAMP
The RAMP filter block limits the rate of change of the input variable.
For more information, see section 47.64 “RAMP – Ramp Filter” on page 1470.
47.58.7 SEQ
The SEQ block activates stages in proportion to the input signal.
For more information, see section 47.65 “SEQ – Sequencer” on page 1471.
REAL R/W
The filter time constant is specified in seconds with the TimeConst parameter. The
initial block output value is zero.
The filter algorithm is:
Note
• When you create a function block program, this block gets the initial value as
specified in the block.
• When you edit a function block program, this block keeps the value from the
last program cycle. When you change the init value in Function Block Editor it
does not affect the block.
Continued
Parameter Data Type Description
Continued
Parameter Data Type Description
INTEGER R/W
General
You can use the OPT block in heating as well as cooling function block programs.
OPT is executed at the same frequency as the other function blocks in the same
function block program. However, the main part of the algorithm is only executed
once every minute. The purpose of the start-time optimization is to start the
heating/cooling system in advance in order to obtain the correct temperature at the
beginning of normal operation. The purpose of the stop-time optimization is to shut
down the heating/cooling system before the end of normal operation, without the
temperature falling outside the given limits during normal operation.
You can block the optimization function by setting the parameter Mode = –1. The
output of OPT then follows the time schedule status, (output = 0 when TmL > 0,
and output = 1 when TmL < 0). Curve points and HolidayComp are not be adjusted
when Mode = –1.
The block uses the RoT, SP, and OuT inputs in the SI unit system (metric) or I-P
(inch-pound) unit system, depending on the regional settings of the computer on
which the function block program is generated. Using the metric setting produces a
block where the inputs are in degrees Celsius. A US setting produces a block
where the inputs are in degrees Fahrenheit.
The block parameters StartTimeLo and StartTimeHi define parts of coordinates for
breakpoints which are using fixed temperatures of –10 ºC (14 ºF), 10 ºC (50 ºF), and
30 ºC (86 ºF). Entering values for the start times completes definition of the
coordinates.
Start-Time Optimization
The start-time is calculated once every minute on condition that TmL > 0 and
optimization has not already started. If the calculated start-time is longer than the
time left until the plant goes into normal operation, the output of OPT is set to 2
(optimization state).
When the room temperature has reached the set point (SP) minus an adjustable
tolerance, ETol (default = 0.5 °C), the output of the function block is set to 1 (normal
operation) in order to indicate that the start-time optimization is completed and that
normal operation can begin. If the room temperature has not reached the
temperature required for normal operation, which has to be set before TmL turns
negative, the output is set to 1 at this point. During cooling, the output is instead set
to 1 when the room temperature falls below the set point (SP), plus the same
tolerance (ETol).
The start-time is obtained from a curve that defines the relationship between the
outdoor temperature (OuT) and the start-time. If a room sensor is not used, the
start-time is calculated directly from the curve with a possible contribution from
holiday compensation. When a room sensor is connected, the curve instead yields
the start-time per °C of deviation between the room temperature (RoT) and its set
point (SP). For example, the start-time is 120 min if the curve yields the value 60 min
at the outdoor temperature in question and the room temperature is 2 °C too low.
To obtain a correct start-time after longer shut-down periods, such as after holidays
or weekends, an extra contribution can be added to the start-time. Holiday
compensation is contributed to the start-time when the building has not been in use
for a long period. If the parameter OperIndicF is set to 1, OPT uses the input OpI to
decide whether the plant is in operation. If OperIndicF is set to 0, OPT ignores the
input OpI and instead assume that the plant is in operation if the output of OPT is 1
(normal operation) or 2 (optimization state).
is at maximum (HolidayComp), since we then assume that the building has reached
a stationary state (it will not get any colder even if the shut down lasts longer). The
percentage is increased linearly from 0 % at 20 h of shut down time to
HolidayComp % at 48 h of shut down time.
Stop-Time Optimization
The reason for using stop-time optimization is to save energy by stopping
heating/cooling before the end of the occupancy time. It is of course important that
the room temperature does not fall outside an acceptable temperature range during
the occupancy time. Since the stop time that can be used without the temperature
falling outside the acceptable temperature range depends on the room
temperature, optimized stop is normally only used in systems with a room sensor.
The stop time is obtained from a curve that describes the relationship between
outdoor temperature and stop time. The curve gives the stop time per °C of
deviation between the room temperature and the lowest permissible temperature in
the room at the end of normal operation, when a room sensor is used. The lowest
permissible temperature is set to the set point (SP) minus StopTimeErr during
heating. StopTimeErr is by default = 0.5 °C.
SP REAL Setpoint
Continued
Input Data Type Description
REAL R/W
Control Algorithm
The PIDA block is designed to be used in control loops where the controller output
is either connected to an analog physical output or used as a setpoint for another
control loop (cascade control). The control algorithm is a discrete time-incremental
PID algorithm, where the change in control signal du(t) is calculated as:
P and PD Controller
The algorithm described above is used when the controller has integral action. If a
controller without I- or D-action is desired, Ti or Td respectively is set to 0. In
accordance with this, a PI-controller is obtained by setting Ti > 0 and Td = 0. If the
gain G is set to 0, the program does not fail to execute, but the control signal is not
changed, regardless of the size of the error.
If the incremental control algorithm in the equation (1) is used without integral
action, an arbitrarily large stationary error can be obtained which is not necessarily
decreased if the controller gain is increased. For this reason, we use a special
algorithm for P and PD control, where the control signal is calculated according to
the equation:
The parameter StrokeTime is used to define the actual full stroke travel time of the
actuator. StrokeTime can be used to limit the change of the control signal even if
the output is not connected to an actuator. The StrokeTime is then the minimum
permissible time for the control signal to change from UMin to UMax. If the
controller output is used as a setpoint for another controller and there is no special
reason for limiting the change in the control signal, StrokeTime should be set to 0.
Operating Mode
The controller operating mode depends on the input signal Mode where:
• Mode = 0 => Off, controller stopped (du = 0)
• Mode = 1 => Normal control
• Mode = 2 => Controller output forced to UMax
• Mode = 3 => Controller output forced to UMin
If Mode = 0, the controller output tracks the signal on the tracking signal (TSg) input.
If Mode < 0 or Mode > 3, the controller operating mode is Off (same as Mode = 0).
SP REAL Setpoint
REAL R/W
Control Algorithm
The control algorithm is a discrete time incremental PID algorithm, where the
calculated change (increment) in the control signal is converted to the
corresponding travel time of the actuator. The change in the control signal du(t) is
calculated using the same formula as in the PIDA block (cf. equation (1) in the PIDA
block description).
The calculated change in the control signal, du(t), is converted to the corresponding
actuator travel time dt (in seconds) using the following equation:
P- and PD Control
A controller with an incremental output does not work very well without I-action.
Arbitrarily large steady state errors can be obtained, which do not necessarily
decrease when the controller gain is increased. For this reason, a controller with an
incremental output without I-action should not be used. However, if a controller
without I or D-action is desired, Ti or Td respectively is 0. In accordance with this, a
PI-controller is obtained by setting Ti > 0 and Td = 0. If the gain G is set to 0, the
program does execute, but the control signal does not change regardless of the
size of the error.
Operating Mode
The controller operating mode depends on the input signal Mode where:
• Mode = 0 => Off, controller stopped (dt = 0)
• Mode = 1 => Normal control
• Mode = 2 => Actuator forced to max (dt = ControlInt seconds)
• Mode = 3 => Actuator forced to min, (dt = –ControlInt seconds)
Note that when Mode = 2 or 3, the travel time is set to the smallest value that
makes the actuator move constantly in the desired direction. If Mode < 0 or Mode >
3, the controller operating mode is Off (same as Mode = 0).
SP REAL Setpoint
REAL R/W
Control Algorithm
The control algorithm is a discrete time positional PID algorithm, where the output
signal U(k) is calculated according to the diagram:
Time index k represents the present value of a variable, k-1 represents the value at
the previous evaluation of the control algorithm, and so on.
The PID-module is executed at the interval hx seconds, where hx seconds is the
function block program execution interval, even if the selected control interval is
longer. The control interval, h, must be a multiple of hx. If this is not the case, the
PID algorithm automatically selects the closest multiple smaller than h as the control
interval. By default the control interval is set equal to 1.
When the control error is smaller than the dead zone, that is abs(e) < DZ, the control
signal is set to the same value as the previous output, that is, the output is not
changed. The dead zone is given in the same units as the measurement value and
the setpoint.
Operating Mode
The controller operating mode depends on the input signal Mode where:
• Mode = 0 => Off, controller stopped
• Mode = 1 => Normal control
• Mode = 2 => Controller output forced to UMax
• Mode = 3 => Controller output forced to UMin
If Mode = 0, the controller output tracks the signal on the tracking signal (TSg) input.
If Mode = 1, the controller ignores the (TSg input). If Mode < 0 or Mode > 3, the
controller operating mode is Off (same as Mode = 0).
REAL R/W
The maximum increment in the output signal per second is given by the parameter
increment. The sign of the increment parameter is ignored and the absolute value is
used as a rate limit.
Note
• When you create a function block program, this block gets the initial value as
specified in the block.
• When you edit a function block program, this block keeps the value from the
last program cycle. When you change the init value in Function Block Editor it
does not affect the block.
INTEGER RO
The Sequencer block is used to start N of M stages, where M is the total number of
output stages as defined by the Stages parameter (up to a maximum of 16) and N
is the Integer part of the result of the following calculation:
47.66.1 NCYC
The NCYC program cycle counter block increments the output value by one unit
each program cycle if InitValue is less than Final, and decreases the output value if
the opposite applies. When the count reaches the final value, the counter restarts
the count at the initial value in the next cycle.
For more information, see section 47.67 “NCYC – Program Cycle Counter” on page
1474.
47.66.2 OSC
The OSC oscillator block generates a train of pulses of duration PulseTime and a
period of CycleTime.
For more information, see section 47.68 “OSC – Oscillator” on page 1475.
47.66.3 PVB
The PVB block is used to assign a binary value to the input signal of another block.
For more information, see section 47.69 “PVB – Parameter Value Binary” on page
1476.
47.66.4 PVI
The PVI block is used to assign an integer value to the input signal of another block.
For more information, see section 47.70 “PVI – Integer Value Parameter” on page
1477.
47.66.5 PVR
The PVR block is used to assign a real value to the input signal of another block.
For more information, see section 47.71 “PVR – Real Value Parameter” on page
1478.
Note
• When you create a function block program, this block gets the initial value as
specified in the block.
• When you edit a function block program, this block keeps the value from the
last program cycle. When you change the init value in Function Block Editor it
does not affect the block.
INTEGER R/W
BINARY RO
The train of pulses is always a multiple of the program cycle time. For example, if
CycleTime is 7.4 seconds and PulseTime is 5.2 seconds and the function block
program cycle time is 1 second, a 6 second pulse fires every eight seconds.
BINARY R/W
Note
• When you create a function block program, this block gets the initial value as
specified in the block.
• For public PVx blocks: When a program is edited, this block will keep the
value from the last program cycle. A change of the init value in the editor will
have no effect.
• For non public PVx blocks: When a program is edited, this block will get the
new value from the editor.
INTEGER R/W
Note
• When you create a function block program, this block gets the initial value as
specified in the block.
• For public PVx blocks: When a program is edited, this block will keep the
value from the last program cycle. A change of the init value in the editor will
have no effect.
• For non public PVx blocks: When a program is edited, this block will get the
new value from the editor.
REAL R/W
Note
• When you create a function block program, this block gets the initial value as
specified in the block.
• For public PVx blocks: When a program is edited, this block will keep the
value from the last program cycle. A change of the init value in the editor will
have no effect.
• For non public PVx blocks: When a program is edited, this block will get the
new value from the editor.
Topics
Operators
Adding an Operator
Constant Operators
Logical Operators
Math Operators
Comparison Operators
Bit Operators
Bit Operator Examples
Miscellaneous Operators
48 Function Block Operators
48.1 Operators
48.1 Operators
An operator is a type of function, which can perform an operation on one or several
operands.
Note
• If the same operator output is connected to more than one function block,
these inputs receive an integer signal. An additional conversion might be
needed.
Note
• Function Block Editor performs Modulo operations on integers.
Continued
Name Description
To add an operator
1. In Function Block Editor, right-click in the diagram window at the position
where you want to add the operator.
2. On the NEW menu, click Operator.
3. In the Operators list, select the operator you want to add.
4. Click OK.
5. If the operator is enclosed by a red rectangle, move the operator to an empty
space.
6. Click outside the green rectangle that encloses the operator to clear the
selection.
48.4.3 OR operator
OR operators perform logical OR operations between two binary signals.
48.5.1 Negate
Negate operators invert analog signals.
48.5.2 Addition
Addition operators add values of analog signals.
48.5.3 Subtraction
Subtraction operators subtract one value from another.
48.5.4 Product
Product operators multiply two analog signals.
48.5.5 Division
Division operators divide two analog signals.
48.5.6 Modulo
Modulo operators calculate the remainder of division of one number by another.
48.6.3 Equal
Equal operator compare two analog values.
48.7.2 bit OR
Bit OR operators compare bitwise OR operations.
Note
• All 16 positions are shifted, and 0 is shifted into empty positions. Any shift
count >16 always gives the output value 0.
48.9.5 Conversion AA
Conversion AA operators convert a real value to an integer value or an integer value
to a real value.
Topics
Function Block Editor (Edit Mode)
Function Block Editor File Menu
Function Block Editor Edit Menu
Preferences Menu
Options Menu
Zoom Menu
Commands Menu
Function Block Editor Tools Menu
Function Block Editor Help Menu
Import Dialog Box
Export Dialog Box
Print Dialog Box
Page Setup Dialog Box
Search Dialog Box
Replace Dialog Box
NEW Menu
BLOCK Menu
INPUT Menu
OUTPUT Menu
CONNECTION Menu
Select Simple Block Dialog Box
Edit Expression Dialog Box
Edit Block Dialog Box
Select Operator Dialog Box
Edit Operator Dialog Box
Constants Table Dialog Box
New Constant Dialog Box
Public Signal Table
Edit Hierarchy Dialog Box
Edit Comment Dialog Box
Font Dialog Box
Select Hierarchy Connection Dialog Box
HFB Navigation Tree
Function Block Editor (Simulation Mode)
File Menu in Simulation Mode
Preferences Menu in Simulation Mode
Options Menu in Simulation Mode
Set Date and Time (Simulation) Dialog Box
Analog Input Dialog Box
Digital Input Dialog Box
RECORD Menu
Edit Break Limit Dialog Box
TREND Menu
SIGNAL Menu
Function Block Program Properties – Basic Tab
Function Block Program Properties – Inputs Tab
Function Block Program Properties – Public Signals Tab
Function Block Program Properties – Outputs Tab
Function Block Program Properties – References Tab
49 Function Block User Interface
49.1 Function Block Editor (Edit Mode)
Component Description
Continued
Command Description
View Only Public Identifier Displays only the Public Identifier in the
Function Block Editor diagram window.
Show Status Bar Displays the status bar at the bottom of the
diagram window.
Set Date And Time Opens the Set Date and Time dialog box
where you set the date and time in
simulation mode.
Show HFB Navigation Tree Opens the Show HFB Navigation Tree.
Continued
Component Description
Continued
Component Description
Scale Output to one page Select if you want to print the selection on
one page only.
Continued
Component Description
Search for Type the string you want to search for. If the
Search for box is empty, all blocks of the
marked block type(s) and comments are
searched for.
Continued
Component Description
Replace only first appearance Select to replace only the first match of the
string in a block. Otherwise, all matches in
the block are replaced.
Continued
Command Description
Simple Block Type the name of the block type you want to
create, if you know the name.
Continued
Component Description
Continued
Component Description
Cycle counter
Trend area
Continued
Number Description
Input buttons
Function Block Editor Simulation mode has a number of buttons that you use to
control how the Simulation is done.
View Only Public Identifier Displays only Public Identifier in the Function
Block Editor diagram window.
Show Status Bar Displays the status bar at the bottom of the
diagram window.
Set Date and Time Opens the Set Date and Time dialog box.
Public Signal Table Opens the Public Signal Table dialog box.
Show HFB Navigation Tree Opens the HFB Navigation Tree dialog
box.
Figure: Function Block Editor Edit Break Limit dialog box in Simulation mode
Break when signal Select to stop the simulation when the value
exceeds or is below the limit.
the limit Type the limit for when to break the signal.
Continued
Component Description
Last execution time (ms) Displays the duration of the last function
block program execution.
Minimum execution time (ms) Displays the minimum duration of the last
function block program execution cycle.
Maximum execution time (ms) Displays the maximum duration of the last
function block program execution cycle.
Topics
Script Overview
Script Workflow
Script Programs
Creating a Script Program
Opening a Script Program or Function
Script Keywords
Script Program Flow
FallThru Program Flow
Looping Program Flow
Script Program Instructions
Lines and Line Numbers
Reserved Words
Script Reserved Words
Bindings and Script Programs
Binding Values in Script Editor Using a Binding Template
Local Variable Declarations
Binding Attributes
Forced
Invalid
Offline
Overridden
Accessing a Binding Attribute
Tasks
Adding a Task to a Program
Program Cycles in Building Operation
Configuring the Execution Precedence for a Program
Finding Cycles in a Task
50 Script Introduction
50.1 Script Overview
For more information, see section 51.1 “Script Program Components” on page
1619.
For more information, see section 50.4 “Creating a Script Program” on page 1567.
Note
In Script, you can bind using either the Bindings view in Building Operation, or the
Bindings view in Script Editor. For more information, see section 38.10 “Binding
Values Using a Binding Template” on page 1220.
50.3.4 Tasks
Function block and Script programs must be connected to tasks in order to run.
You access Tasks from the Properties dialog box.
The task is a property of the object that defines the program cycles.
When you create a new function block or Script program, Task 3 is the default. This
means that one program cycle executes in 1000 ms.
For more information, see section 50.23 “Tasks” on page 1602.
6. Click Create.
50.6.1 A-D
This table contains keywords that begin with the lettters A - D.
A B C D
ATAN Buffered
For more information, For more information,
see section 51.159 see section 51.63
“ATAN” on page “Buffered ” on page
1846. 1722.
Continued
A B C D
ATAN2
For more information,
see section 51.160
“ATAN2” on page
1847.
AVERAGE
For more information,
see section 51.137
“AVERAGE” on page
1815.
50.6.2 E-H
This table contains keywords that begin with the letters E - H.
E F G H
FOR...NEXT GOTO
For more information, For more information,
see section 51.51 see section 51.52
“FOR...NEXT” on “GOTO” on page
page 1701. 1704.
FREEMEM
For more information,
see section 51.94
“FREEMEM” on page
1759.
Continued
E F G H
50.6.3 I-N
This table contains keywords that begin with the letters I -N.
I L M N
LN MINIMUM
For more information, For more information,
see section 51.120 see section 51.140
“LN” on page 1793. “MINIMUM” on page
1821.
LOG MINITEM
For more information, For more information,
see section 51.121 see section 51.141
“LOG” on page “MINITEM” on page
1794. 1823.
MINUS
For more information,
see section 51.28
“MINUS” on page
1662.
MINUTE
For more information,
see section 51.86
“MINUTE” on page
1749.
Continued
I L M N
MOD
For more information,
see section 51.29
“MOD” on page
1663.
MONTH
For more information,
see section 51.87
“MONTH” on page
1750.
MOVE
For more information,
see section 51.54
“MOVE” on page
1711.
50.6.4 O-S
This table contains keywords that begin with the letters O - S.
O P R S
Continued
O P R S
RIGHT SIN
For more information, For more information,
see section 51.149 see section 51.162
“RIGHT” on page “SIN” on page 1849.
1834.
ROUND StandardDeviatio
n
For more information,
see section 51.134 For more information,
“ROUND” on page see section 51.142
1812. “StandardDeviation”
on page 1825.
STOP
For more information,
see section 51.58
“STOP” on page
1717.
STRING
For more information,
see section 51.44
“STRING” on page
1691.
STRINGFILL
For more information,
see section 51.151
“STRINGFILL” on
page 1836.
STRTODATE
For more information,
see section 51.114
“STRTODATE” on
page 1785.
STRTONUM
For more information,
see section 51.115
“STRTONUM” on
page 1787.
SQRT
For more information,
see section 51.123
“SQRT” on page
1796.
Continued
O P R S
SUM
For more information,
see section 51.124
“SUM” on page
1797.
50.6.5 T-Y
This table contains keywords that begin with the letters T - Y.
T W Y
TAN WebService
For more information, see For more information, see
section 51.163 “TAN” on section 51.46 “ Webservice”
page 1850. on page 1694.
TIMEPIECE WEEKDAY
For more information, see For more information, see
section 51.155 “TIMEPIECE” section 51.90 “WEEKDAY”
on page 1842. on page 1754.
TOD WHILE
For more information, see For more information, see
section 51.89 “TOD” on section 51.60 “WHILE” on
page 1753. page 1719.
TD WriteProperty
For more information, see For more information, see
section 51.78 “TD” on page section 51.129
1739. “WriteProperty” on page
1806.
TH
For more information, see
section 51.77 “TH” on page
1738.
THE
For more information, see
section 51.45 “THE” on page
1693.
Continued
T W Y
TIMES
For more information, see
section 51.31 “TIMES” on
page 1665.
TM
For more information, see
section 51.76 “TM” on page
1737.
TS
For more information, see
section 51.75 “TS” on page
1736.
TURN
For more information, see
section 51.38 “TURN” on
page 1679.
TRUNCATE
For more information, see
section 51.135 “TRUNCATE”
on page 1813.
You configure the trigger for the OCCUPIED point on the b3 field controller. Note
that you can only configure triggers on the b3 device. For more information, see
section 83.10 “Configuring Script FallThru Program Triggers in a b3 BACnet
Device” on page 3285..
• Use one verb element or a list of verb elements after the verb
For example, these Script program instructions are valid:
OPEN THE DAMPER
CLOSE THE VALVE
Open the damper, vent1, vent2, vent3, and vent4
Close the firstvalve, secondvalve, thirdvalve
You cannot use two verbs, such as open and close, in the same instruction.
Therefore, this instruction is invalid:
OPEN THE DAMPER AND CLOSE THE VALVE
Arctange Dt Equal
nt
Arctange Equals
nt2
Arg Erase
Asc Errors
Execute
Asin Exists
Ask Exp
Atan Exponenti
al
Atan2
Continued
A B C D E F G H
Average
Averaged
Avg
Minute Sine
Mod Site
Modify Sqrt
Month Standard
-
Deviation
Move Start
Mth Status
Mult StatusLin
e
Multiplied Step
Stop
String
Stringfill
Continued
I L M N O P R S
StrToDat
e
StrToNu
m
StrToTim
e
Sum
Td Update While
Th UpdateAlarms With
The UpdateExitLog
Then
Through
Thru
Time
TimeOfDay
Timepiece
Times
TmTo
Tod
Touchedcell
Trace
Trunc
Truncate
Continued
T U V W
Ts
Turn
Note
With bindings, you are not limited solely to the properties of points and programs.
You can also use other object types.
For more information, see section 50.16 “Local Variable Declarations” on page
1592.
4. Click OK.
5. Verify that all bindings are correctly bound.
Note
With bindings, you are not limited solely to the properties of points and programs.
You can also use other object types.
During execution, when the program gets the value of an Input variable, the
program gets the value of the object property (the value of a point). When the
program sets the value of an Output variable, the program sets the value of the
object property (the value of a point).
You can use a binding with the following:
• Input variables
• Output variables
• Public variables
• User-Defined Functions
Any hardware or software input, output device like a fan, motion sensor, or a Script
function is represented as an object in Building Operation. When you create a local
variable in Script, that variable is generic and can potentially be associated with the
object property and the local variable that property is bound to. The object property
and the local variable must have similar types. For example, you bind a numeric
local variable to an integer, float, digital, and enumeration instead of a string or
datetime.
Tip
Corresponding properties tabs are displayed, one for each binding type. These
tabs list each of the local variables that can be bound to other objects in the
system.
In Script, you can bind using either the Bindings view in Building Operation, or the
Bindings view in the Script Editor. For more information, see section 38.10 “Binding
Values Using a Binding Template” on page 1220.
Using the Bindings view in Script Editor, you can slide the view, overlay your Script
program, bind the necessary objects, retract the view, and then resume
programming without leaving the Script Editor.
Tip
The Script Editor provides Intellisense for the binding attributes. Intellisense is an
auto-completion tool that you use to fill in predictive text based on the possible
matches to the text you type. For more information, see section 52.10 “Script
Auto-Completion” on page 1872.
50.17.1 Forced
You use the Forced binding attribute to force a point to its most recent value. You
can only force an output.
For more information, see section 50.18 “Forced” on page 1597.
50.17.2 Invalid
You use the Invalid binding attribute to determine if there is an error with the bound
point. Invalid works for any input and output point.
For more information, see section 50.19 “Invalid” on page 1598.
50.17.3 Offline
You use the Offline binding attribute to determine if the point is offline. If the point is
offline, it displays true.
For more information, see section 50.20 “Offline” on page 1599.
50.17.4 Overridden
You use the Overridden binding attribute to determine if the point has been
physically overridden. Overridden is valid for output bindings only.
For more information, see section 50.21 “Overridden” on page 1600.
50.18 Forced
You use the Forced binding attribute to force a point to its most recent value. You
can only force an output.
Forcing a value prevents the output point from receiving values from the Script
program. As a result, the last value stays in the output even if you attempt to
change it within the program.
Syntax
BINDING_NAME.Forced = true
BINDING_NAME.Forced = false
Examples
This example forces output1 to its most recent value.
output1.Forced = true
50.19 Invalid
You use the Invalid binding attribute to determine if there is an error with the bound
point. Invalid works for any input and output point.
Syntax
BINDING_NAME.Invalid = true
BINDING_NAME.Invalid = false
Examples
This example checks the bound point for errors.
If output1.Invalid = true then...
50.20 Offline
You use the Offline binding attribute to determine if the point is offline. If the point is
offline, it displays true.
Syntax
BINDING_NAME.Offline = true
BINDING_NAME.Offline = false
Note
If a Script program sets the Offline status and later checks it, the status will be
unchanged from when it was last set by the program. It will not show the actual
property value from the source.
Examples
This example determines if the bound point is offline.
If output1.Offline = true then...
50.21 Overridden
You use the Overridden binding attribute to determine if the point has been
physically overridden. Overridden is valid for output bindings only.
Syntax
BINDING_NAME.Overridden = true
BINDING_NAME.Overridden = false
Examples
This example determines if the point has been physically overridden.
If output1.Overridden = true then...
50.23 Tasks
Function block and Script programs must be connected to tasks in order to run.
You access Tasks from the Properties dialog box.
The task is a property of the object that defines the program cycles.
When you create a new function block or Script program, Task 3 is the default. This
means that one program cycle executes in 1000 ms.
Figure: Tasks
The way you schedule programs to execute in Script differs from how you schedule
them to execute in Continuum. For more information, see the Script and Plain
English Program Differences topic on WebHelp.
Task 3 1 seconds
Task 4 5 seconds
Task 5 10 seconds
Figure: In an algebraic loop the execution order of programs cannot easily be determined.
To resolve a cycle and determine which program runs first in the cycle, you use the
execution precedence function. Programs can have execution precedence values
ranging from 0 to 255 where 0 results in the highest priority and 255 results in the
lowest priority. The program with highest execution precedence is always executed
first in the cycle.
Execution Precedence
The execution precedence is configured in the properties for the program. The
default value when you create a new program is 100.
50.25.1 Example A
In this example we have four programs that are connected in a cycle. The execution
order cannot be determined from how programs are bound. Program 1 should run
before Program 2, Program 2 before Program 3, and Program 4 before Program 1.
Figure: Example
However, Program 2 reads from a physical input, Input A, and the information from
this reading is transferred to Program 4, which writes to a physical output, Output
B.
Figure: Example
So, we want to Program 2 to run before Program 4. To do this we use execution
precedence. By configuring the Execution precedence as 99 for Program 2,
Program 2 will be the first program to be executed in the cycle.
Figure: Example
The resulting execution order will be P2, P3, P4 and P1.
50.25.2 Example B
All programs use the default execution precedence that is 100. In this example, it is
not possible to determine the execution order of Program 1 and Program 2 and the
execution order of Program 3 and Program 4. The only thing we can be sure of is
that the cycle with Program 1 and Program 2 is executed before the cycle with
Program 3 and Program 4 due to the fact that Program 3 awaits input from
Program 2.
Figure: Example
To resolve the order we configure Program 2 and Program 3 to have the execution
precedence of 99. Then Program 2 runs before Program 1 in the first cycle and
Program 3 before Program 4 in the second cycle.
Figure: Example
Now the execution order is Program 2, Program 3, Program 4 and Program 1.
4. Click OK.
Topics
Script Program Components
Program Constants
Numeric Constants
String Constants
ASCII Codes
Script Constants
Constant Keywords
Failure
OFF
ON
-ON
Success
Program Operators
Operator Keywords
Bitwise Operators
BITAND
BITNOT
BITOR
BITXOR
Logical Operators
AND
EQUALS
IS...
NOT
OR
Mathematical Operators
DIVIDED BY
MINUS
MOD
PLUS
TIMES
Program Statements
Statement Keywords
Action Statements
P
PRINT
SET
TURN
Declaration Statements
ARG
DATETIME
LINE
NUMERIC
STRING
THE
Webservice
Program Control Statements
BASEDON...GOTO
BREAK
CONTINUE
FOR...NEXT
GOTO
IF...THEN...ELSE
MOVE
Repeat...Until
RETURN
SELECT CASE
STOP
WAIT
WHILE
Qualifier Statements
INPUT
Buffered
OUTPUT
PUBLIC
Expressions
Variables
Declaring a Variable
Program Variables
Local Program Variables
Variables Pane Types
Program Arrays
System Variables
Script Runtime Variables
TS
TM
TH
TD
System Variable Keywords
Date and Time System Variables
DATE
DAYOFMONTH
DAYOFYEAR
HOD
HOUR
MINUTE
MONTH
SECOND
TOD
WEEKDAY
YEAR
Runtime System Variables
ERRORS
FREEMEM
SCAN
Script Functions
Script Function Workflow
Script Functions without Arguments
Script Functions with Arguments
Script Functions that Return a Value
Script Functions and Programs
Function Declarations and Statements
Declaring and Calling a Script Function
Creating a Script Function
Declaring a Script Function Argument
Checking and Saving a Script Function
System Functions
System Function Keywords
Buffered Variable Functions
GetBufferSize
GetBufferedValue
Conversion Functions
NUMTOSTR
STRTODATE
STRTONUM
Mathematical Functions
ABS
EXPONENTIAL
FACTORIAL
LN
LOG
RANDOM
SQRT
SUM
Object Functions
GETNAME
ReadProperty
Relinquish
WriteProperty
PASSED Function
Rounding Functions
CEILING
FLOOR
ROUND
TRUNCATE
Statistical Functions
AVERAGE
MAXIMUM
MAXITEM
MINIMUM
MINITEM
StandardDeviation
String Functions
ASC
CHR
LEFT
LENGTH
MID
RIGHT
SEARCH
STRINGFILL
TAB
Time Functions
DIFFTIME
TIMEPIECE
Trigonometric Functions
ACOS
ASIN
ATAN
ATAN2
COS
SIN
TAN
51 Script Programming
51.1 Script Program Components
51.1.4 Expressions
Instructions that consist of mathematical operations are called expressions.
Expressions can also be item names or constants that return a numeric or string
result.
For more information, see section 51.66 “Expressions” on page 1725.
51.1.5 Variables
A variable is a run-time (dynamically changing) property of an object.
0 NUL
1 SOH
2 STX
3 ETX
4 EOT
5 ENQ
6 ACK
7 Beep
8 Backspace
9 TAB forward
10 Line feed
11 Vertical TAB
12 Form feed
13 Carriage return
14 SO
15 SI
16 DLE
17 DC1
18 DC2
19 DC3
20 DC4
21 NAK
Continued
Code (in Decimal) Character or Action
22 SYN
23 ETB
24 CAN
25 EM
26 SUB
27 ESC
28 FS
29 GS
30 RS
31 US
127 DEL
Note
• Script supports characters at or below ASCII 127. Additional characters are
not supported and are replaced by a question mark (?).
Examples
For example, you might use the ASCII code for a character in the STRINGFILL
function. You must give STRINGFILL the code for the character with which you
want to fill the string. For more information, see section 51.151 “STRINGFILL” on
page 1836.
For example, to make the printer beep, you send the beep code a PRINT
statement, like this:
Print "|7" to Printer1
You can also make a terminal beep as follows:
Print "|7" to Screen1
To feed the paper forward one form feed:
Print "|12" to Printer1
To send an ESCAPE to the printer:
Print "|27" to Printer1
More printer control statements can be available for your printer. See the
manufacturer's documentation.
To create a bar in a chart, you might fill a string with asterisks using STRINGFILL
and the ASCII code for asterisk, 42, as follows:
Stringfill (Kilowatts, 42)
You could make a similar bar in a chart using pound signs:
Friday MonthTo
Date
Function MonthTo
Now
Continued
N O P R S T
Oct Site_ConfigB
October Success
Odd Sun
Off Sunday
Offline
On
-On
OneWeekTo
Date
OneWeekTo
Now
OneYearToD
ate
OneYearToN
ow
Online
Opened
Or
Other
OverRange
Overridden
51.7.1 Failure
Failure is used in expressions to indicate a function has failed to complete. Failure is
always numeric and equal to one. Failure can be used to replace numbers in a
comparison expression.
For more information, see section 51.8 “Failure” on page 1630.
51.7.2 OFF
OFF is used in expressions to indicate an item is OFF or set to bottom of scale.
OFF is always numeric and thus, can be compared to numeric values of points or
variables in a comparison expression.
For more information, see section 51.9 “OFF” on page 1631.
51.7.3 ON
ON is used in expressions to indicate an item is ON or set top of scale.
ON is always numeric and can be compared to input, output, and numeric points or
variables in a comparison expression.
For more information, see section 51.10 “ON” on page 1632..
51.7.4 -ON
-ON is used in expressions to indicate a tri-state point is set to -ON.
-ON is always numeric and thus, can be compared to numeric values of points or
variables in a comparison expression.
For more information, see section 51.11 “-ON” on page 1633..
51.7.5 Success
Success is used in expressions to indicate a process or function has completed
successfully.
Sucess is always numeric and equal to zero.
For more information, see section 51.12 “Success” on page 1634..
51.8 Failure
Failure is used in expressions to indicate a function has failed to complete. Failure is
always numeric and equal to one. Failure can be used to replace numbers in a
comparison expression.
Syntax
Failure
51.9 OFF
OFF is used in expressions to indicate an item is OFF or set to bottom of scale.
OFF is always numeric and thus, can be compared to numeric values of points or
variables in a comparison expression.
Syntax
Off
Examples
Example 1
Program File
Turn the Lobby_Light Off
Example 2
Program File
If the Lobby_Light is Off then Turn Off the Heat
51.10 ON
ON is used in expressions to indicate an item is ON or set top of scale.
ON is always numeric and can be compared to input, output, and numeric points or
variables in a comparison expression.
Syntax
On
Example
Script Program File - Using ON and OFF
If timeofday is between 9 and 17 then
Set the Fan to ON
Else
Set the Fan to OFF
Endif
51.11 -ON
-ON is used in expressions to indicate a tri-state point is set to -ON.
-ON is always numeric and thus, can be compared to numeric values of points or
variables in a comparison expression.
Syntax
-On
Example
Program File
If the Flow is greater than SetPoint then set the Damper to -On
51.12 Success
Success is used in expressions to indicate a process or function has completed
successfully.
Sucess is always numeric and equal to zero.
Syntax
Success
Examples
Call a user-defined Script function, which returns either Success or Failure.
If MyUpdateFunction (“Zone1”, “Temperature”, TempValue) =
Success then Print "Update Successful"
Else
user1Goto RecordFailure
Endif
Continued
Operator Description Association
Continued
Operator Example Definition
Continued
Operator Example Definition
Truth Tables
The following table is the truth table for the bit operators:
51.15.1 BITAND
BITAND logically compares the binary equivalents of the two integers, digit by digit.
This operator creates a new binary number that contains a 1 for each digit position,
where the first number's bit and the second number's bit are both 1, and sets all
other digits to zero. The new binary number is then converted to its decimal
equivalent.
For more information, see section 51.16 “BITAND” on page 1646..
51.15.2 BITNOT
BITNOT switches 1s to 0s and 0s to 1s in the binary equivalent of the integer, digit
by digit. (This is called the one’s complement of the binary number.) This operator
creates a new binary number and then converts that number back to its decimal
equivalent.
For more information, see section 51.17 “BITNOT” on page 1647..
51.15.3 BITOR
BITOR logically compares the binary equivalents of the two integers, digit by digit.
For more information, see section 51.18 “BITOR” on page 1648..
51.15.4 BITXOR
BITXOR logically compares the binary equivalents of the two integers, digit by digit.
For more information, see section 51.19 “BITXOR” on page 1649..
51.16 BITAND
BITAND logically compares the binary equivalents of the two integers, digit by digit.
This operator creates a new binary number that contains a 1 for each digit position,
where the first number's bit and the second number's bit are both 1, and sets all
other digits to zero. The new binary number is then converted to its decimal
equivalent.
BITAND carries out comparisons of checksums and similar operations.
Syntax
integer bitand integer
Example
Suppose you want to compare Total1 and Total2:
Total1 = 13 (binary equivalent is 0000000000001101)
Total2 = 11 (binary equivalent is 0000000000001011)
You would compare them with BITAND as follows:
Program File
Set result = Total1 bitand Total2
The comparison would give 0000000000001001. RESULT would be set to 9.
51.17 BITNOT
BITNOT switches 1s to 0s and 0s to 1s in the binary equivalent of the integer, digit
by digit. (This is called the one’s complement of the binary number.) This operator
creates a new binary number and then converts that number back to its decimal
equivalent.
BITNOT carries out bitmasking and similar operations.
Syntax
bitnot integer
Example
Suppose you want to find the one’s complement of AMOUNT:
Amount = 13 (binary equivalent is 0000000000001101)
You could reverse the number with BITNOT as follows:
Program File
Set result = bitnot AMOUNT
The BITNOT of the amount would be 1111111111110010. The statement would
set RESULT to 65522.
51.18 BITOR
BITOR logically compares the binary equivalents of the two integers, digit by digit.
This operator creates a new binary number that contains a 1 for each digit position
where the first number's bit or the second number's bit is 1 and where both the first
and second number's bits are 1. The operator also sets all other digits to zero.
BITOR converts the new binary number to its decimal equivalent.
BITOR carries out comparisons of checksums and similar operations.
Syntax
integer bitor integer
Example
Suppose you want to compare Total1 and Total2:
Total1 = 13 (binary equivalent is 0000000000001101)
Total2 = 11 (binary equivalent is 0000000000001011)
You would compare them with BITOR as follows:
Program File
Set result = Total1 bitor Total2
The comparison would give 0000000000001111. RESULT would be set to 15.
51.19 BITXOR
BITXOR logically compares the binary equivalents of the two integers, digit by digit.
This operator creates a new binary number that contains a 1 for each digit position,
where either the first number's bit or the second number's bit is 1, but gives zeros
where both are 1 or both are 0. BITXOR converts the new binary number to its
decimal equivalent.
BITXOR carries out comparisons of checksums and similar operations.
Syntax
integer bitxor integer
Example
Suppose you want to compare Total1 and Total2:
Total1 = 13 (binary equivalent is 0000000000001101)
Total2 = 11 (binary equivalent is 0000000000001011)
Program File
Set result = Total1 bitxor Total2
The comparison would give 0000000000000110. RESULT would be set to 6.
51.20.1 AND
The AND keyword can be used in two ways.
For more information, see section 51.21 “AND” on page 1651..
51.20.2 EQUALS
EQUALS is similar to the IS... operator.
For more information, see section 51.23 “IS...” on page 1654.
51.20.3 IS...
IS... carries out the logical test you specify.
For more information, see section 51.23 “IS...” on page 1654.
51.20.4 NOT
NOT logically negates or inverts a number or expression, changing 0 (FALSE to
OFF) to 1 (TRUE or ON) or vice versa.
For more information, see section 51.24 “NOT” on page 1657..
51.20.5 OR
The OR keyword can be used to provide the logical OR between two expressions,
or positioned in a list of names beween the last two items.
For more information, see section 51.25 “OR” on page 1658..
51.21 AND
Alias: Ampersand (&) is the alias for the logical AND only.
The AND keyword can be used in two ways.
See Syntax for more details.
The controller carries out all other operations (such as adding and subtracting)
before acting on AND or OR. Because AND and OR are acted on last, you can form
logical statements without using too many parentheses. (See Example 3 for using
AND and OR together.)
Syntax
Syntax 1: number and number
Provides the logical AND between two expressions.
Syntax 2: namelist and final_name
When used in a list of names between the last two items, indicates the end of the
series.
Examples
Example 1
Instead of forming IF..THEN statements to turn the heat on when multiple
conditions exist, you can make one statement using AND:
Program File
If Temp < 70 and TOD > 7:00am then turn On the Heat
or
If Temp < 70 & TOD > 7:00am then turn On the Heat
Example 2
To run a series of programs, instead of using RUN several times, you can list the
program names on the same line, using AND (final comma optional) to indicate the
last item in the list:
Program File
Run the Cooling, Heating and Fan
or using the final comma:
Run the Cooling, Heating, and Fan
You cannot use the ampersand (&) for AND in a series. You can, however, leave out
AND as follows:
Run the Cooling, Heating, Fan
Example 3
If OR occurs before AND, the controller interprets OR first because the controller
works from left to right on AND and OR. For example, take this statement:
Program File
If Wkd = Sat or Wkd = Sun and TOD > 9:00 then...
The above statement is interpreted so that the items in parentheses below are
calculated first:
If (Wkd = Sat or Wkd = Sun) and TOD > 9:00 then...
If AND occurs before OR, the controller interprets AND first:
Program File
If TOD > 9:00 and Wkd = Sat or Wkd = Sun then...
is interpreted as:
If (TOD > 9:00 and Wkd = Sat) or Wkd = Sun then...
Example 4
AND is also used with the operator BETWEEN, as in the following example:
Program File
If TOD is between 8:00am and 6:00pm then...
You cannot use the ampersand (&) for AND when AND is used with BETWEEN.
Note
• Use parentheses to enforce the order of interpretations and resolve potential
ambiguities.
51.22 EQUALS
EQUALS is similar to the IS... operator.
For more information, see section 51.23 “IS...” on page 1654..
51.23 IS...
IS... carries out the logical test you specify.
Syntax
Greater-than-expression:
number > number
number is greater than number
number is above number
Greater-than-or-equal-to-expression:
number >= number
number is greater than or equal to number
Less-than-expression:
number < number
number is less than number
number is below number
Less-than-or-equal-to-expression:
number <= number
number is less than or equal to number
Equal-expression:
number = number
number is number
number is equal to number
number equals number
Not-equal-expression:
number <> number
number is not number
number is not equal to number
number does not equal number
List-inclusion-expression:
number is in list
number is range (see range-expression below)
number is EITHER list
List-exclusion-expression:
number is not in list
number is not range (see range-element below)
number is neither list
Range-expression:
number is between lower_number AND higher_number
Table: IS...Parameters
Parameter Description
Examples
Example 1
To compare two values, you usually place an IS... statement between IF and THEN
in an IF..THEN statement.
Note
• Because THAN is optional, in the following pairs of statements, each
statement gives the same instructions to the controller.
Program File
If Zone_Temp is greater than 70 then…
If Zone_Temp is greater 70 then…
If Zone_Temp is above 70 then…
If Zone_Temp is less than 70 then…
If Zone_Temp is less 70 then…
If Zone_Temp is below 70 then…
Example 2
The following statements are grouped together and give the same instructions to
the controller, because TO is optional and EQUALS can be used without IS:
Program File
If Zone_Temp is equal to 70 then…
If Zone_Temp is equal 70 then…
If Zone_Temp equals 70 then…
If Zone_Temp is not equal to 70 then…
IF Zone_Temp does not equal 70 then…
Example 3
With IS IN, IS EITHER, IS NOT IN, or IS NEITHER, the comma in the list means OR.
You can also use the word OR before the last item in the list, for example:
Program File
If Zone_Temp is in Occupied, Warmup then…
If Zone_Temp is either Occupied, Warmup, OR Reset then…
If Zone_Temp is not in Occupied, Warmup then...
If Zone_Temp is neither Occupied, Warmup then...
If Zone_Temp is not 8 through 81 then...
Example 4
With IS BETWEEN and IS NOT BETWEEN, you always use AND. IS BETWEEN with
AND is equivalent to IS with THRU. The following statements are equivalent:
Program File
If Zone_Temp is between 70 and 80 then…
If Zone_Temp is 70 thru 80 then…
With THRU or BETWEEN, do not put parentheses around the two elements being
compared. The following parenthesis are not allowed:
If Zone_Temp is (70 thru 80) then…
If Zone_Temp is between (70 thru 80) then…
Program File
If Zone_Temp is not between 70 and 80 then…
If Zone_Temp is not 70 thru 80 then…
If Zone_Temp is not (ROOMTMP-5) thru (ROOMTMP+5)
If Zone_Temp is not ROOMTMP-5 thru ROOMTMP+5
With THRU or BETWEEN, always put the lower number first. The following
examples are not allowed:
If Zone_Temp is 80 thru 70 then…
If Zone_Temp is between 80 and 70 then…
Note
• Both THRU and BETWEEN are always inclusive, so the following are both
TRUE if the ZONE_TEMP is equal to 70 or 80.
51.24 NOT
NOT logically negates or inverts a number or expression, changing 0 (FALSE to
OFF) to 1 (TRUE or ON) or vice versa.
Syntax
not number
Example
Program File
If not OCCUPIED then..
In this example, assume OCCUPIED can be ON or OFF. When OCCUPIED is ON,
placing NOT in front tests for the opposite condition, OFF.
51.25 OR
The OR keyword can be used to provide the logical OR between two expressions,
or positioned in a list of names beween the last two items.
In this second example, OR indicates the end of the series. OR with the last name is
optional. The system carries out all other operations (such as adding and
subtracting) before acting on OR (or AND).
Operators by Precedence compares the order of operations on which the system
software acts. Because OR (and AND) are acted on last, you can form logical
statements without using too many parentheses. See Example 4 for how to use
AND and OR together.
Syntax
number or number
namelist or final_name
Table: OR Parameters
Parameter Description
Examples
Example 1
To take an action only if at least one of several conditions exists, you use OR
between the numbers, so if one of them is true, the resulting action occurs:
Program File
If the Heat is On or the Cool is On then...
Note that in the above statement, you can substitute exclamation mark (!) for OR.
Example 2
To put a list in an IF statement, you can use an OR between the last two names in
the list:
Program File
You cannot use the exclamation mark (!) for OR in a series. You can, however, leave
out OR as follows:
If the Zone is Warming, Occupied, Lowtemp then...
Example 3
You can also combine the logical OR with a name list containing an OR (with or
without the comma before OR) as follows:
Program File
51.26.1 DIVIDED BY
DIVIDED BY divides one number by another. The division operator (/) can be
substituted for DIVIDED BY.
For more information, see section 51.27 “DIVIDED BY” on page 1661..
51.26.2 MINUS
MINUS subtracts number from number.
For more information, see section 51.28 “MINUS” on page 1662..
51.26.3 MOD
MOD returns the remainder of one number divided by another.
For more information, see section 51.29 “MOD” on page 1663..
51.26.4 PLUS
PLUS adds two expressions.
For more information, see section 51.30 “PLUS” on page 1664..
51.26.5 TIMES
TIMES multiplies two numbers.
For more information, see section 51.31 “TIMES” on page 1665..
51.27 DIVIDED BY
Aliases: /, DIV
DIVIDED BY divides one number by another. The division operator (/) can be
substituted for DIVIDED BY.
Syntax
number divided by number
Examples
Example 1
Program File
Usage = kwh divided by 24
Example 2
Program File
Usage = kwh/24
51.28 MINUS
Alias: -
MINUS subtracts number from number.
Syntax
number minus number
Examples
Example 1
Program File
Kwh_day = Kwh_PM minus Kwh_AM
Example 2
Program File
Kwh_day = Kwh_PM - Kwh_AM
51.29 MOD
Alias: REMAINDER
MOD returns the remainder of one number divided by another.
Syntax
number mod number
Example
Program File
Extra = 5 mod 2
The equation divides 5 by 2 and gives a remainder of 1, so EXTRA is set to 1.
51.30 PLUS
Alias : +
PLUS adds two expressions.
Syntax
number plus number
Example
Example 1
Program File
TotalKwh = KwhMonth plus KwhDay
Example 2
Program File
TotalKwh = KwhMonth + KwhDay
51.31 TIMES
Aliases: MULTIPLIED BY, MULT, *
TIMES multiplies two numbers.
Syntax
number times number
Example
Example 1
Program File
Energycost = Building1_KW times 1.78
Example 2
Program File
Energycost = Building1_KW * 1.78
• MOVE
• REPEAT...UNTIL
• RETURN
• SELECT CASE
• STOP
• STOP
• WAIT
• WHILE
For more information, see section 51.47 “Program Control Statements ” on page
1695.
51.34.1 P
P prints the values of one or more variables, points, constants, or other expressions
representing a value, including strings of characters and datetimes, each on a
separate line.
For more information, see section 51.35 “P” on page 1670..
51.34.2 PRINT
PRINT prints a series of characters (text strings, often simply called strings) to a
string object or attribute, a local variable, a printer, or a communications port.
For more information, see section 51.36 “PRINT” on page 1671..
51.34.3 SET
SET assigns a value to a point or variable.
For more information, see section 51.37 “SET” on page 1677..
51.34.4 TURN
TURN sets the name or names to the top of the defined range for the point if ON
and to the bottom of the range if OFF.
For more information, see section 51.38 “TURN” on page 1679..
51.35 P
Alias: PR
P prints the values of one or more variables, points, constants, or other expressions
representing a value, including strings of characters and datetimes, each on a
separate line.
The list can contain different types of items. Prints units with point values.
For points, system variables, and attributes, prints the name of the point (or variable
or attribute), followed by an equal sign, the value of the point, and the units.
Otherwise, only the value prints.
Also, can print to comm ports and string objects (including program string
variables).
Syntax
P list
Table: P Parameter
Parameter Description
Examples
Example 1
Command Line
P SupplyAir, ReturnAir, BurnerStat, CoilStatus
SupplyAir = 46 degrees F
ReturnAir = 68 degrees F
BurnerStat = on
CoilStatus = off
Notice that the name of the point and the units print for each point.
Example 2
Command Line
P OutsideAir, Avg (Temp), AvgSetpt, OutsideAir_Type, TOD
OutsideAir_Type = 46 degrees F
86
AvgSetpt = 64
OutsideAir Type = Input
TIMEOFDAY = 8:32 pm
51.36 PRINT
PRINT prints a series of characters (text strings, often simply called strings) to a
string object or attribute, a local variable, a printer, or a communications port.
You can also print to a string point or local variable to fill that point or variable with a
string of text or numbers. In addition, on WorkStation, you can print to an ASCII file.
Syntax
Format 1: any_of_formats_above to string_point_or_variable
Prints any value or string, including messages, points, or variables, into a string
point or variable to set the value of that string.
Format 2: Print string
Prints a string value of text to the default comm port of the program or report.
Format 3: Print list
Prints the values of one or more variables, points, constants, or other expressions
representing a value. The list can contain different types of items.
Format 4: Print string_format, list
Prints the variables, points, or other expressions in the list in the format you specify.
Formatting Characters
You can indicate the layout of the print line using the following special symbols:
Character Description
The format must be enclosed in quotation marks. The comma is required after the
format (outside the quotation marks) if an item to insert in the format follows (see
Example 3).
Examples
Continued
No. Program File Output Explanation
Continued
No. Program File Output Explanation
Continued
No. Program File Output Explanation
51.37 SET
Alias: ADJUST and CHANGE (Format 1 only), LET (Format 2 only), MODIFY
SET assigns a value to a point or variable.
Syntax
Syntax 1: Set namelist to number
Syntax 2: Set namelist = number
Examples
Example 1
At any time in a program, you can set the value of a variable or array of variables
using SET and the word TO:
Program File
Set area to height times width
You can also use ADJUST, CHANGE, or MODIFY with TO. With ADJUST and
CHANGE, the TO is required:
Program File
Adjust Valve to Open
Program File
Change Space_SP to 72
Program File
Modify Space_SP to 72
You cannot use the equal sign with ADJUST or CHANGE, but you can use the
equal sign with MODIFY.
Example 2
You can set a variable using SET and an equals sign as in the example below:
Program File
Set KwAbg = Average (KW)
Instead of SET, you can use LET with the equals sign, as follows:
Program File
Let KwAvg = Average (KW)
You cannot use the word TO with LET.
Neither the word SET nor the word LET is required with the equals sign, so you can
set the same variable like this:
Program File
KwAvg = Average (KW)
Example 3
You can set a string variable or point to a particular value:
Program File
Set Stat_Message to "Heat active"
Example 4
You can set several points and variables to a particular value:
Program File
Set KwAvg, OATAvg, HWAvg, CHWAvg = 0
51.38 TURN
TURN sets the name or names to the top of the defined range for the point if ON
and to the bottom of the range if OFF.
Syntax
Format 1: Turn On point_list
TURN OFF point_list
Format 2: Turn point_list On
TURN point_list OFF
Examples
Example 1
Suppose you want to turn on the fan and the pump. You can turn both on in one
program statement:
Program File
Turn on the Fan and the Pump
Example 2
You can place the word ON or OFF after the name of the point:
Program File
Turn the Pump off
Example 3
You can also place ON or OFF before the name of the point:
Program File
Turn off the Pump
51.39.1 ARG
ARG is a keyword that defines an argument and can be given a name. After you
assign an easy-to-remember name to an argument variable, you can then refer to
that variable by its name so your function is easier to understand.
For more information, see section 51.40 “ARG” on page 1682..
51.39.2 DATETIME
DATETIME creates and defines one or more names as local DATETIME variables.
You define the variables inside a program for use only in that particular program.
For more information, see section 51.41 “DATETIME” on page 1683..
51.39.3 LINE
LINE labels a particular line in the program so that program control can later branch
or move to that line with the GOTO (or more advanced BASED ON..GOTO)
statement.
For more information, see section 51.42 “LINE” on page 1685..
51.39.4 NUMERIC
NUMERIC creates and defines one or more names as local numeric variables. You
define the variables inside a program for use only in that particular program.
For more information, see section 51.43 “NUMERIC” on page 1689..
51.39.5 STRING
STRING creates and defines one or more names as local string variables. You
define the variables inside a program for use only in that particular program. You
can specify the length of the string of characters with the string_length.
For more information, see section 51.44 “STRING” on page 1691..
51.39.6 THE
THE performs no function, but enhances readability.
For more information, see section 51.45 “THE” on page 1693..
51.39.7 Webservice
Webservice delares a Web Service in a Script program.
For more information, see section 51.46 “ Webservice” on page 1694.
51.40 ARG
Alias: PARAM
ARG is a keyword that defines an argument and can be given a name. After you
assign an easy-to-remember name to an argument variable, you can then refer to
that variable by its name so your function is easier to understand.
ARG can only be used to declare that variable in a function (Syntax 1). ARG calls the
argument variable by the variable’s number (Syntax 2).
Syntax
Syntax 1: ARG integer_constant name
Syntax 2: ARG [ integer_expression ]
Examples
Example 1
In this example, ARG[5] represents the status of a report. To make that easier to
understand, ARG[5] is named RPTSTATUS. The program refers to RPTSTATUS for
the variable value from then on.
Function File
ARG 5 RptStatus
Example 2
To test to see if the report status equals SUCCESS, you can call on the argument
variable using the easy-to-remember name (from Example 1):
Function File
If RptStatus is Success then…
Example 3
To test to see if the report status equals SUCCESS, you can also call on the
argument variable using ARG[5]:
Function File
If ARG[5] is Success then…
51.41 DATETIME
DATETIME creates and defines one or more names as local DATETIME variables.
You define the variables inside a program for use only in that particular program.
You define the variables as follows:
• Specify an array by including the array_size_number during the array definition
since each variable can be a single variable or an array.
• Add seconds as if the datetime were a number because the datetime is stored
in seconds.
• Define all local datetime variables at the top of your program.
• Set the datetime variable to the time at a given moment using the DATE system
variable.
• Print the datetime variable. When you do, you receive the date and time printed
in this format:
MONTH DD YYYY hh:mm:ss
The month is spelled out; the day is two digits, the year is four digits. The hour,
minute, and second are in 24-hour time.
Binding Qualifiers
Variables can also be bound to the object property of a point outside of the
program. To do this, you must use a keyword, either Input or Output.
Syntax
Datetime Binding_qualifier namelist [ array_size_number ]
Examples
Example 1
In this program, the first statement defines the TEMPTIME as a datetime variable.
The next statement sets the variable to the time at a given moment with the DATE
system variable:
Program File
Datetime TempTime
TempTime = date
Example 2
51.42 LINE
LINE labels a particular line in the program so that program control can later branch
or move to that line with the GOTO (or more advanced BASED ON..GOTO)
statement.
Caution
• Line names 0, C, and E are reserved for use by WorkStation. LINE 0 is
predefined for stopping the program, so you cannot label a line LINE 0.
However, you can use GOTO line 0 to stop a program. You can label a line
LINE E and the program automatically goes to that line when an error occurs.
LINE C is reserved for future use.
You can label lines to redirect program flow to any part of the program. For
example, you could return program flow to an earlier line, such as the first line. Or
you could send program flow to a later line to branch into a specific set of actions.
Syntax
Line linename
linename:
Line integer
Integer:
Parameter Description
Examples
Example 1
In the following example the first linename is STARTUP, labeled LINE STARTUP.
Follow the program flow to see how the line name directs the control of the
program.
Program File
Line Startup
If Temp > 72 then goto Cooling
If Temp < 70 then goto Heating
Line Heating
Turn on the Heat
...
Goto Startup
Line Cooling
Turn on the Blower
...
Goto Startup
Example 2
This example is the same as the last, only each linename is labeled with the name
followed by a colon:
Program File
Startup:
If Temp > 72 then goto Cooling
If Temp < 70 then goto Heating
Heating:
Turn on the Heat
...
Goto Startup
Turn on the Blower
Cooling:
...
Goto Startup
Example 3
This example shows how to use an integer as a line label:
Program File
LINE 1
Start Fan1
Goto 2
LINE 2
If Fan1_Status is on then goto Shutdown
LINE Shutdown
If Zone1 temperature is less than 60 then
Stop Fan1
Goto 1
Endif
Example 4
This example shows an integer with a colon as a line label:
Program File
1:
Start Fan1
Goto 2
2:
If Fan1_Status is on then goto 3
3:
If Zone1 temperature is less than 60 then
Stop Fan1
Goto 1
Endif
Example 5
This example shows a program that has a line labeled E. The program automatically
goes to line E when an error occurs. If you do not have a line E, the software
automatically disables the program. When an error occurs, you might want the
program to go to a special line. For example, you might want the program to go to a
special line that closes an open comm port (see OPEN).
The following program goes to line E and closes the comm port when an error
occurs:
Program File
Numeric Result
Line OpenPort3
Result = Open (Comm3)
Line TestingOpen
If result = success then goto PrintMenus
Line PrintMenus
Run MenuDisplay
...
If Comm3_PrintDone = true then goto ClosePort3
Line ClosePort3
51.43 NUMERIC
Alias: NUMBER
NUMERIC creates and defines one or more names as local numeric variables. You
define the variables inside a program for use only in that particular program.
Tip
A numeric variable is a name that represents a number. Numeric variables are
subject to the same range limitations as numeric constants. Numeric constants,
variables, points, expressions (formulas), or functions can be compared to other
numeric type items or used in mathematical calculations.
Each variable can be a single variable or an array. You specify an array by including
the array_size_number during the array definition.
Binding Qualifiers
Varibles can also be bound to the object property of a point outside of the program.
To do this, you must use a keyword, either Input or Output.
Syntax
Numeric Binding_qualifier namelist [array_size_number]
Examples
Example 1
Suppose that you are averaging the values of the ten temperatures. The points that
take the outside air temperature have been defined using menus and windows, but
you define the variable that contains the average using NUMERIC:
Program File
Numeric Avg_Temp
Avg_Temp = Average (Temp)
Print Avg_Temp
Example 2
You can define a series of numeric variables in a single statement:
Program File
51.44 STRING
STRING creates and defines one or more names as local string variables. You
define the variables inside a program for use only in that particular program. You
can specify the length of the string of characters with the string_length.
Tip
A string variable is a name that represents a series of alphanumeric characters.
String constants, variables, points, expressions, or functions can be compared to
other string type items. Strings cannot be used in mathematical calculations
unless they are converted to a numeric type.
Each variable can be a single variable or an array. You specify an array by including
the array_size_number during the array definition.
You must define all local string variables at the top of your program.
STRING is used to store textual information in the current program.
If you do not give a string_length, the string is given the default length, which is 16
characters.
Tip
For Enterprise Servers and Automation Servers, the maximum string_length is
255 characters. For b3 BACnet devices, the maximum length is 32 characters.
The Script compiler catches any number that is out of range.
Binding Qualifiers
Varibles can also be bound to the object property of a point outside of the program.
To do this, you must use a keyword, either Input or Output.
Syntax
String Binding_qualifier string_length namelist [array_size_number]
Examples
Example 1
To set a string variable, you must first define that variable using STRING. To define a
single string variable of the default length, you enter this program line:
Program File
String VarName
Example 2
To have a program read information from a file containing text, you would create a
series of string variables like those below to contain each piece of text information.
You can create them all in the same program line:
Program File
String 20 LNAME, LOGON, PWORD, ROOM, TERMINAL
The length of each string is 20. To give them different lengths, you must define
(declare) each one separately.
Example 3
To create a string array of variables, you must first define the array. The string called
PUMP below is an eight-character string with 20 variables in the array (PUMP[1],
PUMP[2], PUMP[3], and so on).
Program File
String 8 Pump[20]
Pump[6] = "HeatPump"
Example 4
You can create several arrays of string variables and single string variables all in one
program line:
Program File
String Pump[6], Blower[8], HeaterNM, FanName
51.45 THE
THE performs no function, but enhances readability.
Syntax
the name
Examples
Program File
Turn on the Fan
51.46 Webservice
Webservice delares a Web Service in a Script program.
Syntax
Webservice (service name)
Tip
The Web Service declaration name does not need to match the Script Web
Service object you intend to bind.
Example
You declare a Web Service here in order to invoke an online calculator service.
Program File
Webservice wsCalculator
51.47.1 BASEDON...GOTO
BASEDON...GOTO branches to a different line for each value the number can have.
You put the line names in the linelist.
For more information, see section 51.48 “BASEDON...GOTO” on page 1697..
51.47.2 BREAK
BREAK halts the smallest enclosing FOR...NEXT, REPEAT...UNTIL, WHILE, or
SELECT CASE statement.
For more information, see section 51.49 “BREAK” on page 1699..
51.47.3 CONTINUE
CONTINUE stops the current iteration of the smallest enclosing FOR...NEXT,
REPEAT...UNTIL, or WHILE statement and starts the next iteration from the top of
the loop. CONTINUE also exits the SELECT CASE statement.
For more information, see section 51.50 “CONTINUE” on page 1700..
51.47.4 FOR...NEXT
FOR...NEXT carries out all statements in a loop a fixed number of times.
For more information, see section 51.51 “FOR...NEXT” on page 1701..
51.47.5 GOTO
GOTO branches to the line labeled linename.
For more information, see section 51.52 “GOTO” on page 1704..
51.47.6 IF...THEN...ELSE
IF...THEN...ELSE carries out a given statement or series of statements if the
expression is TRUE.
IF...THEN...ELSE can also carry out a given statement or series of statements if the
given expression is FALSE.
For more information, see section 51.53 “IF...THEN...ELSE” on page 1707..
51.47.7 MOVE
MOVE converts engineering units to electrical units to control the output point,
using the top and bottom of scale for that point.
For more information, see section 51.54 “MOVE” on page 1711..
51.47.8 Repeat...Until
Repeat...Until carries out the statements in the loop until the number is true.
For more information, see section 51.55 “Repeat...Until” on page 1712..
51.47.9 RETURN
In a function, the RETURN keyword controls the calling program, returns and sends
the number to the calling program, and returns the contents of the variable.
For more information, see section 51.56 “RETURN” on page 1713..
51.47.11 STOP
With an output point, STOP actually stops the piece of equipment. With an input
point, STOP sets the point to the bottom of the defined scale. With a numeric point,
STOP sets the point to the lowest number in the controller system. You might STOP
an input after using the RUN keyword in order to test whether the input is active.
For more information, see section 51.58 “STOP” on page 1717..
51.47.12 WAIT
WAIT makes a program's execution wait for a specified number of seconds and
then resume right after the WAIT command statement.
For more information, see section 51.59 “WAIT” on page 1718..
51.47.13 WHILE
WHILE carries out the instructions in the statements within the loop over and over
again as long as the given number is TRUE.
For more information, see section 51.60 “WHILE” on page 1719..
51.48 BASEDON...GOTO
BASEDON...GOTO branches to a different line for each value the number can have.
You put the line names in the linelist.
Syntax
Syntax 1:
Basedon (number) Goto linelist
or
Basedon (number) Go to linelist
or
Basedon (number) Go to linelist
Syntax 2:
Basedon (number) Goto Line linelist
or
Basedon (number) Go to Line linelist
Examples
You can have a series of steps (a line) that you want to run every Friday to shut
down equipment not required over the weekend. Then, every Monday you can
restart that equipment.
To run different lines on particular days, you write a program that activates certain
lines based on the day of the week. The lines are labeled with LINE, telling the line
the routine starts on.
Remember that SUN is considered the first day of the week, so in the program
below, the first line listed after GOTO runs on Sunday, the next on Monday, the next
on Tuesday, and so on:
Program File
Basedon Wkd Goto Sun_1, Mon_1, Tue_1, Wed_1, Thu_1, Fri_1, Sat_1
…
Line Sun_1
…
Line Mon_1
…
Line Tue_1
…
Line Wed_1
…
Line Thu_1
…
Line Fri_1
…
Line Sat_1
Note
• The following variations to the BASEDON statement (above) are acceptable.
You can also include the word LINE in front of the line list:
Basedon Wkd Goto Line Sun_1, Mon_1, Tue_1, Wed_1, Thu_1, Fri_1,
Sat_1
You can replace GOTO with the word GO:
Basedon Wkd Go Sun_1, Mon_1, Tue_1, Wed_1, Thu_1, Fri_1, Sat_1
You can separate the word GO from the word TO:
Basedon Wkd Go to Sun_1, Mon_1, Tue_1, Wed_1, Thu_1, Fri_1, Sat_1
You can include the word LINE after GO and TO:
Basedon Wkd Go to Line Sun_1, Mon_1, Tue_1, Wed_1, Thu_1, Fri_1,
Sat_1
51.49 BREAK
BREAK halts the smallest enclosing FOR...NEXT, REPEAT...UNTIL, WHILE, or
SELECT CASE statement.
After BREAK executes, the next statement the controller carries out is the one
immediately following the end of the loop or block.
Syntax
Break
Examples
To check several stored temperatures to see if any is reading over 75 degrees, you
use a FOR...NEXT loop. Normally, the loop below would end after checking the 20
temperatures. To exit the loop as soon as you find one over 75 degrees, you use
the BREAK statement.
Program File
51.50 CONTINUE
CONTINUE stops the current iteration of the smallest enclosing FOR...NEXT,
REPEAT...UNTIL, or WHILE statement and starts the next iteration from the top of
the loop. CONTINUE also exits the SELECT CASE statement.
Each time the loop repeats, the action is an iteration of that loop.
Syntax
Continue
Examples
To check several temperatures stored in an array and print names of those over 75
degrees, you use a FOR...NEXT loop. (See the FOR...NEXT statement.) Normally,
the loop below would print the names of all 20 stored temperatures. To get the loop
to select those over 75, use CONTINUE to break the loop whenever one is less than
or equal to 75, and skip to the next array item.
Program File
51.51 FOR...NEXT
FOR...NEXT carries out all statements in a loop a fixed number of times.
Syntax
Syntax 1:
For numeric_name = begin to end
Statement
Statement
...
Next numeric_name
Syntax 2:
For numeric_name = begin to end step number
Statement
Statement
...
Next numeric_name
Examples
Example 1
A FOR...NEXT loop looks like this:
Program File
For count = 2 to 10 step 2
Print count, " ", (10 + count)
Next count
The statement sets the value of the numeric_name to the begin value, then carries
out the statements after FOR until reaching NEXT. At NEXT, the program goes back
to FOR and gets the next value of numeric_name by adding number to begin.
Here, since begin is 2, end is 10, and number is 2, the numeric_name (often called
the counter) counts 2, 4, 6, 8, 10. The first time through the loop numeric_name is
2, the second time numeric_name is 4, and so on.
As long as numeric_name is less than or equal to end, the statements inside the
loop are carried out. When numeric_name is greater than end the program then
goes to the statement after NEXT.
Here is the output printed by the previous loop:
2 12
4 14
6 16
8 18
10 20
If you do not specify a STEP number, the name automatically increases by one
(increments) each time the loop executes.
The step can also be a negative step, taking the value of the name from a begin of,
for example, 10 to an end of 1 by a number of -1.
The step can also be a negative step, taking the value of the name from a begin of,
for example, 10 to an end of 1 by a number of -1.
Example 2
Before you run functions that use the ARG variables, you can set them all to zero
with one programming statement using FOR...NEXT:
Program File
For count = 1 to 15
Set ARG[count] = 0
Next count
The first time through the loop, ARG[1] is set to 0, the second time ARG[2] is set to
0, the third time ARG[3] is set to 0, and so on.
Example 3
To set every third value in an array to zero, you can go to the third item, then sixth,
then ninth, and so on, using STEP with FOR...NEXT:
Program File
Number count
For count = 3 to 15 step 3
Set Pump[count] = 0
Next count
Example 4
To find a filtered average, you could set up a function called FILT_TOTAL. The
function, shown below, uses FOR...NEXT to loop from ARG[3] through ARG[15],
and add only the numbers with a value between that of ARG[1] and ARG[2].
Function File
51.52 GOTO
GOTO branches to the line labeled linename.
Syntax
Syntax 1: Goto linename
Syntax 2: Goto Line linename
Syntax 3: Go linename
Syntax 4: Go To linename
Syntax 5: Go To Line linename
Examples
Example 1
In the following looping program, the GOTO statement with IF..THEN controls the
heating and cooling processes:
Program File
Line Beginning
If Temp is less than 68 then Goto Heating
If Temp is greater than 76 then Goto Cooling
Line Heating
Turn on Heater1
Goto Beginning
Line Cooling
Turn on Cool1
Goto Beginning
Both Heating and Cooling are line labels. When the temperature changes, GOTO
sends control to the appropriate line.
The controller then executes instructions in the labeled line.
Notice that the GOTOs have been strategically placed so the controller executes
some statements and skips others.
Example 2
You can include the word LINE in front of the line name, as follows:
Program File
Line 1
Start Fan1
Goto Line 2
Line 2
If Fan1_Status is on then Goto Line Shutdown
Line Shutdown
If Zone1 Temp is less than 60 then
Stop Fan1
Goto Line 1
Endif
Example 3
You can leave out TO and type only GO:
Program File
Line Beginning
If Temp is less than 68 then go Heating
If Temp is greater than 76 then go Cooling
Line Heating
Turn On Heater1
Go Beginning
Line Cooling
Turn On Cool1
Go Beginning
Example 4
You can separate GO and TO, as follows:
Program File
Line Beginning
If Temp is less than 68 then Go to Heating
IF Temp is greater than 76 then Go to Cooling
Line Heating
Turn Heater1
Go to Beginning
Line Cooling
Turn On Cool1
Go to Beginning
Example 5
You can separate GO and TO, and include LINE as well:
Program File
Line Beginning
If Temp is less than 68 then Go to Line Heating
If Temp is greater than 76 then Go to Line Cooling
Line Heating
Turn On Heating1
Go to Line Beginning
Line Cooling
Turn On Cool1
Go to Line Beginning
51.53 IF...THEN...ELSE
IF...THEN...ELSE carries out a given statement or series of statements if the
expression is TRUE.
IF...THEN...ELSE can also carry out a given statement or series of statements if the
given expression is FALSE.
For all formats, the following actions take place:
• If the expression is TRUE, the controller carries out the statement or
statements following THEN.
• If the expression is FALSE, the controller skips those statements after THEN
and does either of these actions:
– Carries out the statements after ELSE (if ELSE is used).
– Moves on to the next statement after the IF..THEN block.
Whether the expression is TRUE or FALSE, when the IF..THEN statement is
complete, program flow goes to the statement following the IF..THEN statement
unless the flow is directed to another line using GOTO, BREAK, or CONTINUE.
If you have multiple statements after THEN, they must occur on consecutive
(physical) lines, and the end of the statement must be marked with ENDIF.
Here are some general rules you should follow for all formats:
• IF and THEN must always be on the same physical line.
• THEN can be followed by one statement on the same physical line or many
statements on the physical lines that follow.
• If a multi-line statement, ELSE must always be on a physical line by itself
(Syntax 4).
• ELSE can be followed by one statement on the same physical line or multiple
statements on the physical lines that follow (Syntax 4).
• ENDIF is required to close an IF..THEN block when multiple statements occur
after THEN or when one or more statements occur after ELSE.
• When you use an IF statement after THEN, that statement must be nested
under THEN and end with ENDIF. (See Example of an IF statement after THEN,
below.)
Syntax
Syntax 1:
If expression then statement
Syntax 2:
If expression then
statement
statement
statement
..
ENDIF
Syntax 3:
If expression then statement else statement
Syntax 4:
If expression then
statement
statement
statement
...
Else
statement
statement
statement
...
Endif
Examples
Example of Syntax 1
To take a single action if the expression is TRUE, you use Syntax 1, the single-line
IF..THEN statement:
Program File
If TOD >= 1200 then Goto Noon
If the time of day is greater than 12:00 noon, then program flow moves to the
NOON line. Otherwise, the program continues with the next statement.
Note
• If you put THEN on a separate physical line from IF, a syntax error occurs.
Example of Syntax 2
To take several actions if the expression is TRUE, and take no action if the
expression is FALSE, you use Syntax 2:
Program File
If Wkd = Mon and TOD > 800 and TOD < 1600 then
Run the HeaterProg
Run the FanCheckProg
Stop the PumpProg
Endif
If the expression is FALSE, the controller ignores the statements following THEN
and moves to the statement after ENDIF.
Example of Syntax 3
To take a single action if an expression is TRUE and another single action if the
expression is FALSE, you use Syntax 3:
Program File
If TOD > 800 & TOD < 1700 then Run DayPrg else Run NiteProg
Notice that IF, THEN, and ELSE must all be on one line in this format.
Example of Syntax 4
To take several actions if the expression is TRUE or take several others if the
expression is FALSE, you use Syntax 4:
Program File
If Temp < 72 and Pump.Stat is off then
Turn on the Fan
Close the Damper
Else
Turn off the Fan
Open the Damper
Endif
ELSE stands on a line by itself in this format, and the end of the IF.. THEN..ELSE
statement must be marked by ENDIF.
Example of nested IFs
IF statements can be included (nested) within other IF statements.
Program File
If the Wkd is Either Saturday OR Sunday then
Set Occupancy to Off
Stop the DailyProgram
If the Temp is Greater Than 70 then
Turn On the Fan
Open the Damper
Else
Turn OFF the Fan
Open the Damper
Endif
Else
Set Occupancy to On
Start the DailyProgram
Endif
Notice that each IF ends with an ENDIF. The inner (indented) ENDIF goes with the
inner IF and ELSE, the outer ENDIF with the outer IF and ELSE.
The ELSE and ENDIF that belong to the indented IF are aligned under that IF.
Notice that the last IF ends first.
Example of an IF statement after THEN
Take a look at the following statement with an IF after THEN:
Program File
If the Wkd is Sat then if the Hour is 1 then Goto 1 else Goto 2
Which IF does the ELSE belong to? In this case the ELSE belongs to the second IF.
Why? Because ELSE belongs to the closest previous IF on the same physical line.
An IF..THEN statement that starts right after THEN is always a self-contained
statement that ends on that physical line.
To make the ELSE belong to the first IF, you must form a nested IF arrangement, as
follows:
Program File
If the Wkd is Sat then
If the Hour is 1 then
Goto 1
Endif
Else
Goto 2
Endif
In this nested IF statement, the ELSE belongs with the first IF.
Example of a nonzero value number
Program File
If 10 then start Burner
Here, since 10 is a nonzero value, 10 is interpreted as TRUE and causes the burner
to fire up.
Caution
• Be careful when programming with IF..THEN..ELSE statements if the number
is any nonzero value. When this occurs, the number is interpreted as TRUE
and the THEN block is executed.
51.54 MOVE
Alias: MODULATE
MOVE converts engineering units to electrical units to control the output point,
using the top and bottom of scale for that point.
Set the point or points in output_point_list to number.
The percent sign is optional.
Syntax
MOVE output_point_list TO number
MOVE output_point_list TO number %
Products Supported
CX series, BACnet series, CMX series, SCX series, TCX series, LCX series, ACX
series, DCX 250, Automation Server, Enterprise Server
Examples
Example 1
If Valve2 has engineering units of 0 to 90 degrees, and the corresponding electrical
units are 0 to 20 mA, when you move the setting of Valve2 to 45, the electrical unit
sets to 10 mA. To have the engineering units automatically converted to electrical
units, you use MOVE as follows:
Program File
MOVE VALVE2 TO 45
Example 2
For this valve, assume engineering units of 0 to 1 where 0 is closed and 1 is open
and corresponding electrical units of 0 to 20 mA. Moving the setting of Valve2 to
50% gives .5. At .5, the valve is set to the corresponding value of 10 mA.
Program File
MODULATE VALVE2 TO 50%
51.55 Repeat...Until
Repeat...Until carries out the statements in the loop until the number is true.
Syntax
Repeat
statement
statement
...
Until number
The statements within the loop always execute at least once before the expression
is evaluated.
Examples
You want to print all the values in an array:
Program File
Numeric Count
Count = 1
Repeat
Print OutsideAir [Count]
Count = Count + 1
Until Count = OutsideAir_Size
51.56 RETURN
In a function, the RETURN keyword controls the calling program, returns and sends
the number to the calling program, and returns the contents of the variable.
If you expect to use the results of a calculation in more than one program, you set
up a function file and put the calculation instructions inside, thus creating a function.
When you need the function in a program, you call the function by using the
function variable as if that function were any other keyword verb.
Later, the RETURN statement tells the function the value to return to the calling
program.
Make sure to return a number or other value when you want to use the returned
value in the calling program.
Syntax
Return
Return number
Examples
Example 1
You use RETURN without an expression to return to the calling program without
passing parameters. You might do that with a function that contains a series of
actions to be carried out, as in the SHUTDOWN function shown below:
Function File
Turn off the Heat
Turn off the Fan
Run Pump, Cooling
Return
In this case, RETURN returns you to the program that called the SHUTDOWN
function, returning a numeric 0 because you supplied no arguments on the
RETURN statement.
The statement that calls SHUTDOWN in the calling program looks like this:
Program File
Shutdown ()
Example 2
To create a function called GetArea that calculates the cross-sectional area of a
circle, name the function file GetArea and enter the following in the function file:
Function File
ARG 1 radius
Syntax
Select Case test_expression
Case expression_list
statement_list
Case expression_list
statement_list
...
Case Else
else_statement_list
EndSelect
Examples
Example 1
Program File
Select Case Weekday
Case Monday, Tuesday
51.58 STOP
Aliases: CLOSE, SHUT
With an output point, STOP actually stops the piece of equipment. With an input
point, STOP sets the point to the bottom of the defined scale. With a numeric point,
STOP sets the point to the lowest number in the controller system. You might STOP
an input after using the RUN keyword in order to test whether the input is active.
Syntax
Stop point_list
Sets the point (or points) to bottom of its defined scale, turns the equipment off, and
controls the equipment through the point. You can use this statement in a program
to turn off a piece of equipment.
Examples
You can STOP a program from inside a program in response to a certain set of
conditions. For example, to halt the HEATPROG after 8 PM:
Program File
If TOD > 2000 then stop the HeatProg
If you do not name a program after STOP, the controller assumes you mean the
current program.
51.59 WAIT
Alias: Delay
WAIT makes a program's execution wait for a specified number of seconds and
then resume right after the WAIT command statement.
Syntax
WAIT number
Products Supported
Automation Servers and Enterprise Servers
Examples
Wait 5 'waits for 5 seconds
Wait (3) 'waits for 3 seconds
Delay 10 'waits for 10 seconds
Restrictions
You can only use the WAIT keyword in the following situations:
• At the Server level (Automation Server and Enterprise Server)
• In a Script program and not in a Script function
Tip
WAIT is not supported inside a For loop.
51.60 WHILE
WHILE carries out the instructions in the statements within the loop over and over
again as long as the given number is TRUE.
Syntax
While number
statement
statement
...
Endwhile
Examples
Initialize a 10 element manual array:
Program File
Numeric Counter
Set Counterto 1
While Counter <= 10
ManualArray[Counter] = Counter*10
Counter = Counter + 1
Endwhile
51.61.1 INPUT
INPUT is a binding qualifier that identifies a variable declaration as an input variable.
You can bind an input variable to an object property outside of the program. The
input variable takes on the same value as the property it is bound to. You cannot
set an input variable's value.
For more information, see section 51.62 “INPUT” on page 1721..
51.61.2 Buffered
Buffered is used exclusively as a qualifier for an input variable to indicate that the
variable can hold one or more buffered values. The type of input variable may be
Numeric, String, or DateTime.
For more information, see section 51.63 “Buffered ” on page 1722.
51.61.3 OUTPUT
OUTPUT is a binding qualifier that identifies a variable declaration as an output
variable. You can bind an output variable to an object property outside of the
program. When the output variable is set, the bound property value will be set to the
same value.
For more information, see section 51.64 “OUTPUT” on page 1723..
51.61.4 PUBLIC
PUBLIC is a binding qualifier that identifies a variable as a public variable. You can
modify a public variable from outside a Script program, such as from a graphic.
For more information, see section 51.65 “PUBLIC” on page 1724..
51.62 INPUT
INPUT is a binding qualifier that identifies a variable declaration as an input variable.
You can bind an input variable to an object property outside of the program. The
input variable takes on the same value as the property it is bound to. You cannot
set an input variable's value.
Syntax
variable_declaration input namelist
Examples
Program File
If you have a program that controls a fan based on the value of a temperature input
point, you define an input variable to bind to the input's value property.
Numeric_input Temp_DegF
If Temp_DegF is greater than 75 then
Turn Fan On
Endif
51.63 Buffered
Buffered is used exclusively as a qualifier for an input variable to indicate that the
variable can hold one or more buffered values. The type of input variable may be
Numeric, String, or DateTime.
Note
The buffering of values is performed on a First-In, First-Out basis (that is, a
queue).
Syntax
type buffered input variable_name
Example
You declare a buffered input variable (BIn1) and a pair of output variables in this
sample program. BIn1 has the same value every time it is used as expected.
Note
Buffered inputs are supported only in Automation Server and Enterprise Server
programs. They are not supported in functions, or on b3 BACnet controllers.
Program File
Numeric Buffered Input BIn1
Numeric Buffered Input BIn2
Numeric Output Out1
Out1 = BIn1 + BIn2
51.64 OUTPUT
OUTPUT is a binding qualifier that identifies a variable declaration as an output
variable. You can bind an output variable to an object property outside of the
program. When the output variable is set, the bound property value will be set to the
same value.
Syntax
variable_declaration output namelist
Examples
Program File
If you have a program that controls a thermostat temperature, you define an output
variable to bind to the thermostat's temperature property.
Numeric output Thermostat_Temp_DegF
Thermostat_Temp_DegF = 72.5
51.65 PUBLIC
PUBLIC is a binding qualifier that identifies a variable as a public variable. You can
modify a public variable from outside a Script program, such as from a graphic.
Public behaves like an output variable, so you may bind the public variable to the
value of a point, or to the input variable of a Script program as you would with any
output variable. Unlike an output variable, you do not have to use the force
capability to modify Public from the Script property grid, or from a graphic.
You should use the Public binding qualifier when you need to directly modify that
variable from the Script property grid (that is, modify the value the Public binding
variable is bound to). Unlike an output variable, you can manually change the value
of the public variable from a graphic.
Syntax
variable_declaration public namelist
Examples
Program File
Assume you want to set an output in your Script program using the PUBLIC
variable.
Numeric public ReceivedValue
Numeric Output OutputValue
Set OutputValue to ReceivedValue
51.66 Expressions
Instructions that consist of mathematical operations are called expressions.
Expressions can also be item names or constants that return a numeric or string
result.
51.67 Variables
A variable is a run-time (dynamically changing) property of an object.
Script supports program, system, and runtime variables.
To declare a variable
1. In Script Editor, declare the variable you want to use in the program or
function:
• Declare the variable using the type keyword Numeric, String, or DateTime
before the name of the variable.
• Declare the variable using the binding keyword Input, Output, or Public
after the type keyword, and before the name of the variable, to enable
bindings to the variable.
You have now declared the variables in your Script program or function. These
declarations are then followed by one or more program lines or instructions that
specify the operations to perform.
Note
• Script supports characters at or below ASCII 127. Additional characters are
not supported and are replaced by a question mark (?).
Note
• The array index option is not supported for binding variables.
Examples
Numeric A
Datetime D
String S
Numeric Input A1
Numeric Input A2, A3, A4
Numeric Input A2, A3, A4
String Input S1
Datetime Input DT1
Numeric Output B1
String Output outstr1
Datetime Output outdt1
Numeric Fan_SP [20], Temp [20]
You can declare local variable types using the following keyword statements:
• Numeric
• String
• DateTime
• Function
• WebService
Numeric keyword
The Numeric keyword assigns the name that follows as a local numeric variable:
Numeric RateOfRise
String Keyword
The String keyword assigns the name that follows as a local string variable:
String DirtyFilterMsg
DateTime Keyword
The DateTime keyword assigns the name that follows as a local variable that
accepts a date and time:
DateTime LocalDateTime
Function Keyword
The Function keyword assigns the name that follows as a local variable, which you
bind to a Script user-defined function.
Function MyFunction
WebService Keyword
The WebService keyword assigns the name that follows as a local variable, which
you bind to a Script Web Service object.
WebService wsCalculator
Tip
The Input and Output qualifiers apply only to the Numeric, String, and DateTime
types.
The type of the object property you bind a local variable to must match the type of
the local variable you plan to bind to. For example, you must bind a Numeric local
variable to object property types such as integer, double, float, digital, and
enumeration. Similarly, you must also bind strings to string type properties, and
datetimes to datetime properties.
1 8.00
2 8.51
3 9.00
4 9.62
5 10.00
6 10.75
7 11.00
8 11.25
CLOCK[1] is 8.00, CLOCK[2] is 8.51, CLOCK[3] is 9.00, and so on. Each entry in an
array is referred to as an element. An array can contain up to 32,767 elements.
You can also put a numeric variable in place of the index number, such as
CLOCK[COUNT]. The variable is called an index variable.
When you define an array variable, you must specify a type (numeric, string, or
datetime) and the number of elements. The following statement defines (declares) a
local array called “Temperature” as numeric with 50 elements:
NUMERIC TEMPERATURE[50]
51.74.1 TS
TS is a Script program runtime property that contains the number of seconds (Time
in Seconds) that have elapsed since the program has been on the current line.
TS stands for Time in Seconds.
For more information, see section 51.75 “TS” on page 1736..
51.74.2 TM
TM is a Script program runtime property that contains the number of minutes (Time
in Minutes) that have elapsed since the program has been on the current line.
TM stands for Time in Minutes.
For more information, see section 51.76 “TM” on page 1737..
51.74.3 TH
TH is a Script program runtime property that contains the number of hours (Time in
Hours) that have elapsed since the program has been on the current line.
TH stands for Time in Hours.
For more information, see section 51.77 “TH” on page 1738..
51.74.4 TD
TD is a Script program runtime property that contains the number of days (Time in
Days) that have elapsed since the program has been on the current line.
TD stands for Time in Days.
For more information, see section 51.78 “TD” on page 1739..
51.75 TS
TS is a Script program runtime property that contains the number of seconds (Time
in Seconds) that have elapsed since the program has been on the current line.
TS stands for Time in Seconds.
Syntax
TS
Example
To allow for a 90-second valve stroke time, see if 90 seconds have elapsed since
you opened the valve.
Program File:
The controller measures 90 seconds starting the instant that the program is on the
line making the request for elapsed time.
51.76 TM
TM is a Script program runtime property that contains the number of minutes (Time
in Minutes) that have elapsed since the program has been on the current line.
TM stands for Time in Minutes.
Syntax
TM
Example
To have a 5-minute warmup of a fan before turning on the pump, you would check
to see if the fan has been running for 5 minutes after activation.
Program File:
The controller measures 5 minutes starting the instant that the program is on the
line making the request for elapsed time.
51.77 TH
TH is a Script program runtime property that contains the number of hours (Time in
Hours) that have elapsed since the program has been on the current line.
TH stands for Time in Hours.
Syntax
TH
Example
To have the lead fan run 1 hour then run the lag fan, you would check to see if the
fan has been running for 1 hour after activation.
Program File:
The controller measures 1 hour starting the instant that the program is on the line
making the request for elapsed time.
51.78 TD
TD is a Script program runtime property that contains the number of days (Time in
Days) that have elapsed since the program has been on the current line.
TD stands for Time in Days.
Syntax
TD
Example
In order to have a lead pump run for 3 days, then turn on the lag pump, you would
check to see if the pump has been running for 3 days after activation.
Program File:
The controller measures 3 days starting the instant that the program is on the line
making the request for elapsed time.
Tip
You can print out a datetime variable to see what date and time the variable
contains. However, the date and time that prints out is a predefined format you
cannot change. The date and time prints in this format (in the 24-hour clock):
MONTH DD YYYY hh:mm:ss
51.80.1 DATE
DATE retrieves the current system date and time so that you can then store them in
a variable.
The value for DATE is always the current date.
DATE is designed to be used with DIFFTIME, along with a datetime variable (defined
using the DATETIME statement).
For more information, see section 51.81 “DATE” on page 1744..
51.80.2 DAYOFMONTH
DAYOFMONTH gives the day of month from 1 to 31.
You cannot change the DAYOFMONTH. The server automatically updates this
value.
For more information, see section 51.82 “DAYOFMONTH” on page 1745..
51.80.3 DAYOFYEAR
DAYOFYEAR gives the number of the day of the year, between 1 and 366.
You cannot change the DAYOFYEAR. The server automatically updates this value
For more information, see section 51.83 “DAYOFYEAR” on page 1746..
51.80.4 HOD
HOD gives the time in a decimal form from 0.0 to 23.99.
You cannot change the HOD. The system automatically updates this value.
For more information, see section 51.84 “HOD” on page 1747..
51.80.5 HOUR
HOUR gives the current hour, from 0 to 23.
If the time is 5:23:02, the hour is 5.
The system automatically updates the HOUR variable.
For more information, see section 51.85 “HOUR” on page 1748..
51.80.6 MINUTE
MINUTE gives the exact minute of the current hour, from 0 to 59.
The minute is the minute on the controller clock, so if the time is 5:23:02, the minute
is 23.
You cannot change the MINUTE. The server automatically updates this value.
For more information, see section 51.86 “MINUTE” on page 1749...
51.80.7 MONTH
MONTH gives you the current month of year, from January to December.
You cannot change the MONTH. The server automatically updates this value.
For more information, see section 51.87 “MONTH” on page 1750...
51.80.8 SECOND
SECOND gives the exact number of seconds of the current minute, from 0 to 59.
The number of seconds is as indicated by the server clock. If the time is 10:02:12,
then SECOND equals 12.
For more information, see section 51.88 “SECOND” on page 1752..
51.80.9 TOD
TOD gives the time of the day from 0 (midnight) to 2359, where 2359 is the
equivalent of 23:59 on the 24-hour clock.
The time of day is the time from the controller clock. You cannot change TOD since
the controller automatically updates that setting.
For more information, see section 51.89 “TOD” on page 1753..
51.80.10 WEEKDAY
WEEKDAY gives current day of week, from SUNDAY through SATURDAY.
When printed, the weekday is spelled out as Sunday, Monday, Tuesday,
Wednesday, and so on through Saturday.
51.80.11 YEAR
YEAR gives the current year. You cannot change the YEAR. The system
automatically updates the value.
When printed, the four-digit year is given.
For more information, see section 51.91 “YEAR” on page 1756...
51.81 DATE
Alias: TIME
DATE retrieves the current system date and time so that you can then store them in
a variable.
The value for DATE is always the current date.
DATE is designed to be used with DIFFTIME, along with a datetime variable (defined
using the DATETIME statement).
Syntax
Date
Example
Once you have defined the datetime variable called TEMP_DATE using the
DATETIME statement, you can then set the value of that variable using the DATE
system variable, as follows:
Program file
Datetime Temp_Date
Temp_Date = Date
This way, TEMP_DATE retrieves the exact system date and time at a given
moment.
You can, for example, record the date and time that a point changes. You can use
the variable you have created in subsequent calculations.
51.82 DAYOFMONTH
Alias: DOM
DAYOFMONTH gives the day of month from 1 to 31.
You cannot change the DAYOFMONTH. The server automatically updates this
value.
Syntax
DayOfMonth
Example
Example 1
To print out a headline that contains the date, you would use DAYOFMONTH, as
shown below:
Program File
Print "The kwh history for", MONTH, DayofMonth, "," , YEAR
The resulting header would print the actual month, day of the month, and year, like
this:
The kwh History for October 15, 2008
Example 2
To make some events occur only on particular days of each month, you could set
up an IF..THEN statement that would check for the day of the month:
Program File
If DayofMonth is between 7 and 14 then…
51.83 DAYOFYEAR
Alias: DOY
DAYOFYEAR gives the number of the day of the year, between 1 and 366.
You cannot change the DAYOFYEAR. The server automatically updates this value
Syntax
DayOfYear
Example
Suppose on a certain date, you need to switch off the heating and switch on
cooling. You would use DAYOFYEAR to instruct the controller:
Program File
If DayofYear is 152 then
Stop the Heating_Prog
Run the Cooling_prog
Endif
51.84 HOD
Alias: HOUROFDAY
HOD gives the time in a decimal form from 0.0 to 23.99.
You cannot change the HOD. The system automatically updates this value.
Syntax
HOD
Example
Example 1
You can use the decimal form of the time to see if the time is past 5:30 a.m.:
Program File
If HOD is greater than 5.50 then...
Example 2
A simple way to calculate the StartTime based on OutsideAir could use HOD as
follows:
Program File
If OutsideAir > 70 then Goto CoolStart
Set StartTime = (8.00 - (70-OutsideAir) * RateOfRise)
If HOD = StartTime then Goto StartBldg
51.85 HOUR
Alias : HR
HOUR gives the current hour, from 0 to 23.
If the time is 5:23:02, the hour is 5.
The system automatically updates the HOUR variable.
Syntax
Hour
Example
To take action every day at 5:00 a.m., you would check the hour with the following
statement:
Program File
If Hour is equal to 5 then Goto Startup
51.86 MINUTE
Alias: MIN
MINUTE gives the exact minute of the current hour, from 0 to 59.
The minute is the minute on the controller clock, so if the time is 5:23:02, the minute
is 23.
You cannot change the MINUTE. The server automatically updates this value.
Syntax
Minute
Example
Suppose you have eight programs to run every hour. To avoid customizing scan
time by running all the programs at once, you could run two programs in each
quarter of any hour:
Program File
If Minute equals 15 then
Run the System_Check
Run the Power_Usage
Endif
If Minute equals 30 then
Run the Temp_Check
Run the Temp_Rept
Endif
If Minute equals 45 then
Run the Fan_Check
Run the Damper_Check
Endif
If Minute equals 0 then
Run the Heater_Check
Run the CO_Check
Endif
The SYSTEM_CHECK and POWER_USAGE programs now run at 15 minutes after
the hour every hour of every day, 24 hours a day and 365 days a year.
The TEMP_CHECK and TEMP_REPT programs now run at 30 minutes after the
hour every hour of every day, 24 hours a day and 365 days a year.
The FAN_CHECK and DAMPER_CHECK programs now run at 45 minutes after the
hour every hour of every day, 24 hours a day and 365 days a year.
The HEATER_CHECK and CO_CHECK programs now run on the hour every hour
of every day, 24 hours a day and 365 days a year.
51.87 MONTH
Alias: MTH
MONTH gives you the current month of year, from January to December.
You cannot change the MONTH. The server automatically updates this value.
When printed, the month is spelled out as January, February, March, and so on
through December. You can also compare the MONTH to:
• The numbers (1 through 12).
• The abbreviated three-letter names (first three letters).
All values for MONTH are listed below:
1 JAN JANUARY
2 FEB FEBRUARY
3 MAR MARCH
4 APR APRIL
5 MAY MAY
6 JUN JUNE
7 JUL JULY
8 AUG AUGUST
9 SEP SEPTEMBER
10 OCT OCTOBER
11 NOV NOVEMBER
12 DEC DECEMBER
Syntax
Month
Example
Example 1
You can use the spelled out (long) names for printing or for comparing to an actual
month:
Program File
If Month is December then print Month
Output
Saturday
Example 2
You can use the short names for comparing the month:
Program File
If Month is either JUN, JUL, AUG or SEP then…
Example 3
You can use the constants 1 through 12 for comparing the month:
Program File
If Month is 2 then…
51.88 SECOND
Alias: SEC
SECOND gives the exact number of seconds of the current minute, from 0 to 59.
The number of seconds is as indicated by the server clock. If the time is 10:02:12,
then SECOND equals 12.
Syntax
Second
Example
If you want to take action every time 50 seconds of the minute have gone by, you
enter the following program statement:
Program File
If Second is greater than 50 then…
51.89 TOD
Alias: TIMEOFDAY
TOD gives the time of the day from 0 (midnight) to 2359, where 2359 is the
equivalent of 23:59 on the 24-hour clock.
The time of day is the time from the controller clock. You cannot change TOD since
the controller automatically updates that setting.
Syntax
TOD
Example
Example 1
To check to see if the time of day is past 5:00 AM, you enter the following program
line:
Program File
If TOD is greater than 500 then…
Example 2
When you print out TOD, as in the following example, you always receive the 24-
hour time:
Print TOD
The time displays as follows:
20.000 (that means 8:00:00 PM)
51.90 WEEKDAY
Alias: WKD
WEEKDAY gives current day of week, from SUNDAY through SATURDAY.
When printed, the weekday is spelled out as Sunday, Monday, Tuesday,
Wednesday, and so on through Saturday.
You can also compare the WEEKDAY to:
• The numbers 1 through 7 (1 equal to Sunday).
• The abbreviated three-letter names (first three letters).
Note
• If you use both Script and Function Block programming, for example, when
using control sequences, be aware of the following. Script uses Sunday as
the first day of the week and assigns a value of 1 to that day, while Function
Block uses Monday as the first day of the week and assigns Monday a value
of 1.
1 SUN SUNDAY
2 MON MONDAY
3 TUE TUESDAY
4 WED WEDNESDAY
5 THU THURSDAY
6 FRI FRIDAY
7 SAT SATURDAY
Syntax
Weekday
Example
Example 1
You can spell out names for printing or for comparing to an actual day:
Program File
If Weekday is Saturday then Print Weekday
Output
Saturday
Example 2
You can use the short name or the constants 1 through 7 for comparing the
weekday in an IF statement:
Program File
If Weekday > Sun OR Weekday < 7 then…
51.91 YEAR
Alias: YR
YEAR gives the current year. You cannot change the YEAR. The system
automatically updates the value.
When printed, the four-digit year is given.
Syntax
Year
Example
To take an action in the distant future, such as sending a reminder message to
check certain pieces of equipment, you use the YEAR system variable to test the
year:
Program File
If year is 2010 THEN PRINT "Welcome to the year Two Thousand and
Ten."
51.92.1 ERRORS
ERRORS, a variable the controller maintains, indicates the number of system errors
pending. The number increments (increases by one) each time a new error occurs
and is cleared when manually reset to zero (0).
For more information, see section 51.93 “ERRORS” on page 1758..
51.92.2 FREEMEM
FREEMEM contains the number of bytes of free memory in the largest single
contiguous memory block on a controller.
For more information, see section 51.94 “FREEMEM” on page 1759..
51.92.3 SCAN
SCAN indicates the length in seconds of the last interpreter scan interval, which the
program updates regularly.
For more information, see section 51.95 “SCAN” on page 1760..
51.93 ERRORS
ERRORS, a variable the controller maintains, indicates the number of system errors
pending. The number increments (increases by one) each time a new error occurs
and is cleared when manually reset to zero (0).
The controller automatically updates ERRORS. You can only reset the controller to
zero.
The controller increments ERRORS when any of the following occurs:
• A Script program error disables a program (which also sets the program
ERROR attribute).
• The controller’s input reference voltage goes out of its normal range, usually
when you apply too much voltage to one or more inputs.
• The controller’s output reference voltage goes out of its normal range, usually
when drawing too much current from one or more inputs.
• The server has trouble transmitting or receiving data.
• Someone resets a controller.
• Someone turns off the AC power to a controller so that the AC power shuts
down, but the battery retains memory.
Syntax
Errors
Example
Since the ERRORS variable automatically decrements after you acknowledge an
error, the value of the variable should never get very large.
In the sample program below, you set a limit to how many errors can accumulate
and generate a report on all errors if the limit is exceeded:
Program File
If Errors > 10 then
Goto Report_Error
51.94 FREEMEM
FREEMEM contains the number of bytes of free memory in the largest single
contiguous memory block on a controller.
For system managers only. Primarily designed to be used on the command line
only, not in programs, because the value of FREEMEM does not change
dynamically. Primarily, FREEMEM is used in the programs to slow the controller
scan.
Syntax
Freemem
Example
If you want to know the size of the largest block of free memory available on a
controller, enter the following:
Program File
Print Freemem
51.95 SCAN
Alias: SC
SCAN indicates the length in seconds of the last interpreter scan interval, which the
program updates regularly.
Syntax
Scan
Example
To find the average number of seconds per scan, you would run the following
program once every scan after all other programs have been run.
Program File
Numeric Tot_Scan_SCS, Scan_Count, Scan_Avg
Set Tot_Scan_SCS, Scan_Count, Scan_Avg = 0
Line Totaling
Tot_Scan_SCS = Tot_Scan_SCS + Scan
Scan_Count = Scan_Count + 1
If TOD = 2359 then
Scan_Avg = Tot_Scan_SCS/Scan_Count
Print "The average scan for", WKD " is", Scan_Avg, "sec"
Set Scan_Avg = 0
Set Scan_Count = 0
Set Tot_ScSCS = 0
Endif
For each scan the program adds the seconds that scan took to the total seconds
for the day. Also for each scan, the program adds 1 to the scan counter.
At the end of the day (2359, or 11:59 PM), the program divides the scan total by the
number of scans to get the average length of the scans that day. The program then
prints the average for the day.
The numeric variables used to calculate the average number of scans per day are all
set to zero at the end of each day, so that they start at zero the next day.
Note
Script functions support up to 15 arguments.
Tip
You can use the RETURN statement to return a value to the calling program or
function.
Note
• Use a variable instead of an expression in the RETURN statement because
the name of the variable, when created, should generally describes its
purpose.
You have now declared and called a function in a Script program or another Script
function.
You have now declared the arguments in the Script function. You can now add one
or more instructions that specify the operations to perform.
• LOG
• RANDOM
• SQRT
• SUM
For more information, see section 51.116 “Mathematical Functions” on page
1788...
• MAXITEM
• MINIMUM
• MINITEM
• StandardDeviation
For more information, see section 51.136 “Statistical Functions” on page 1814...
• SIN
• TAN
For more information, see section 51.156 “Trigonometric Functions” on page
1843.. .
51.109.1 GetBufferSize
GetBufferSize returns the current buffer size (that is, the number of buffered values)
of a passed buffered input variable.
For more information, see section 51.110 “GetBufferSize” on page 1780.
51.109.2 GetBufferedValue
GetBufferedValue gets the next available value of the passed buffered input
variable. This function returns Success or Failure.
For more information, see section 51.111 “GetBufferedValue” on page 1782.
51.110 GetBufferSize
GetBufferSize returns the current buffer size (that is, the number of buffered values)
of a passed buffered input variable.
Note
A returned value of 0 indicates that the passed argument is not a buffered input
variable, or that there is no buffered input variable value. If two or more arguments
are passed, the program goes to Line E if one exists. When the program goes to
Line E, it indicates that an error has occurred.
Syntax
GetBufferSize (variable_name)
Example
You can use the following program to check the buffer size and if the number of
items in the buffer exceeds 15, empty the buffer.
Program File
Note
This program, BufferedVariablesTest.xml, is included in the Sample Import Files
folder in the Code Library. For more information, see section 52.24 “Working with
Code Library Sample Import Files” on page 1894.
51.111 GetBufferedValue
GetBufferedValue gets the next available value of the passed buffered input
variable. This function returns Success or Failure.
Note
If the returned value is zero, it is not a buffered input variable. If two or more
arguments are passed, the program is disabled or goes to Line E if one exists.
When the program goes to Line E, it indicates an error has occurred.
Syntax
GetBufferedValue (variable_name)
Example
You declare two buffered input variables (BIn1 and BIn2) and two output variables in
this example. BIn1 has the same value every time it is used as expected until a call
is made to the function GetBufferedValue to obtain the next buffered value. This
example checks to see if there are any buffered values for BIn1 by calling the
GetBufferSize function and making sure that the number of buffered values is
greater than zero. Then, it gets the next available value from the buffer. BIn1
assumes that newly-obtained value.
Program File
Numeric Buffered Input BIn1
Numeric Buffered Input BIn2
Numeric Output Out1
Numeric Output Out2
Out1 = BIn1 + BIn1
Out2 = 0
While GetBufferSize (BIn2) > 0
if GetBufferedValue (BIn2) = Success then
Out2 = Out2 + Bin2 'add all buffered values
Endif
EndWhile
51.112.1 NUMTOSTR
NUMTOSTR converts a number in a numeric variable or other numeric form to a
string variable so the number can be used in string operations. NUMTOSTR returns
the converted string value.
For more information, see section 51.113 “NUMTOSTR” on page 1784...
51.112.2 STRTODATE
STRTODATE returns a datetime that corresponds to the particular date and time
you specify in the date_time. The controller has a unique number for each
understandable moment in time.
For more information, see section 51.114 “STRTODATE” on page 1785..
51.112.3 STRTONUM
STRTONUM converts a string that contains a number in a string variable or other
string form to a numeric variable for use in mathematical operations. StrToNum
returns the converted numeric value.
For more information, see section 51.115 “STRTONUM” on page 1787..
51.113 NUMTOSTR
NUMTOSTR converts a number in a numeric variable or other numeric form to a
string variable so the number can be used in string operations. NUMTOSTR returns
the converted string value.
Syntax
NumToStr ( number )
Examples
The following program translates the number 240 into a string:
Program File
String Trans
Trans = NumToStr (240)
Print TRANS
TRANS is no longer numeric and cannot be used in calculations.
51.114 STRTODATE
Alias: STRTOTIME
STRTODATE returns a datetime that corresponds to the particular date and time
you specify in the date_time. The controller has a unique number for each
understandable moment in time.
The system uses this date_time to process information about the date and time. If
you print a variable that is equal to a STRTODATE, you receive the date_time.
Note
Be aware that STRTODATE converts a text string to local rather than UTC time.
To receive the date and time from STRTODATE, you must enter both the date and
the time in one continuous input line. You can position the time before the date on
that line, if you prefer.
You can set up the date in any reasonably interpretable format—using all numbers
or spelling the month as either the full word or the three-letter abbreviation. You can
also separate the month, day, and year with spaces, slashes, dashes, periods,
commas, or any combination of these punctuation characters.
DAY and MONTH If you prefer to put the day first, ensure that the day is obviously a
day. There are two ways that a day cannot be misinterpreted as a month:
• Spell the month as a word so that the day is the only other number so low.
• Use numbers for both month and day only if the day is greater than 12, since
any number between 1 and 12 could be a month.
The month can be any of the following options:
• JAN[UARY]
• FEB[RUARY]
• MAR[CH]
• APR[IL]
• MAY
• JUN[E]
• JUL[Y]
• AUG[UST]
• SEP[TEMBER]
• OCT[OBER]
• NOV[EMBER]
• DEC[EMBER]
YEAR
You must enter the year as a four-digit year after 2008.
WEEKDAY
Since the controller already knows the day of the week that corresponds to each
date, you don’t need the day. You can, however, place the day of the week after
the date. The day of week must be either the three-letter abbreviation or the
completely spelled-out name of the day.
Syntax
StrToDate (date_time)
Examples
Program File
CONV_DATE = StrToDate (‘SEPTEMBER-21-2000 11:00 pm’)
51.115 STRTONUM
Alias: VAL
STRTONUM converts a string that contains a number in a string variable or other
string form to a numeric variable for use in mathematical operations. StrToNum
returns the converted numeric value.
Once a number is in a numeric variable, the number can be used in mathematical
expressions and operations.
Syntax
StrToNum (string)
Examples
If you receive string input from the keyboard, but want the input to be numeric so
you can add another number, you use STRTONUM. The following program adds
the string (in quotation marks) that contains 78.5 to the number 92.8:
Program File
Numeric Trans
Trans = StrToNum ("78.5") + 92.8
Output
171.3
51.116.1 ABS
ABS returns the absolute value of number. The absolute value of any number,
positive or negative, is always the positive number.
For more information, see section 51.117 “ABS” on page 1790..
51.116.2 EXPONENTIAL
EXPONENTIAL returns a value equal to the base e raised to the number power.
For more information, see section 51.118 “EXPONENTIAL” on page 1791..
51.116.3 FACTORIAL
FACTORIAL returns the factorial of integer_expression.
For more information, see section 51.119 “FACTORIAL” on page 1792..
51.116.4 LN
LN returns the natural logarithm of any number_expression.
For more information, see section 51.120 “LN” on page 1793..
51.116.5 LOG
LOG returns the base 10 logarithm of integer_expression.
For more information, see section 51.121 “LOG” on page 1794..
51.116.6 RANDOM
RANDOM returns a random number from 0 to 32,767 using number. Random is
used to simulate real-life values to test programs.
For more information, see section 51.122 “RANDOM” on page 1795..
51.116.7 SQRT
SQRT returns the square root of the number.
51.116.8 SUM
SUM returns the sum of the listed items (Syntax 1), the sum of an array (Syntax 2),
or the sum of a numeric log (Syntax 3).
For more information, see section 51.124 “SUM” on page 1797.
51.117 ABS
ABS returns the absolute value of number. The absolute value of any number,
positive or negative, is always the positive number.
Syntax
ABS (number)
Examples
Example 1
You find the absolute value of -3 as follows:
Program File
Result=ABS(-3)
This statement sets RESULT to 3.
To maintain a setpoint temperature to within plus or minus 3 degrees, when the
temperature changes in either direction, the fan should blow in either the heating or
cooling as required.
In this situation, you should find the absolute value of the change to control the fan.
Whether the change is positive or negative makes no difference.
Example 2
Program File
If ABS(Temp_SP - Temp_2) >= 3 then run Fan_2
51.118 EXPONENTIAL
Alias: EXP
EXPONENTIAL returns a value equal to the base e raised to the number power.
Syntax
Exponential (number)
Examples
Example 1
Program File
EVAL = Exponential (0)
The result of e to the 0 power is 1. Because the EXPONENTIAL function returns 1,
EVAL is set to 1.
Example 2
Program File
R_VAL = Exponential (-1)
The result of e to the -1 power is 0.368, so R_VAL is set to 0.368.
51.119 FACTORIAL
Alias: FACT
FACTORIAL returns the factorial of integer_expression.
Syntax
Factorial (integer_expression)
Examples
The following statement sets FVAL to the result of factorial 3:
Program File
FVAL = Factorial (3)
The function returns 6, so FVAL = 6.
51.120 LN
LN returns the natural logarithm of any number_expression.
Syntax
LN (number_expression)
Table: LN Parameter
Parameter Description
Examples
Program File
LGVAL = LN(3.2)
The natural log is returned and placed in LGVAL.
51.121 LOG
LOG returns the base 10 logarithm of integer_expression.
Syntax
LOG (number_expression)
Examples
Program File
Result = LOG(10)
This statement sets RESULT equal to 1.
51.122 RANDOM
Alias: RND
RANDOM returns a random number from 0 to 32,767 using number. Random is
used to simulate real-life values to test programs.
You must vary the number to generate different random sequences. If you do not
vary the number, you can see a repetitious pattern of values emerging over time.
Syntax
Random (number)
Examples
To simulate fluctuations of temperature between 50 and 70 degrees, you put any
number in the number. To generate a result in the range of 20 possible
temperatures, you divide the random number you generate by 32767, which gives
you a number between 0 and 1. Then multiply the result by 20. Finally, add 50
degrees to set the bottom of the range.
Program File
Random (8)/32767 times 20
Finally you add the bottom of the range you are trying to simulate to the random
number:
Program File
Temp = (Random (8)/32767 times 20) + 50
51.123 SQRT
SQRT returns the square root of the number.
Syntax
SQRT (number)
Examples
Program File
MVAL = SQRT (4)
The SQRT function returns 2 and the statement sets MVAL to 2.
51.124 SUM
SUM returns the sum of the listed items (Syntax 1), the sum of an array (Syntax 2),
or the sum of a numeric log (Syntax 3).
Items in the list must all be either numbers or variables that contains numbers.
If any of the items in the list in Syntax 1 is an array or a log, the controller retrieves
the first item from the array or log and treats that item like any other single one in the
list.
Syntax
Format 1: Sum (numeric_list)
Format 2: Sum (numeric_array)
Format 3: Sum (numeric_log)
Examples
Example 1
To sum several timers, you place them directly in the SUM function statement. You
list them in parentheses after SUM, as follows:
Program File
Total_Timers = Sum (Timer1, Timer2. Timer3, Timer4)
Example 2
You have been storing calculated values in an array called PARTTME. You then use
the sum on that array, as follows:
Program File
TotalTime = Sum (PartTime)
Example 3
You have been logging temperatures in a log for several hours. To find the sum of
them, you find the sum of that log, as follows:
Program File
HourlyTot = Sum (TempLog)
Example 4
You find the sum of several temperatures in a list, including the current value of
TEMPLOG, as follows:
Program File
HourlyAvg = Sum (Tmp801, Tmp802, TempLog)
51.125.1 GETNAME
GETNAME changes the string to a name, such as the name of a defined point, so
the string can then be set to a value or used anywhere in the language that a point
name is allowed.
For more information, see section 51.126 “GETNAME” on page 1800...
51.125.2 ReadProperty
ReadProperty retrieves the value of a property of a BACnet object.
For more information, see section 51.127 “ReadProperty” on page 1804...
51.125.3 Relinquish
Relinquish relinquishes a command. (You may also use WriteProperty and pass no
argument for the value).
For more information, see section 51.128 “Relinquish” on page 1805..
51.125.4 WriteProperty
WriteProperty sets the value of a property of a BACnet object. The returned value is
either SUCCESS or FAILURE.
For more information, see section 51.129 “WriteProperty” on page 1806..
51.126 GETNAME
GETNAME changes the string to a name, such as the name of a defined point, so
the string can then be set to a value or used anywhere in the language that a point
name is allowed.
Getname can be used to give one name to a series of items in the database that
have the same root in their names. Each of the names is made up of a root abutted
with (joined to) a variable.
Syntax
Getname (string)
Getname (string, bacnet_broadcast_flag)
Parameter Description
Examples
Example 1
In the following example, GETNAME converts the "TEMP"; ROOM string to the
TEMP1, TEMP2, and other temperature point names up to TEMP10. These points
have been defined on the controller. The program prints the values of the points:
Program File
Numeric room
Line SettingRoom
Set Room = 1
Goto PrintingTemp
Line PrintingTemp
Print Getname("Temp";ROOM) TO Printer1
Goto GettingRoom
Line GettingRoom
Set Room = Room + 1
If Room is less than 11 then
Goto PrintingTemp
Else
Stop
Endif
Example 2
You can use GETNAME to get the value of a point from more than one controller. In
this example, the controllers are VAV box controllers called ROOM1, ROOM2,
ROOM3, and so on, up to ROOM10. Since each ROOM controller has a TEMP
point, GETNAME can easily retrieve that point from each controller:
Program File
Numeric room
Line SettingRoom
Room = 1
Goto CheckingTemp
Line CheckingTemp
If Getname("ROOM";ROOM;" TEMP") > 75 then
Print "Room |## IS |###", ROOM, GETNAME("Room"; ROOM;" TEMP")
Endif
Goto GetNextRoom
Line GetNextRoom
If room >= 10 then Stop
Room = Room + 1
Goto CheckingTemp
"Room"; ROOM; "Temp" gets the path to the TEMP point on the ROOM1 controller
first. Once the program gets the value of TEMP from each controller, the program
compares that value to the setpoint of 75. If the temperature is not at setpoint, the
program prints a message.
Example 3
Here is a program example using the bacnet_broadcast_flag argument:
Program File
Object ObjRef
Line GettingObject
ObjRef = Getname(“BCX2 \ ANALOGVALUE1”)
Line SettingObject
ObjRef = 72
Example 4
To get an attribute with GETNAME, you must include the full path in the GETNAME
string. (You cannot get the name and then follow that with an attribute.) Include the
attribute as follows:
Program File
Print Getname("Room"; room; "Temp VALUE")
Example 5
You can also get attributes of a point other than the value. This example retrieves
the STATE (enabled or disabled):
Program File
Print "The Lights are |*", Getname("Room";room;"Lights State")
Example 6
You can also get attributes of any other name defined in the control system
software, for example, the STATUS of a program called HEATING (active or
inactive):
Program File
Print "Status of Heating is|*",
Getname("Floor";FloorNum;"Heating STATUS")
Example 7
You can use GETNAME to generate a report on several points at a particular time.
For example, you can get the setting of the lights in a particular space, the status of
the lighting program, the setpoint at that time, the actual temperature at that time,
the airflow setpoint, and the actual airflow:
Program File
Numeric room
Line SetRoom
Room = 1
Print "Today’s Date and Time are ";DATE
Goto CheckRoom
Line CheckRoom
51.127 ReadProperty
ReadProperty retrieves the value of a property of a BACnet object.
Syntax
ReadProperty (object_property, index)
Products Supported
b3 series controllers, Automation Servers, Enterprise Servers
Examples
Example 1
Use ReadProperty to get a property value, without designating the property name:
Numeric Input AV1
Numeric Temp
Temp = ReadProperty (AV1)
Example 2
Use ReadProperty to get the description of an analog point and place it in a string
point:
String Input AV1_Description
String StringPoint
StringPoint = ReadProperty (AV1_Description)
Example 3
Use ReadProperty to get the value of a point, using index 3:
Numeric Input Indexed_Property
Numeric Temp
Temp = ReadProperty (Indexed_Property, 3)
51.128 Relinquish
Relinquish relinquishes a command. (You may also use WriteProperty and pass no
argument for the value).
Either an application program or operator issues a command to write to the
commandable property of a BACnet object, or relinquishes a command issued at
an earlier time.
A relinquish operation is similar to a WriteProperty operation, except that it places a
NULL value in the Priority_Array corresponding to the appropriate priority. When
that occurs, the next lower priority, non-NULL position, takes control of the
property.
If all the priority table array elements are NULL, the commandable property
assumes the one defined in the Relinquish Default property of the object.
Note
• Present Value is the commandable property for the following classes: Analog
Output, Binary Output, Multistate Output, Analog Value, Multistate value,
Binary Value.
Syntax
Relinquish (object_property, priority)
Products Supported
b3 series controllers, Automation Servers, Enterprise Servers
Example
Use Relinquish to relinquish the last command issued with priority 5. This statement
places a NULL in the fifth entry of the priority array (1-biased):
Numeric Output AV1
Relinquish (AV1,5)
51.129 WriteProperty
WriteProperty sets the value of a property of a BACnet object. The returned value is
either SUCCESS or FAILURE.
Syntax
WriteProperty (object_property, value, priority, index)
Products Supported
b3 series controllers, Automation Servers, Enterprise Servers
Examples
Example 1
Use WriteProperty to set the analog value of an object to 100.
‘Value property is assumed
Numeric Output AV1
WriteProperty (AV1, 100)
Example 2
Use WriteProperty to set the Present_Value property of an object to 100, using
priority 5:
Numeric Output AV1
WriteProperty (AV1, 100, 5)
Example 3
Use WriteProperty to relinquish a command using priority 5:
Exceptions
When an Automation Server or Enterprise Server program uses the WriteProperty
keyword to set the value of a BACnet object (including b3 objects), the value is
always written to priority 16. For example, if you bind the program’s output to an
analog value in $SERVER/BACnet Device/Application and add it to a task, the value
is written to the analog output’s priority 16.
To write to a specific priority in a BACnet object from an Automation Server or
Enterprise Server program, the program must be bound directly to the priority you
wish to write to. This means that the priority no longer gets passed an argument as
shown in the examples that follow.
‘bound to BACnet analog value AV1 Priority 5
Numeric output x
Numeric a
‘places the value of 100 into AV1 Priority 5 slot
WriteProperty (x, 100)
‘places the value of AV1 Priority 5 into variable a
a = ReadProperty (x)
‘relinquishes the AV1 Priority 5 value
Relinquish (x)
‘relinquishes the AV1 Priority 5 value
‘Value argument is not passed into the WriteProperty
‘function
WriteProperty (x, )
WriteProperty (x)
Syntax
Passed (arg_number)
Examples
You can create a function that takes an argument and checks to see if the
argument is passed. The function below returns the number of the argument that
has the highest value and also returns after finding the first argument that is not
passed. The function called MAXITEM, predefined in the language, is shown as
follows:
Function File
Numeric Count, Lastmax
Lastmax = 1
For Count = 1 TO 15
If not(Passed (Count)) then return (Lastmax)
If ARG[Count] > Lastmax then Lastmax = Count
Next Count
51.131.1 CEILING
CEILING rounds a number to the next larger integer on the number line and returns
that integer.
For more information, see section 51.132 “CEILING” on page 1810..
51.131.2 FLOOR
FLOOR returns the next smaller integer on the number line and returns that integer.
For more information, see section 51.133 “FLOOR” on page 1811..
51.131.3 ROUND
ROUND rounds a number to the nearest integer and returns that value.
For more information, see section 51.134 “ROUND” on page 1812..
51.131.4 TRUNCATE
TRUNCATE drops the fractional part of number and returns the integer.
For more information, see section 51.135 “TRUNCATE” on page 1813..
51.132 CEILING
CEILING rounds a number to the next larger integer on the number line and returns
that integer.
See ROUND for a comparison of all rounding functions.
Syntax
Ceiling (number)
Examples
Example 1
Program File
The following shows how the controller calculates the ceiling of -2.7:
Top = Ceiling(-2.7)
This statement returns -2.
Example 2
Program File
RndVal = Ceiling(4.3)
This statement returns 5.
51.133 FLOOR
FLOOR returns the next smaller integer on the number line and returns that integer.
Syntax
Floor (number)
Examples
Example 1
Program File
TmpVar = Floor (42.7)
This statement returns 42.
Example 2
Program File
Result = Floor(-1.1)
This statement returns -2.
51.134 ROUND
ROUND rounds a number to the nearest integer and returns that value.
The number is any number or expression.
ROUND, CEILING, FLOOR, and TRUNCATE are similar, but differ in the following
ways:
• ROUND rounds up if the decimal is .5 or higher and down if the decimal is
below .5. ROUND (-1.7) gives -2 (see figure below).
• CEILING always rounds up. CEILING (-2.7) gives the closest higher number on
the number line, -2. For more information, see section 51.132 “CEILING” on
page 1810.
• FLOOR always rounds down. FLOOR (-3.8) gives the closest lower number on
the number line, -4. For more information, see section 51.133 “FLOOR” on
page 1811.
• TRUNCATE cuts off the decimal value. TRUNCATE (-3.8) gives the integer
without the decimal, -3.
The following table illustrates how the four functions differ:
ROUND 4 5 -3 -4
CEILING 5 5 -3 -3
FLOOR 4 4 -4 -4
TRUNCATE 4 4 -3 -3
Syntax
Round (number)
Parameter Description
Examples
Example 1
Program File
Tmpvar = Round (-42.7)
This statement returns -43.
Example 2
Program File
Rndval = Round (4.3)
This statement returns 4.
51.135 TRUNCATE
Alias: TRUNC
TRUNCATE drops the fractional part of number and returns the integer.
Syntax
Truncate (number)
Examples
Example 1
Program File
CHP = Truncate (4.5)
TRUNCATE returns 4 and the program statement sets CHP to 4.
Example 2
Program File
VAL_C = Truncate (-1.7)
TRUNCATE returns -1 and the program statement sets VAL_C to -1.
51.136.1 AVERAGE
AVERAGE returns the average of a list of items, the average of the items in an array
you name, or the average of the items in the log you name.
For more information, see section 51.137 “AVERAGE” on page 1815..
51.136.2 MAXIMUM
MAXIMUM finds the maximum number in a list of numeric values, a numeric array,
or a numeric log.
For more information, see section 51.138 “MAXIMUM” on page 1817..
51.136.3 MAXITEM
MAXITEM finds the position of the largest number in a list, an array, or a log. For
example, MAXITEM returns 1 if the largest number is the first one in the list.
For more information, see section 51.139 “MAXITEM” on page 1819..
51.136.4 MINIMUM
MINIMUM finds the minimum number in a list of numeric values, a numeric array, or
a numeric log.
For more information, see section 51.140 “MINIMUM” on page 1821..
51.136.5 MINITEM
MINITEM finds the position of the smallest number in a list, an array, or log. For
example, MINITEM returns 1 if the smallest number is the first one in the list.
For more information, see section 51.141 “MINITEM” on page 1823..
51.136.6 StandardDeviation
StandardDeviation finds the standard deviation of a series of numbers.
For more information, see section 51.142 “StandardDeviation” on page 1825..
51.137 AVERAGE
Alias: AVG
AVERAGE returns the average of a list of items, the average of the items in an array
you name, or the average of the items in the log you name.
Syntax
Format 1: Average (numeric_list)
Format 2: Average (numeric_array)
Format 3: Average (numeric_log)
• Format 1 is supported in Building Operation and in field devices, such as b3
BACnet devices.
• Format 2 is supported for local variables declared in a program in Building
Operation and in field devices, such as b3 BACnet devices.
• Format 2 is not supported in a Script program running on a Building Operation
server, such as an Automation Server or Enterprise Server. This is true for
binding variables bound to a numeric, manual, array external to the program.
• Format 3 is supported in a program running in a field device like a b3 BACnet
device that accesses a numeric log.
• Format 3 is not supported in a Script program running in a Building Operation
server, such as an Automation Server or Enterprise Server. This is true for
binding variables bound to any numeric log in the server itself or any other
device, including field devices like b3 BACnet devices.
Items in the list must all be either numbers or variables that contain numbers.
Element numbers are not required. Omitting element numbers averages the entire
array or log.
Examples
Example 1
To average several temperatures, you place them directly in the AVERAGE function
statement. You list them in parentheses after AVERAGE, as follows:
Program File
Flr8_AVG = Average (TMP801, TMP802, TMP803, TMP804)
Example 2
Since you know a certain temperature varies, you have been storing readings in an
array called OAT. You then use the AVERAGE function on that array, as follows:
Program File
OAT_AVG = Average (OAT)
Example 3
You have been logging temperatures in a log, called TEMPLOG, for several hours.
To find their average, you use the AVERAGE function as follows:
Program File
HourlyAVG = Average (TEMPLOG)
51.138 MAXIMUM
Alias: MAX
MAXIMUM finds the maximum number in a list of numeric values, a numeric array,
or a numeric log.
Syntax
Format 1: Maximum (numeric_list)
Format 2: Maximum (numeric_array)
Format 3: Maximum (numeric_log)
• Format 1 is supported in Building Operation and in field devices, such as b3
BACnet devices.
• Format 2 is supported for local variables declared in a program in Building
Operation and in field devices, such as b3 BACnet devices.
• Format 2 is not supported in a Script program running on a Building Operation
server, such as an Automation Server or Enterprise Server. This is true for
binding variables bound to a numeric, manual, array external to the program.
• Format 3 is supported in a program running in a field device like a b3 BACnet
device that accesses a numeric log.
• Format 3 is not supported in a Script program running in a Building Operation
server, such as an Automation Server or Enterprise Server. This is true for
binding variables bound to any numeric log in the server itself or any other
device, including field devices like b3 BACnet devices.
Items in the list must all be either numbers or variables that contain numbers.
If any of the items in the list in Format 1 is an array or a log but does not indicate an
element number, the controller retrieves the current value of the point and treats
that point like any other single item in the list.
Examples
Example 1
The MAXIMUM function finds the maximum number in a list of variables as follows:
Program File
TOPNUMBER = Maximum (Zone1, Zone2, Zone3, Zone4)
The TOPNUMBER variable is assigned the maximum value found.
Example 2
You can find the maximum number of kilowatts (KW) in the array of variables as
follows:
Program File
TOPNUMBER = Maximum (KW)
Example 3
You find the highest of several temperatures, including the current value of
TEMPLOG, as follows:
Program File
TOPNUMBER = Maximum (TMP801, TMP802, TEMPLOG)
In this example, TEMPLOG is interpreted as the current value of TEMPLOG.
51.139 MAXITEM
MAXITEM finds the position of the largest number in a list, an array, or a log. For
example, MAXITEM returns 1 if the largest number is the first one in the list.
Syntax
Format 1: Maxitem (numeric_list)
Format 2: Maxitem (numeric_array)
Format 3: Maxitem (numeric_log)
• Format 1 is supported in Building Operation and in field devices, such as b3
BACnet devices.
• Format 2 is supported for local variables declared in a program in Building
Operation and in field devices, such as b3 BACnet devices.
• Format 2 is not supported in a Script program running on a Building Operation
server, such as an Automation Server or Enterprise Server. This is true for
binding variables bound to a numeric, manual, array external to the program.
• Format 3 is supported in a program running in a field device like a b3 BACnet
device that accesses a numeric log.
• Format 3 is not supported in a Script program running in a Building Operation
server, such as an Automation Server or Enterprise Server. This is true for
binding variables bound to any numeric log in the server itself or any other
device, including field devices like b3 BACnet devices.
If any of the items in the list in Format 1 is an array or a log, the controller retrieves
the first item from the array or log and treats that item like any other single item in
the list.
Examples
Example 1
To find the position of the largest number in a series of numbers, you enter the
series in the parentheses:
Program File
Temp1 = 60
Temp2 = 65
Temp3 = 70
Temp4 = 67
Maxitem (Temp1, Temp2, Temp3, Temp4)
The Maxitem statement returns 3, because the third item in the list contains the
largest number.
Example 2
To find the index position of the largest number in an array, you give the array name
in parentheses:
Program File
Maxitem (KW)
Example 3
To find the index position of the largest number in a log, you give the log name in
parentheses:
Program File
Maxitem(Temp)
Example 4
You find the position of the highest of several temperatures in a list, including the
current value of TEMPLOG, as follows:
Program File
Maxindex = Maxitem (TMP801, TMP802, TEMPLOG)
In this example, TEMPLOG is interpreted as the current value of TEMPLOG.
51.140 MINIMUM
MINIMUM finds the minimum number in a list of numeric values, a numeric array, or
a numeric log.
Items in the list must all be either numbers or variables that contains numbers.
If any of the items in the list in Format 1 is an array or a log but does not indicate an
element number, the controller retrieves the current value of the point and treats
that value like any other single item in the list.
Syntax
Format 1: Minimum (numeric_list)
Format 2: Minimum (numeric_array)
Format 3: Minimum (numeric_log)
• Format 1 is supported in Building Operation and in field devices, such as b3
BACnet devices.
• Format 2 is supported for local variables declared in a program in Building
Operation and in field devices, such as b3 BACnet devices.
• Format 2 is not supported in a Script program running on a Building Operation
server, such as an Automation Server or Enterprise Server. This is true for
binding variables bound to a numeric, manual, array external to the program.
• Format 3 is supported in a program running in a field device like a b3 BACnet
device that accesses a numeric log.
• Format 3 is not supported in a Script program running in a Building Operation
server, such as an Automation Server or Enterprise Server. This is true for
binding variables bound to any numeric log in the server itself or any other
device, including field devices like b3 BACnet devices.
Examples
Example 1
The MINIMUM function finds the minimum number in a list of variables as follows:
Program File
BotNumber = Minimum (Zone1, Zone2, Zone3, Zone4)
The BotNumber variable is assigned the minimum value found.
Example 2
You can find the minimum number of kilowatts in the array of variables as follows:
Program File
51.141 MINITEM
MINITEM finds the position of the smallest number in a list, an array, or log. For
example, MINITEM returns 1 if the smallest number is the first one in the list.
If any of the items in the list in Format 1 is an array or a log, the controller retrieves
the first item from the array or log and treats that item like any other single item in
the list.
Syntax
Format 1: Minitem (numeric_list)
Format 2: Minitem (numeric_array)
Format 3: Minitem (numeric_log)
• Format 1 is supported in Building Operation and in field devices, such as b3
BACnet devices.
• Format 2 is supported for local variables declared in a program in Building
Operation and in field devices, such as b3 BACnet devices.
• Format 2 is not supported in a Script program running on a Building Operation
server, such as an Automation Server or Enterprise Server. This is true for
binding variables bound to a numeric, manual, array external to the program.
• Format 3 is supported in a program running in a field device like a b3 BACnet
device that accesses a numeric log.
• Format 3 is not supported in a Script program running in a Building Operation
server, such as an Automation Server or Enterprise Server. This is true for
binding variables bound to any numeric log in the server itself or any other
device, including field devices like b3 BACnet devices.
Examples
Example 1
To find the position of the smallest number in a series of numbers, you enter the
series in the parentheses:
Program File
Temp1 = 60
Temp2 = 65
Temp3 = 70
Temp4 = 67
Minitem (Temp1, Temp2, Temp3, Temp4)
The MINITEM statement returns 2, because the second item in the list contains the
smallest number.
Example 2
To find the index position of the smallest number in an array, you give the array
name in parentheses:
Program File
Minindex = Minitem (KW)
Example 3
To find the index position of the smallest number in a log, called TEMPLOG, you
give the log name in parentheses:
Program File
Minindex = Minitem (TEMPLOG)
Example 4
You find the position of the lowest of several temperatures in a list, including the
current value of TEMPLOG, as follows:
Program File
Minindex = Minitem(TMP801, TMP802, TEMPLOG)
In this example, TEMPLOG is interpreted as the current value of TEMPLOG.
51.142 StandardDeviation
Alias: SD
StandardDeviation finds the standard deviation of a series of numbers.
The standard deviation is the result of the following steps:
Items in the list must all be either numbers or variables that contain numbers.
If any of the items in the list in Format 1 is an array or a log but does not indicate an
element number, the controller retrieves the current value of the point and treats
that point like any other single item in the list.
Syntax
Format 1: StandardDeviation (numeric_list)
Returns the standard deviation of the listed items.
Format 2: StandardDeviation (numeric_array)
Returns the standard deviation of the items in the array.
Format 3: StandardDeviation (numeric_log)
Returns the standard deviation of the items in the log.
• Format 1 is supported in Building Operation and in field devices, such as b3
BACnet devices.
• Format 2 is supported for local variables declared in a program in Building
Operation and in field devices, such as b3 BACnet devices.
• Format 2 is not supported in a Script program running on a Building Operation
server, such as an Automation Server or Enterprise Server. This is true for
binding variables bound to a numeric, manual, array external to the program.
• Format 3 is supported in a program running in a field device like a b3 BACnet
device that accesses a numeric log.
• Format 3 is not supported in a Script program running in a Building Operation
server, such as an Automation Server or Enterprise Server. This is true for
binding variables bound to any numeric log in the server itself or any other
device, including field devices like b3 BACnet devices.
Examples
Example 1
To find the standard deviation of several temperatures, you place them directly in
the STANDARDDEVIATION statement. You list them in parentheses as follows:
Program File
TempDev = StandardDeviation (70, 72, 74)
The standard deviation returned is 2.
Example 2
Since you know a certain temperature varies, you have been storing readings in an
array called VARTMP. You then use the STANDARDDEVIATION function on that
array, as follows:
Program File
Variation = StandardDeviation (VARTMP)
Example 3
You have been logging temperatures in a log for several hours. You find the
standard deviation of them as follows:
Program File
Deviance = StandardDeviation (TEMPLOG)
Example 4
You find the standard deviation of several temperatures in a list, including the
current value of TEMPLOG, as follows:
Program File
StdDev = StandardDeviation (TMP1, TMP2, TEMPLOG)
In this example, TEMPLOG is interpreted as the current value of TEMPLOG.
51.143.1 ASC
ASC returns the ASCII value of the first character of the string.
For more information, see section 51.144 “ASC” on page 1829..
51.143.2 CHR
CHR returns one character whose ASCII code is number. CHR can be used to
send non-printing characters to a terminal, computer, or printer to initiate action.
For more information, see section 51.145 “CHR” on page 1830..
51.143.3 LEFT
LEFT returns a string consisting of the leftmost characters of string with a length
specified by integer.
For more information, see section 51.146 “LEFT” on page 1831..
51.143.4 LENGTH
LENGTH returns the number of characters in the string.
For more information, see section 51.147 “LENGTH” on page 1832..
51.143.5 MID
MID returns a string number character extracted from the string starting at offset.
For more information, see section 51.148 “MID” on page 1833..
51.143.6 RIGHT
RIGHT returns the number of requested characters (the integer) from the text string
starting from the right side (end) and counting left.
For more information, see section 51.149 “RIGHT” on page 1834..
51.143.7 SEARCH
SEARCH returns the position of the given search_string within string or 0 if the
controller can’t find the search_string.
For more information, see section 51.150 “SEARCH” on page 1835..
51.143.8 STRINGFILL
STRINGFILL returns a string of number length containing a particular character that
you specify with the ASCII character code named by character code.
For more information, see section 51.151 “STRINGFILL” on page 1836..
51.143.9 TAB
TAB returns a series of continuous blank spaces. The number of blank spaces is
number.
For more information, see section 51.152 “TAB” on page 1838..
51.144 ASC
ASC returns the ASCII value of the first character of the string.
Syntax
ASC (string)
Examples
This statement returns 83, which is the ASCII value of the character S:
Program File
ASC ("S")
51.145 CHR
CHR returns one character whose ASCII code is number. CHR can be used to
send non-printing characters to a terminal, computer, or printer to initiate action.
Syntax
CHR (number)
Examples
Example 1
After several pages of messages print, you then want to send a report to that
printer.
You make sure the report starts on a clean sheet of paper by sending an instruction
telling the printer to bring the paper to the top of a new page. This action is called a
formfeed. The code to generate a formfeed is 12. You write the formfeed as follows:
Program File
‘Generate a formfeed and report title
Print CHR(12); "Weekly Energy Report"
Example 2
Another way to use the CHR function is to send a bell to a terminal, computer, or
printer to warn that the ERRORS variable has reached a critically high value. The
ASCII code to generate a bell sound is 7. You write the errors variable notification as
follows:
Program File
‘Decides if too many errors are not acknowledged and generates a
bell
If errors > 15 then print CHR(7)
51.146 LEFT
Alias: FIRST
LEFT returns a string consisting of the leftmost characters of string with a length
specified by integer.
Syntax
Left (string, integer)
Examples
Example 1
Program File
LVAL = Left("ABCDEF", 2)
This statement returns AB.
Example 2
Suppose that the TEXT variable contains ROOM808; the following statement
retrieves the word ROOM by carrying out the LEFT function:
Program File
LVAL = Left(TEXT, 4)
This statement returns ROOM.
51.147 LENGTH
Alias: LEN
LENGTH returns the number of characters in the string.
Syntax
Length (string)
Examples
Example 1
Program File
Result = Length ("ABCDE")
The LENGTH function returns 5 and the statement sets RESULT to 5.
Example 2
Program File
Result = Length ("")
The LENGTH function returns 0 and the statement sets RESULT to 0.
51.148 MID
MID returns a string number character extracted from the string starting at offset.
Syntax
MID (string, offset, number)
Examples
Example 1
Program File
MIDSTR = MID("ABCDE", 2, 3)
MID returns BCD and the statement sets MIDSTR to BCD.
Example 2
Program File
PARTSTR = MID (ABCDE, 9, 2) returns " ".
51.149 RIGHT
Alias: LAST
RIGHT returns the number of requested characters (the integer) from the text string
starting from the right side (end) and counting left.
Syntax
Right ( string, integer )
Example
Program File
RGTVAL = Right ("ABCDE", 3)
This statement returns CDE.
51.150 SEARCH
SEARCH returns the position of the given search_string within string or 0 if the
controller can’t find the search_string.
Syntax
Search (string, search_string)
Examples
Example 1
Program File
NSTR = Search ("ABCDE", "BC")
The search returns 2 and sets NSTR to 2, the position BC starts at in the string.
Example 2
Program File
NSTR = Search ("ABCDE", "CB")
The search returns 0 and sets NSTR to 0 because CB is not in the string.
51.151 STRINGFILL
STRINGFILL returns a string of number length containing a particular character that
you specify with the ASCII character code named by character code.
Syntax
Stringfill (number, charactercode)
Examples
Example 1
Suppose you want to print a series of 60 asterisks across the top of a report. You
use STRINGFILL to print the asterisks by providing the number 60 for the number of
asterisks, and the number 42 as the ASCII code for the asterisk, as follows:
Print Stringfill(60, 42)
Example 2
You can draw dashed horizontal lines in a report using STRINGFILL by providing
the number of spaces you want the line to print across (60) and the ASCII code for a
dash (45):
Report File
Print Stringfill(60, 45)
Example 3
Suppose you want to design a graph to show the peak kilowatt demand for each
day in the last week. You can create a bar graph by filling the appropriate number of
spaces with, for example, asterisks. The following program sets up such a graph:
Program File
Numeric ShortDays, DayX
Print "Peak KW Demand for Week"
Print " "
For DayX = 1 TO 7
Print ST(ShortDays, DayX);" | "; ~
Stringfill (KWD[DayX]/100, 42)
Next DayX
Print " +----+----+----+----+----+"
Print " 0 500 1000 1500 2000 2500 "
The program prints the title and proceeds to a FOR...NEXT loop.
Inside the FOR...NEXT loop, the program first prints the short name of the weekday,
based on the number for the day (1 for SUN) using a customized function called ST.
Next, the program prints a plus sign after the name.
STRINGFILL then uses two values to print the kilowatt demand for that day:
Kilowatt demand for the day from the KWD array (KWD[1] = Sunday’s kilowatt
demand, KWD[2] = Monday’s kilowatt demand, and KWD[3] = Tuesday’s kilowatt
demand, and so on.
ASCII code for the asterisk (42).
To see how STRINGFILL uses these two values, take a look at Sunday in the graph
the program produces:
Program File Output
PEAK KWDEMAND FOR WEEK
SUN +******
MON +**********
TUE +********
WED +*********
THU +*******
FRI +********
SAT +***
+---+-----+-----+-----+-----+
0 500 1000 1500 2000 2500
First the program retrieves Sunday’s kilowatt demand from the KWD array.
Sunday’s kilowatt demand is 600 Kw. The program divides the demand by 100,
giving 6. So STRINGFILL prints six asterisks for Sunday.
The program then retrieves Monday’s kilowatt demand from the KWD array.
Monday’s kilowatt demand is 1000 Kw. The program divides the demand by 100,
giving 10. So STRINGFILL prints 10 asterisks for Monday.
The program continues to carry out the same process for each day of the week.
After printing Saturday’s kilowatt demand, the program prints the scale for the
graph, which displays 0 to 2500 Kw.
51.152 TAB
TAB returns a series of continuous blank spaces. The number of blank spaces is
number.
Syntax
Tab (number)
Examples
Program File
Print Tab (10); "This is a Title"
Output
This is a Title
The text is moved ten spaces to the right.
51.153.1 DIFFTIME
DIFFTIME calculates the difference in whole seconds, minutes, hours, or days
between two dates and times, date_time1 and date_time2. (Subtracts date_time1
from date_time2.)
For more information, see section 51.154 “DIFFTIME” on page 1840..
51.153.2 TIMEPIECE
TIMEPIECE retrieves the piece of time (hour, minute, second) or the piece of the
date (weekday, month, day of the month, year, day of the year) from a variable or
point.
For more information, see section 51.155 “TIMEPIECE” on page 1842..
51.154 DIFFTIME
DIFFTIME calculates the difference in whole seconds, minutes, hours, or days
between two dates and times, date_time1 and date_time2. (Subtracts date_time1
from date_time2.)
Syntax
Syntax 1: Difftime ( SECOND, date_time1, date_time2 )
Calculates the difference in whole seconds between two dates and times,
date_time1 and date_time2. (Subtracts date_time1 from date_time2.)
Syntax 2: Difftime ( MINUTE, date_time1, date_time2 )
Calculates the different in whole minutes between two dates and times, date_time1
and date_time2. (Subtracts date_time1 from date_time2.)
Syntax 3: Difftime ( HOUR, date_time1, date_time2 )
Calculates the different in whole hours between two dates ad times, date_time1
and date_time2. (Subtracts date_time1 from date_time2.)
Syntax 4: Difftime ( WKD, date_time1, date_time2 )
Calculates and returns the different in whole days between two times and dates,
date_time1 and date_time2. (Subtracts date_time1 from date_time2.)
Examples
Example 1
You can use DIFFTIME with SECOND to determine how many seconds have
passed. The sample program below calculates the difference between two readings
of the datetime variable TIMER.
Program File
Datetime Timer[2]
If Difftime (second, Timer[1], Timer[2]) > 30 then Run Test
The statement determines the result of TIMER[2] - TIMER[1]. If the difference is
greater than 30 seconds, TEST runs.
You would substitute MINUTE or HOUR in the above example to get time difference
in minutes or hours.
Example 2
You can use DIFFTIME with WKD to determine how many days have passed. The
sample program that follows calculates the difference between the old date (stored
in the OLDDATE variable) and the current date (in the DATE system variable).
Program File
Datetime Timer[2]
Result = Difftime (WKD, OLDTIME, DATE)
The statement sets RESULT to the number of days that DATE - OLDDATE gives.
51.155 TIMEPIECE
TIMEPIECE retrieves the piece of time (hour, minute, second) or the piece of the
date (weekday, month, day of the month, year, day of the year) from a variable or
point.
Note
Be aware that the days of the week correspond to the following digits:
• Sunday = 1
• Monday = 2
• Tuesday = 3
• Wednesday = 4
• Thursday = 5
• Friday = 6
• Saturday = 7
Syntax
Timepiece (datetime_system_variable, datetime_name)
Examples
Example 1
Program File
Datetime Date1
Numeric CurrentMin
Date1 = StrToDate ("5-25-98 11:13:23")
CurrentMin = Timepiece (Minute, Date1)
In this program, the TIMEPIECE function retrieves the minute from DATE1 and
returns 13.
Example 2
Program File
Numeric TodayMonth
TodayMonth = Timepiece (Month, Date)
In this program, the TIMEPIECE function retrieves the month from the DATE system
variable. If the date is June 20, 2005, TODAYMONTH is set to JUNE.
51.156.1 ACOS
ACOS returns the arccosine of the given number.
For more information, see section 51.157 “ACOS” on page 1844..
51.156.2 ASIN
ASIN returns the arcsine of the number.
For more information, see section 51.158 “ASIN” on page 1845..
51.156.3 ATAN
ATAN returns the arctangent of number.
For more information, see section 51.159 “ATAN” on page 1846..
51.156.4 ATAN2
ATAN2 returns an angle with a sine of sin and a cosine of cos.
For more information, see section 51.160 “ATAN2” on page 1847..
51.156.5 COS
COS returns the cosine of number.
For more information, see section 51.161 “COS” on page 1848..
51.156.6 SIN
SIN returns the sine of the angle you specify.
For more information, see section 51.162 “SIN” on page 1849..
51.156.7 TAN
TAN returns the tangent of number.
For more information, see section 51.163 “TAN” on page 1850..
51.157 ACOS
Alias: ARCCOSINE
ACOS returns the arccosine of the given number.
Syntax
ACOS (number)
Examples
Program File
AN_VALUE = ACOS(.7071)
51.158 ASIN
Alias: ARCSINE
ASIN returns the arcsine of the number.
Syntax
ASIN (number)
Examples
Program File
Result = ASIN(1)
51.159 ATAN
Alias: ARCTANGENT
ATAN returns the arctangent of number.
Syntax
ATAN (number)
Examples
Program File
Val_ARC = ATAN(0)
51.160 ATAN2
Alias: ARCTANGENT2
ATAN2 returns an angle with a sine of sin and a cosine of cos.
Syntax
ATAN2 (sin, cos)
Examples
Program File
Ang_Damper = ATAN2(0.0, 1.0)
51.161 COS
Alias: COSINE
COS returns the cosine of number.
Syntax
COS (number)
Examples
Example 1
Program File
My_COS = COS(3.14159/2)
Example 2
Program File
My_COS = COS(angle)
51.162 SIN
Alias: SINE
SIN returns the sine of the angle you specify.
Syntax
SIN (number)
Examples
Program File
Result = SIN (1)
51.163 TAN
Alias: TANGENT
TAN returns the tangent of number.
Syntax
TAN (number)
Examples
Program File
Position = TAN (3.14159/180)
Topics
Script Editor Overview
Script Editor Program Creation
Script Compiler Errors
Script Runtime Errors
Script Editor Features
Script Editor Program Elements and Colors
Keyboard Shortcuts for Script Editor
Collapsible Code Segments
Adding a Line
Script Auto-Completion
Using Script Auto-Completion
Script Editor Initial Binding Variable Values
Comments in Script Programs
Adding a Comment
Checking and Saving a Script Program
Executing a Script Program
Importing Script Program Code
Exporting a Script Program
Converting a Plain English File
Customizing the Script Editor
Using a Collapsible Script Code Block
Adding an Entry to the Code Library
Working with Code Library Folders
Working with Code Library Sample Import Files
Working with Code Library Items
Inserting a Code Library Item in a Script Program or
Function
Referencing the Code Library File
Finding Text in Script Editor
Using Undo and Redo in Script Editor
Script Debugger
Script Debugger Function Keys
Debugging a Script Program
Controlling the Trace Operation in the Script Debugger
Changing Values in the Script Debugger Local or Binding
Variables Pane
52 Script Editor
52.1 Script Editor Overview
Important
Ensure that you have a working and available Script license. A working license is
required to start Script. For more information, see the Licenses topic on
WebHelp.
By using bindings, you can increase the flexibility of your building automation
system. For example, you can use your OfficeLights program to control lighting and
ventilation in one room and then use that program for another room by changing
the bindings. You do not need to change all of the local variable names to suit the
new program. When you are finished, you use Script Editor to check the program
for errors and save the program.
1001
Continued
Error Error Text
Continued
Error Error Text
1095 No Errors.
Stack Overflow
Illegal argument
Invalid destination
Illegal import ID
Preparse failed
Continued
Error Text
Execution failed
Comm failed
Text Black
Keyword Blue
Value Maroon
String Red
Number Navy
Operator Teal
Comment Green
Ctrl + Insert or CTRL + C Copies selected text and stores that text in
the clipboard.
Shift + Delete or CTRL + X Cuts the selected text and stores that text in
the clipboard.
Shift + Insert or CTRL + V Pastes the text you last cut or copied at the
current cursor position in your program.
52.8.1 Clipboard
You use the Clipboard pane as the area to store copied and cut items while
programming. You can paste items from the Clipboard into any of the program
editor panes that are being used. For example, by double-clicking on an item in the
clipboard pane, you can insert that text into the program where the cursor is
currently located.
You access the cut, copy, and paste commands in one of two ways:
• By using the toolbar buttons
• Through the use of keyboard shortcuts
Figure: Folders
A code library folder is made up of frequently used units of text called entries. These
entries can be single words, a full code line, a function, or even an entire Script
program. You can decide how much and what kind of text is stored as an item
according to your programming preferences.
You can also give entries meaningful names to help you identify and use them
easily. You can reference the code library file from anywhere on the PC that you use
to run WorkStation.
To add a line
1. In Script Editor, type a line label that is preceded by the Line keyword or
followed by a colon, and then add the instructions that belong to the line label.
You have now added line labels and instructions in your program.
Figure: Auto-completion
As more characters are typed, the list shrinks as the possible matches decrease. If
there are no matches, the box closes automatically.
ToolTips display next to the text options with information about each, such as
function description, keyword name, and function parameters. You can use
ToolTips to auto-complete the text by selecting any of the options listed.
Tip
With this method, you can issue a GoTo statement to the initialization line
anywhere in the program. This GoTo statement directs the program to re-execute
the initialization statements and start over (based on program execution logic).
Note
• Script supports characters at or below ASCII 127. Additional characters are
not supported and are replaced by a question mark (?).
To add a comment
1. In Script Editor, type a single quotation mark (') and then type a comment.
You can add a comment at the beginning of the program or function to explain its
purpose. You can also add comments at the end of any statement in a Script
program or function.
Important
If you save a program that contains errors, that program will not run. The progam
must have a successful check before running.
For more information, see section 50.3 “Script Programs” on page 1565.
8. In the Script Program Properties Basic tab, observe that the Runtime
fields, such as TS, TM, and TH, update as the program executes.
Tip
• When a Plain English .txt file is imported, you have to load the file
and complete a conversion process. As a result of these
conversions, you may need to make adjustments to the
imported script program code.
Note
• To import text into a new program, create the program in a text editor first
and then import the .txt file.
For more information, see section 50.3 “Script Programs” on page 1565.
4. Click the Script menu icon , point to Import and then click Plain
English.
5. Click Load file to load an entire PE file, or paste the text you want from your
PE program or function into the Plain English Editor pane.
12. In the Display items list, select the Script programming language element
you want to locate and highlight in your program.
For example, specify that a string in your Script program is highlighted in red.
13. Click Apply. Notice that the string in your Script program is now highlighted.
5. Click Add.
4. To change a folder name, right-click and click Rename folder. Then, enter a
new name for the folder and click OK.
5. To delete a folder and its contents, right-click and click Delete folder. Then,
click Yes.
3. Double-click the sample import file you want, such as WebService SOAP US
City Weather by ZipCode.xml file.
Tip
By default, the path for the import is the Server. You cannot change
Continued on next page
the path.
4. Click Import.
All of the objects contained in the import sample file are created in the server.
5. In the List View, click the City Zip Code variable and on the File menu, click
Properties.
6. Enter the zip code you want, such as 01845 for North Andover, MA.
7. Click OK.
Continued on next page
8. Drag these City values to the Watch pane and observe the functioning
program as it obtains the temperature and humidity for zip code 01845.
9. In the List View, click the GET US City Weather by Zip Code program.
10. On the Actions menu, click Edit.
Continued on next page
12. Click Save to execute the updated GET US City Weather by Zip Code
program.
The item appears at your insertion point in the Script program or function.
4. Click OK.
Important
• Use this method when you want to search only the current program.
For more information, see section 52.5 “Script Editor Features” on page 1864.
1. In Script Editor, click the Undo button to undo the last keystroke or
action.
2. Click the Redo button to repeat the last keystroke or action that you
previously undid.
Note
• The limit of Undo and Redo actions is forward or backwards by
24 instances.
Note
Nested function calls are also not supported in the Script Debugger.
5. Click Trace On to initate a continuous single step operation. This saves you
from having to constantly press Step.
Note
The icon beside the program name changes to indicate the Script
Editor is now in Debug mode. Be aware that you can only debug one
program at a time.
11. Right click and select Set next statement from the Script Editor context
menu.
That line in the program gets highlighted.
For example, you can change values here to force a shutdown in case the
boiler temperature rises above 100°.
6. Click Stop to exit the Script Debugger.
Topics
Script Web Services
Script Web Services Workflow
Creating a Script Web Service Interface
Configuring a Script Web Service Interface
Configuring a Script Program to use Web Services
Script SOAP Web Services Data Type
Script RESTful Web Services
Using Script to Send a Request to a RESTful Web Service
Using Script to Obtain a Secure Web Page from a RESTful
Web Service
53 Script Web Services
53.1 Script Web Services
For more information, see section 53.2 “Script Web Services Workflow” on page
1919.
You then create a Script program named Calculator Program and configure this
Script program to use Web Services. In this example, you use the Webservice
keyword to declare the Web Service in the program.
4. In the Name box, type the name of the Web Service interface.
5. In the Description box, type a description of the Web Service interface.
6. Click Create.
4. In the Wsdl Url box, type the URL or a WSDL file located on a local PC or on
the Internet.
Continued on next page
5. In the Service box, enter the name of the service you want to target.
Tip
• When you create a Web Service, you should ensure that your PC
can connect to the target service.
6. In the EndPoint box, type the URL of the machine where the Web Service
calls are processed.
Note
• Typically, the WSDL file defines the EndPoint, in which case, this
box is completed automatically. In some circumstances, you
may still need to enter an EndPoint, however.
7. Click OK.
10. In the Variables pane, view the results of the Web Service program.
Tip
Web Service method calls need their own execution lines within Script programs.
In Script Editor, you use the .(dot) syntax to select the Web Service execution
method as shown here.
Tip
When you create a Web Service, be sure that your PC can connect to the target
service.
53.7.1 SendWebRequest
The SendWebRequest system function sends a request to a Uniform Resource
Locator (URL). Requests are sent from the running program in Script to a particular
Universal Resource Identifier (URI) following standard HTTP protocols.
The syntax for SendWebRequest is as follows:
SendWebRequest(BaseUrl,Method,ContentType,Headers,Message)
where:
• BaseUrl – A string with the location of the base URL to request data.
• Method – A string that contains the method type to access the URL. It can
take the following values:
– "POST"
– "GET"
• Headers – The headers for the HTTP message. Header fields are colon-
separated name-value pairs that can be concatenated with semi-colons (for
example, "IsMobileApp:TRUE;IsAndroidClient:TRUE")
• ContentType – A string that contains the content type. It is usually defined by
the target URL itself.
• Message – A string that contains the message sent to the URL. It is usually in
query-string values.
The return value is a string, usually in XML, that contains the response from the Web
Service.
53.7.2 UrlEncode
The UrlEncode system function encodes the entire URL, including the message
with its query-string values. If characters, such as blanks, punctuation marks, and
arithmetic are passed directly to the HTTP stream, they may be misinterpreted and
result in the return of incorrect results. This function converts characters that are not
allowed in a URL into their equivalents.
The syntax for UrlEncode is as follows:
UrlEncode(Message)
where:
Message is a string that needs Url encoding.
The return value is a string with valid characters the HTTP stream transmits.
14. Click the Outputs tab and observe the resultXMLString output for zip code
02109.
14. Click the Outputs tab and observe the webPageString output.
Topics
Script Editor
Script Editor Toolbars
Script Editor – Binding Variables Pane
Script Editor – Local Variables Pane
Script Editor Shortcut Menu
Import Plain English Dialog Box
Script Program Properties – Basic Tab
Script Program Properties – Advanced Tab
Script Program Properties – Inputs Tab
Script Program Properties – Outputs Tab
Script Program Properties – Publics Tab
Script Program Properties – Functions Tab
Script Program Properties – Web Services Tab
Script Function Properties – Basic Tab
Script Function Properties – Inputs Tab
Script Function Properties – Outputs Tab
Script Function Properties – Publics Tab
Script Function Properties – Functions Tab
Script Web Service – Basic Tab
Script Web Service – Methods Tab
54 Script User Interface
54.1 Script Editor
Figure:
Clipboard pane
Use this pane to store copied and cut items
to use in Script programming. By double-
clicking on an item in the clipboard pane,
you can insert that text into the program
where the cursor is currently located.
Continued
Number Description
Status bar
Use this pane to review the path of the active
Script program or function. You can view the
line and column where the cursor is
positioned within the current editor pane.
The status bar also identifies the input
method, Insert or Overwrite, currently being
used in the editor.
Properties pane
Use this pane to view and change general,
configuration, and runtime information about
your Script programs and fuctions and their
inputs and outputs tabs.
Check pane
Use this pane to review the results of your
program compilation, including any syntax
errors. If the Script Editor checks a program
and finds no errors, a Check Successful
message displays. If errors occur, they
display with the error message number, line
and column location within the program, and
text or keywords involved.
Continued
Number Description
Find pane
Use this pane to locate and display queried
text. The Find pane displays the queried text
in quotes on the first line of the pane, the
open program the instance is located in, the
line number within the program where the
text can be found, and the context in which
the queried text is found.
Bindings view
Click to display the Bindings view for a Script
program. You can access the Bindings view
without leaving the Script Editor. For more
information, see section 50.16 “Local
Variable Declarations” on page 1592.
Open
Click to open an existing Script or b3
program or function.
Save
Click to save the currently active program.
Save All
Click to save all open programs.
Print
Click to print the current program.
Cut
Click to cut the selected text.
Copy
Click to copy the selected text.
Paste
Click to paste text.
Window
Click to open a pane or activate a minimized
pane.
Options
Click to configure program editor options
such as fonts, colors, layout, and code
library path.
Refresh
Click to refresh the focus window in the
Script Editor.
Continued
Button Description
Script Bindings
Click to display the read-only Script Binding
View which shows the path for the local
bindings variables in your Script programs.
Check
Click to check a program file for syntax
errors.
Check All
Click to check all open program files for
syntax errors.
Start
Initiates a Script Debugger session. As the
debugger proceeds, it highlights the current
executing line in the Script program.
Stop
Terminates a Script Debugger session.
Trace On
Initiates a continuous single step operation
without the need to keep pressing the Step
icon.
Trace Off
Terminates the continuous single step
operation.
Go
Continuously executes a Script program until
a breakpoint is reached or execution ends.
Step
Goes to the next executing line in the Script
program.
Find
Click to find a specific word in the current
program.
Replace
Click to replace a specific word in the current
program.
Help
Click to view help topics for Script
programming.
Continued
Button Description
Script menu
Click to open, save, import, export, print, or
close a program. Export exports the current
Script object to a text file. Import imports
text from a text file, or opens the Import
Plain English dialog box which allows you
to import Plain English text for conversion.
For more information, see section 54.6
“Import Plain English Dialog Box” on page
1951.
Save
Click to save a Script program or function.
Undo
Click to undo or revert back one keystroke
or action in the Script Editor to the last state
of the text.
Redo
Click to redo or move ahead one keystroke
or action in the Script Editor to the state of
the text which was previously undone.
Continued
Command Description
Load file Click to locate and load the Plain English file
that you want to add to your current Script
Editor program or function.
Continued
Component Description
Continued
Component Description
Apply Initial Value Select Yes to apply the initial values of the
binding variables. The default No does not
apply the values, thus ensuring, for example,
that an output point does not reset every
time a program that binds to one of its own
output variables is saved.
[Property Name] Set the value of the bound property. Use the
up and down arrow keys to increment the
value up or down by .5 of a point. Click the
[Property name] Set the value of the bound property. Use the
up and down arrow keys to increment the
value up or down by .5 of a point. Click the
[Property Name] Set the value of the bound property. Use the
up and down arrow keys to increment the
value up or down by .5 of a point. Click the
[Function name] Set the value of the bound property. Use the
up and down arrow keys to increment the
value up or down by .5 of a point. Click the
Wsdl Url Type the URL for the WSDL file. The URL
must end with ?wsdl. SOAP 1.1 and 1.2 files
are supported here.
Topics
LonWorks Overview
LonWorks Engineering
LonWorks Interfaces
LonWorks in the Automation Server
LonWorks in the Enterprise Server
LonWorks NIC709-USB Interface
LonWorks NIC709-PCI Interface
LonWorks NIC709-IP Interface
LonWorks NIC852 Interface
L-IP Router Setup
Externally Managed LonWorks Network
Creating a LonWorks Interface
Discovering a LonWorks Interface
Configuring a LonWorks Interface
Creating a LonWorks Network
Configuring a LonWorks Network
Creating an Externally Managed LonWorks Network
Changing the Domain ID for a LonWorks Network
55 LonWorks Introduction
55.1 LonWorks Overview
For more information, see section 55.7 “LonWorks NIC709-PCI Interface” on page
1980.
Note
• You need a LonTalk license USB service dongle to use NIC852.
Note
• You need a LonTalk licence, which you can obtain by a USB service dongle
or software activation.
• You need to enable one of the L-IP routers to act as configuration server in
the LonWorks network.
Figure: PC setup
When the Building Operation software is installed, proceed with the following tasks:
• In the Software Administrator, stop the Enterprise Server.
• Install the NIC software package from LOYTEC.
• Activate LonTalk licence with USB service dongle or software activation.
• In the Software Administrator, start the Enterprise Server again.
• Stop bits: 1
• Flow control: None
In the L-IP device console, in the IP configuration menu, type the following
information:
• IP Address for the device
• IP Netmask
• IP Gateway
Save the IP configuration and Reset the L-IP device.
Connect to the other L-IP device and repeat the process.
Tip
On the L-IP devices, the router mode must physically be set to Smart Switch
Mode (DIP).
In the NIC852 tab, click CNIP Configuration. In the Conf. Server IP addr. box, type
the IP address of the configuration server. Click OK.
In the NIC852 tab, click Advanced. Select Run as Service and click OK.
In the NIC852 tab, increase both MNI settings to their maximum.
When you create the externally managed LonWorks network, a local node is
automatically created. In the local node, it is possible to create any necessary
functional blocks. For more information, see section 57.1 “LonWorks Local Node”
on page 2065.
Note
You cannot create any other LonWorks network in the Automation Server used
for the externally managed LonWorks network.
7. Click OK.
Component Description
Classic Operator Panel Support Select Yes to get support for classic OP
functionality, that is, the OP can be
connected to any Xenta device.
Component Description
5. Click OK.
4. Under Domain table for Network Interface, select Index 0 and then click
6. Click OK.
7. Click OK.
Important
• If there are commissioned devices connected to the LonWorks
network, you need to recommission all devices that indicate they
are out of sync.
Topics
LonWorks Devices
Creating a LonWorks Device
Configuring a LonWorks Device
LonWorks Commission and Decommission
Discovering a LonWorks Device
Commissioning a LonWorks Device
Decommissioning a LonWorks Device
Downloading the LonWorks Device Configuration
Uploading the LonWorks Device Configuration
LonWorks Application Upgrade
Upgrading the Device Application
LonWorks Device Templates
Importing a Device Template
Device Resource Files
Importing Device Resource Files
LonWorks Device Workflows
Create and then Discover LonWorks Device Workflow
Discover LonWorks Device Workflow
Create LonWorks Device Workflow
Network Variables and Configuration Parameters
Variable Members and Structured Variables
Network Variable and Configuration Parameter Values
Configuring a Network Variable
Configuring the Value for a Network Variable Member
Configuring a Configuration Property
LNS Plug-ins
Registering LNS Plug-ins
Unregistering LNS Plug-ins
Configuring Network Variables and Configuration
Parameters using LNS Plug-in
Importing a Device Template in LNS
Winking a Device
Adding Missing XIF and DRF Files
56 LonWorks Devices
56.1 LonWorks Devices
Tip
• The name of the LonWorks device must be unique in the
network, even for LonWorks devices in different folders in the
network.
Important
All the above actions are executed after the NXE file download.
10. Select Device application file to upgrade the device application and enter
the NXE file in the Device application file box. For more information, see
section 56.10 “LonWorks Application Upgrade” on page 2019.
11. Click Create.
Non group receive timer Displays the receive timer for all traffic that
does not reach the node through the
address table.
Use extended NMP Displays True when the node uses the
Extended Network Management
Command Set, ECS. For more
information, see section 155.1 “LonTalk
Addressing Overview” on page 5567.
7. Click OK.
You must commission the device to update the configuration.
56.4.1 Commission
When you commission a device or a local node the following actions occur:
• Device tables (Address, Selector, Alias, and Domain table) are written to the
device or the local node.
• The Device state is set to Configured Online.
When you commission a device the following additional actions occur:
• If you select to download the configuration to device, the Configuration
Parameters values are written to the device.
• If you select to upload the configuration from the device, the Configuration
Parameters values are read from the device.
• If you select a device application file, the file is downloaded to the device.
• If the domain table is updated, or if a Configuration Parameter requires it, the
device is restarted.
56.4.2 Decommission
When you decommission a device or a local node the following actions occur:
• The device or the local node stops communicating.
• The application is stopped unless it is host based.
• The device object configuration is kept, which means that everything can be
restored in the physical device or the local node at a new commission.
Important
Decommission a LonWorks device before you remove it from the network.
Otherwise, the old network information can cause problems if the device is used
in another network.
9. Drag the discovered service pin (device) to the System Tree pane:
• Drag to an existing device to associate it with the discovered physical
device.
• Drag to the LonWorks network to create the device.
Important
• You cannot drag a standard MNL LonWorks device to the
System Tree pane if the discovered device is in an
unconfigured state. For more information, see section 158.18
“Dragging Discovered MNL LonWorks Device to System Tree
Pane Does Not Acquire Neuron ID” on page 5616. For more
information, see section 158.19 “Dragging Discovered MNL
LonWorks Device to System Tree Pane Does Not Create New
MNL Device” on page 5617.
Tip
• To verify the device Neuron ID, select the device in the System
Tree pane, and then select Properties on the File menu. The
Neuron ID can be found on the Basic tab of the Device
Properties.
Important
• Before downloading or uploading the device configuration,
carefully consider the effects of overwriting the current device
configuration in the LonWorks device or server.
Important
All the above actions are executed after the NXE file download.
5. Select Device application file to upgrade the device application and enter
the NXE file in the Device application file box.
6. Click Commission.
7. Click Close.
The device is commissioned and activated.
Important
• Before uploading the device configuration from a device, carefully consider
the effects of overwriting the current device configuration in the server.
Warning
• Ensure that the program ID of the NXE file matches the Program ID of the
device application in the device. If the program IDs do not match, the device
can malfunction.
For more information, see section 56.10 “LonWorks Application Upgrade” on page
2019.
Important
All the above actions are executed after the NXE file download.
5. Select Device application file to upgrade the device application and enter
the NXE file in the Device application file box.
6. Click Commission.
7. Click Close.
The device application is upgraded and the device is commissioned.
3. Click Import.
4. In the Template Name field, type a name for the template.
Note
Use a descriptive name for the template. The name will be shown
when creating new devices.
5. Click OK.
Continued on next page
If the device template refers to NVT or CPTs not on your system, you will be
prompted to import necessary resource files. When the resource files have been
imported, the device template import restarts. When finished, the device template is
imported and available when creating a new device. For more information, see
section 56.14 “Device Resource Files” on page 2026.
3. Click Next.
Continued on next page
5. Click Close.
For more information, see section 55.15 “Creating a LonWorks Network” on page
1996.
Create objects
In WorkStation for Projects, create all necessary objects, such as alarms, schedules
and trend logs.
For more information, see the Alarm Overview topic on WebHelp.
For more information, see the Trend Overview topic on WebHelp.
For more information, see the Schedules Overview topic on WebHelp.
Important
It is recommended that you update the Enterprise Server communication
parameters before the deploy of the first Automation Server.
Caution
Ensure that you have created all domain devices and objects before the deploy of
an Automation Server. If you add devices and objects to the Automation Server
and deploy the server again, you first have to clear the database of the physical
Automation Server.
For more information, see section 6.8 “Deploy” on page 248.
For more information, see section 6.12 “Deploying a Server” on page 260.
Important
It is recommended that you update all Automation Server communication
parameters before the deploy of the Enterprise Server.
Important
Ensure that you have created all Automation Servers in the project before the
deploy of the Enterprise Server. You can only deploy to an empty Enterprise
Server. Any additional Automation Servers have to be created on the on-site
server.
For more information, see section 6.8 “Deploy” on page 248.
For more information, see section 6.12 “Deploying a Server” on page 260.
For more information, see section 56.21 “Variable Members and Structured
Variables” on page 2041.
Read-only values
Read-only values cannot be modified in Building Operation. These values are
normally output variables sent by a device. Values that are not read-only can be
modified in Building Operation, but the value is overwritten when a new value is sent
from the network or device.
Forced values
You force network variables to make them into temporary parameters. A forced
value ignores updates from the network and keeps its value until it is manually
changed, removed, or the server is restarted.
Retained values
A retained value means that the value is saved and can be retrieved from the server
database in case of a power failure or restart. A value that is not retained exists only
in the RAM memory and is lost in case of a server restart.
The following table illustrates which features are available for the different variable
and parameter classes:
Class Read-only Force possible Retained
Configuration No No Yes
Parameters
Poll rate (s) Enter the time in seconds for the poll rate.
Send rate (s) Enter the time in seconds for the send
rate.
5. Click OK.
6. In the System Tree pane, expand the network variable and then select the
variable member.
7. On the File menu, click Properties.
Continued on next page
9. Click OK.
4. Click OK.
Tip
When all configuration properties are defined for a LonWorks device,
you can copy and paste the device in the System Tree pane and
then rename it as a means to add another device of the same type
and configuration.
Continued
LNS Plug-in Package LNS Plug-in Device
Other LNS Plug-ins following the LNS network operating system not presented in
the table can also be supported by Building Operation but have not been tested.
Important
Communication with the LonWorks devices is not possible while using the LNS
Plug-in. For example, in purpose for calibration.
Note
You need to download the configuration when the device is configured through
the LNS Plug-in. For more information, see section 56.8 “Downloading the
LonWorks Device Configuration ” on page 2017.
Note
Some plug-ins need a system restart to function properly.
Important
Depending on the implementation of the LNS Plug-in by the
manufacturer, there is an option to import the device template / XIF
file in LNS. For more information, see section 56.30 “Importing a
Device Template in LNS” on page 2056.
9. Click Next.
You need to download the configuration when the device is configured through the
LNS Plug-in. For more information, see section 56.8 “Downloading the LonWorks
Device Configuration ” on page 2017.
7. Click OK.
The selected device template is imported in LNS.
Note
• For the Wink command to work, the device needs to support the Wink
function.
To wink a device
1. In WorkStation, in the System Tree pane, select the device.
2. On the Actions menu, click Wink.
3. In the Search directory box, enter a folder where the missing files can be
found. Building Operation searches subfolders as well.
4. Click Next.
5. In the Searching for replacement files page, click Import or click
Previous to search more missing files to import.
Topics
LonWorks Local Node
Creating a Local Node
Configuring a Local Node
LonWorks Commission and Decommission
Commissioning a Local Node
Decommissioning a Local Node
LonWorks Functional Block
Creating a Functional Block
Network Variables and Configuration Parameters
Update Monitor
Propagation Trigger
Creating Network Variables Automatically
Creating an Input Network Variable
Creating an Output Network Variable
Configuring a Network Variable
Configuring the Value for a Network Variable Member
Creating an Update Monitor
Creating a Propagation Trigger
Configuring an Update Monitor
Configuring a Propagation Trigger
57 LonWorks Local Node
57.1 LonWorks Local Node
Non group receive timer Displays the receive timer for all traffic that
does not reach the node through the
address table.
Use extended NMP Displays True if the node can use the
Extended Network Management
Command Set, ECS. For more
information, see section 155.1 “LonTalk
Addressing Overview” on page 5567.
5. Click OK.
57.4.1 Commission
When you commission a device or a local node the following actions occur:
• Device tables (Address, Selector, Alias, and Domain table) are written to the
device or the local node.
• The Device state is set to Configured Online.
When you commission a device the following additional actions occur:
• If you select to download the configuration to device, the Configuration
Parameters values are written to the device.
• If you select to upload the configuration from the device, the Configuration
Parameters values are read from the device.
• If you select a device application file, the file is downloaded to the device.
• If the domain table is updated, or if a Configuration Parameter requires it, the
device is restarted.
57.4.2 Decommission
When you decommission a device or a local node the following actions occur:
• The device or the local node stops communicating.
• The application is stopped unless it is host based.
• The device object configuration is kept, which means that everything can be
restored in the physical device or the local node at a new commission.
Important
Decommission a LonWorks device before you remove it from the network.
Otherwise, the old network information can cause problems if the device is used
in another network.
For more information, see section 56.21 “Variable Members and Structured
Variables” on page 2041.
Important
The propagation trigger feature disables any send variable instance setting on an
output network variable. For more information, see section 57.15 “Configuring a
Network Variable” on page 2083.
Note
• This procedure uses a lot of the Automation Server CPU and takes some time
to complete. System alarms might be triggered.
Tip
• To ensure efficient bandwidth usage, enable polling only when
the sending device cannot use event-driven communication.
9. In the Poll rate (s) box, enter the number of seconds between the polls.
10. Click Create.
8. In the Sending enabled box, select Yes to send the variables at periodic
intervals.
9. In the Send rate box, enter the number of seconds between the sends.
10. In the Initial Value box, enter the initial value for the variable.
11. Click Create.
Poll rate (s) Enter the time in seconds for the poll rate.
Send rate (s) Enter the time in seconds for the send
rate.
5. Click OK.
6. In the System Tree pane, expand the network variable and then select the
variable member.
7. On the File menu, click Properties.
Continued on next page
9. Click OK.
4. Click OK.
4. Click OK.
4. Click OK.
Topics
LonWorks Bindings
LonWorks Bindings in WorkStation
LonWorks Binding Profiles
LonWorks Binding Types
Bindable Objects in LonWorks
LonWorks Selectors and Bindings
Creating a LonWorks Binding
Replacing a Hub in a LonWorks Binding
58 LonWorks Bindings
58.1 LonWorks Bindings
Note
• To create a LonWorks binding, you need to bind on the variable level. If you
bind two members of network variables, a Building Operation binding is
created rather than a LonWorks binding. For more information, see section
57.9 “Network Variables and Configuration Parameters” on page 2074.
Note
The lock feature is disabled for LonWorks bindings, because a locked LonWorks
binding may result in scenarios where a binding contains several hubs pointing to
one target, or different binding profiles are mixed.
For more information, see section 58.5 “Bindable Objects in LonWorks” on page
2101.
Acknowledged Profile 96 ms 3
Tip
Be careful of creating large, acknowledged fan-out bindings because they
generate a lot of traffic, especially if the device of one of the recipients is offline.
Use an unacknowledged binding profile when the sending device should not
receive an acknowledgement from the receiving device. Use this type when the
value being sent is not critical and is of low importance to the control logic.
Binding profile Repeat timer Repeat count
Unacknowledged Profile 0
Unacknowledged Repeated 48 ms 3
Profile
Unacknowledged 48 ms 5
Repeated , 5 repeats
Use a broadcast profile when you do not want to use up an entry in the address
table. The device address table has 15 available entries for bindings but the first
entry is a reserved broadcast entry that all broadcast bindings can share.
Binding profile Repeat timer Repeat count
Broadcast Profile 0
In the Binding view, drag the the NVIs to the hub in the Binding points list, not the
other way around.
Note
• Do not use fan-in bindings for a polling NVI.
LonWorks device CP
You can bind LonWorks points with the following points in Building Operation:
Point Comments
Script output
Script input
Variables
Central IO points
Domain Table
The domain table stores the node's own DSN address. The address is set for all
network nodes when the objects are created in Building Operation.
Address Table
The address table contains DSN addresses of other nodes together with a unique
index that is used by the Selector table.
Selector Table
The selector table stores information about the network variables in the node. (The
selector table is also called network variable configuration table, or just variable
selectors.)
The target node’s (Device 2) selector table is also assigned the same unique
selector number for its used network variable (c).
All used selector numbers are also stored in a master selector table in the Building
Operation server that owns the network, to keep track of used selectors.
When a network variable is bound to several other devices (a group binding), the
same selector number is assigned to the used network variables in all devices.
Alias Table
The alias table is a secondary selector table used for giving the same network
variable several selectors. In a selector table, the same selector index can only
appear once. If you want to bind one network variable to several target network
variables in the same device, aliases are used for each target.
6. Select the variable to be bound and drag it to the binding box for the variable
in the binding point list.
Important
• To bind more than one variable to a binding point, drag the
variable to the name of the binding point. Each binding adds a
row to the binding point.
7. In the binding point list, click the Binding profile button for the binding
that you just created.
8. In the Lon binding properties dialog box, click a binding profile. For more
information, see section 58.3 “LonWorks Binding Profiles ” on page 2096.
9. Select Disable initial read to disable initial read of the network variable in
the device.
10. Click OK.
11. On the File menu, click Save.
Tip
• You cannot use a custom binding template when you create
LonWorks bindings. Custom binding templates can be used
when you create Building Operation bindings.
4. Click Select.
5. On the File menu, click Save.
Topics
LonWorks Maintenance
LonWorks Device Replacement
Replacing an Online LonWorks Device
Replacing an Offline LonWorks Device
LonWorks Network Analysis
LonWorks Device Diagnostics
Viewing Diagnostic Data
Clearing Diagnostic Data
Rebinding a LonWorks Network
Detecting Subnet/Node Conflicts
LonWorks Operating
LonWorks Offline Alarms
59 LonWorks Maintenance and Operating
59.1 LonWorks Maintenance
Tip
• If the device configuration in the physical LonWorks device is not
synchronized with the configuration that is stored in the server,
you can upload the device configuration to the server before you
decommission and remove the LonWorks device. For more
information, see section 56.9 “Uploading the LonWorks Device
Configuration ” on page 2018.
6. In the Neuron ID box, type or retrieve the Neuron ID of the new LonWorks
device:
• Type the Neuron ID in the box.
• Click Service Pin and then press the service pin on the physical device
to retrieve the Neuron ID.
Note
• You need a USB service dongle with an LPA license to run the LPA tool and
you need the LConfig tool to register it.
Note
• You need a USB service dongle with an LPA license to run the LPA tool and
you need the LConfig tool to register it.
Network bandwidth utilization. Rate > 50%? • Check poll & update rates.
• Improve structure of network.
• Change Ack to UnAck for group
messages.
Continued
Analyze Solution
4. Click Close.
5. Decommission all devices in the LonWorks network. For more information, see
section 56.7 “Decommissioning a LonWorks Device” on page 2016.
6. Commission all devices in the LonWorks network. For more information, see
section 56.6 “Commissioning a LonWorks Device” on page 2014.
Topics
LonWorks System Tree Icons
File Menu – LonWorks Import Submenu
Devices Shortcut Menu
LonWorks Interface Properties – Basic Tab
LonWorks Interface Properties – Advanced Tab
LonWorks Network Properties – Basic Tab
LonWorks Network Properties – Advanced Tab
Local Node Properties – Basic Tab
Local Node Properties – Offline Detection Tab
Local Node Properties – Diagnostics Tab
LonWorks Device Properties – Basic Tab
LonWorks Device Properties – Offline Detection Tab
LonWorks Device Properties – Diagnostics Tab
Update Monitor - Basic Tab
Propagation Trigger - Basic Tab
Device Tables Properties – Basic Tab
Device Tables Properties – Address Table Tab
Device Tables Properties – Domain Table Tab
Device Tables Properties – Selector Table Tab
Device Tables Properties – Alias Table Tab
Create Network Variable Wizard – Define Network Variable
Page
Create Network Variable Wizard – Input Variable
Parameters Page
Create Network Variable Wizard – Output Variable
Parameters Page
Functional Block Properties
Configuration Parameters and Network Variable
Properties – Basic Tab
Configuration Parameters and Network Variable
Properties – Variable Instance Settings Tab
Configuration Parameters and Network Variable
Properties – Extended Settings Tab
Variable Member Properties
Import Resource Files Wizard – Select Resource Kit
Directory Page
Import Resource Files Wizard – Importing DRF Kit Page
Import Resource Files Wizard – Committing the DRF Kit
Page
Import Device Template Wizard – Import Device Template Page
Import Device Template Wizard – Device Template Dialog Box
Import Device Template Wizard – Importing Device Template
Page
Neuron ID and Commission Settings Page
Lon Folder Properties
Add Missing Files Wizard – Searching for Missing Files Page
Add Missing Files Wizard – Select Directory to Search for XIF
and DRF Resources Page
Add Missing Files Wizard – Searching for Replacement Files
Page
Add Missing Files Wizard – Importing Replacement Files Page
LNS Plug-in Registration View
Configure Using LNS Plug-ins Wizard - Copying Device
Configuration to LNS Page
Configure Using LNS Plug-ins Wizard - Select LNS Plug-in Page
Configure Using LNS Plug-ins Wizard - Confirm LNS
Configuration Page
Configure Using LNS Plug-ins Wizard - Copying Device
Configuration from LNS Page
Lon Binding Properties
LonWorks Binding Profile Icons
LonWorks Binding Profile Properties – Basic Tab
LonWorks Binding Profile Properties – Advanced Tab
60 LonWorks User Interface
60.1 LonWorks System Tree Icons
LonWorks Interface
Indicates a LonWorks interface.
LonWorks Network
Indicates a LonWorks network.
LonWorks Binding
Indicates LonWorks binding.
Continued
Icon Description
Add missing XIF/DRF files Click to add missing XIF/DRF files. For more
information, see section 56.32 “Adding
Missing XIF and DRF Files” on page 2059.
Activate listen to service pin Click to listen for service pins from devices
on the network. When a service pin is
received, it is displayed in the Device list.
Deactivate listen to service pin Click to stop listening for service pins.
Continued
Component Description
Classic Operator Panel Support Select Yes to get support for classic OP
functionality, that is, the OP can be
connected to any Xenta device.
The Xenta LACnet parameters only apply to certain types of data transfer, such as
application download, fetching of trend logs, and alarms refresh.
Needs device configuration download Displays True when the configuration has
changed and the node needs a configuration
download.
Non group receive timer Displays the receive timer for all traffic that
does not reach the node through the
address table.
Continued
Component Description
Use extended NMP Displays True if the node can use the
Extended Network Management Command
Set, ECS. For more information, see section
155.1 “LonTalk Addressing Overview” on
page 5567.
Continued
Component Description
Receive transaction full errors Displays the Receive Transaction Full Errors.
The number of times that an incoming
packet was discarded because there was no
room in the transaction database.
Continued
Component Description
Last reset cause Displays the cause of the last reset for this
node:
• Power-up: The node was powered up.
• External: The node was asked by
external source to reset.
• Watchdog: The internal watchdog
caused the reset.
• Software: The internal application
caused the reset.
• Cleared: The cause was cleared.
Continued
Component Description
Non group receive timer Displays the receive timer for all traffic that
does not reach the node through the
address table.
Use extended NMP Displays True when the node uses the
Extended Network Management Command
Set, ECS. For more information, see section
155.1 “LonTalk Addressing Overview” on
page 5567.
File directory index Displays the index of the NVT that specifies
the configuration file for CPTs implemented
with direct memory read/write access.
Continued
Component Description
Receive transaction full errors Displays the Receive Transaction Full Errors.
The number of times that an incoming
packet was discarded because there was no
room in the transaction database.
Continued
Component Description
Last reset cause Displays the cause of the last reset for this
node:
• Power-up: The node was powered up.
• External: The node was asked by
external source to reset.
• Watchdog: The internal watchdog
caused the reset.
• Software: The internal application
caused the reset.
• Cleared: The cause was cleared.
Continued
Component Description
Continued
Component Description
Continued
Component Description
Continued
Component Description
Resource files kit Select the resource files kit (DRF) which
contains the variable type to use.
Continued
Component Description
Poll rate (s) Enter the time in seconds for the poll rate.
Continued
Component Description
Send rate (s) Enter the time in seconds for the send rate.
Continued
Component Description
Default service type Displays the default service type to use for
connections containing this variable. 0 for
acknowledged, 1 for repeated, or 2 for
unacknowledged.
Continued
Component Description
Default service type changeable Displays whether the service type can be
changed in the field. Yes if the type can be
changed, No if it cannot.
Self documentation text Displays any optional text for the network
variable from the device template (XIF).
Continued
Component Description
Upload configuration from device Select to update the the server with the
current configuration parameters in the
physical device.
Files (*.nxe) Enter the NXE file that you want to upgrade
the device with.
Files (*.mta) Enter the MTA file that you want to tranfer to
the device (Xenta devices only)
M1...n (IO modules) Type the neuron ID for the IO module if you
have not already associated it with the Xenta
device (Xenta devices only).
Figure: Select directory to search for XIF and DRF resources page
Add button
Click to register the selected LNS Plug-in.
Remove button
Click to unregister the selected LNS Plug-in.
Registered LNS Plug-ins List of the LNS Plug-ins that are registered.
Continued
Component Description
Note
• The template is read only.
Note
• The template is read only.
Continued
Component Description
Topics
Xenta LonWorks Device Overview
Xenta LonWorks Engineering
LonWorks Interfaces
Xenta LonWorks Device Workflows
Create and then Discover Xenta LonWorks Device Workflow
Discover Xenta LonWorks Device Workflow
Create Xenta LonWorks Device Workflow
Configuring a LonWorks Network for Xenta Devices
Binding Xenta Network Variables
Xenta OP
61 Xenta LonWorks Introduction
61.1 Xenta LonWorks Device Overview
Figure: LON devices, for example Xenta devices, in a Building Operation network
Figure: An Automation Server, a LonWorks network, and Xenta devices in the System
Tree
Xenta 280/300/401 LonWorks devices on a LonWorks network can be attached to
the Building Operation network in two basic ways:
• Connected to an Automation Server by means of a built-in network interface,
with a maximum of 30 Xenta 280/300/401 LonWorks devices.
• Connected to an Enterprise Server by means of a suitable Loytec network
interface, with a maximum of about 60 Xenta 280/300/401 LonWorks devices.
The configuration and commissioning of Xenta 280/300/401 LonWorks devices is
performed at WorkStation. After this, the associated Menta applications are running
in the physical Xenta devices. Public signals, SNVTs, and TACNVs are updated and
are available from WorkStation.
The Xenta 280/300/401 LonWorks devices communicate with each other over the
LonWorks network using TACNV and SNVT bindings. To ease the network
communication load, SNVTs can be bound to a local node associated with the
Automation Server. For more information, see section 57.9 “Network Variables and
Configuration Parameters” on page 2074.
Note
Xenta groups are not created automatically in WorkStation for Projects. After
deploy, a Xenta group is automatically created for every 30 Xenta devices.
For more information, see section 62.4 “Configuring a Xenta LonWorks Device” on
page 2235.
For more information, see section 63.3 “Editing a Menta Application” on page 2271.
Create Objects
In WorkStation for Projects, create all necessary objects, such as alarms, schedules
and trend logs.
For more information, see the Alarm Overview topic on WebHelp.
For more information, see the Schedules Overview topic on WebHelp.
Important
It is recommended to update the Enterprise Server communication parameter
before the deploy of the first Automation Server.
Caution
Ensure that you have created all domain devices and objects before the deploy of
an Automation Server. If you add devices and objects to the Automation Server
and deploy the server again, you first have to clear the database of the physical
Automation Server.
For more information, see section 6.8 “Deploy” on page 248.
For more information, see section 6.12 “Deploying a Server” on page 260.
Important
It is recommended to update all Automation Server communication parameters
before the deploy of the Enterprise Server.
Important
Ensure that you have created all Automation Servers in the project before the
deploy of the Enterprise Server. You can only deploy to an empty Enterprise
Server. Any additional Automation Servers have to be created on the on-site
server.
For more information, see section 6.8 “Deploy” on page 248.
For more information, see section 6.12 “Deploying a Server” on page 260.
Classic Operator Panel Support Select Yes to get support for classic OP
functionality, that is, the OP can be
connected to any Xenta device.
Component Description
61.10 Xenta OP
Xenta OP is an operator panel that can be used with Xenta 280/300/401 LonWorks
devices that are part of a Building Operation system. Xenta OP can be used in two
ways:
• As a LonWorks unit inspector of other LonWorks units and the SNVTs they
use.
• To monitor Xenta 280/300/401 LonWorks devices with a user defined OP tree,
and group hierarchy display.
In the latter case, Xenta OP can be set up to operate in one of three different
modes:
• INST: Xenta OP is permanently connected, electrically, to the LonWorks
network and is not portable. It gets its address from the network management
tool. It can see and inspect all LonWorks devices on the network and there is
no risk of address conflicts. This is the recommended mode for Xenta OP.
• MAN: Xenta OP is partly portable, and can be moved anywhere in the network.
It sets its own address but requires manual input of the current Domain ID. It
can see all LonWorks devices but can only inspect those devices that are
under the same router as the OP.
• TAC: Xenta OP is fully portable, and can be easily moved anywhere in the
network. It gets its address from the Xenta 280/300/401 LonWorks base unit.
It can see and inspect all LonWorks devices on the network. However, the OP
has a more complex underlying configuration structure. Although this mode is
useful, it should be used sparingly because there is a risk for address conflicts.
The standard menus and the operation of the operator panel are described in the
TAC Xenta OP Operating Manual (04-00065).
Topics
Xenta LonWorks Devices
Creating a Programmable Xenta Device
Discovering a Xenta Device
Configuring a Xenta LonWorks Device
Xenta LonWorks Device Commissioning
Commissioning a Xenta Device
Xenta LonWorks Daylight Savings Time Switchover
Xenta LonWorks Time Synchronization
Identifying a Xenta I/O Module
Checking the Neuron ID of a Xenta I/O Device
Xenta LonWorks Device Decommissioning
Decommissioning a Xenta Device
Replacing an Online Xenta Device
Downloading the Xenta Device Configuration
Uploading the Xenta Device Configuration
Replacing an Offline Xenta Device
Replacing a Xenta I/O Module
Xenta LonWorks Groups
Xenta LonWorks Device Functions
Trend Logs for Xenta LonWorks Devices
Configuring a Xenta Trend Log
Alarms for Xenta LonWorks Devices
Schedules for Xenta LonWorks Devices
Time Functions for Xenta LonWorks Devices
Xenta LonWorks Variables Display
Xenta LonWorks Device Restart
62 Xenta LonWorks Devices
62.1 Xenta LonWorks Devices
62.1.1 Xenta OP
Xenta OP is an operator panel that can be used with Xenta 280/300/401 LonWorks
devices that are part of a Building Operation system. Xenta OP can be used in two
ways:
• As a LonWorks unit inspector of other LonWorks units and the SNVTs they
use.
• To monitor Xenta 280/300/401 LonWorks devices with a user defined OP tree,
and group hierarchy display.
For more information, see section 61.10 “Xenta OP” on page 2226.
Tip
• The name of the programmable Xenta device must be unique in
the network, even for programmable Xenta devices in different
folders in the network.
Note
• Xenta I/O modules are not added in this way. As they are defined in the
Menta application program, they are automatically added to the I/O folder
when the Xenta application is downloaded.
7. In the Device Discovery view, ensure that the Xenta device is displayed in
the Devices folder. This may take up to 5 seconds.
Tip
• To verify the device Neuron ID, select the device in the System
Tree pane, and then select Properties on the File menu. The
Neuron ID can be found on the Basic tab of the Device
Properties.
DST Last update Displays date and time for the last
Daylight Saving Time update.
4. Under IO modules, type or retrieve the Neuron ID of the associated Xenta I/O
modules:
• Type the Neuron ID in the box.
• Click Service Pin and then press the service pin on the physical Xenta
I/O module to retrieve the Neuron ID.
5. Click Commission.
6. Click Close.
Tip
• The Xenta I/O Modules communication automatically begins
upon commissioning the Xenta 280/300/401 LonWorks device,
as long as the I/O module's Neuron ID was associated to the I/O
module prior to commissioning the Xenta 280/300/401
LonWorks device.
Important
Make sure the following applies to the Building Operation server before the Xenta
device is commissioned:
• The correct time has been set.
• The time zone has been defined.
The Time synchronization interval is one of the properties under the Advanced tab in
the LonWorks Network object. The configurable Xenta broadcast period has a
default value of 10 minutes and allowed values between 10 minutes and one week.
3. In the Neuron ID box, enter Neuron ID or click the Browse button to enable the
Service Pin procedure.
4. Click the Close button.
Note
The Xenta I/O module is automatically commissioned when you commission its
associated Xenta 280/300/401 LonWorks device.
Important
• Decommission a Xenta 280/300/401 LonWorks or LonWorks device before it
is removed from the network. Otherwise, the old network information may
cause problems if the device is used in another network.
Important
Manually override essential equipment that is controlled by outputs of the device
or its I/O modules. Otherwise, this equipment will be turned on and off during the
application download.
Important
• Replace a device with a new device or a decommissioned device. Do not
install a commissioned device in a new network as the reused device might
contain an application or an address that can cause serious problems in the
new network.
Tip
• If the device configuration in the physical Xenta 280/300/401
LonWorks device is not synchronized with the configuration that
is stored in WorkStation, you can upload the device configuration
to WorkStation before you remove the Xenta 280/300/401
LonWorks device. For more information, see section 62.15
“Uploading the Xenta Device Configuration” on page 2247.
6. In the Neuron ID box, type or retrieve the Neuron ID of the new Xenta
280/300/401 LonWorks device:
• Type the Neuron ID in the box.
• Click Service Pin and then press the service pin on the physical device
to retrieve the Neuron ID.
Important
• Restore equipment that you manually overrode before you
replaced the device.
Important
• Before downloading the device configuration from the server, carefully
consider the effects of overwriting the current device configuration in the
Xenta 280/300/401 LonWorks device.
For more information, see section 64.3 “Device Configuration Parameters” on page
2281.
Important
• Before uploading the device configuration from a device, carefully consider
the effects of overwriting the current device configuration in the server.
For more information, see section 64.3 “Device Configuration Parameters” on page
2281.
Important
• Replace a device with a new device or a decommissioned device. Do not
install a commissioned device in a new network as the reused device might
contain an application or an address that can cause serious problems in the
new network.
7. Click Commission.
8. Click Close.
The Xenta 280/300/401 LonWorks device is replaced, the application is
downloaded, and the device is commissioned and activated.
Important
• Manually override essential equipment that is controlled by outputs on I/O
modules. Otherwise, this equipment will be turned on and off during the
application download.
Important
• Do not forget to select Application download before you
commission the device, otherwise the application will not be
downloaded properly.
7. Under IO modules, type or retrieve the Neuron ID of the new Xenta I/O
module:
• Type the Neuron ID in the box.
• Click Service Pin and then press the service pin on the physical Xenta
I/O module to retrieve the Neuron ID.
8. Click Commission.
9. Click Close.
Important
• Restore equipment that you manually overrode before you
replaced the device.
The green LED on the new I/O module flashes at a normal, low frequency rate. The
Out of sync icon is removed from the Xenta device in the System Tree pane.
For more information, see section 62.25 “Xenta LonWorks Variables Display” on
page 2261.
Tip
When using Xenta 300/400, create a number of unused logs in Menta Editor.
These can then be configured in WorkStation if logging becomes necessary at a
later date.
There are two types of trend logs in the Xenta 280/300/401 LonWorks devices:
• Circular trend logs: new values overwrite old values when the buffer in the
Xenta 280/300/401 LonWorks device is filled.
• Non-circular trend logs: the logging stops when the buffer in the Xenta
280/300/401 LonWorks device has been filled.
The buffer size of the Xenta 280/300/401 LonWorks devices is limited by the
amount of memory in the device. To store more data, and on a higher level, you can
connect the Xenta trend log to an extended trend log in the server. At configurable
intervals, or according to a smart log algorithm, data are uploaded from the trend
log in the Xenta to the much bigger extended trend log in the server. In the
extended trend log the log data is available for backup, restore, and general data
treatment. For more information, see the Extended Trend Logs topic on WebHelp..
You edit the trend log parameters in WorkStation. For more information, see section
62.21 “Configuring a Xenta Trend Log” on page 2256.
Log Space Enter the total time that you want log
readings for. The number of values will be
Log Space/Log Interval.
Start Time Type the date and time for the log to start.
Clear log at start Select True to make sure the log buffer is
cleared at start.
4. Click OK.
Note
You can copy and paste a Xenta 280/300/401 LonWorks device schedule.
However, any Xenta Central schedule reference will not be copied.
Properties view
Refresh button
Depending on the status of the device, these values represent online or offline
values. For more information, see the Window Menu topic on WebHelp.
In Menta, values can be defined as read/write values or read-only values. If a value
is defined as a read/write value, you can enter a new manual value in the Properties
dialog box. In order to avoid overwrite of new online values from inputs/outputs, you
click Force value before you enter a manual value. For more information, see the
Forced Values topic on WebHelp..
The forced value is accepted only when the device is online, or goes online after it
has been offline.
Topics
Xenta LonWorks Applications
Building Operation Menta Editor
Editing a Menta Application
Importing a Menta Application to a Xenta Device
63 Xenta LonWorks Applications
63.1 Xenta LonWorks Applications
Example Program
This example Menta program includes a simple fan control program that turns a fan
on or off based upon a time schedule and occupancy.
Tip
• In Menta Editor, on the Options menu, click Simulate if you
want to validate the program and identify the location of errors in
the program.
Tip
• In simulation mode, on the Commands menu, click Generate
if you want to make sure that it is possible to generate the output
files, for example, binary files, OP menu tree files, and .XIF file, for
the program.
Tip
• In Menta Editor, on the Options menu, click Simulate if you
want to validate the program and identify the location of errors in
the program.
Tip
• In simulation mode, on the Commands menu, click Generate
if you want to make sure that it is possible to generate the output
files, for example, binary files, OP menu tree files, and .XIF file, for
the program.
Topics
Xenta Objects and Device Configuration Parameters
Xenta Object Parts
Device Configuration Parameters
Synchronization of the Xenta LonWorks Device
64 Xenta LonWorks Objects
64.1 Xenta Objects and Device Configuration Parameters
Object Description
The object description contains information on how to handle the Xenta object in
the System Tree pane. The object description is not used in the Xenta 280/300/401
LonWorks device, and so cannot be downloaded to the device.
Device Application
The actual function of the Xenta 280/300/401 LonWorks device is defined in a
Menta program. This program, together with some auxiliary files, is stored in the
device application. If you update the function in any of the servers, you have to
download the application to the Xenta 280/300/401 LonWorks device itself. For
more information, see section 64.4 “Synchronization of the Xenta LonWorks
Device ” on page 2282.
You download the information to the Xenta 280/300/401 LonWorks device by
selecting Download Application together with the Commission command.
Device Configuration
The parameters that define the behavior of the current Xenta application are
collected in the device configuration. During operation of the system, when some
experience is gained, some of these parameters may require adjustment. In most
cases you fine-tune the parameters in the device, using a Xenta Operator Panel. For
backup purposes, you should upload the parameters to the server database.
The device configuration parameters are of two kinds, which in some cases are
treated separately (set A and set B). For more information, see section 64.3 “Device
Configuration Parameters” on page 2281..
You can download the information to the Xenta 280/300/401 LonWorks device with
the Download Device Configuration command.
You can upload the device configuration from the Xenta 280/300/401 LonWorks
device to the server with the Upload Device Configuration command.
Figure: Using the current configuration parameters when editing the application file
The following device configuration parameters (Set A and B. For more information,
see section 64.3 “Device Configuration Parameters” on page 2281.) are involved in
the different steps, as shown above:
Figure: The Commission command after a change of the network configuration only, with
optional download of application
Topics
Xenta LonWorks Application Alarms
Modifying a Menta Application Alarm Priority
Xenta LonWorks System Alarms
Xenta LonWorks Offline Alarms
Modifying the Xenta Offline Detection Parameters
65 Xenta LonWorks Alarms
65.1 Xenta LonWorks Application Alarms
0 0
1 100
2 200
3 300
4 400
5 500
6 600
7 700
8 800
9 900
You can then modify the Building Operation alarm priority as required for each
Xenta 280/300/401 LonWorks device, as for any other alarm. The modified value is
not overwritten. You can also modify the Menta Editor alarm priority for Xenta
alarms. For more information, see section 65.2 “Modifying a Menta Application
Alarm Priority” on page 2291.
Important
If you make changes to a Menta application and save it in the Building Operation
database, remember to also download the application to the Xenta 280/300/401
LonWorks device.
3. Enter the Alarm settings for the parameters that you want to modify.
4. On the File menu, click Save.
Topics
Number of Scheduled Events for Xenta LonWorks Devices
All-Day Events for Xenta LonWorks Devices
Weekly Events for Xenta LonWorks Devices
Exception Events for Xenta LonWorks Devices
Creating a Schedule for a Xenta LonWorks Device
Editing a Schedule for a Xenta LonWorks Device
Xenta Central Schedules
Creating a Xenta Central Schedule
Adding a Weekly Event to a Xenta Schedule
Adding an Exception Event to a Xenta Schedule
Editing a Weekly Event in a Xenta Schedule
Editing an Exception Event in a Xenta Schedule
Deleting a Weekly Event from a Xenta Schedule
Deleting an Exception Event from a Xenta Schedule
Assigning a Xenta Central Schedule
Unassigning a Xenta Central Schedule
Assigning a Lead Xenta Central Schedule
Unassigning a Lead Xenta Central Schedule
Viewing a Xenta Central Schedule Reference
Viewing a Lead Xenta Central Schedule Reference
66 Xenta LonWorks Schedules
66.1 Number of Scheduled Events for Xenta LonWorks Devices
Figure: Specifying the number of scheduled events when editing the TSCH block
There is one entry for the maximum number of weekly events and one entry for the
maximum number of exception events.
Important
You can reassign any Xenta Central schedule in the Xenta Schedule
Editor to ensure that you not have any synchronization problems.
Note
Xenta Central schedule property changes may take up to one minute before they
are propagated to shadow Xenta schedules.
For more information, see the Lead and Shadow Relationship topic on WebHelp.
4. In the Name box, type a name for the Xenta Central schedule.
5. In the Description box, type a description for the Xenta Central schedule.
6. Click Create.
Important
You cannot add, edit, or delete schedule events in a Xenta Schedule in
WorkStation when a Xenta Central schedule has been assigned to it.
The number of events a Xenta Central schedule can have is determined by the
Menta application.
For more information, see section 62.23 “Schedules for Xenta LonWorks Devices”
on page 2258.
2. In the Xenta Schedule editor, click the New button for a weekly event.
3. In the Time interval box, select the time range for the weekly event.
4. In the Start time box, enter the time when the weekly event starts.
5. In the End time box, enter the time when the weekly event ends.
6. Select the weekdays the weekly event is to be in service.
7. Click OK.
Important
You cannot add, edit, or delete schedule events in a Xenta Schedule in
WorkStation when a Xenta Central schedule has been assigned to it.
The number of events a Xenta Central schedule can have is determined by the
Menta application.
Important
An added exception event overrides any weekly events for all of the selected
days.
For more information, see section 62.23 “Schedules for Xenta LonWorks Devices”
on page 2258.
2. In the Xenta Schedule editor, click the New button for an exception
event.
3. In the Time span box, select the time range the exception event is to be in
service.
4. In the Start date box, enter the date when the exception event starts.
5. In the End date box, enter the date when the exception event ends.
6. In the Start time box, enter the time when the exception event starts.
7. In the End time box, enter the time when the exception event ends.
8. Select the weekdays the exception event is to be in service.
9. Click OK.
Important
You cannot add, edit, or delete schedule events in a Xenta Schedule in
WorkStation when a Xenta Central schedule has been assigned to it.
The number of events a Xenta Central schedule can have is determined by the
Menta application.
For more information, see section 62.23 “Schedules for Xenta LonWorks Devices”
on page 2258.
2. In the Xenta Schedule editor, in the weekly event table, select the event and
3. In the Time interval box, select the time range the weekly event is to be in
service.
4. In the Start time box, enter the time when the weekly event starts.
5. In the End time box, enter the time when the weekly event ends.
6. Select the weekdays the weekly event starts.
7. Click OK.
Important
You cannot add, edit, or delete schedule events in a Xenta Schedule in
WorkStation when a Xenta Central schedule has been assigned to it.
The number of events a Xenta Central schedule can have is determined by the
Menta application.
For more information, see section 62.23 “Schedules for Xenta LonWorks Devices”
on page 2258.
2. In the Xenta Schedule editor, in the exception event table, select the event and
3. In the Time span box, select the time range the exception event is to be in
service.
4. In the Start date box, enter the date when the exception event starts.
5. In the End date box, enter the date when the exception event ends.
6. In the Start time box, enter the time when the exception starts.
7. In the End time box, enter the time when the exception ends.
8. Select the weekdays the exception event starts.
9. Click OK.
Important
You cannot add, edit, or delete schedule events in a Xenta Schedule in
WorkStation when a Xenta Central schedule has been assigned to it.
The number of events a Xenta Central schedule can have is determined by the
Menta application.
For more information, see section 62.23 “Schedules for Xenta LonWorks Devices”
on page 2258.
Important
You cannot add, edit, or delete schedule events in a Xenta Schedule in
WorkStation when a Xenta Central schedule has been assigned to it.
The number of events a Xenta Central schedule can have is determined by the
Menta application.
For more information, see section 62.23 “Schedules for Xenta LonWorks Devices”
on page 2258.
2. In the Xenta Schedule editor, in the exception event table, select the event and
3. Click .
3. Click .
3. Click .
3. Click .
Topics
Xenta Icons
Actions Menu – Advanced Commands Submenu
LonWorks Network Properties – Advanced Tab
ProgrammableXenta Properties – Xenta Tab
Menta Program Properties – Basic Tab
Menta Program Properties – Public Signals Tab
Menta Program Properties – Inputs Tab
Menta Program Properties – Outputs Tab
Xenta I/O Module Properties – Basic Tab
Xenta I/O Module Properties – Advanced Tab
Xenta Trend Log Properties
Xenta Schedule Editor
Xenta Schedule Dialog Box
Xenta Alarm Properties - Basic Tab
Xenta Alarm Properties - Advanced Tab
67 Xenta LonWorks Device User Interface
67.1 Xenta Icons
Programmable Xenta
Indicates that a Xenta device is a Group
master and is online.
Programmable Xenta
Indicates that a Xenta device is a Group
master and is online, but unsynced.
Programmable Xenta
Indicates that a Xenta device is a Group
master, and is offline.
Programmable Xenta
Indicates that a Xenta device is a Group
master, unsynced, and offline.
Programmable Xenta
Indicates that a Xenta device is a Group
member, unsynced, and invalid.
Continued
Icon Description
Programmable Xenta
Indicates a Xenta device which is out of
sync.
Programmable Xenta
Indicates a Xenta device which is offline.
Programmable Xenta
Indicates an invalid Xenta device.
Cold Start Click to restart the device and clear the RAM
memory. For more information, see section
62.26 “Xenta LonWorks Device Restart” on
page 2266.
Continued
Component Description
Classic Operator Panel Support Select Yes to get support for classic OP
functionality, that is, the OP can be
connected to any Xenta device.
The Xenta LACnet parameters only apply to certain types of data transfer, such as
application download, fetching of trend logs, and alarms refresh.
Continued
Component Description
DST Last update Displays date and time for the last Daylight
Saving Time update, as adjusted to the
client´s local time zone.
Note
The same property tabs appear when you select a Module created in the Menta
program.
Note
The same property tabs appear when you select a Module created in the Menta
program.
Note
The same property tabs appear when you select a Module created in the Menta
program.
Note
The same property tabs appear when you select a Module created in the Menta
program.
Log Space Enter the total time that you want log
readings for. The number of values will be
Log Space/Log Interval.
Start Time Type the date and time for the log to start.
Continued
Component Description
Clear log at start Select True to make sure the log buffer is
cleared at start.
Continued
Number Description
New
Click to open the Xenta Schedule dialog box,
where you can add an event. For more
information, see section 67.13 “Xenta
Schedule Dialog Box ” on page 2348.
Edit
Click to open the Xenta Schedule dialog box,
where you can edit an event. For more
information, see section 67.13 “Xenta
Schedule Dialog Box ” on page 2348.
Delete
Click to delete a selected event.
Weekly event table Displays the weekly events for the Xenta
schedule or Xenta Central schedule.
New
Click to open the Xenta Schedule dialog box,
where you can add an event. For more
information, see section 67.13 “Xenta
Schedule Dialog Box ” on page 2348.
Edit
Click to open the Xenta Schedule dialog box,
where you can edit an event. For more
information, see section 67.13 “Xenta
Schedule Dialog Box ” on page 2348.
Delete
Click to delete a selected event.
Exceptions event table Displays the exception events for the Xenta
schedule.
[Time span/On all day/Off all day menu] Click to select the time range the schedule
should be in service, or select On all day or
Off all day.
Start date/Stop date Enter the date range when the schedule
should be in service.
Start time/Stop time Enter the time range when the schedule
should be in service.
Priority when reset Enter the Xenta alarm priority when reset.
Continued
Property Description
Alarm View source name prefix Type a prefix that is added to the beginning
of the source name property of an alarm
record.
Add
Click to add a forced user action.
Edit
Click to edit a forced user action.
Delete
Click to delete a forced user action.
Add
Click to add an attachment.
Edit
Click to edit an attachment.
Delete
Click to delete an attachment.
Topics
MNL LonWorks Device Overview
MNL LonWorks Engineering
LonWorks Interfaces
Standard MNL LonWorks Device Workflow
MNL-800 LonWorks Device Workflow
Bindings for MNL LonWorks Devices
Synchronize MNL LonWorks Devices after Server Restore
68 MNL LonWorks Introduction
68.1 MNL LonWorks Device Overview
68.4.2 Discover
Use the Discover Standard MNL LonWorks Device workflow to discover standard
MNL LonWorks devices online.
For more information, see section 70.10 “Editing an MNL LonWorks Application
Type” on page 2408.
68.4.3 Create
Use the Create Standard MNL LonWorks Device workflow to create standard MNL
LonWorks devices online.
68.5.2 Discover
Use the Discover MNL-800 LonWorks Device workflow to discover MNL-800
LonWorks devices online.
For more information, see section 70.10 “Editing an MNL LonWorks Application
Type” on page 2408.
68.5.3 Create
Use the Create MNL-800 LonWorks Device workflow to create MNL-800 LonWorks
devices online.
Caution
EEPROM, where NCI data is stored in MNL devices, supports only a finite number
of write operations. Because of this, you should not bind these NCIs to frequently
changing values in Building Operation.
Important
Following a server restore, you cannot determine if you need to synchronize an
MNL device with the restored database by viewing the device's Application
status property. Instead, you must determine whether any changes were made
to the device's application or configuration since the last server backup.
Complete the tasks listed in the following flowchart. Related information can be
found in the sections after the flowchart.
For more information, see section 71.15 “Flow Balance Calibration Information” on
page 2454.
Topics
MNL LonWorks Devices
Creating an MNL-800 LonWorks Device
Discovering an MNL-800 LonWorks Device
Resetting an MNL LonWorks Device
Downloading Configuration Properties to an MNL LonWorks
Device
Commission MNL-800 LonWorks Devices
Commissioning an MNL-800 LonWorks Device
MNL LonWorks Device Functions
Schedules for MNL LonWorks Devices
Trend Logs for MNL LonWorks Devices
Alarms for MNL LonWorks Devices
69 MNL LonWorks Devices
69.1 MNL LonWorks Devices
Standard MNL LonWorks devices, 4.1 and Use the LonWorks procedures for creating,
higher discovering, and commissioning.
For more information, see section 68.4
“Standard MNL LonWorks Device Workflow”
on page 2360.
Standard MNL LonWorks devices, 4.0 and Use the LonWorks procedures for importing
lower a device template, and creating, discovering,
and commissioning.
For more information, see the Older MNL
LonWorks Device Workflow topic on
WebHelp.
MNL-800 LonWorks devices, 2.0 and higher Use the MNL-800 LonWorks procedures for
creating, discovering, and commissioning.
For more information, see section 68.5
“MNL-800 LonWorks Device Workflow” on
page 2365.
MNL-800 LonWorks devices, 1.x Use the LonWorks procedures for importing
a device template, and creating, discovering,
and commissioning.
For more information, see the Older MNL
LonWorks Device Workflow topic on
WebHelp.
Model Number
The model number of the MNL device, which identifies the device's hardware
platform, LonMark profile type, and profile version number, for example, "MNL-
V2RV3."
Firmware Revision
The revision number of the MNL device's firmware, for example, "Rev 4.1."
Caution
Do not press the service pin for 8 seconds or longer. Pressing the
service pin for 8 seconds or longer causes the MNL device to
become unconfigured.
7. In the Device Discovery view, ensure that the MNL device is displayed in the
Devices folder. This may take up to 5 seconds.
Note
If a discovered device does not show its model number and firmware
revision, the device is unconfigured. Configure the device and then
repeat the device discovery process.
For more information, see section 69.1 “MNL LonWorks Devices” on
page 2375.
Note
To verify the Neuron ID of the device, select the device in the
System Tree pane and then select Properties on the File menu.
You will find the Neuron ID on the Basic tab of the device properties
view.
Caution
Resetting an MNL LonWorks device causes its outputs to cycle off
and its application to restart.
3. Click Yes.
4. Select Commission.
5. Select which configuration to use:
• Select Keep current configuration in the device to leave the
configuration in the device as is.
• Select Download current configuration to device to use the current
configuration and download it to the device upon commission.
• Select Download default configuration to device to use the default
configuration from the device template.
• Select Upload configuration from device to use the current
configuration in the device.
6. Click Commission.
Topics
MNL LonWorks Applications
Changes to Applications
Application Status
WorkPlace Tech Overview
WorkPlace Tech Editor
Viewing an MNL LonWorks Application Type
Creating an MNL LonWorks Application Type
Importing a Single MNL LonWorks Application Type
Importing Multiple MNL LonWorks Application Types
Editing an MNL LonWorks Application Type
Removing an MNL LonWorks Application Type
Assigning an MNL LonWorks Application
Downloading an MNL LonWorks Application Type
Editing an MNL LonWorks Application Type in a Device
WorkPlace Tech Monitor
Monitoring an MNL LonWorks Application
Import and Export of MNL LonWorks Solutions
70 MNL LonWorks Applications
70.1 MNL LonWorks Applications
Important
In Building Operation, use WorkStation to download MNL device applications. Do
not use WorkPlace Tech Tool 5.x to download an MNL device that has already
been assigned an application in Building Operation.
MNL-800 Applications
For the most part, the propagation of changes from MNL-800 application types to
their associated Application objects is automated, as is the case with standard
MNL devices. However, MNL-800 applications have customizable network profiles
that require additional steps whenever you save changes that alter an MNL-800
application type’s network profile:
• Changes to SNVT names
• Changes to NV indexes
• Additions or deletions of SNVT objects or tags
If you save changes to an MNL-800 application type’s profile, the system assigns a
new program ID to the application. When the application type has associated
Application objects, the type’s program ID no longer matches the program ID of
those objects. To synchronize the program IDs, you must download the affected
MNL devices and then commission them.
Another consequence of saving changes to an application type’s profile is that by
propagating those changes to the Application objects, you could affect the
external LonWorks network bindings that come from those Application objects.
Important
When Visio 2007 is installed on a Windows Server 2012 system or a Windows
Server 2012 R2 system, you must add .NET Framework 3.5 in order to ensure
the proper function of WorkPlace Tech Editor and Monitor.
WorkPlace Tech Editor and Monitor Engineering Guide Supplement (F-27745) for
a procedure for installing Visio 2007 on Windows Server 2012.
Important
Where multiple versions of Microsoft Visio are installed, the last-run version of
Visio must be compatible with the version of WorkPlace Tech Editor or Monitor
you wish to start. If WorkPlace Tech Editor or Monitor does not start, close any
sessions of Visio that are open. Next, open and then close a compatible version
of Visio, and then start WorkPlace Tech Editor or Monitor. To identify the version
of Visio or WorkPlace Tech Editor or Monitor you are running, click the
appropriate About option in the Help menu.
WorkPlace Tech Editor and Monitor Engineering Guide Supplement (F-27745) for
a troubleshooting procedure addressing the inability of WorkPlace Tech Editor or
Monitor to start due to an incompatible version of Visio.
70.5.2 Applications
Applications are displayed in the Visio interface as control logic drawings (also
known as application drawings) that represent an MNL device's control logic. For
more information, see section 70.1 “MNL LonWorks Applications” on page 2391.
Important
Applications must be from WorkPlace Tech version 4.0 or later, in order to be
imported into Building Operation.
4. In the Applications view, double-click the application type that you want to
view.
You can now view and edit the application type in WorkPlace Tech Editor.
Caution
Do not open more than 10 applications concurrently in WorkPlace Tech Editor.
Opening more than 10 applications concurrently can cause an exception error,
and unsaved changes may be lost.
5. In the MNL device list box, select the MNL device model.
6. In WorkPlace Tech Editor, create a new application.
7. On the File menu, click Save.
8. In the Enter a name for this application box, type a name for the
application.
9. In the Enter a description for this application box, type a description for
the application.
10. In the Enter a category for this application box, type a category for the
application.
11. Click OK.
You can view the new application type in the WorkPlace Tech Applications view in
WorkStation. The application type is now available to assign to MNL LonWorks
devices.
Important
Applications must be from WorkPlace Tech version 4.0 or later, in order to be
imported into the Building Operation database.
For more information, see section 70.5 “WorkPlace Tech Editor” on page 2397.
5. In the MNL device list box, select the MNL device model.
6. In WorkPlace Tech Editor, on the Application menu, click Import Wizard.
7. On the Input File Selection page, read the information and then click Next.
8. In the Select WorkPlace Tech File to Import dialog box, select the
application (.vsd) file to be imported.
9. Click Open.
10. On the Application menu, click Hardware Wizard.
11. In the Hardware Wizard, on the Controller Selection page, make sure the
correct hardware type is selected.
Important
In WorkPlace Tech Editor, you can only change the hardware type of
a new application before saving the application to the Building
Operation database.
Tip
If you have saved the new application and then want to change the
hardware type, first create a copy of the application by selecting
Copy Application on the Application menu, and then select a
different hardware type.
13. In the Enter a name for this application box, type a name for the
application.
14. In the Enter a description for this application box, type a description for
the application.
15. In the Enter a category for this application box, type a category for the
application.
16. Click OK.
You can view the new application type in the WorkPlace Tech Applications view in
WorkStation. The application type is now available to assign to MNL LonWorks
devices.
Important
Applications must be from WorkPlace Tech version 4.0 or later, in order to be
imported into the Building Operation database.
For more information, see section 70.5 “WorkPlace Tech Editor” on page 2397.
5. In the MNL device list box, select the MNL device model.
6. In WorkPlace Tech Editor, on the Application menu, click Import Wizard.
7. On the Input File Selection page, read the information and then click Next.
8. In the Select WorkPlace Tech File to Import dialog box, select the
application (.vsd) files to be imported.
Important
Application file names may only contain digits 1 through 9,
uppercase letters A through Z, lowercase letters a through z, hyphen
(-) and underscore (_), in order to be imported into the Building
Operation database.
Note
Duplicate application names are appended with an underscore
followed by a number when imported into the Building Operation
database.
9. Click Open.
10. On the Ready to Import page, verify the number of files that will be imported
and then click Next.
Note
If the Import Wizard pauses and displays a message during the
import process, click OK to proceed.
11. Review the import log file and then click Finish.
You can view the new application types in the WorkPlace Tech Applications view in
WorkStation. The application types are now available to assign to MNL LonWorks
devices.
Important
In Building Operation, use WorkStation to download MNL device applications. Do
not use WorkPlace Tech Tool 5.x to download an MNL device that has already
been assigned an application in Building Operation.
Warning
Prior to application download, manually override any critical
equipment that is controlled by outputs on the affected field devices.
When the download completes, the devices are reset and all outputs
are turned off until the application restarts, removing any software
overrides (forced values) that were in effect before the download.
Such overrides may be in place while service is being performed on
the equipment, and their inadvertent removal can result in personal
injury or equipment damage.
2. On the Actions menu, point to MNL and then click Download application.
Important
When Visio 2007 is installed on a Windows Server 2012 system or a Windows
Server 2012 R2 system, you must add .NET Framework 3.5 in order to ensure
the proper function of WorkPlace Tech Editor and Monitor.
WorkPlace Tech Editor and Monitor Engineering Guide Supplement (F-27745) for
a procedure for installing Visio 2007 on Windows Server 2012.
Important
Where multiple versions of Microsoft Visio are installed, the last-run version of
Visio must be compatible with the version of WorkPlace Tech Editor or Monitor
you wish to start. If WorkPlace Tech Editor or Monitor does not start, close any
sessions of Visio that are open. Next, open and then close a compatible version
of Visio, and then start WorkPlace Tech Editor or Monitor. To identify the version
of Visio or WorkPlace Tech Editor or Monitor you are running, click the
appropriate About option in the Help menu.
WorkPlace Tech Editor and Monitor Engineering Guide Supplement (F-27745) for
a troubleshooting procedure addressing the inability of WorkPlace Tech Editor or
Monitor to start due to an incompatible version of Visio.
Important
Values written to RAM are only temporarily retained in the MNL device. Such
values are cleared when the MNL device is reset, or its application is downloaded.
To make permanent changes, use WorkPlace Tech Editor.
Caution
If a name conflict occurs during the import process, proceed with caution. It is
possible that the existing application type and the application type in the solution
file are not identical. In such a case, the Application objects that are created
during import may not contain all the attributes of the original Application
objects on the source server.
For more information, see section 158.21 “Name Conflicts During MNL LonWorks
Solution Import” on page 5619.
Caution
If a name conflict occurs during the import process, and the MNL device model
number is different between the existing application type and the application type
in the solution file, do not proceed with the import. Instead, use WorkPlace Tech
Editor to import the original application type from which the solution was created
and then save it with a different name.
For more information, see section 70.8 “Importing a Single MNL LonWorks
Application Type” on page 2403.
WorkPlace Tech Editor and Monitor Engineering Guide Supplement (F-27745)
Topics
MNL LonWorks Objects
I/O Points
S-Link Sensors
Calibrating S-Link Sensors
Backing Up S-Link Sensor Offsets
Restoring S-Link Sensor Offsets
Properties of MNL LonWorks Objects
NCI Values
Reverting to the Application Value for NCI Downloads
Forceable MNL I/O Point Properties
Displayed Value of Forced MNL I/O Point
Not Active (NA) Property Values
Not Active (NA) SNVT Values For MNL LonWorks Devices
Point Object Name
Flow Balance Calibration Information
Backing Up Flow Balance Calibration
Restoring Flow Balance Information
Enumerations for FanModes
Enumerations for HvacModes
71 MNL LonWorks Objects
71.1 MNL LonWorks Objects
Continued
WorkPlace Tech Editor Building Operation I/O Comments
Object Point
Continued
WorkPlace Tech Editor Building Operation I/O Comments
Object Point
Continued
WorkPlace Tech Editor Building Operation I/O Comments
Object Point
Continued
WorkPlace Tech Editor Building Operation S- Comments
Hardware Wizard Link Sensor Object Type
Mode1 Tab HvacMode1 sensor point Supports the first mode you
can access at the S-Link
For more information, see sensor, by which you can
section 72.36 “HvacMode1 monitor and control the
and HvacMode2 heating and cooling modes
Properties – Basic Tab” on of a system. When you
page 2527. use the Mode1 tab of the
Hardware Wizard to enable
(HVAC) Mode1, an
HvacMode1 S-Link sensor
point is created in Building
Operation.
The name of the
HvacMode1 S-Link sensor
point in WorkStation is
always HvacMode1, even
though the name of the
HVAC Mode1 sensor tag can
be edited in the Hardware
Wizard.
Continued
WorkPlace Tech Editor Building Operation S- Comments
Hardware Wizard Link Sensor Object Type
You can now download the configuration properties to the device. For more
information, see section 69.5 “Downloading Configuration Properties to an MNL
LonWorks Device” on page 2381.
For more information, see section 71.14 “Point Object Name” on page 2453.
Note
If you modify an NCI value and then decide that you want to revert to the value
from the MNL application, you can use the Revert to application value
command.
For more information, see section 71.9 “Reverting to the Application Value for NCI
Downloads” on page 2435.
AnalogInM AnalogOut
AnalogInR AnalogOutPri
AnalogInTC BinaryOut
AnalogInTF EventInd
AnalogInV PWMMin
BinaryIn PWMSec
BinaryInPls PWMPriMin
PressureTransInH20 PWMPriSec
Important
Secondary protection that is part of an output object, such as Minimum On Time,
is overridden when forcing values.
Value Property
The Value property displays the current value associated with the I/O point. This
will either be the calculated value based on the application, or the forced value if it is
currently in a forced state.
Important
When you force the Value property of certain input I/O points, the Unforced
value property indicates "32768" (NA) rather than the actual unforced value. This
applies to the following I/O points:
• AnalogIn series
• BinaryIn
• BinaryInPls
• DUI
• PressureTransInH20
• PressureTransPa
Warning
Avoid using TAC I/A Series Pocket I/A to clear an override that was set from
within Building Operation. Such overrides are often set to calibrate or diagnose
equipment operation. Clearing the override using Pocket I/A could unintentionally
restore normal operation, resulting in damage to the equipment.
Note
When you set or clear overrides with TAC I/A Series Pocket I/A, it may take one
minute or longer for the override status icon in WorkStation to update. To avoid
confusion over the actual status of the override, use WorkStation, not Pocket I/A,
to perform overrides.
Figure: Forced Value in MNL Input Object – All Displayed Values Are the Same
Important
When you force the Value property of an input object in WorkStation, the
displayed value on the Basic tab may revert to the previous value, even though
the Value output in the application updates correctly. This behavior is limited to
the displayed value on the Basic tab. To display the current forced value on the
Basic tab, refresh the display.
Figure: Unforced Value in MNL Output Object – All Displayed Values Are the Same
• On the application drawing, the value at the output object's Output property,
as displayed on a monitor tag connected to this output, is different from the
forced value displayed on the I/O point's Basic property tab
Figure: Forced Value in MNL Output Object – Output Property Displayed Value Is Different
Note
To avoid the inconsistent display values for forced MNL output objects, alter the
application so that it is not dependent on the Output property, alone, for passing
the value to other logic or points. After making changes to the application, save
the changes and then download the application to the MNL device.
For more information, see section 70.14 “Editing an MNL LonWorks Application
Type in a Device” on page 2414.
WorkPlace Tech Editor and Monitor Engineering Guide Supplement (F-27745) for
a procedure detailing how to edit an application that is assigned to MNL-800
LonWorks devices.
Table: Not Active (NA) SNVT Values for MNL LonWorks Devices
SNVT Type SNVT Element US Customary SI Value
System Value
Continued
SNVT Type SNVT Element US Customary SI Value
System Value
Continued
SNVT Type SNVT Element US Customary SI Value
System Value
Continued
SNVT Type SNVT Element US Customary SI Value
System Value
Continued
SNVT Type SNVT Element US Customary SI Value
System Value
SNVT_state State bit (all states) Not possible to set to Not possible to set to
NA NA
SNVT_switch State -1 -1
Continued
SNVT Type SNVT Element US Customary SI Value
System Value
Continued
SNVT Type SNVT Element US Customary SI Value
System Value
In WorkStation, you can view the time at which the last restore was performed,
displayed as Last flow balance restore time, part of the Flow Balance
Information property group on the MNL VAV device’s Advanced tab. For more
information, see section 72.46 “MNL LonWorks Device Properties – Advanced Tab”
on page 2543.
Auto 1
Off 100
On 101
Low 133
Medium 166
High 200
You can use these numeric values in other Building Operation applications such as
graphics, script programs, and function block programs.
Auto 0
Heat 1
Cool 3
Off 6
You can use these numeric values in other Building Operation applications such as
graphics, script programs, and function block programs.
Topics
Properties of I/O Points, Sensor Object, and S-Link Sensor
Points – Basic Tab
Properties of I/O Points, Sensor Object, and S-Link Sensor
Points – Advanced Tab
AnalogIn Properties – Basic Tab
AnalogInM and AnalogInV Properties – Advanced Tab
AnalogInR Properties – Advanced Tab
AnalogInTC and AnalogInTF Properties – Advanced Tab
AnalogOut and AnalogOutPri Properties – Basic Tab
AnalogOut and AnalogOutPri Properties – Advanced Tab
BinaryIn Properties – Basic Tab
BinaryIn Properties – Advanced Tab
BinaryInPls Properties – Basic Tab
BinaryInPls Properties – Advanced Tab
BinaryOut Properties – Basic Tab
BinaryOut Properties – Advanced Tab
DUI Properties – Basic Tab
DUI Properties – Advanced Tab
EventInd Properties – Basic Tab
EventInd Properties – Advanced Tab
FanSpeed1 Properties – Basic Tab
FanSpeed1 Properties – Advanced Tab
FanSpeed2 Properties – Basic Tab
FanSpeed2 and FanSpeed3 Properties – Advanced Tab
FanSpeed3 Properties – Basic Tab
FloatingAct and FloatingActPri Properties – Basic Tab
FloatingAct and FloatingActPri Properties – Advanced Tab
MomenSS Properties – Basic Tab
MomenSS Properties – Advanced Tab
PressureTransInH20 and PressureTransPa Properties –
Basic Tab
PressureTransInH20 and PressureTransPa Properties –
Advanced Tab
PWMMin, PWMPriMin, PWMSec, and PWMPriSec
Properties – Basic Tab
PWMMin, PWMPriMin, PWMSec, and PWMPriSec
Properties – Advanced Tab
VAVActuator Properties – Basic Tab
VAVActuator Properties – Advanced Tab
FanMode1 and FanMode2 Properties – Basic Tab
FanMode1 and FanMode2 Properties – Advanced Tab
HvacMode1 and HvacMode2 Properties – Basic Tab
HvacMode1 and HvacMode2 Properties – Advanced Tab
Setpoint Properties – Basic Tab
Setpoint Properties – Advanced Tab
Display Properties – Basic Tab
Applications View
Assign Application Wizard - Naming the Object Page
Sensor Object Properties – Basic Tab
Sensor Object Properties – Advanced Tab
MNL Device Application Properties – Basic Tab
MNL LonWorks Device Properties – Advanced Tab
Actions Menu – MNL Submenu
MNL LonWorks System Tree Icons
72 MNL LonWorks User Interface
72.1 Properties of I/O Points, Sensor Object, and S-Link Sensor Points – Basic Tab
Continued
Property Description
Input low value Enter the input low value, where the Value
output equals the Scaled low value.
Corresponds to the Input Low Value
property of the Analog Input object in
WorkPlace Tech Editor.
Scaled low value Enter the value you want the Value output
to have when the hardware input equals the
Input low value.
Corresponds to the Scaled Low Value
property of the Analog Input object in
WorkPlace Tech Editor.
Continued
Property Description
Input high value Enter the input high value, where the Value
output equals the Scaled high value.
Corresponds to the Input High Value
property of the Analog Input object in
WorkPlace Tech Editor.
Scaled high value Enter the value you want the Value output
to have when the hardware input equals the
Input high value.
Corresponds to the Scaled High Value
property of the Analog Input object in
WorkPlace Tech Editor.
Input low value default Displays the default value for the Input low
value property.
Scaled low value default Displays the default value for the Scaled
low value property.
Input high value default Displays the default value for the Input high
value property.
Scaled high value default Displays the default value for the Scaled
high value property.
Filter constant default Displays the default value for the Filter
constant property.
Offset calibration default Displays the default value for the Offset
calibration property.
Continued
Property Description
Filter constant default Displays the default value for the Filter
constant property.
Offset calibration default Displays the default value for the Offset
calibration property.
Continued
Property Description
Filter constant default Displays the default value for the Filter
constant property.
Offset calibration default Displays the default value for the Offset
calibration property.
Continued
Property Description
Continued
Property Description
Scaled low value Enter the value you want the I/O point input
to be when the hardware output equals the
value assigned to the Output low value
(and the Value output equals 0.0 %).
Corresponds to the Scaled Low Value
property of the Analog Output or Analog
Output Priority object in WorkPlace Tech
Editor.
Scaled high value Enter the value you want the I/O point input
to be when the hardware output equals the
value assigned to the Output high value
(and the Value output equals 100.0 %).
Corresponds to the Scaled High Value
property of the Analog Output or Analog
Output Priority object in WorkPlace Tech
Editor.
Output low value default Displays the default value for the Output
low value property.
Scaled low value default Displays the default value for the Scaled
low value property.
Output high value default Displays the default value for the Output
high value property.
Scaled high value default Displays the default value for the Scaled
high value property.
Continued
Property Description
Continued
Property Description
Binary action default Displays the default value for the Binary
action property.
Reset count default Displays the default value for the Reset
count property.
Continued
Property Description
Continued
Property Description
Pulse constant default Displays the default value for the Pulse
constant property.
Reset outputs default Displays the default value for the Reset
outputs property.
Binary action default Displays the default value for the Binary
action property.
Continued
Property Description
Binary action 1 Click the property box and then select the
action for Output 1 (Basic tab).
Binary action 2 Click the property box and then select the
action for Output 2 (Basic tab).
Binary action 3 Click the property box and then select the
action for Output 3 (Basic tab).
Binary action 4 Click the property box and then select the
action for Output 4 (Basic tab).
Binary action 5 Click the property box and then select the
action for Output 5 (Basic tab).
Continued
Property Description
Binary action 1 default Displays the default selection for the Binary
action 1 property.
Binary action 2 default Displays the default selection for the Binary
action 2 property.
Binary action 3 default Displays the default selection for the Binary
action 3 property.
Binary action 4 default Displays the default selection for the Binary
action 4 property.
Binary action 5 default Displays the default selection for the Binary
action 5 property.
Continued
Property Description
Event time default Displays the default value for the Event
time property.
Event duration default Displays the default value for the Event
duration property.
Continued
Property Description
Minimum on time default Displays the default value for the Minimum
on time property.
Purge time default Displays the default value for the Purge
time property.
Continued
Property Description
Continued
Property Description
Kick time default Displays the default value for the Kick time
property.
Minimum on time default Displays the default value for the Minimum
on time property.
Purge time default Displays the default value for the Purge
time property.
Continued
Property Description
Low speed output Displays the status of the output for low
speed operation.
Corresponds to the Low Speed property of
the Fan Speed object in WorkPlace Tech
Editor.
Medium speed output Displays the status of the output for medium
speed operation.
Corresponds to the Medium Speed property
of the Fan Speed object in WorkPlace Tech
Editor.
High speed output Displays the status of the output for high
speed operation.
Corresponds to the High Speed property of
the Fan Speed object in WorkPlace Tech
Editor.
Continued
Property Description
Continued
Property Description
Drive mode default Displays the default value for the Drive
mode property.
Drift compensation enable default Displays the default value for the Drift
compensation enable property.
Drive time default Displays the default value for the Drive time
property.
Force open input default Displays the default value for the Force
open input property.
Force close input default Displays the default value for the Force
close input property.
Continued
Property Description
Start pulse duration Enter the On pulse duration for a start pulse
sequence.
Corresponds to the On Pulse property of the
Momentary Start/Stop object in WorkPlace
Tech Editor.
Stop pulse duration Enter the Off pulse duration for a stop pulse
sequence.
Corresponds to the Off Pulse property of the
Momentary Start/Stop object in WorkPlace
Tech Editor.
Start pulse duration default Displays the default value for the Start
pulse duration property.
Continued
Property Description
Stop pulse duration default Displays the default value for the Stop
pulse duration property.
Continued
Property Description
Continued
Property Description
High flow calibration default Displays the default value for the High flow
calibration property.
Low flow calibration default Displays the default value for the Low flow
calibration property.
Continued
Property Description
Continued
Property Description
Off time default Displays the default value for the Off time
property.
Continued
Property Description
Continued
Property Description
Drive time default Displays the default value for the Drive time
property.
Actuator action default Displays the default value for the Actuator
action property.
Force open input default Displays the default value for the Force
open input property.
Force close input default Displays the default value for the Force
close input property.
Fan mode default Displays the default value for the Fan mode
property.
HVAC mode Click the property box and then select the
HVAC operating mode.
Corresponds to the HVAC operating mode
selected at the S-Link sensor.
HVAC mode default Displays the default value for the HVAC
mode property.
Continued
Property Description
Continued
Property Description
Enable limits default Displays the default value for the Enable
limits property.
Minimum limit default Displays the default value for the Minimum
limit property.
Maximum limit default Displays the default value for the Maximum
limit property.
Continued
Property Description
Add an application
Click to open WorkPlace Tech Editor, where
you create or import a new application to
add to Building Operation.
Edit an application
Click to open the selected application for
editing in WorkPlace Tech Editor.
Remove an application
Click to remove the selected application
from the list of available applications in
WorkPlace Tech Editor.
Continued
Component Description
Only show MNL-800 applications ... Select this check box to filter the application
list and make it easier to select an
application that is appropriate for the MNL-
800 device. Available only with MNL-800
devices.
Continued
Properties Description
VSD last write time Displays the date and time at which values
were last written to the application.
Continued
Property Description
Continued
Property Description
Active humidity offset Displays the humidity offset, read from the
MNL device.
Heating minimum flow setpoint Displays the minimum flow control point
used by the MNL VAV device during reheat
conditions.
Last flow balance backup time Displays the most recent time at which the
flow balance information in the MNL VAV
device was backed up.
Last flow balance restore time Displays the most recent time at which the
backup flow balance information was
restored to the MNL VAV device.
Launch WorkPlace Tech Monitor Click to open WorkPlace Tech Monitor. For
more information, see section 70.15
“WorkPlace Tech Monitor” on page 2415.
Backup flow balance information Click to copy the MNL VAV device's flow
balance calibration information to the
Building Operation database. For more
information, see section 71.15 “Flow
Balance Calibration Information” on page
2454.
Restore flow balance information Click to write the flow balance calibration
information contained in the Flow Balance
Information property group, from the
Building Operation database to the MNL
VAV device. For more information, see
section 71.15 “Flow Balance Calibration
Information” on page 2454.
Continued
Command Description
Application
Indicates an Application object that is
assigned to an MNL device, created from a
compatible MNL application type.
For more information, see section 70.1
“MNL LonWorks Applications” on page
2391.
Topics
BACnet Overview
BACnet Interface
Creating a BACnet Interface
BACnet Folders in the BACnet Interface
Automatically Discovering BACnet Subnetworks
BACnet Communications
BACnet References and System References
Interface Required Identification Properties
BACnet System Configuration Workflows
BACnet System Off-site Configuration Workflow
BACnet System On-site Configuration Workflow
73 BACnet Overview
73.1 BACnet Overview
Alarm and event • Create and define the conditions for algorithmic and intrinsic
management alarming
• Acknowledge alarms and events
• Create and define BACnet notifications and device recipients
For more information, see section 79.6 “BACnet Alarms” on page
2898.
For more information, see section 79.1 “BACnet Notifications” on
page 2879.
Trending • Create and define trend logs for algorithmic and intrinsic
reporting
• Create and modify extended trend logs
• Display trended data
For more information, see section 75.29 “Extended Logging for
External BACnet Trend Logs Workflow” on page 2640.
Device and network • Discover and display information about devices on the BACnet
management internetwork
• Discover and display information about objects in the BACnet
internetwork
• Backup and restore BACnet devices
For more information, see section 75.2 “BACnet Device Discovery”
on page 2606.
For more information, see section 75.39 “BACnet Backup and
Restore” on page 2653.
http://www.bacnet.org/
Note
• If you enter an Instance ID manually, you must ensure that it is
globally unique among all the BACnet devices on the
internetwork (that is, among all the devices that it can
communicate with).
8. In the BACnet name box, type a name for the BACnet interface. Do not type
a name if you want it assigned for you.
9. In the Network ID box, enter 1, which is the universal standard for all BACnet
IP communications.
10. Click Create.
Note
Generally, IDs are assigned by a device during an upload, or by the system during
a download. If you copy and paste folders containing BACnet objects to other
devices, the object names and IDs can remain the same. However, the IDs of
BACnet objects must be unique to each device. If duplicate IDs are detected in
the target destination, the system displays an error message and cancels the
copy command.
3 Create and configure the BACnet objects and place them into the designated
folders.
4 Create and configure the Building Operation objects and place them into the
designated folders.
7 Associate the cloned devices with their respective online devices on the network.
Caution
Ensure that you have created all domain devices and objects before the deploy of
an Automation Server. If you add devices and objects to the Automation Server
and deploy the server again, you first have to clear the database of the physical
Automation Server. For more information, see section 6.8 “Deploy” on page 248.
For more information, see section 6.12 “Deploying a Server” on page 260.
Important
It is recommended that you update the Enterprise Server communication
parameters before the deploy of the first Automation Server.
For more information, see section 4.9 “Updating Project Configuration Server
Communication Parameters” on page 187.
Important
Ensure that you have created all Automation Servers in the project before the
deploy of the Enterprise Server. You can only deploy to an empty Enterprise
Server. Any additional Automation Servers have to be created on the on-site
server.
For more information, see section 6.8 “Deploy” on page 248.
For more information, see section 6.12 “Deploying a Server” on page 260.
Download devices
Download the configuration data from the online server to each deployed device to
update all of the objects and properties of the device.
For more information, see section 78.5 “Downloading the Contents of a BACnet
Device” on page 2868.
Download networks
Download the contents of a BACnet network from the Building Operation server's
database to update all of the devices, objects, and properties of the network.
• For more information, see section 78.6 “Downloading an IP Network” on page
2869.
• For more information, see section 78.7 “Downloading an MSTP Network” on
page 2870.
• For more information, see section 78.8 “Downloading a Remote Network” on
page 2871.
Topics
BACnet Networks
IP Network
Creating an Additional BACnet IP Network
Configuring a BACnet IP Network
MS/TP Network
Creating a BACnet MS/TP Network
Configuring a BACnet MS/TP Network
Remote Network
Creating a BACnet Remote Network
Configuring a BACnet Remote Network
BACnet Internetwork
Best Practices for Multiple IP Networks and BBMDs
Diagnosing Polled Variables on a BACnet Network
Optimizing System Performance Using BACnet Polling
Intervals
BACnet Gateway
74 BACnet Networks
74.1 BACnet Networks
74.1.1 IP Network
Automation Servers and Enterprise Servers communicate with BACnet devices
over IP networks. The system automatically creates an initial IP network when you
create a BACnet Interface. However, you can create additional IP networks to join
one or more subnetworks to the BACnet network.
For more information, see section 74.2 “IP Network” on page 2576.
Note
Lag depends upon the type of network. For example, an IP network runs faster
than an MS/TP network. Furthermore, a network of b3s running in enhanced
MS/TP mode runs faster than one running in non-enhanced mode. For more
information, see section 83.4 “Configuring the MS/TP Network for b3
Communication” on page 3274.
In Building Operation, a large number of polled variables may directly affect system
response time. However, you can optimize system performance of polled BACnet
variables by (1) reducing the number of polled variables in a graphic or Watch pane,
(2) fine-tuning the BACnet polling interval settings, or (3) both. For more information,
see section 161.1 “System Performance Diagnostics” on page 5637.
74.1.7 Summary
Devices and objects in a BACnet network conform to the requirements published
by ASHRAE, the American Society of Heating, Refrigerating, and Air-Conditioning
Engineers. The ASHRAE Standard is a data communication protocol for building
and automation control networks.
The following illustration provides an overview of BACnet.
74.2 IP Network
Automation Servers and Enterprise Servers communicate with BACnet devices
over IP networks. The system automatically creates an initial IP network when you
create a BACnet Interface. However, you can create additional IP networks to join
one or more subnetworks to the BACnet network.
Figure: IP Network
Out Of Service Set to True to disable the IP network from the BACnet
system.
Maximum APDU Displays the maximum size of a message that a device on the
length accepted network can accept.
BBMD IP address Type the IP address of the BBMD to register the network as a
foreign device with the BBMD.
BBMD port Enter the port number of the BBMD to register the network as
number a foreign device with the BBMD.
6. Click OK.
7. Select the Defer ID assignment check box to assign a network ID after the
MS/TP network is created.
8. In the MAC address box, enter the number that represents the Automation
Server's address on the MS/TP network.
9. In the RS-485 port box, enter the location of the serial port RS485-COMA
or RS485-COMB.
10. Click Create.
RS-485 port View or enter the path to the serial port on the Automation
Server.
MAC address View or enter the MS/TP MAC address of the Automation
Server. Enter a number between 0 and 127. Most
installations use 0.
Maximum master Enter the highest used address of the master nodes on the
MS/TP network. Enter a number between 0 and 127.
5. Click OK.
8. Click Create.
• Create and configure BACnet objects, such as trend logs and notifications, in
the server.
• View the properties of BACnet IO points created for IO modules that are
connected to an Automation Server.
Tip
The Device Discovery view displays all BACnet devices and objects discovered in
the BACnet internetwork. For more information, see section 75.2 “BACnet Device
Discovery” on page 2606.
4. View the following read-only polling statistics, which are reset for every five
minutes of server operation:
Property Description
Average polling delay Displays the average lag between the time
WorkStation scheduled a poll of a variable from a
BACnet object and when the variable was actually
polled.
Minimum polling delay Displays the minimum polling lag between the time
WorkStation scheduled a poll of a variable from a
BACnet object and when the variable was actually
polled.
Maximum polling delay Displays the maximum polling lag between the time
WorkStation scheduled a poll of a variable from a
BACnet object and when the variable was actually
polled.
5. In the Minimum polling interface for remote network box, enter the
number of milliseconds for an installed remote BACnet network, for example,
1000.
6. In the Minimum polling interface for MSTPA network box, enter the
number of milliseconds (on an Automation Server only) for an installed MS/TP
COMA network, for example, 1000.
7. In the Minimum polling interface for MSTPB network box, enter the
number of milliseconds (on an Automation Server only) for an installed MS/TP
COMB network, for example, 1000.
8. Click OK.
9. In the Watch pane, monitor any change in the CPU or system memory usage.
Keep in mind that the fine-tuning only affects the polled intervals of BACnet objects
that reside on BACnet networks. These polling interval settings override the default
system interval, which is one-half second (500 ms). For example, you can adjust the
polling interval from zero (default) to one second (1000 ms) to adjust the polling
interval frequency of the BACnet objects on IP networks.
Note
A BACnet Gateway that routes to virtual BACnet devices may not necessarily be
a device. Therefore, a gateway that is not a device has no properties or objects of
its own. For more information, see section 81.18 “BACnet Gateway Properties –
Basic Tab” on page 2992.
Topics
BACnet Device Management
BACnet Device Discovery
Discovering a BACnet Device
Creating a BACnet Device
Creating an I/A Series (MNB) BACnet Device
Associating a BACnet Instance Number with a Device
BACnet Time Synchronization
Configuring a Server as a Time Sync Master for Local Time
Configuring a Server as a Time Sync Master for UTC Time
Configuring a BACnet Device as a Time Sync Master for
Local Time
Editing a Device Recipient
Manually Triggering the Time Recipients List of a Server
Manually Synchronizing an IP Network to Local Time
Manually Synchronizing an IP Network to UTC Time
Manually Synchronizing an MSTP Network to Local Time
Manually Synchronizing an MSTP Network to UTC Time
Manually Synchronizing a Remote Network to Local Time
Manually Synchronizing a Remote Network to UTC Time
Manually Synchronizing a BACnet Device to Local Time
Manually Synchronizing a BACnet Device to UTC Time
Device Communication and Diagnostics
Enabling BACnet Device Communication
Disabling BACnet Device Communication
Disabling Initiation of BACnet Device Communication
Enabling BACnet Interface Communication
Disabling BACnet Interface Communication
Disabling Initiation of BACnet Interface Communication
Refreshing COV Subscriptions
Extended Logging for External BACnet Trend Logs Workflow
BBMDs and Foreign Devices
Creating a BBMD
Configuring a BBMD
Registering a Building Operation Server as a Foreign Device
Teaching a BBMD Configuration to Other BBMDs
Learning a BBMD Configuration from one BBMD to Another
Device Cold Start and Warm Start
Warm Starting a BACnet Device
Cold Starting a BACnet Device
BACnet Backup and Restore
Backing Up a BACnet Device
Restoring a BACnet Device
75 BACnet Device Management
75.1 BACnet Device Management
Table: Supported Objects and Properties for Hosted I/A Series BACnet Devices
General Object Type I/A Series Object Value Commandable Forceable
Type
Continued
General Object Type I/A Series Object Value Commandable Forceable
Type
To improve system performance, you can create I/A Series BACnet devices that
operate more efficiently than generic BACnet devices. For more information, see
section 75.5 “Creating an I/A Series (MNB) BACnet Device” on page 2610.
For more information, see section 75.36 “Device Cold Start and Warm Start” on
page 2650.
4. Drag the BACnet device to IP Network or MSTP Network. Use the same
network where the actual BACnet device resides.
5. In the Information dialog box, click OK.
Now that you have discovered the BACnet device, you upload the contents of
the device. For more information, see section 78.12 “Uploading the Contents
of a BACnet Device” on page 2876.
4. In the Device Id box, type the BACnet instance number of the external
BACnet device that you want to associate with the device.
5. Click OK.
Figure: Synchronization of BACnet devices and networks using master time controllers
Using BACnet time synchronization, the following BACnet objects can act as
master time controllers by sending time updates every hour to their recipients:
• BACnet Interface, which is the data portal to the Building Operation server, can
send time synch messages to any BACnet device or network.
• BACnet Device, which supports the time-sync master functionality, can send
time synch messages to any BACnet device or network.
For example, you can configure a router to send time-sync messages to a
remote MS/TP network if the router supports time-sync master functionality.
To do this, you add the router to the recipients list of the server’s BACnet
Interface. For more information, see section 75.10 “Configuring a BACnet
Device as a Time Sync Master for Local Time” on page 2619.
Tip
You can force a server to send out time sync notifications that are automatically
synchronized periodically. For more information, see section 75.12 “Manually
Triggering the Time Recipients List of a Server” on page 2622.
5. In the Time sync MSTP networks box, select True if the server supports
an MS/TP network.
6. Click to add a device recipient that you want to receive time updates
based on the local time of the server.
Continued on next page
MAC address Click to identify the device recipient by the network of the device.
Use a MAC and network address when you want to identify
objects not included in the Building Operation database.
MS/TP Enter a number between 0 and 254 for the MS/TP address of
the device recipient on the network.
IP Enter the IP address and port number for the IP address of the
device recipient.
8. Click OK.
9. Click Save.
3. In the Time sync MSTP networks box, select True if the server supports
an MS/TP network.
4. Click to add a device recipient that you want to receive time updates
based on the UTC time of the server.
Continued on next page
MAC address Click to identify the device recipient by the network of the device.
Use a MAC and network address when you want to identify
objects not included in the Building Operation database.
MS/TP Enter a number between 0 and 254 for the MS/TP address of
the device recipient on the network.
IP Enter the IP address and port number for the IP address of the
device recipient.
6. Click OK.
7. Click Save.
4. Click to add a device recipient that you want to receive time updates
based on the time clock of the BACnet device.
Continued on next page
MAC address Click to identify the device recipient by the network of the device.
Use a MAC and network address when you want to identify
objects not included in the Building Operation database.
MS/TP Enter a number between 0 and 254 for the MS/TP address of
the device recipient on the network.
IP Enter the IP address and port number for the IP address of the
device recipient.
6. Click OK.
7. Click Save.
MAC address Click to identify the device recipient by the network of the device.
Use a MAC and network address when you want to identify
objects not included in the Building Operation database.
MS/TP Enter a number between 0 and 254 for the MS/TP address of
the device recipient on the network.
IP Enter the IP address and port number for the IP address of the
device recipient.
2. Click OK.
3. On the Time sync submenu, click Local to synchronize the time of the
BACnet device with the local time of the server.
3. On the Time sync submenu, click UTC to synchronize the time of the device
with UTC time.
Device Disable X X
Device Enable – X
For more information, see section 81.162 “BACnet Device Communication Dialog
Box” on page 3245.
7. Click OK.
4. Click OK.
4. Click OK.
Tip
Set the buffer ready alarm threshold parameter to 10% of the trend log buffer size
to ensure that it works most efficiently with extended trend logs. For example, if
the trend log buffer size is 100, the buffer ready threshold should be 10.
Note
For local BACnet trend logs, you create an extended trend log in the Application
folder of the BACnet interface. For more information, see the Creating an
Extended Trend Log topic on WebHelp.
75.30.1 BBMDs
The BBMD's primary purpose is to redistribute the essential broadcast messages
that BACnet requires, such as who is/I am broadcasts used for Device Discovery. In
some cases, however, there may be devices on the BACnet/IP internetwork that
are transient. For example, these devices may reside on a subnet where it is not
economical to install, configure, and maintain a BBMD, or where there are no other
BACnet nodes. In this case, BBMDs can enable transient devices to associate
themselves with a BACnet/IP internetwork, which is essential for establishing
communication with them in the BACnet system.
Note
BBMDs and foreign devices are mutually exclusive so you either create a BBMD
or a foreign device (or neither) on a particular IP subnet.
Note
There are no known practical limits on the number of Broadcast Distribution Table
(BDT) entries for the Enterprise Server or Automation Server. For more
information, see the Architectural Guidelines datasheet.
To create a BBMD
1. In WorkStation, in the System Tree, expand the BACnet Interface on
the server.
2. Select the IP Network where you want to create a BBMD.
3. On the File menu, point to New and then click BBMD.
4. In the Name box, type a name for the BBMD.
5. In the Description box, type a description for the BBMD.
6. Click Create.
The server is now a BBMD. You can view or edit the BDT properties of the BBMD.
For more information, see section 81.27 “BBMD BDT Entry Properties – Basic Tab”
on page 3005.
To configure a BBMD
1. In WorkStation, in the System Tree, expand the BACnet Interface of the
server.
2. Expand the IP Network where the BBMD resides.
3. In List View, double click on the BBMD that you want to modify.
4. Double click on the BDT entry within the BBMD.
5. In the IP address box, type the IP address of the BBMD on the subnet.
6. In the IP port number box, type the IP port of the BBMD on the subnet.
7. In the Broadcast distribution mask, type the distribution mask that
specifies how the broadcast messages are distributed on the subnet.
8. Click OK.
The BDT is now configured. You can view or edit the BDT properties. For more
information, see section 81.27 “BBMD BDT Entry Properties – Basic Tab” on page
3005.
Tip
To save configuration time, you can use the Teach or Learn commands to update
multiple BBMDs in the BACnet system.
6. Click OK.
6. Click OK.
Backup path X –
5. In the Password box, type the vendor supplied password, or leave the box
empty if a password is not required.
6. Click OK.
Continued on next page
5. In the Password box, type the vendor supplied password, or leave the box
empty if a password is not required.
6. Click OK.
Continued on next page
Topics
BACnet Objects and Properties
Supported BACnet Object Types
Table of Supported Object Types
BACnet Object Properties
BACnet Reliability Property
BACnet Device Object Indicator – Executed By
BACnet Configuration Properties
Updating the Object List of a BACnet Device
BACnet Status Flags
Creating a BACnet Point in a Server
Configuring a BACnet Analog Input Point
Configuring a BACnet Digital Input Point
Configuring a BACnet Multistate Input Point
Configuring a BACnet Analog Output Point
Configuring a BACnet Digital Output Point
Configuring a BACnet Multistate Output Point
Creating a BACnet Point (Generic)
Configuring a BACnet Analog Input Point (Generic)
Configuring a BACnet Digital Input Point (Generic)
Configuring a BACnet Multistate Input Point (Generic)
Configuring a BACnet Analog Output Point (Generic)
Configuring a BACnet Digital Output Point (Generic)
Configuring a BACnet Multistate Output Point (Generic)
Creating a BACnet Value
Configuring a BACnet Analog Value
Configuring a BACnet Digital Value
Configuring a BACnet Multistate Value
Creating a BACnet Value (Generic)
Configuring a BACnet Analog Value (Generic)
Configuring a BACnet Digital Value (Generic)
Configuring a BACnet Multistate Value (Generic)
Creating a BACnet Accumulator (Generic)
Configuring a BACnet Accumulator (Generic)
Creating a BACnet Averaging (Generic)
Configuring a BACnet Averaging (Generic)
Creating a BACnet Command (Generic)
Configuring a BACnet Command (Generic)
Creating a BACnet Load Control (Generic)
Configuring a BACnet Load Control (Generic)
Creating a BACnet Pulse Converter (Generic)
Configuring a BACnet Pulse Converter (Generic)
Changing a BACnet String
Creating a BACnet Trend Log
Configuring a BACnet Trend Log
Creating a BACnet Trend Log (Generic)
Configuring a BACnet Trend Log (Generic)
Configuring Extended Logging for a Local BACnet Trend Log
Creating a BACnet Loop
Creating a BACnet Loop (Generic)
Creating a BACnet File (Generic)
Creating a BACnet Program (Generic)
76 BACnet Objects and Properties
76.1 BACnet Objects and Properties
Tip
While you can create Script and Function Block programs in the Application
folder, they are not visible to external BACnet clients.
Note
The BACnet string does not support intrinsic reporting and Present Value is not
commandable.
For more information, see section 76.42 “Changing a BACnet String” on page
2824.
Accumulator – X
Analog Input X X
Analog Output X X
Analog Value X X
Averaging – X
Binary Input X X
Binary Output X X
Binary Value X X
Calendar X X
Command – X
Device X X
Event Enrollment X X
File – X
Load Control – X
Loop X X
Multistate Input X X
Multistate Output X X
Multistate Value X X
Notification Class X X
Program – X
Pulse Converter – X
Schedule X X
Trend Log X X
For more information, see section 77.1 “BACnet Command Priorities” on page
2849.
over range A sensor connected to the input is reading a value higher than the
normal operating range. This is possible if the object is a binary
input and the binary state is derived from an analog sensor or a
binary input equipped with electrical loop supervision circuits.
under range A sensor connected to the input is reading a value lower than the
normal operating range. This is possible if the object is a binary
input and the binary input is actually a binary state calculated from
an analog sensor.
open loop The connection between the defined object and the physical
device provides a value specifying an open circuit condition.
shorted loop The connection between the defined object and the physical
device provides a value specifying a short circuit condition.
multistate fault The present value of the multistate object is equal to one of the
states in the Is fault value property.
unreliable other The controller has detected that the present value is unreliable.
However, none of the other conditions describe the problem. A
generic fault, other than those listed here, has been detected. For
example, a binary input is not cycling as expected.
3. Select Application.
4. On the Actions menu, click Update object list.
Figure: BACnet alarm and fault status flags for an open loop before and after configuration
The following table lists the BACnet status flags and their states.
In alarm Displays a check when the Event state has a condition other than
Normal, such as Off-normal. For more information, see section
79.1 “BACnet Notifications” on page 2879.
The box remains unchecked if intrinsic alarming is not supported
by the object. For more information, see section 79.6 “BACnet
Alarms” on page 2898.
Continued
Status Flag Description
8. In the BACnet name box, type a BACnet name for the point.
Do not type a name if you want a name to be assigned for you.
9. In the Command priority retain level box, select one of the following
options to configure the warm start and cold start settings for a command
priority array:
• Warm start: The variable retains the last value set by a user or
application. However, the variable reverts to the default value for a cold
start.
• Cold start: The variable retains the last value set by a user or application
for a warm start or cold start.
• No: The variable reverts to the default value upon a restart.
10. Click Create.
5. Under Status Information, click the Configure button for the Value
property.
6. Edit the properties.
Property Description
Unit Select the Unit check box and enter the unit that matches the
unit of the point on the Automation Server IO module. For more
information, see the Units topic on WebHelp.
Reference Enter the Value property of the point that you want to reference.
Forceable Select to make the value forcible. For more information, see the
Forced Values topic on WebHelp.
Retain level Select how to handle values for warm start, cold start, system
events, and system activities. For more information, see the
Retain Level topic on WebHelp.
7. Click OK to close the Value dialog box and return to the Basic tab.
Unit Select the Unit check box and enter the unit that matches the
unit of the point on the Automation Server IO module. For more
information, see the Units topic on WebHelp.
Reference Enter the Value property of the point that you want to reference.
Forceable Select to make the value forcible. For more information, see the
Forced Values topic on WebHelp.
Retain level Select how to handle values for warm start, cold start, system
events, and system activities. For more information, see the
Retain Level topic on WebHelp.
10. Click OK to to close the Associated value dialog box and return to the
Basic tab.
Status flags Displays the condition or status of the BACnet point. For more
information, see section 76.9 “BACnet Status Flags” on page
2673.
Out of service Set to True to decouple the Value from the associated property.
If the associated property is not configured, this property is True
and cannot be changed.
Event state Displays Off Normal when intrinsic alarming has been
configured and the point is in an alarm state.
Alarm state Displays a Building Operation alarm state that provides additional
information about an intrinsic alarm or algorithmic alarm
configured for an object. For more information, see the Alarm
States topic on WebHelp.
COV increment Enter the minimum change in the Value property that causes a
COV notification to be sent.
Object ID Displays the BACnet object type and instance number of the
device.
BACnet name
To-off-normal Displays the date and time of the last to-off-normal transition.
time
To-fault time Displays the date and time of the last to-fault transition.
To-normal time Displays the date and time of the last to-normal transition.
Time delay Enter the minimum number of seconds required before a to-off-
normal event, or to-normal event is generated.
BACnet Choose the method for referencing the intrinsic alarm object
notification that you want to use to generate event notifications:
• Select System reference to define a path-based
reference to an object or property that is currently located
on the server. When selected, only the Path field becomes
editable. All the other fields become non-editable.
• Select BACnet reference to define a reference that
uses the elements of a property value (Device instance
number, Object type, or Object instance number) to
identify a BACnet object or property that is not currently on
the server but may be uploaded or imported to the server
later. You can also use this method to reference a BACnet
object or property on an external device.
For more information, see section 73.7 “BACnet References
and System References” on page 2562.
Alarm handling Select the data source for alarm handling and presentation
and presentation information. The alarm presentation settings display as three
tabs (User Action, Attachment, and Presentation) on the alarm
sources (value) as well as in the notification class. For more
information, see section 79.6 “BACnet Alarms” on page 2898.
Event enable Select the flags to enable the reporting of to-off-normal and
to-normal events. to-fault reporting is not supported by
Building Operation BACnet devices.
Upper limit Enter a limit that Value is required to exceed before a to-off-
normal event is generated.
Continued
Property Description
Lower limit Enter a limit that Value is required to fall below before a to-off-
normal event is generated.
The system generates a to-off-normal event based on Value
and the boundaries defined by the Upper Limit, Lower limit, and
Deadband. For example, if you enter 5 seconds and the Value
remains outside the Upper limit and Lower limit boundaries for a
minimum of 5 seconds, the system generates a to-off-normal
event.
Deadband Enter a range that is an offset from the low-level and high-level
limits, which defines the range where a to-normal event can be
generated. To generate a to-normal event, the value must be
above the low limit and below the high limit, minus the
deadband. For generic objects, this property is present only in
analog objects from external devices that support intrinsic
reporting.
Limit enable Select Low limit enable to enable the reporting of Lower
limit off-normal events and to-normal events. Select High
limit enable to enable the reporting of Upper limit off-normal
events and to-normal events.
Alarm message Enter the text that you want to display in the Alarm View for the
corresponding alarm state. The configured text is also sent to
Reset message any external BACnet clients configured as alarm recipients in
Fault message the BACnet notification.
For more information, see the Alarms Pane and Alarm View
topic on WebHelp.
Unit Select the Unit check box and enter the unit that matches the
unit of the point on the Automation Server IO module. For more
information, see the Units topic on WebHelp.
Reference Enter the Value property of the point that you want to reference.
Forceable Select to make the value forcible. For more information, see the
Forced Values topic on WebHelp.
Retain level Select how to handle values for warm start, cold start, system
events, and system activities. For more information, see the
Retain Level topic on WebHelp.
7. Click OK to close the Value dialog box and return to the Basic tab.
Status flags Displays the condition or status of the BACnet point. For more
information, see section 76.9 “BACnet Status Flags” on page
2673.
Out of service Set to True to decouple the Value from the associated property.
If the associated property is not configured, this property is True
and cannot be changed.
Event state Displays Off Normal when intrinsic alarming has been
configured and the point is in an alarm state.
Alarm state Displays a Building Operation alarm state that provides additional
information about an intrinsic alarm or algorithmic alarm
configured for an object. For more information, see the Alarm
States topic on WebHelp.
Inactive text Type the text that explains the Inactive state of the value, such as
Pump_Basement_Off. This text is used as an enumeration text
for the Value property and related priority array values. It is visible
in graphics, in the Watch pane, and in the Properties pane.
If you leave this box empty, the default (Inactive) is used instead.
Active text Type the text that explains the Active state of the value, such as
Pump_Basement_On. This text is used as an enumeration text
for the Value property and related priority array values. It is visible
in graphics, in the Watch pane, and in the Properties pane.
If you leave this box empty, the default (Active) is used instead.
Continued
9. Click OK.
10. Click the Advanced tab.
Object ID Displays the BACnet object type and instance number of the
device.
BACnet name View the name of the BACnet object or type a new name to
change the name.
To-off-normal Displays the date and time of the last to-off-normal transition.
time
To-fault time Displays the date and time of the last to-fault transition.
To-normal time Displays the date and time of the last to-normal transition.
Time delay Enter the minimum number of seconds required before a to-off-
normal event, or to-normal event is generated.
BACnet Choose the method for referencing the intrinsic alarm object
notification that you want to use to generate event notifications:
• Select System reference to define a path-based
reference to an object or property that is currently located
on the server. When selected, only the Path field becomes
editable. All the other fields become non-editable.
• Select BACnet reference to define a reference that
uses the elements of a property value (Device instance
number, Object type, or Object instance number) to
identify a BACnet object or property that is not currently on
the server but may be uploaded or imported to the server
later. You can also use this method to reference a BACnet
object or property on an external device.
For more information, see section 73.7 “BACnet References
and System References” on page 2562.
Alarm handling Select the data source for alarm handling and presentation
and presentation information. The alarm presentation settings display as three
tabs (User Action, Attachment, and Presentation) on the alarm
sources (value) as well as in the notification class. For more
information, see section 79.6 “BACnet Alarms” on page 2898.
Event enable Select the flags to enable the reporting of to-off-normal and
to-normal events. to-fault reporting is not supported by
Building Operation BACnet devices.
Upper limit Enter a limit that Value is required to exceed before a to-off-
normal event is generated.
Continued on next page
Continued
Property Description
Lower limit Enter a limit that Value is required to fall below before a to-off-
normal event is generated.
The system generates a to-off-normal event based on Value
and the boundaries defined by the Upper Limit, Lower limit, and
Deadband. For example, if you enter 5 seconds and the Value
remains outside the Upper limit and Lower limit boundaries for a
minimum of 5 seconds, the system generates a to-off-normal
event.
Deadband Enter a range that is an offset from the low-level and high-level
limits, which defines the range where a to-normal event can be
generated. To generate a to-normal event, the value must be
above the low limit and below the high limit, minus the
deadband. For generic objects, this property is present only in
analog objects from external devices that support intrinsic
reporting.
Limit enable Select Low limit enable to enable the reporting of Lower
limit off-normal events and to-normal events. Select High
limit enable to enable the reporting of Upper limit off-normal
events and to-normal events.
Alarm message Enter the text that you want to display in the Alarm View for the
corresponding alarm state. The configured text is also sent to
Reset message any external BACnet clients configured as alarm recipients in
Fault message the BACnet notification.
For more information, see the Alarms Pane and Alarm View
topic on WebHelp.
Note
• The system generates a to-off-normal event based on Value
and the boundaries defined by the Upper Limit, Lower limit,
and Deadband. For example, if you enter 5 seconds and the
Value remains outside the Upper limit and Lower limit
boundaries for a minimum of 5 seconds, the system generates a
to-off-normal event.
6. In the Label column, click the text and then type a description for the state
number, such as Unoccupied, Standby, or Warmup.
Repeat this step for each state that you created.
8. Click the Properties tab and then click the Basic tab.
Status flags Displays the condition or status of the BACnet point. For more
information, see section 76.9 “BACnet Status Flags” on page
2673.
Out of service Set to True to decouple the Value from the associated property.
If the associated property is not configured, this property is True
and cannot be changed.
Event state Displays Off Normal when intrinsic alarming has been
configured and the point is in an alarm state.
Alarm state Displays a Building Operation alarm state that provides additional
information about an intrinsic alarm or algorithmic alarm
configured for an object. For more information, see the Alarm
States topic on WebHelp.
Object ID Displays the BACnet object type and instance number of the
device.
BACnet name View the name of the BACnet object or type a new name to
change the name.
To-off-normal Displays the date and time of the last to-off-normal transition.
time
To-fault time Displays the date and time of the last to-fault transition.
To-normal time Displays the date and time of the last to-normal transition.
Time delay Enter the minimum number of seconds required before a to-off-
normal event, or to-normal event is generated.
BACnet Choose the method for referencing the intrinsic alarm object
notification that you want to use to generate event notifications:
• Select System reference to define a path-based
reference to an object or property that is currently located
on the server. When selected, only the Path field becomes
editable. All the other fields become non-editable.
• Select BACnet reference to define a reference that
uses the elements of a property value (Device instance
number, Object type, or Object instance number) to
identify a BACnet object or property that is not currently on
the server but may be uploaded or imported to the server
later. You can also use this method to reference a BACnet
object or property on an external device.
For more information, see section 73.7 “BACnet References
and System References” on page 2562.
Alarm handling Select the data source for alarm handling and presentation
and presentation information. The alarm presentation settings display as three
tabs (User Action, Attachment, and Presentation) on the alarm
sources (value) as well as in the notification class. For more
information, see section 79.6 “BACnet Alarms” on page 2898.
Event enable Select the flags to enable the reporting of to-off-normal and
to-normal events. to-fault reporting is not supported by
Building Operation BACnet devices.
State Id Enter the State Id for which you want to set an alarm or fault
alarm.
Continued on next page
Continued
Property Description
Is alarm value Select Yes or No to assign an alarm to the State Id. If you
select Yes, select No for Is fault value.
Is fault value Select Yes or No to assign a fault alarm to the State Id. If you
select Yes, select No for Is alarm value.
Click to open the Properties dialog box where you can edit
the alarm or fault configuration for a selected State Id. For
more information, see section 81.62 “BACnet Multistate Alarm
Properties Dialog Box” on page 3069.
Alarm message Enter the text that you want to display in the Alarm View for the
corresponding alarm state. The configured text is also sent to
Reset message any external BACnet clients configured as alarm recipients in
Fault message the BACnet notification.
For more information, see the Alarms Pane and Alarm View
topic on WebHelp.
15. Repeat the process until you have the desired number of alarms.
Continued on next page
16. Select an alarm from the list and click to modify an alarm.
State Id Enter the state that you want to configure for the multistate
point or value.
Is alarm value Select Yes to assign an alarm to the State Id. Then, select No
for Is fault value.
Is fault value Select Yes to assign a fault alarm to the State Id. Then, select
No for Is alarm value.
5. Under Status Information, click the Configure button for the Value
property.
6. Edit the properties.
Property Description
Unit Select the Unit check box and enter the unit that matches the
unit of the point on the Automation Server IO module. For more
information, see the Units topic on WebHelp.
Reference Enter the Value property of the point that you want to reference.
Forceable Select to make the value forcible. For more information, see the
Forced Values topic on WebHelp.
Retain level Select how to handle values for warm start, cold start, system
events, and system activities. For more information, see the
Retain Level topic on WebHelp.
7. Click OK to close the Value dialog box and return to the Basic tab.
Status flags Displays the condition or status of the BACnet point. For more
information, see section 76.9 “BACnet Status Flags” on page
2673.
Out of service Set to True to decouple the Value from the associated property.
If the associated property is not configured, this property is True
and cannot be changed.
Event state Displays Off Normal when intrinsic alarming has been
configured and the point is in an alarm state.
Alarm state Displays a Building Operation alarm state that provides additional
information about an intrinsic alarm or algorithmic alarm
configured for an object. For more information, see the Alarm
States topic on WebHelp.
COV increment Enter the minimum change in the Value property that causes a
COV notification to be sent.
9. Click OK.
Continued on next page
Object ID Displays the BACnet object type and instance number of the
device.
BACnet name View the name of the BACnet object or type a new name to
change the name.
To-off-normal Displays the date and time of the last to-off-normal transition.
time
To-fault time Displays the date and time of the last to-fault transition.
To-normal time Displays the date and time of the last to-normal transition.
Time delay Enter the minimum number of seconds required before a to-off-
normal event, or to-normal event is generated.
BACnet Choose the method for referencing the intrinsic alarm object
notification that you want to use to generate event notifications:
• Select System reference to define a path-based
reference to an object or property that is currently located
on the server. When selected, only the Path field becomes
editable. All the other fields become non-editable.
• Select BACnet reference to define a reference that
uses the elements of a property value (Device instance
number, Object type, or Object instance number) to
identify a BACnet object or property that is not currently on
the server but may be uploaded or imported to the server
later. You can also use this method to reference a BACnet
object or property on an external device.
For more information, see section 73.7 “BACnet References
and System References” on page 2562.
Alarm handling Select the data source for alarm handling and presentation
and presentation information. The alarm presentation settings display as three
tabs (User Action, Attachment, and Presentation) on the alarm
sources (value) as well as in the notification class. For more
information, see section 79.6 “BACnet Alarms” on page 2898.
Event enable Select the flags to enable the reporting of to-off-normal and
to-normal events. to-fault reporting is not supported by
Building Operation BACnet devices.
Upper limit Enter a limit that Value is required to exceed before a to-off-
normal event is generated.
Continued on next page
Continued
Property Description
Lower limit Enter a limit that Value is required to fall below before a to-off-
normal event is generated.
The system generates a to-off-normal event based on Value
and the boundaries defined by the Upper Limit, Lower limit, and
Deadband. For example, if you enter 5 seconds and the Value
remains outside the Upper limit and Lower limit boundaries for a
minimum of 5 seconds, the system generates a to-off-normal
event.
Deadband Enter a range that is an offset from the low-level and high-level
limits, which defines the range where a to-normal event can be
generated. To generate a to-normal event, the value must be
above the low limit and below the high limit, minus the
deadband. For generic objects, this property is present only in
analog objects from external devices that support intrinsic
reporting.
Limit enable Select Low limit enable to enable the reporting of Lower
limit off-normal events and to-normal events. Select High
limit enable to enable the reporting of Upper limit off-normal
events and to-normal events.
Alarm message Enter the text that you want to display in the Alarm View for the
corresponding alarm state. The configured text is also sent to
Reset message any external BACnet clients configured as alarm recipients in
Fault message the BACnet notification.
For more information, see the Alarms Pane and Alarm View
topic on WebHelp.
Note
• The system generates a to-off-normal event based on Value
and the boundaries defined by the Upper Limit, Lower limit,
and Deadband. For example, if you enter 5 seconds and the
Value remains outside the Upper limit and Lower limit
boundaries for a minimum of 5 seconds, the system generates a
to-off-normal event.
Property Description
Relinquish Enter the value to be used by the Value property when all values in
default the priority array are set to Null.
Active Specifies the priority level (1-16) currently controlling the present
command value. The present value is the highest priority with a non-Null value.
priority
Priority 6 This priority is reserved for timer-based algorithms that are not
currently supported. (Read-only)
5. Under Status Information, click the Configure button for the Value
property.
6. Edit the properties.
Property Description
Unit Select the Unit check box and enter the unit that matches the
unit of the point on the Automation Server IO module. For more
information, see the Units topic on WebHelp.
Reference Enter the Value property of the point that you want to reference.
Forceable Select to make the value forcible. For more information, see the
Forced Values topic on WebHelp.
Retain level Select how to handle values for warm start, cold start, system
events, and system activities. For more information, see the
Retain Level topic on WebHelp.
7. Click OK to close the Value dialog box and return to the Basic tab.
Status flags Displays the condition or status of the BACnet point. For more
information, see section 76.9 “BACnet Status Flags” on page
2673.
Out of service Select True to disassociate the Value from the physical output.
Out of service is primarily used for testing purposes.
Event state Displays one of the following active event states associated with
the point:
• Normal when the point is not in an alarm state.
• Off Normal when the Intrinsic Alarm is configured and the
point is in an alarm state.
Associated value Displays the read-only value of the property that is associated
with the BACnet point.
Inactive text Type the text that explains the Inactive state of the value, such
as Pump_Basement_Off. This text is used as an enumeration
text for the Value property and related priority array values. It is
visible in graphics, in the Watch pane, and in the Properties
pane.
If you leave this box empty, the default (Inactive) is used instead.
Active text Type the text that explains the Active state of the value, such as
Pump_Basement_On. This text is used as an enumeration text
for the Value property and related priority array values. It is
visible in graphics, in the Watch pane, and in the Properties
pane.
If you leave this box empty, the default (Active) is used instead.
Continued
9. Click OK.
10. Click the Advanced tab.
Object ID Displays the BACnet object type and instance number of the
device.
BACnet name View the name of the BACnet object or type a new name to
change the name.
Relinquish Enter the value to be used by the Value property when all values in
default the priority array are set to Null.
Active Specifies the priority level (1-16) currently controlling the present
command value. The present value is the highest priority with a non-Null value.
priority
Priority 6 This priority is reserved for timer-based algorithms that are not
currently supported. (Read-only)
9. Under Status Information, click the Configure button for the Value
property.
Continued on next page
Unit Select the Unit check box and enter the unit that matches the
unit of the point on the Automation Server IO module. For more
information, see the Units topic on WebHelp.
Reference Enter the Value property of the point that you want to reference.
Forceable Select to make the value forcible. For more information, see the
Forced Values topic on WebHelp.
Retain level Select how to handle values for warm start, cold start, system
events, and system activities. For more information, see the
Retain Level topic on WebHelp.
Status flags Displays the condition or status of the BACnet point. For more
information, see section 76.9 “BACnet Status Flags” on page
2673.
Out of service Set to True to decouple the Value from the associated property.
If the associated property is not configured, this property is True
and cannot be changed.
Event state Displays Off Normal when intrinsic alarming has been
configured and the point is in an alarm state.
Relinquish Enter the value to be used by the Value property when all values in
default the priority array are set to Null.
Active Specifies the priority level (1-16) currently controlling the present
command value. The present value is the highest priority with a non-Null value.
priority
Priority 6 This priority is reserved for timer-based algorithms that are not
currently supported. (Read-only)
7. Click Next.
6. Under Status Information, click the Configure button for the Value
property.
7. Edit the properties.
Property Description
Unit Select the Unit check box and enter the unit that matches the
unit of the point on the Automation Server IO module. For more
information, see the Units topic on WebHelp.
Reference Enter the Value property of the point that you want to reference.
Forceable Select to make the value forcible. For more information, see the
Forced Values topic on WebHelp.
Retain level Select how to handle values for warm start, cold start, system
events, and system activities. For more information, see the
Retain Level topic on WebHelp.
8. Click OK to close the Value dialog box and return to the Basic tab.
Status flags Displays the condition or status of the BACnet point. For more
information, see section 76.9 “BACnet Status Flags” on page
2673.
Out of service Set to True to decouple the Value from the associated property.
If the associated property is not configured, this property is True
and cannot be changed.
Event state Displays Off Normal when intrinsic alarming has been
configured and the point is in an alarm state.
Alarm state Displays a Building Operation alarm state that provides additional
information about an intrinsic alarm or algorithmic alarm
configured for an object. For more information, see the Alarm
States topic on WebHelp.
COV increment Enter the minimum change in the Value property that causes a
COV notification to be sent.
Update interval Displays the maximum amount of time between updates to the
Value property when the input is not Overridden and Out of
service is False. The time value is hundredths of a second.
Minimum value Enter the lowest value that can be reliably derived for the Value
property.
Maximum value Enter the highest value that can be reliably derived for the Value
property.
Object ID Displays the BACnet object type and instance number of the
device.
BACnet name View the name of the BACnet object or type a new name to
change the name.
Profile name Displays the unique name of the profile that describes additional
characteristics of the object, such as additional properties,
behaviors, or requirements.
To-fault time Displays the BACnet timestamp of the last to-fault transition.
Time delay Enter the minimum number of seconds required before a to-off-
normal event, or to-normal event is generated.
BACnet Choose the method for referencing the intrinsic alarm object
notification that you want to use to generate event notifications:
• Select System reference to define a path-based
reference to an object or property that is currently located
on the server. When selected, only the Path field becomes
editable. All the other fields become non-editable.
• Select BACnet reference to define a reference that
uses the elements of a property value (Device instance
number, Object type, or Object instance number) to
identify a BACnet object or property that is not currently on
the server but may be uploaded or imported to the server
later. You can also use this method to reference a BACnet
object or property on an external device.
For more information, see section 73.7 “BACnet References
and System References” on page 2562.
Event enable Select the flags to enable the reporting of to-off-normal and
to-normal events. to-fault reporting is not supported by
Building Operation BACnet devices.
Upper limit Enter a limit that Value is required to exceed before a to-off-
normal event is generated.
Continued
Property Description
Lower limit Enter a limit that Value is required to fall below before a to-off-
normal event is generated.
The system generates a to-off-normal event based on Value
and the boundaries defined by the Upper Limit, Lower limit, and
Deadband. For example, if you enter 5 seconds and the Value
remains outside the Upper limit and Lower limit boundaries for a
minimum of 5 seconds, the system generates a to-off-normal
event.
Deadband Enter a range that is an offset from the low-level and high-level
limits, which defines the range where a to-normal event can be
generated. To generate a to-normal event, the value must be
above the low limit and below the high limit, minus the
deadband. For generic objects, this property is present only in
analog objects from external devices that support intrinsic
reporting.
Limit enable Select Low limit enable to enable the reporting of Lower
limit off-normal events and to-normal events. Select High
limit enable to enable the reporting of Upper limit off-normal
events and to-normal events.
Alarm message Enter the text that you want to display in the Alarm View for the
corresponding alarm state. The configured text is also sent to
Reset message any external BACnet clients configured as alarm recipients in
Fault message the BACnet notification.
For more information, see the Alarms Pane and Alarm View
topic on WebHelp.
Tip
Message text received from an external device displays in the Alarm
text field instead of the configured text.
Unit Select the Unit check box and enter the unit that matches the
unit of the point on the Automation Server IO module. For more
information, see the Units topic on WebHelp.
Reference Enter the Value property of the point that you want to reference.
Forceable Select to make the value forcible. For more information, see the
Forced Values topic on WebHelp.
Retain level Select how to handle values for warm start, cold start, system
events, and system activities. For more information, see the
Retain Level topic on WebHelp.
Status flags Displays the condition or status of the BACnet point. For
more information, see section 76.9 “BACnet Status Flags” on
page 2673.
Out of service Set to True to decouple the Value from the associated
property. If the associated property is not configured, this
property is True and cannot be changed.
Event state Displays Off Normal when intrinsic alarming has been
configured and the point is in an alarm state.
Change of state Displays how often the Value property has changed state
count since the Change of state count was last set to 0. The
Change of state count increments when the Value
property has a change of state based on an event that alters
the Value property.
Enter 0 if you want to reset the Change of state count.
Time of state count Displays the date and time when the Change of state
reset count was last set to 0.
Elapsed active time Displays the number of seconds that the Value property
was Active since the Elapsed active time was last set to
0.
Enter 0 if you want to reset the Elapsed active time.
Time of active time Displays the date and time when Elapsed active time was
reset last set to 0.
Continued
Property Description
Polarity Select Normal or Reverse to control the relationship
between the physical state of the point and the Value
property. When Out of service is set to False, the
Polarity property causes a change to the Value property.
Inactive text Type the text that explains the Inactive state of the value,
such as Pump_Basement_Off. This text is used as an
enumeration text for the Value property and related priority
array values. It is visible in graphics, in the Watch pane, and
in the Properties pane.
If you leave this box empty, the default (Inactive) is used
instead.
Active text Type the text that explains the Active state of the value, such
as Pump_Basement_On. This text is used as an enumeration
text for the Value property and related priority array values. It
is visible in graphics, in the Watch pane, and in the Properties
pane.
If you leave this box empty, the default (Active) is used
instead.
Object ID Displays the BACnet object type and instance number of the
device.
BACnet name View the name of the BACnet object or type a new name to
change the name.
Profile name Displays the unique name of the profile that describes additional
characteristics of the object, such as additional properties,
behaviors, or requirements.
To-off-normal Displays the date and time of the last to-off-normal transition.
time
To-fault time Displays the date and time of the last to-fault transition.
To-normal time Displays the date and time of the last to-normal transition.
Time delay Enter the minimum number of seconds required before a to-off-
normal event, or to-normal event is generated.
BACnet Choose the method for referencing the intrinsic alarm object
notification that you want to use to generate event notifications:
• Select System reference to define a path-based
reference to an object or property that is currently located
on the server. When selected, only the Path field becomes
editable. All the other fields become non-editable.
• Select BACnet reference to define a reference that
uses the elements of a property value (Device instance
number, Object type, or Object instance number) to
identify a BACnet object or property that is not currently on
the server but may be uploaded or imported to the server
later. You can also use this method to reference a BACnet
object or property on an external device.
For more information, see section 73.7 “BACnet References
and System References” on page 2562.
Alarm handling Select the data source for alarm handling and presentation
and presentation information. The alarm presentation settings display as three
tabs (User Action, Attachment, and Presentation) on the alarm
sources (value) as well as in the notification class. For more
information, see section 79.6 “BACnet Alarms” on page 2898.
Event enable Select the flags to enable the reporting of to-off-normal and
to-normal events. to-fault reporting is not supported by
Continued on next page
Continued
Property Description
Building Operation BACnet devices.
Alarm value Select the state that Value requires before an off-normal event
is triggered.
Alarm message Enter the text that you want to display in the Alarm View for the
corresponding alarm state. The configured text is also sent to
Reset message any external BACnet clients configured as alarm recipients in
Fault message the BACnet notification.
For more information, see the Alarms Pane and Alarm View
topic on WebHelp.
Tip
Message text received from the external device displays in the Alarm
text field instead of the configured text.
6. In the Number of states box, enter the number of states that you want to
create, for example, enter 3 if you want to create 3 states.
Use the up arrow to enter the number.
7. In the Label column, click the text and then type a description for the state
number, such as Unoccupied, Standby, or Warmup.
Repeat this step for each state that you created.
10. Click the Configure button for the Out of service property.
Continued on next page
Unit Select the Unit check box and enter the unit that matches the
unit of the point on the Automation Server IO module. For more
information, see the Units topic on WebHelp.
Reference Enter the Value property of the point that you want to reference.
Forceable Select to make the value forcible. For more information, see the
Forced Values topic on WebHelp.
Retain level Select how to handle values for warm start, cold start, system
events, and system activities. For more information, see the
Retain Level topic on WebHelp.
Status flags Displays the condition or status of the BACnet point. For
more information, see section 76.9 “BACnet Status Flags” on
page 2673.
Out of service Set to True to decouple the Value from the associated
property. If the associated property is not configured, this
property is True and cannot be changed.
Event state Displays Off Normal when intrinsic alarming has been
configured and the point is in an alarm state.
Property Description
Object ID Displays the BACnet object type and instance number of the
device.
BACnet name View the name of the BACnet object or type a new name to
change the name.
Profile name Displays the unique name of the profile that describes additional
characteristics of the object, such as additional properties,
behaviors, or requirements.
To-off-normal Displays the date and time of the last to-off-normal transition.
time
To-fault time Displays the date and time of the last to-fault transition.
To-normal time Displays the date and time of the last to-normal transition.
Time delay Enter the minimum number of seconds required before a to-off-
normal event, or to-normal event is generated.
BACnet Choose the method for referencing the intrinsic alarm object
notification that you want to use to generate event notifications:
• Select System reference to define a path-based
reference to an object or property that is currently located
on the server. When selected, only the Path field becomes
editable. All the other fields become non-editable.
• Select BACnet reference to define a reference that
uses the elements of a property value (Device instance
number, Object type, or Object instance number) to
identify a BACnet object or property that is not currently on
the server but may be uploaded or imported to the server
later. You can also use this method to reference a BACnet
object or property on an external device.
For more information, see section 73.7 “BACnet References
and System References” on page 2562.
Event enable Select the flags to enable the reporting of to-off-normal and
to-normal events. to-fault reporting is not supported by
Building Operation BACnet devices.
State Id Enter the State Id for which you want to set an alarm or fault
alarm.
Continued
Property Description
Is alarm value Select Yes or No to assign an alarm to the State Id. If you
select Yes, select No for Is fault value.
Is fault value Select Yes or No to assign a fault alarm to the State Id. If you
select Yes, select No for Is alarm value.
Click to open the Properties dialog box where you can edit
the alarm or fault configuration for a selected State Id. For
more information, see section 81.62 “BACnet Multistate Alarm
Properties Dialog Box” on page 3069.
Alarm message Enter the text that you want to display in the Alarm View for the
corresponding alarm state. The configured text is also sent to
Reset message any external BACnet clients configured as alarm recipients in
Fault message the BACnet notification.
For more information, see the Alarms Pane and Alarm View
topic on WebHelp.
Tip
Message text received from the external device displays in the Alarm
text field instead of the configured text.
19. Repeat the process until you have the desired number of alarms.
Continued on next page
20. Select an alarm from the list and click to modify an alarm.
State Id Enter the state that you want to configure for the multistate
point or value.
Is alarm value Select Yes to assign an alarm to the State Id. Then, select No
for Is fault value.
Is fault value Select Yes to assign a fault alarm to the State Id. Then, select
No for Is alarm value.
6. Under Status Information, click the Configure button for the Value
property.
7. Edit the properties.
Property Description
Unit Select the Unit check box and enter the unit that matches the
unit of the point on the Automation Server IO module. For more
information, see the Units topic on WebHelp.
Reference Enter the Value property of the point that you want to reference.
Forceable Select to make the value forcible. For more information, see the
Forced Values topic on WebHelp.
Retain level Select how to handle values for warm start, cold start, system
events, and system activities. For more information, see the
Retain Level topic on WebHelp.
Status flags Displays the condition or status of the BACnet point. For more
information, see section 76.9 “BACnet Status Flags” on page
2673.
Out of service Select True to disassociate the Value from the physical output.
Out of service is primarily used for testing purposes.
Event state Displays one of the following active event states associated with
the point:
• Normal when the point is not in an alarm state.
• Off Normal when the Intrinsic Alarm is configured and the
point is in an alarm state.
COV increment Enter the minimum change in the Value property that causes a
COV notification to be sent. The default COV increment is .10.
Minimum value Enter the lowest value that can be reliably used for the Value
property.
Maximum value Enter the highest value that can be reliably used for the Value
property.
Object ID Displays the BACnet object type and instance number of the
device.
BACnet name View the name of the BACnet object or type a new name to
change the name.
Profile name Displays the unique name of the profile that describes additional
characteristics of the object, such as additional properties,
behaviors, or requirements.
To-fault time Displays the BACnet timestamp of the last to-fault transition.
Time delay (s) Select the minimum number of seconds required before a to-
off-normal event, or to-normal event is generated.
BACnet Choose the method for referencing the intrinsic alarm object
notification that you want to use to generate event notifications:
• Select System reference to define a path-based
reference to an object or property that is currently located
on the server. When selected, only the Path field becomes
editable. All the other fields become non-editable.
• Select BACnet reference to define a reference that
uses the elements of a property value (Device instance
number, Object type, or Object instance number) to
identify a BACnet object or property that is not currently on
the server but may be uploaded or imported to the server
later. You can also use this method to reference a BACnet
object or property on an external device.
For more information, see section 73.7 “BACnet References
and System References” on page 2562.
Notify type Select whether you want to report the event as an alarm or
event in WorkStation.
Event enable Select the flags to enable the reporting of to-off-normal, to-
fault, and to-normal events.
Upper limit Enter a limit that Value is required to exceed before an event is
generated.
Lower limit Enter a limit that Value is required to fall below before an event
is generated.
Deadband Enter the deadband which is the range the value must stay
within before a to-normal event is generated.
Continued on next page
Continued
Property Description
Limit enable Select one or more flags to enable the reporting of off-normal
events and the return to to-normal events based on the lower
limit value or upper limit value.
Alarm message Enter the text that you want to display in the Alarm text field in
the Alarm View for the corresponding alarm state.
Reset message If a message text is received from the external device, that text
is displayed in the Alarm text field instead of the configured text.
Fault message
Tip
Message text received from the external device displays in the Alarm
text field instead of the configured text.
Relinquish Enter the value to be used by the Value property when all values
default in the priority array are set to Null.
Active command Specifies the priority level (1-16) currently controlling the present
priority value. The present value is the highest priority with a non-Null
value.
Priority 6 This priority is reserved for timer-based algorithms that are not
currently supported. (Read-only)
Status flags Displays the condition or status of the BACnet point. For
more information, see section 76.9 “BACnet Status Flags” on
page 2673.
Out of service Set to True to decouple the Value from the associated
property. If the associated property is not configured, this
property is True and cannot be changed.
Event state Displays Off Normal when intrinsic alarming has been
configured and the point is in an alarm state.
Change of state Displays how often the Value property has changed state
count since the Change of state count was last set to 0. The
Change of state count increments when the Value
property has a change of state based on an event that alters
the Value property.
Enter 0 if you want to reset the Change of state count.
Time of state count Displays the date and time when the Change of state
reset count was last set to 0.
Elapsed active time Displays the number of seconds that the Value property
was Active since the Elapsed active time was last set to
0.
Enter 0 if you want to reset the Elapsed active time.
Time of active time Displays the date and time when Elapsed active time was
reset last set to 0.
Continued
Property Description
Polarity Select Normal or Reverse to control the relationship
between the physical state of the point and the Value
property. When Out of service is set to False, the
Polarity property causes a change to the Value property.
Inactive text Type the text that explains the Inactive state of the value,
such as Pump_Basement_Off. This text is used as an
enumeration text for the Value property and related priority
array values. It is visible in graphics, in the Watch pane, and
in the Properties pane.
If you leave this box empty, the default (Inactive) is used
instead.
Active text Type the text that explains the Active state of the value, such
as Pump_Basement_On. This text is used as an enumeration
text for the Value property and related priority array values. It
is visible in graphics, in the Watch pane, and in the Properties
pane.
If you leave this box empty, the default (Active) is used
instead.
Minimum off time Enter the minimum number of seconds that you want the
Value property to remain Inactive following a write to the
Value property that causes the Inactive state.
Minimum on time Enter the minimum number of seconds that you want the
Value property to remain Active following a write to the
Value property that causes the Active state.
7. Click OK.
Continued on next page
Object ID Displays the BACnet object type and instance number of the
device.
BACnet name View the name of the BACnet object or type a new name to
change the name.
Profile name Displays the unique name of the profile that describes additional
characteristics of the object, such as additional properties,
behaviors, or requirements.
To-off-normal Displays the date and time of the last to-off-normal transition.
time
To-fault time Displays the date and time of the last to-fault transition.
To-normal time Displays the date and time of the last to-normal transition.
Time delay Enter the minimum number of seconds required before a to-off-
normal event, or to-normal event is generated.
BACnet Choose the method for referencing the intrinsic alarm object
notification that you want to use to generate event notifications:
• Select System reference to define a path-based
reference to an object or property that is currently located
on the server. When selected, only the Path field becomes
editable. All the other fields become non-editable.
• Select BACnet reference to define a reference that
uses the elements of a property value (Device instance
number, Object type, or Object instance number) to
identify a BACnet object or property that is not currently on
the server but may be uploaded or imported to the server
later. You can also use this method to reference a BACnet
object or property on an external device.
For more information, see section 73.7 “BACnet References
and System References” on page 2562.
Event enable Select the flags to enable the reporting of to-off-normal and
to-normal events. to-fault reporting is not supported by
Building Operation BACnet devices.
Feedback value Displays the state that is required to be different from the Value
property before a to-off-normal event is generated. You can
view this state in the Alarms pane or an alarm view.
Continued
Property Description
For more information, see the Add/Remove Columns Dialog
Box (Alarms) topic on WebHelp.
Alarm message Enter the text that you want to display in the Alarm View for the
corresponding alarm state. The configured text is also sent to
Reset message any external BACnet clients configured as alarm recipients in
Fault message the BACnet notification.
For more information, see the Alarms Pane and Alarm View
topic on WebHelp.
Tip
Message text received from the external device displays in the Alarm
text field instead of the configured text.
Relinquish Enter the value to be used by the Value property when all values in
default the priority array are set to Null.
Active Specifies the priority level (1-16) currently controlling the present
command value. The present value is the highest priority with a non-Null value.
priority
Priority 6 This priority is reserved for timer-based algorithms that are not
currently supported. (Read-only)
6. In the Number of states box, enter the number of states that you want to
create, for example, enter 3 if you want to create 3 states. Use the up arrow to
enter the number.
7. In the Label column, click the text and then type a description for the state
number, such as Unoccupied, Standby, or Warmup.
Repeat this step for each state that you created.
Status flags Displays the condition or status of the BACnet point. For
more information, see section 76.9 “BACnet Status Flags” on
page 2673.
Out of service Set to True to decouple the Value from the associated
property. If the associated property is not configured, this
property is True and cannot be changed.
Event state Displays Off Normal when intrinsic alarming has been
configured and the point is in an alarm state.
Object ID Displays the BACnet object type and instance number of the
device.
BACnet name View the name of the BACnet object or type a new name to
change the name.
Profile name Displays the unique name of the profile that describes additional
characteristics of the object, such as additional properties,
behaviors, or requirements.
To-off-normal Displays the date and time of the last to-off-normal transition.
time
To-fault time Displays the date and time of the last to-fault transition.
To-normal time Displays the date and time of the last to-normal transition.
Time delay Enter the minimum number of seconds required before a to-off-
normal event, or to-normal event is generated.
BACnet Choose the method for referencing the intrinsic alarm object
notification that you want to use to generate event notifications:
• Select System reference to define a path-based
reference to an object or property that is currently located
on the server. When selected, only the Path field becomes
editable. All the other fields become non-editable.
• Select BACnet reference to define a reference that
uses the elements of a property value (Device instance
number, Object type, or Object instance number) to
identify a BACnet object or property that is not currently on
the server but may be uploaded or imported to the server
later. You can also use this method to reference a BACnet
object or property on an external device.
For more information, see section 73.7 “BACnet References
and System References” on page 2562.
Event enable Select the flags to enable the reporting of to-off-normal and
to-normal events. to-fault reporting is not supported by
Building Operation BACnet devices.
Feedback value Displays the state that is required to be different from the Value
property before a to-off-normal event is generated. You can
view this state in the Alarms pane or an alarm view.
Continued
Property Description
For more information, see the Add/Remove Columns Dialog
Box (Alarms) topic on WebHelp.
Alarm message Enter the text that you want to display in the Alarm View for the
corresponding alarm state. The configured text is also sent to
Reset message any external BACnet clients configured as alarm recipients in
Fault message the BACnet notification.
For more information, see the Alarms Pane and Alarm View
topic on WebHelp.
Tip
Message text received from the external device displays in the Alarm
text field instead of the configured text.
Relinquish Enter the value to be used by the Value property when all values in
default the priority array are set to Null.
Active Specifies the priority level (1-16) currently controlling the present
command value. The present value is the highest priority with a non-Null value.
priority
Priority 6 This priority is reserved for timer-based algorithms that are not
currently supported. (Read-only)
8. In the BACnet name box, type a BACnet name for the value. Do not type a
name if you want a name to be assigned for you.
9. In the Command priority retain level box, select one of the following
options to configure the warm start and cold start settings for a command
priority array:
• Warm start: The variable retains the last value set by a user or
application. However, the variable reverts to the default value for a cold
start.
• Cold start: The variable retains the last value set by a user or application
for a warm start or cold start.
• No: The variable reverts to the default value upon a restart.
10. Click Create.
7. In the Unit box, enter the unit that matches the unit of the input and output
points on the Automation Server IO module.
8. Click OK to return to the Basic tab.
9. In the Value box, enter the value to be used as a control system parameter for
the device.
10. In the Out of service box, select False.
Continued on next page
11. In the COV increment box, enter the minimum change in the Value
property that causes a COV notification to be sent.
13. Under Intrinsic Alarm Configuration, in the Time delay (s) box, enter
the minimum number of seconds that the value is inside or outside the
specified limits before a to-off-normal event, or to-normal event is
generated.
14. In the BACnet notification box, select the type of BACnet notification for
generating event notifications for this object:
• Select System reference to define a path-based reference to an object
or property that is currently located on the server. When selected, only the
Path field becomes editable. All the other fields become non-editable.
• Select BACnet reference to define a reference that uses the elements
of a property value (Device instance number, Object type, or Object
instance number) to identify a BACnet object or property that is not
currently on the server but may be uploaded or imported to the server
later.
15. In the Alarm handling and presentation box, choose whether the alarm
presentation is determined by its BACnet notification object or the alarm
source itself (intrinsic). For more information, see section 79.6 “BACnet
Alarms” on page 2898.
Continued on next page
16. In the Notify type box, select the type of BACnet event notification to be
generated:
• Select alarm to define the event as a BACnet alarm.
• Select event to define the event as a BACnet event.
17. In the Event enable box, select the flags to enable the reporting of to-off-
normal and to-normal events. to-fault reporting is not supported by
BACnet devices.
18. In the Upper limit box, enter a limit that Value is required to exceed before a
to-off-normal event is generated.
19. In the Lower limit box, enter a limit that Value is required to fall below
before a to-off-normal event is generated.
20. In the Deadband box, enter a value to create a range between the Upper
limit and Lower limit values where the Value property is required to remain
before a to-normal event is generated.
21. In the Limit enable box, select one or both of the following options:
• Select Low limit enable to enable the reporting of Lower limit off-
normal events and to-normal events.
• Select High limit enable to enable the reporting of Upper limit off-
normal events and to-normal events.
22. In the Alarm message, Reset message and Fault message boxes, enter
the text that you want to display in the Alarm text field in the Alarm View for
the corresponding alarm state. The configured text is also sent to any external
BACnet clients configured as alarm recipients in the BACnet notification.
23. Click the Command tab.
24. In the Relinquish default box, enter the value to be used by the Value
property when all values in the priority array are set to Null.
25. In the Priority x box, set the value at a priority level, such as Active.
Priority 6 is reserved for timer-based algorithms that are not currently
supported. (Read only)
26. Click OK.
Value Enter the value to be used as the control system parameter under
the following conditions:
• Unforce. Displays a forced value. Enter a forced value or
click to release the value.
• Force. Displays a non-forced value. Click to force the value.
For all BACnet inputs, a Forced condition is the same as out of
service. For more information, see the Forced Values topic on
WebHelp.
For BACnet outputs and values, which are commandable, a
Forced status may also include a priority level setting. For more
information, see section 77.7 “Forced Priority Level” on page
2857.
Status flags Displays the condition or status of the BACnet value. For more
information, see section 76.9 “BACnet Status Flags” on page
2673.
Out of service Set to True to decouple the Value from the associated property.
If the associated property is not configured, this property is True
and cannot be changed.
Event state Displays Off Normal when intrinsic alarming has been
configured and the point is in an alarm state.
Inactive text Type the text that explains the Inactive state of the value, such as
Pump_Basement_Off. This text is used as an enumeration text
for the Value property and related priority array values. It is visible
in graphics, in the Watch pane, and in the Properties pane.
If you leave this box empty, the default (Inactive) is used instead.
Active text Type the text that explains the Active state of the value, such as
Pump_Basement_On. This text is used as an enumeration text
for the Value property and related priority array values. It is visible
in graphics, in the Watch pane, and in the Properties pane.
If you leave this box empty, the default (Active) is used instead.
6. Click OK.
Continued on next page
Object ID Displays the BACnet object type and instance number of the
device.
BACnet name View the name of the BACnet object or type a new name to
change the name.
To-off-normal Displays the date and time of the last to-off-normal transition.
time
To-fault time Displays the date and time of the last to-fault transition.
To-normal time Displays the date and time of the last to-normal transition.
Time delay Enter the minimum number of seconds required before a to-off-
normal event, or to-normal event is generated.
BACnet Choose the method for referencing the intrinsic alarm object
notification that you want to use to generate event notifications:
• Select System reference to define a path-based
reference to an object or property that is currently located
on the server. When selected, only the Path field becomes
editable. All the other fields become non-editable.
• Select BACnet reference to define a reference that
uses the elements of a property value (Device instance
number, Object type, or Object instance number) to
identify a BACnet object or property that is not currently on
the server but may be uploaded or imported to the server
later. You can also use this method to reference a BACnet
object or property on an external device.
For more information, see section 73.7 “BACnet References
and System References” on page 2562.
Alarm handling Select the data source for alarm handling and presentation
and presentation information. The alarm presentation settings display as three
tabs (User Action, Attachment, and Presentation) on the alarm
sources (value) as well as in the notification class. For more
information, see section 79.6 “BACnet Alarms” on page 2898.
Event enable Select the flags to enable the reporting of to-off-normal and
to-normal events. to-fault reporting is not supported by
Building Operation BACnet devices.
Alarm value Select the state that Value requires before an off-normal event
is triggered.
Continued on next page
Continued
Property Description
Alarm message Enter the text that you want to display in the Alarm View for the
corresponding alarm state. The configured text is also sent to
Reset message any external BACnet clients configured as alarm recipients in
Fault message the BACnet notification.
For more information, see the Alarms Pane and Alarm View
topic on WebHelp.
9. Click OK.
10. Click the Command tab.
Relinquish Enter the value to be used by the Value property when all values in
default the priority array are set to Null.
Active Specifies the priority level (1-16) currently controlling the present
command value. The present value is the highest priority with a non-Null value.
priority
Priority 6 This priority is reserved for timer-based algorithms that are not
currently supported. (Read-only)
5. In the Number of states box, enter the number of states that you want to
create, for example, enter 3 if you want to create 3 states.
Use the up arrow to enter the number.
6. In the Label column, click the text and then type a description for the state
number, such as Unoccupied, Standby, or Warmup.
Repeat this step for each state that you created.
8. Click the Properties tab and then click the Basic tab.
Value Enter the value to be used as the control system parameter under
the following conditions:
• Unforce. Displays a forced value. Enter a forced value or
click to release the value.
• Force. Displays a non-forced value. Click to force the value.
For all BACnet inputs, a Forced condition is the same as out of
service. For more information, see the Forced Values topic on
WebHelp.
For BACnet outputs and values, which are commandable, a
Forced status may also include a priority level setting. For more
information, see section 77.7 “Forced Priority Level” on page
2857.
Status flags Displays the condition or status of the BACnet value. For more
information, see section 76.9 “BACnet Status Flags” on page
2673.
Out of service Set to True to decouple the Value from the associated property.
If the associated property is not configured, this property is True
and cannot be changed.
Event state Displays Off Normal when intrinsic alarming has been
configured and the point is in an alarm state.
Alarm state Displays a Building Operation alarm state that provides additional
information about an intrinsic alarm or algorithmic alarm
configured for an object. For more information, see the Alarm
States topic on WebHelp.
Object ID Displays the BACnet object type and instance number of the
device.
BACnet name View the name of the BACnet object or type a new name to
change the name.
To-off-normal Displays the date and time of the last to-off-normal transition.
time
To-fault time Displays the date and time of the last to-fault transition.
To-normal time Displays the date and time of the last to-normal transition.
Time delay Enter the minimum number of seconds required before a to-off-
normal event, or to-normal event is generated.
BACnet Choose the method for referencing the intrinsic alarm object
notification that you want to use to generate event notifications:
• Select System reference to define a path-based
reference to an object or property that is currently located
on the server. When selected, only the Path field becomes
editable. All the other fields become non-editable.
• Select BACnet reference to define a reference that
uses the elements of a property value (Device instance
number, Object type, or Object instance number) to
identify a BACnet object or property that is not currently on
the server but may be uploaded or imported to the server
later. You can also use this method to reference a BACnet
object or property on an external device.
For more information, see section 73.7 “BACnet References
and System References” on page 2562.
Alarm handling Select the data source for alarm handling and presentation
and presentation information. The alarm presentation settings display as three
tabs (User Action, Attachment, and Presentation) on the alarm
sources (value) as well as in the notification class. For more
information, see section 79.6 “BACnet Alarms” on page 2898.
Event enable Select the flags to enable the reporting of to-off-normal and
to-normal events. to-fault reporting is not supported by
Building Operation BACnet devices.
State Id Enter the State Id for which you want to set an alarm or fault
alarm.
Continued on next page
Continued
Property Description
Is alarm value Select Yes or No to assign an alarm to the State Id. If you
select Yes, select No for Is fault value.
Is fault value Select Yes or No to assign a fault alarm to the State Id. If you
select Yes, select No for Is alarm value.
Click to open the Properties dialog box where you can edit
the alarm or fault configuration for a selected State Id. For
more information, see section 81.62 “BACnet Multistate Alarm
Properties Dialog Box” on page 3069.
Alarm message Enter the text that you want to display in the Alarm View for the
corresponding alarm state. The configured text is also sent to
Reset message any external BACnet clients configured as alarm recipients in
Fault message the BACnet notification.
For more information, see the Alarms Pane and Alarm View
topic on WebHelp.
16. Repeat the process until you have the desired number of alarms.
Continued on next page
17. Select an alarm from the list and click to modify an alarm.
State Id Enter the state that you want to configure for the multistate
point or value.
Is alarm value Select Yes to assign an alarm to the State Id. Then, select No
for Is fault value.
Is fault value Select Yes to assign a fault alarm to the State Id. Then, select
No for Is alarm value.
Relinquish Enter the value to be used by the Value property when all values in
default the priority array are set to Null.
Active Specifies the priority level (1-16) currently controlling the present
command value. The present value is the highest priority with a non-Null value.
priority
Priority 6 This priority is reserved for timer-based algorithms that are not
currently supported. (Read-only)
7. Click Next.
Unit Select the Unit check box and enter the unit that matches the
unit of the point on the Automation Server IO module. For more
information, see the Units topic on WebHelp.
Reference Enter the Value property of the point that you want to reference.
Forceable Select to make the value forcible. For more information, see the
Forced Values topic on WebHelp.
Retain level Select how to handle values for warm start, cold start, system
events, and system activities. For more information, see the
Retain Level topic on WebHelp.
Value Enter the value to be used as the control system parameter under
the following conditions:
• Unforce. Displays a forced value. Enter a forced value or
click to release the value.
• Force. Displays a non-forced value. Click to force the value.
For all BACnet inputs, a Forced condition is the same as out of
service. For more information, see the Forced Values topic on
WebHelp.
For BACnet outputs and values, which are commandable, a
Forced status may also include a priority level setting. For more
information, see section 77.7 “Forced Priority Level” on page
2857.
Status flags Displays the condition or status of the BACnet value. For more
information, see section 76.9 “BACnet Status Flags” on page
2673.
Out of service Set to True to decouple the Value from the associated property.
If the associated property is not configured, this property is True
and cannot be changed.
Event state Displays Off Normal when intrinsic alarming has been
configured and the point is in an alarm state.
Alarm state Displays a Building Operation alarm state that provides additional
information about an intrinsic alarm or algorithmic alarm
configured for an object. For more information, see the Alarm
States topic on WebHelp.
COV increment Enter the minimum change in the Value property that causes a
COV notification to be sent.
9. Click OK.
Continued on next page
Object ID Displays the BACnet object type and instance number of the
device.
BACnet name View the name of the BACnet object or type a new name to
change the name.
Profile name Displays the unique name of the profile that describes additional
characteristics of the object, such as additional properties,
behaviors, or requirements.
To-off-normal Displays the date and time of the last to-off-normal transition.
time
To-fault time Displays the date and time of the last to-fault transition.
To-normal time Displays the date and time of the last to-normal transition.
Time delay Enter the minimum number of seconds required before a to-off-
normal event, or to-normal event is generated.
BACnet Choose the method for referencing the intrinsic alarm object
notification that you want to use to generate event notifications:
• Select System reference to define a path-based
reference to an object or property that is currently located
on the server. When selected, only the Path field becomes
editable. All the other fields become non-editable.
• Select BACnet reference to define a reference that
uses the elements of a property value (Device instance
number, Object type, or Object instance number) to
identify a BACnet object or property that is not currently on
the server but may be uploaded or imported to the server
later. You can also use this method to reference a BACnet
object or property on an external device.
For more information, see section 73.7 “BACnet References
and System References” on page 2562.
Event enable Select the flags to enable the reporting of to-off-normal and
to-normal events. to-fault reporting is not supported by
Building Operation BACnet devices.
Upper limit Enter a limit that Value is required to exceed before a to-off-
normal event is generated.
Lower limit Enter a limit that Value is required to fall below before a to-off-
Continued on next page
Continued
Property Description
normal event is generated.
The system generates a to-off-normal event based on Value
and the boundaries defined by the Upper Limit, Lower limit, and
Deadband. For example, if you enter 5 seconds and the Value
remains outside the Upper limit and Lower limit boundaries for a
minimum of 5 seconds, the system generates a to-off-normal
event.
Deadband Enter a range that is an offset from the low-level and high-level
limits, which defines the range where a to-normal event can be
generated. To generate a to-normal event, the value must be
above the low limit and below the high limit, minus the
deadband. For generic objects, this property is present only in
analog objects from external devices that support intrinsic
reporting.
Limit enable Select Low limit enable to enable the reporting of Lower
limit off-normal events and to-normal events. Select High
limit enable to enable the reporting of Upper limit off-normal
events and to-normal events.
Alarm message Enter the text that you want to display in the Alarm View for the
corresponding alarm state. The configured text is also sent to
Reset message any external BACnet clients configured as alarm recipients in
Fault message the BACnet notification.
For more information, see the Alarms Pane and Alarm View
topic on WebHelp.
Tip
Message text received from the external device displays in the Alarm
text field instead of the configured device.
Relinquish Enter the value to be used by the Value property when all values in
default the priority array are set to Null.
Active Specifies the priority level (1-16) currently controlling the present
command value. The present value is the highest priority with a non-Null value.
priority
Priority 6 This priority is reserved for timer-based algorithms that are not
currently supported. (Read-only)
Status flags Displays the condition or status of the BACnet value. For
more information, see section 76.9 “BACnet Status Flags” on
page 2673.
Out of service Set to True to decouple the Value from the associated
property. If the associated property is not configured, this
property is True and cannot be changed.
Event state Displays Off Normal when intrinsic alarming has been
configured and the point is in an alarm state.
Change of state Displays how often the Value property has changed state
count since the Change of state count was last set to 0. The
Change of state count increments when the Value
property has a change of state based on an event that alters
the Value property.
Enter 0 if you want to reset the Change of state count.
Time of state count Displays the date and time when the Change of state
reset count was last set to 0.
Elapsed active time Displays the number of seconds that the Value property
was Active since the Elapsed active time was last set to
0.
Enter 0 if you want to reset the Elapsed active time.
Time of active time Displays the date and time when Elapsed active time was
reset last set to 0.
Inactive text Type the text that explains the Inactive state of the value,
Continued on next page
Continued
Property Description
such as Pump_Basement_Off. This text is used as an
enumeration text for the Value property and related priority
array values. It is visible in graphics, in the Watch pane, and
in the Properties pane.
If you leave this box empty, the default (Inactive) is used
instead.
Active text Type the text that explains the Active state of the value, such
as Pump_Basement_On. This text is used as an enumeration
text for the Value property and related priority array values. It
is visible in graphics, in the Watch pane, and in the Properties
pane.
If you leave this box empty, the default (Active) is used
instead.
Minimum off time Enter the minimum number of seconds that you want the
Value property to remain Inactive following a write to the
Value property that causes the Inactive state.
Minimum on time Enter the minimum number of seconds that you want the
Value property to remain Active following a write to the
Value property that causes the Active state.
7. Click OK.
Continued on next page
Object ID Displays the BACnet object type and instance number of the
device.
BACnet name View the name of the BACnet object or type a new name to
change the name.
Profile name Displays the unique name of the profile that describes additional
characteristics of the object, such as additional properties,
behaviors, or requirements.
To-off-normal Displays the date and time of the last to-off-normal transition.
time
To-fault time Displays the date and time of the last to-fault transition.
To-normal time Displays the date and time of the last to-normal transition.
Time delay Enter the minimum number of seconds required before a to-off-
normal event, or to-normal event is generated.
BACnet Choose the method for referencing the intrinsic alarm object
notification that you want to use to generate event notifications:
• Select System reference to define a path-based
reference to an object or property that is currently located
on the server. When selected, only the Path field becomes
editable. All the other fields become non-editable.
• Select BACnet reference to define a reference that
uses the elements of a property value (Device instance
number, Object type, or Object instance number) to
identify a BACnet object or property that is not currently on
the server but may be uploaded or imported to the server
later. You can also use this method to reference a BACnet
object or property on an external device.
For more information, see section 73.7 “BACnet References
and System References” on page 2562.
Alarm handling Select the data source for alarm handling and presentation
and presentation information. The alarm presentation settings display as three
tabs (User Action, Attachment, and Presentation) on the alarm
sources (value) as well as in the notification class. For more
information, see section 79.6 “BACnet Alarms” on page 2898.
Event enable Select the flags to enable the reporting of to-off-normal and
to-normal events. to-fault reporting is not supported by
Continued on next page
Continued
Property Description
Building Operation BACnet devices.
Alarm value Select the state that Value requires before an off-normal event
is triggered.
Alarm message Enter the text that you want to display in the Alarm View for the
corresponding alarm state. The configured text is also sent to
Reset message any external BACnet clients configured as alarm recipients in
Fault message the BACnet notification.
For more information, see the Alarms Pane and Alarm View
topic on WebHelp.
Tip
Message text received from the external device displays in the Alarm
text field instead of the configured text.
Relinquish Enter the value to be used by the Value property when all values in
default the priority array are set to Null.
Active Specifies the priority level (1-16) currently controlling the present
command value. The present value is the highest priority with a non-Null value.
priority
Priority 6 This priority is reserved for timer-based algorithms that are not
currently supported. (Read-only)
6. In the Number of states box, enter the number of states that you want to
create, for example, enter 128.
7. In the Label column, click the text and then type a description for the state
number, such as Unoccupied, Standby, or Warmup.
Repeat this step for each state that you created.
9. Click the Properties tab and then click the Basic tab.
Status flags Displays the condition or status of the BACnet value. For
more information, see section 76.9 “BACnet Status Flags” on
page 2673.
Out of service Set to True to decouple the Value from the associated
property. If the associated property is not configured, this
property is True and cannot be changed.
Event state Displays Off Normal when intrinsic alarming has been
configured and the point is in an alarm state.
Object ID Displays the BACnet object type and instance number of the
device.
BACnet name View the name of the BACnet object or type a new name to
change the name.
Profile name Displays the unique name of the profile that describes additional
characteristics of the object, such as additional properties,
behaviors, or requirements.
To-off-normal Displays the date and time of the last to-off-normal transition.
time
To-fault time Displays the date and time of the last to-fault transition.
To-normal time Displays the date and time of the last to-normal transition.
Time delay Enter the minimum number of seconds required before a to-off-
normal event, or to-normal event is generated.
BACnet Choose the method for referencing the intrinsic alarm object
notification that you want to use to generate event notifications:
• Select System reference to define a path-based
reference to an object or property that is currently located
on the server. When selected, only the Path field becomes
editable. All the other fields become non-editable.
• Select BACnet reference to define a reference that
uses the elements of a property value (Device instance
number, Object type, or Object instance number) to
identify a BACnet object or property that is not currently on
the server but may be uploaded or imported to the server
later. You can also use this method to reference a BACnet
object or property on an external device.
For more information, see section 73.7 “BACnet References
and System References” on page 2562.
Alarm handling Select the data source for alarm handling and presentation
and presentation information. The alarm presentation settings display as three
tabs (User Action, Attachment, and Presentation) on the alarm
sources (value) as well as in the notification class. For more
information, see section 79.6 “BACnet Alarms” on page 2898.
Event enable Select the flags to enable the reporting of to-off-normal and
to-normal events. to-fault reporting is not supported by
Continued on next page
Continued
Property Description
Building Operation BACnet devices.
State Id Enter the State Id for which you want to set an alarm or fault
alarm.
Is alarm value Select Yes or No to assign an alarm to the State Id. If you
select Yes, select No for Is fault value.
Is fault value Select Yes or No to assign a fault alarm to the State Id. If you
select Yes, select No for Is alarm value.
Click to open the Properties dialog box where you can edit
the alarm or fault configuration for a selected State Id. For
more information, see section 81.62 “BACnet Multistate Alarm
Properties Dialog Box” on page 3069.
Alarm message Enter the text that you want to display in the Alarm View for the
corresponding alarm state. The configured text is also sent to
Reset message any external BACnet clients configured as alarm recipients in
Fault message the BACnet notification.
For more information, see the Alarms Pane and Alarm View
topic on WebHelp.
16. Repeat the process until you have the desired number of alarms.
Continued on next page
17. Select an alarm from the list and click to modify the alarm.
State Id Enter the state that you want to configure for the multistate
point or value.
Is alarm value Select Yes to assign an alarm to the State Id. Then, select No
for Is fault value.
Is fault value Select Yes to assign a fault alarm to the State Id. Then, select
No for Is alarm value.
Relinquish Enter the value to be used by the Value property when all values in
default the priority array are set to Null.
Active Specifies the priority level (1-16) currently controlling the present
command value. The present value is the highest priority with a non-Null value.
priority
Priority 6 This priority is reserved for timer-based algorithms that are not
currently supported. (Read-only)
7. Click Next.
6. In the Time delay (s) box, enter the minimum number of seconds that Pulse
rate is required to remain outside of the range specified by the Upper limit
and Lower limit before a to-off-normal event is generated. The value also
specifies the number of seconds that Pulse rate is required to remain within
the range of Upper limit and Lower limit before a to-normal event is
generated.
7. In the BACnet notification box, select the type of BACnet notification for
generating the event:
• Select System reference to define a path-based reference to an object
or property that is currently located on the server. When selected, only the
Path field becomes editable. All the other fields become non-editable.
• Select BACnet reference to define a reference that uses the elements
of a property value (Device instance number, Object type, or Object
instance number) to identify a BACnet object or property that is not
currently on the server but may be uploaded or imported to the server
later.
8. In the Notify type box, select one of the following options:
• Select alarm if you want the generated event to be reported as an Alarm
• Select event if you want the generated event to be reported as an Event.
9. In the Event enable box, select the appropriate boxes to enable the
reporting of to-off-normal, to-fault, and to-normal events.
10. In the Upper limit box, enter a value that Pulse rate is required to exceed
before an an event is generated.
11. In the Lower limit box, enter a value that Pulse rate is required to fall below
before an an event is generated.
12. In the Limit monitoring interval (s) box, enter the number of seconds
during which the value of the Pulse rate can be determined.
13. In the Limit enable box, select the appropriate box to perform one or both of
the following operations:
• Select Low limit enable to enable the reporting of off-normal events
and the return to to-normal events based on the Lower limit value.
• Select High limit enable to enable the reporting of off-normal events
and the return to-normal events based on the Upper limit value.
14. In the Alarm message, Reset message and Fault message boxes, enter
the text that you want to display in the Alarm text field in the Alarm View for
the corresponding alarm state.
Tip
If a message text is received from the external device, that text is
displayed in the Alarm text field instead of the configured text.
7. Click Next.
6. In the Object property reference box, enter the property whose value is
sampled during the time specified by the Window interval property:
• System reference: Defines a path to a property or object reference
located on the server (including hosted objects, if available). When
selected, only the Path field becomes editable. All the other fields become
non-editable.
• Protocol reference (Advanced): Using the BACnet standard method,
defines a path to a property or object reference located anywhere on the
network. When selected, the Device, Object type, and Object instance
fields become editable (except for notification-class objects) and the Path
field becomes non-editable.
• Path: Select the path to the reference on the file system.
• Device: Type the device number associated with the device.
• Object type: Select the object class of an object, such as analog input.
• Object instance: Type the object instance number associated with the
referenced object.
• Property: Enter the property identifier associated with the value.
The system automatically fills in the device, object type, and object instance
fields for either reference path, where available.
7. In the Window interval box, enter the number of seconds during which the
values for the Minimum value, Maximum value, and Average value are
calculated.
8. In the Window samples box, enter a number (greater than zero) to indicate
how many samples that you want to be taken during the time specified by the
Windows interval property.
9. Click OK.
10. Click the Advanced tab.
11. In the BACnet name box, type a new name to rename the averaging object.
12. Click OK.
7. Click Next.
6. In the Value box, enter the number of the action list that you want generated
when the command object runs.
7. Click OK.
8. Click the Advanced tab only if you want to rename the command object.
9. In the BACnet name box, type a new name if you want to rename the
command object.
10. Click OK.
7. Click Next.
7. In the Time delay (s) box, enter a minimum number of seconds that the
Value property is required to be shed non-compliant before a to-off-
normal event is generated, or a state other than shed non-compliant before
a to-normal event is generated.
Continued on next page
8. In the BACnet notification box, select the type of BACnet notification for
generating the event:
• Select System reference to define a path-based reference to an object
or property that is currently located on the server. When selected, only the
Path field becomes editable. All the other fields become non-editable.
• Select BACnet reference to define a reference that uses the elements
of a property value (Device instance number, Object type, or Object
instance number) to identify a BACnet object or property that is not
currently on the server but may be uploaded or imported to the server
later.
9. In the Notify type box, select one of the following options:
• Select event if want the generated event to be reported as an event.
• Select alarm if want the generated event to be reported as an alarm.
10. In the Event enable box, select the appropriate boxes to enable the
reporting of to-off-normal, to-fault, and to-normal events.
11. In the Alarm message, Reset message and Fault message boxes, enter
the text that you want to display in the Alarm text field in the Alarm View for
the corresponding alarm state.
Tip
If a message text is received from the external device, that text is
displayed in the Alarm text field instead of the configured text.
7. Click Next.
6. In the Input reference box, select the type of BACnet notification for
defining the property whose value is sampled during the time specified by the
Window interval property:
• Select System reference to define a path-based reference to an object
or property that is currently located on the server. When selected, only the
Path field becomes editable. All the other fields become non-editable.
• Select BACnet reference to define a reference that uses the elements
of a property value (Device instance number, Object type, or Object
instance number) to identify a BACnet object or property that is not
currently on the server but may be uploaded or imported to the server
later.
Continued on next page
7. In the COV increment box, enter the minimum change in the Value property
that causes a COV notification to be sent.
8. Click OK.
9. Click the Advanced tab.
10. In the BACnet name box, type a new name to rename the pulse converter
object.
11. In the Time delay (s) box, enter the minimum number of seconds that the
Value property is required to remain outside of the range specified by the
Upper limit and Lower limit before a to-off-normal event is generated. The
value also specifies the minimum number of seconds that the Value property
is required to remain within the range of Upper limit, Lower limit, and
Deadband before a to-normal event is generated.
Continued on next page
12. In the BACnet notification box, select the type of BACnet notification for
generating the event:
• Select System reference to define a path-based reference to an object
or property that is currently located on the server. When selected, only the
Path field becomes editable. All the other fields become non-editable.
• Select BACnet reference to define a reference that uses the elements
of a property value (Device instance number, Object type, or Object
instance number) to identify a BACnet object or property that is not
currently on the server but may be uploaded or imported to the server
later.
13. In the Notify type box, select one of the following categories to identify the
event when an event is generated by the object:
• Select alarm to report the event as an alarm.
• Select event to report the event as an event.
14. In the Event enable box, select one or more flags to enable the reporting of
to-off-normal, to-fault, and to-normal events.
15. In the Upper limit box, enter a value that the Value property is required to
exceed before an an event is generated. The Value property is required to
exceed the Upper limit value for the minimum time specified in the Time
delay (s) property.
16. In the Lower limit box, enter a value that the Value property is required to
fall below before an an event is generated. The Value property is required to
fall below the Lower limit value for the minimum time specified in the Time
delay (s) property.
17. In the Deadband box, enter a value to create a range between the Upper
limit and Lower limit values. The Value property is required to remain
within the range before a to-normal event is generated based on various
conditions. For more information, see section 81.97 “BACnet Pulse Converter
Properties (Generic) – Advanced Tab” on page 3142.
18. In the Limit enable box, do one of the following actions:
• Select Low limit enable to enable the reporting of Lower limit off-
normal events and to-normal events.
• Select High limit enable to enable the reporting of Upper limit off-
normal events and to-normal events.
19. In the Alarm message, Reset message and Fault message boxes, enter
the text that you want to display in the Alarm text field in the Alarm View for
the corresponding alarm state.
Tip
If a message text is received from the external device, that text is
displayed in the Alarm text field instead of the configured text.
8. In the BACnet name box, type a BACnet name for the trend log. Do not type
a name if you want a name to be assigned for you.
9. Click Create.
6. In the Log enable box, select True to enable logging of the monitored
property referenced by Log device object property.
7. In the Start time box, enter the date and time to start trending.
8. In the Stop time box, enter the date and time to stop trending.
9. In the Stop when full box, select True if you want trending to stop when the
log buffer reaches the maximum Buffer size.
10. In the Buffer size box, enter the maximum number of records the buffer can
hold.
11. In the Log device object property box, enter the property to be trended:
• System reference: Defines a path to a property or object reference
located on the server (including hosted objects, if available). When
selected, only the Path field becomes editable. All the other fields become
non-editable.
• BACnet reference: Using the BACnet standard method, defines a path
to a property or object reference located anywhere on the network. When
selected, the Device, Object type, and Object instance fields become
editable (except for notification-class objects) and the Path field becomes
non-editable.
• Path: Select the path to the reference on the file system.
• Device instance number: Type the device number associated with the
device.
• Object type: Select the object class of an object, such as analog input.
• Object instance number: Type the object instance number associated
with the referenced object.
• Property: Enter the property identifier associated with the variable.
The system automatically fills in the device, object type, and object instance
fields for either reference path, where available.
12. In the Logging type box, select one of the following options:
• Select Change of Value if you want Building Operation to add an entry
to the trend log only when the value of the monitored property changes. If
you select Change of value, you also
• Select Interval if you want Building Operation to poll the monitored
property at time intervals, and then add the trend entry to the trend log.
13. In the Log interval box, do one of the following actions:
• Enter how often you want the trend log to poll for a value if you selected
Interval for Logging type. The frequency is days, hours, minutes,
seconds, hundredths of seconds.
• Enter 0 for each interval if you selected Change of value for Logging
type.
14. In the Delta box, enter a value if you are trending the COV increment of an
object, and want the Delta value to be used.
Delta is the difference between the value of the current COV increment. and
the last log value. To log a variable according to the time interval, use a delta of
zero.
Continued on next page
15. In the COV resubscription interval box, enter the number of seconds that
you want the trend log to request a COV subscription from the device.
16. Click the Advanced tab.
17. In the Notification threshold box, enter the number of records required to
accumulate in the trend log before BACnet devices are notified by the BACnet
notification. Set the number to equal 10% of the maximum Buffer size.
Continued on next page
18. In the BACnet notification box, select the type of BACnet notification for
defining when the number of records specified by the Notification
threshold property has been reached.
• Select System reference to define a path-based reference to an object
or property that is currently located on the server. When selected, only the
Path field becomes editable. All the other fields become non-editable.
• Select BACnet reference to define a reference that uses the elements
of a property value (Device instance number, Object type, or Object
instance number) to identify a BACnet object or property that is not
currently on the server but may be uploaded or imported to the server
later.
19. In the Notify type box, select the type of BACnet notification to be
generated:
• Select alarm to define the event as a BACnet alarm and to display the
event in Alarm View.
• Select event to define the event as a BACnet event and to display the
event in Event View.
20. In the Event enable box, select to-normal. Then, select to-offnormal to
enable the reporting of to-offnormal events.
21. Click OK.
Create and configure an extended trend log to enable extended logging. For
more information, see the Creating an Extended Trend Log topic on WebHelp.
76.45