7038622 andover infinity webserver users guide
TRANSCRIPT
-
7/31/2019 7038622 Andover Infinity Webserver Users Guide
1/33
Users Guide
Downloaded from - http://www.guardianalarms.net
-
7/31/2019 7038622 Andover Infinity Webserver Users Guide
2/33
Andover Controls Corporation
1997, Andover Controls Corporation
All Rights Reserved
No part of this publication may be reproduced, read or stored in a retrieval system, or transmitted, in anyform or by any means, electronic, mechanical, photocopying, recording, or otherwise, without prior
written permission of Andover Controls Corporation.
Produced in the United States of America.
Infinity is a trademark of Andover Controls Corporation. All other trademarks are the property of their
respective owners.
Infinity Web Server User Guide, Version: A August 1997
Andover Controls part number: 30-3001-683
The information in this document is furnished for informational purposes only, is subject to changewithout notice, and should not be construed as a commitment by Andover Controls Corporation.
Andover Controls Corporation, assumes no liability for any errors or inaccuracies that may appear in this
document.
Andover Controls Corporation
300 Brickstone Square
Andover, MA 01810
(508) 470-0555
fax: (508) 470-0946
-
7/31/2019 7038622 Andover Infinity Webserver Users Guide
3/33
Infinity Web Server
Contents
Introduction.........................................................1What is a Server? ............................................................ 1
What is HTML?.............................................................. 2
Do I Have to Be A Programmer?............ ............. ............ 2
System Requirements......................................................2
Basic Web Server Access.....................................3Web Server Web Browser Connection ......................... 3
Browsers & Your Site .....................................................4Expanding the Connection .............................................. 5
Communicating with the Server .........................7IP Addresses ................................................................... 8
Associating a Name with an IP Address ............ ............. . 8
CX and SX Web Server Sites ..........................................9
Contacting the Server ................ ............. ............. .. 9
Home Screens.......................................................10
Built-In List View Functions ................................11
Designing Your Own Pages...............................13
URL Error Reporting .................................................... 13Making HTML.............................................................. 14
Simple HTML Menu Page ............................................15
Web Function Basics............ ............. ............. ............. .. 16
Sample Home Custom Page .......................................... 17
Sample Setpoint Entry.............. ............. ............. ........... 19
Errors............................................................................ 22
Web Page Graphics....................................................... 23
Hyperlink Design .......................................................... 25
Security Concerns ......................................................... 26
Advanced Design .......................................................... 28
-
7/31/2019 7038622 Andover Infinity Webserver Users Guide
4/33
-
7/31/2019 7038622 Andover Infinity Webserver Users Guide
5/33
Infinity Web Server 1
Introduction
Andover Controls prides itself on the access it provides to controlled points in a
facility. This information has been available over the network through an OS/2-based
SX 8000 workstation or directly from a particular controller via a text-based direct
RS232 connection. In keeping with our long-standing commitment to furthering
technology, another path for information has been added to our products.
The Infinity Web Server option allows you to access critical information from
operating controllers at your site or sites over the network using an industry standard
viewer application.
What is a Server?
The server acts like the waiter in a restaurant. Ask the waiter for something and he
fetches it for you. In the case of a communication Server, youre asking for
information (i.e., point values, setpoints or lists). The server responds by sending youthe data.
There is a server of one sort in every CX controller. It provides information to an SX
8000 workstation or to an RS232 terminal when requested. The data retrieved is
composed in a format compatible with either the SX 8000 (which can only be
decoded by SX software) or as plain text sent to the RS232 terminal.
In order to provide a lower cost and more universal method of retrieving and viewing
your data, we have chosen to modify our server and make available an option that
standardizes on the data viewers used by millions of people to retrieve information
from the Internet. Theyre called Web Browsers.
These Browsers operate on a number of platforms (PC, Macintosh, UNIX, etc.) and
therefore free the customer from the OS/2 or proprietary hardware or software
bounds. Browsers can be loaded onto inexpensive PCs located far away from the site
without the cost of maintaining another SX 8000 license.
This modified server formats the requested information into a language that Web
Browsers can understand. This language is called HTML.
-
7/31/2019 7038622 Andover Infinity Webserver Users Guide
6/33
2 Andover Controls Corporation
What is HTML?
HTML is not really a language. It is a way of describing the format of information
viewed on a computer or TV screen. These screens often include text, backgrounds,
images, editable fields and buttons. HTML itself is a textual description of the screen
to be displayed. An HTML file looks like a simple text file with many entriesenclosed in brackets.
Any data that you request from the Web server (i.e., point information) can be
displayed on your screen (the Web Browser window) in as simple or complex a way
as you could imagine. This provides you with the ability to customize the format of
the displayed data. Want to show an image of the chiller being controlled in the
background as its control points are displayed in the foreground? No problem. In fact,
most of the information displays available on the SX 8000 can be formatted in
HTML.
Do I Have to Be A Programmer?
No. HTML is not a programming language. Once you become familiar with HTMLs
simple formatting rules, youll be creating screens in no time.
For simple access to all the points in your system all you really need to know is how
to create list views. Creating an HTML file takes spending a few minutes with a
standard text-editor program. Even Microsoft Word or Notepad can be used! Well
show you everything you need to know for simple access here in this manual. For
more complex screens, you will be referred to a multitude of good resources.
System Requirements
There are two Infinity Web Server configurations available. One creates a server
within your SX 8000 workstation. The other adds serving capability to a CX 9200 or
CX 9400 series controller.
The Infinity Web Server, CX version:
A CX 9200 or 9400 Series controller with the Web Server option installed
TCP/IP Network access to the controller
A PC with TCP/IP Network access (to run the Browser application)
Web Browser application (Microsoft Internet Explorer 3.0 or higher or others)
The Infinity Web Server, SX version:
PC-Compatible computer (166 MHz Pentium minimum)
SX 8000 with the Web Server option installed
A PC with TCP/IP Network access (to run the Browser application)
Web Browser application (Microsoft Internet Explorer 3.0 or higher or others)
-
7/31/2019 7038622 Andover Infinity Webserver Users Guide
7/33
Infinity Web Server 3
Basic Web Server Access
The Web Server is built-into the CX firmware or the SX 8000 software when you
purchase the version. There is no specific hardware or software installation required
other than normal setup for either of these products.
When power is applied to your system, the Web Server starts-up and remains quietly
running in the background transparent to other operations. While in the background,it is scanning for command requests that conform to a standard communications
protocol used by Web Servers and Browsers.
Commands sent to a CX controller or SX 8000 workstation can originate from many
sources. These commands are sent in small chunks called packets. CX controllers
receive commands via their Ethernet network connection (EnergyNet) or via any of
their Comm Ports. SX workstations receive commands via Ethernet, Comm Port or
from their local keyboards.
All Web Server command and request traffic is handled over the Ethernet using a
protocol called TCP/IP. At present, it is the only method of communicating between
the Server and the Browser.
Web Server Web Browser Connection
The following illustration shows a simple Ethernet TCP/IP connection between a
single CX 9400 controller and a PC running a Web Browser application:
This example is over simplified, however, it illustrates the basic concept of
connection between the two entities. The CX could also be a CX 9200 as long as it
has been modified for Web Server capabilities.
CX Web ServerPC with Web Browser
Ethernet Connection
-
7/31/2019 7038622 Andover Infinity Webserver Users Guide
8/33
4 Andover Controls Corporation
Connection to the SX 8000-based Web Server is similar as illustrated below:
Browsers & Your Site
The Ethernet connection that you attach your PC/Browser to is actually the
EnergyNet that connects between all the CX controllers and SX 8000 workstations at
your site. The Browser can reside anywhere you have an EnergyNet connection. In
fact, you can have more than one Browser calling into your Web Server. Obviously,
youve got to have at least one Web Server CX or SX 8000. You can have more than
one.
As mentioned, more than one Browser can be used at the same time. The Web
Server option allows for 12 concurrent users on the network.
PC with Web Browser
SX Web Server
Ethernet Connection
PC with Web Browser
-
7/31/2019 7038622 Andover Infinity Webserver Users Guide
9/33
Infinity Web Server 5
Concurrent users means that we allow up to 12 users requesting a file or files
simultaneously. In actual practice you may not have users acting in unison. Therefore,
you could theoretically have more Browser stations than 12. When the maximum
number is reached, the requesting user is sent a server busy message. In that case,
you would wait a few seconds and try again.
As it turns out, Web Browser applications have the ability to juggle multipleconnections to the server simultaneously. These are used when you are downloading
a file and want to view another. Upon installation, the Browser is usually set to allow
four simultaneous connections. The number is user-definable and may be changed
through the Options menu item. Most people dont use that many connections
simultaneously. In fact, using a Browser with this Web Server would probably only
use two at the most. However, these multiple connections must be taken into account
when you are planning the number of Browser access stations for your site.
Expanding the Connection
As mentioned before, communication between the Web Server and the Browser
requires a TCP/IP Ethernet connection. However , the connection between the twoneed not always be a physical one.
There are many products on the market that allow other types of entities to tie into an
Ethernet network. Your network may be connected to the local telephone network
through an Ethernet-to-telephone interface for remote access purposes. These
interface connections are typically called Ethernet to PPP connections. A PPP
connection allows regular telephone data modem traffic to access an Ethernet
network.
Using such a device would allow access to your site via a standard telephone modem
connection installed into your PC. Viewing site parameters from the comfort of your
home is possible.
Other devices provide wireless connections to expand your local area network into a
wide area network. These include satellite links and other broadband techniques.
The design of the Infinity Web Server does not preclude any of these systems as lone
as the end result is an Ethernet TCP/IP connection.
IMPORTANT
Keep in mind that the extraneous network equipment discussed here is not supplied or
supported by Andover Controls. The required a level of support is best left to the
network companies that manufacture the units. If you are interested in expanding
access to your Web Server through external interfaces, contact appropriate parties.
Proprietary Dial-Up with External PPP-to-Ethernet interface
PPP to- Ethernet
Interface
Ethernet Connection
Web Server
-
7/31/2019 7038622 Andover Infinity Webserver Users Guide
10/33
6 Andover Controls Corporation
After installation, make sure that the network is operating properly and that the
controller is responding to its configuration. The documentation provided with the
controller explains installation techniques. The Web Server does not help you setup
or configure your system. It merely allows you to access points after everything is
running.
-
7/31/2019 7038622 Andover Infinity Webserver Users Guide
11/33
Infinity Web Server 7
Communicating with the Server
A Web Browser application (i.e., Microsoft Internet Explorer) is used to
communicate with the CX or SX-based Web Server. This application is not included
with the Server! You must obtain it from another source. However, these Browsers
are distributed freely by their manufacturers. We do not endorse any particular brand,
however, internally we have qualified the Web Server to operate with Microsofts
Internet Explorer.
You can obtain the Browser application from various sources or directly from
Microsoft at the following Internet Web address:
http://microsoft.com/ie
The Browser application must be operating to view the screens of information sent
from the Server. The PC that is running the Browser application must also be
connected somehow to the Ethernet EnergyNet of your site (either directly or
indirectly).
After installation, run the Web Browser application. Because these programs were
designed to allow Internet access, the first time it is run it will be looking for anInternet site pre-programmed into its options settings. For the Internet Explorer
application, this site is actually Microsofts own Web Server. If you are not
connected to your site via the Internet, the Browser wont be able to communicate
with the site and eventually an error message is displayed. Disregard the error.
To access the Infinity Web Server, you must enter its network address into the
editable field on the Browser screen labeled Address or URL: and press Enter. The
Browser then transmits a request to this address for information.
The URL: or Address field is expecting a valid Uniform Resource Locator (a fancy
name for an address). This address is actually a network identifier that describes the
machine being used as the Web Server.
-
7/31/2019 7038622 Andover Infinity Webserver Users Guide
12/33
8 Andover Controls Corporation
IP Addresses Each machine on the Ethernet network (the CX, SX workstation and the PC runningthe Browser) is identified by a unique network ID. This identification number
consists of a series of hexadecimal digits that are assigned during manufacture that
acts like a unique serial number.
The TCP/IP communications protocol that is running over the Ethernet uses adifferent numbering scheme to identify each connected entity. During the network
configuration process of a site, the network administrator assigns another number to
each controller or workstation that corresponds to the Ethernet address. This TCP/IP
identification number is called an IP Address.
IP (Internet Protocol) addresses consist of four sets of decimal numbers separated by
periods. An IP address might appear as shown below. The numbers change
depending on your particular configuration.
172.16.153.166
Where as these numbers are assigned by a person, it is important that each set be
unique. If there are two IP addresses that are the same on a network you are in for
trouble.
Whenever the Infinity Web Server communicates with another machine, it broadcasts
the IP address of the machine it wants to talk to and then provides its own IP address
so that the called machine knows where to direct its response. The IP address is used
extensively from the Web Browser to view information from the server. It is
important that you are familiar with the address of the controller or SX 8000
workstation used as your Infinity Web Server.
Associating Unfortunately, long sets of numbers can be confusing to remember. Your
a Name with an IP Network Administrator has the ability to associate a textual name with eachAddress numeric IP address for ease of use. Therefore, instead of identifying the CX controller
with your Web Server as 172.16.153.166, you can simply call it Site1. In fact, if
your system was set up with an SX 8000 workstation, you probably already have
names associated with each controller. If not, it is a relatively simple task to assign a
name by using a Nameserver application or directly by editing a file called an Hosts
file that exists on the hard disk of each PC using a Browser. Some PCs may also have
a file called LMhosts.
Editing the Hosts & LMHosts Files
The HOSTS and LMHOSTS files are located in the Windows directory of the
machine that is running the Browser. These are text files and can be opened using the
Notepad application. It is beyond the scope of this document to explain networkadministration, however, full instructions for associating a name with an IP address
are provided in the header of a similar file called HOSTS.SAM or
LMHOSTS.SAM that can be found at the same location. If you have both files, edit
each of them.
When you are finished editing, save the file as directed in the text and reboot your
system.
-
7/31/2019 7038622 Andover Infinity Webserver Users Guide
13/33
Infinity Web Server 9
CX and SX Web Server Sites
When you enter the network IP address of a CX or SX Web Server into the Address
or URL field of the Web Browser, it contacts the controller and receives information.
When contact is made, you are connected to the server which is commonly referred toas a site.
All addresses used with the Infinity Web Servers are composed of a combination of
two or more parts.
http://Servername
The first part consists of the following text:
http://
This identifier is standard for most Web addresses and is actually an acronym for
hyper text transfer protocol. The colon and the two slash characters are necessary,
dont forget them.
The second part of the address is the IP address of the machine (CX controller or SX
8000 workstation) where the Web Server resides. As mentioned earlier, the IP address
may be associated with a name for clarity. If your servers IP address/ name is
Andover then the entry for your Address or URL is:
http://Andover
Contacting the Typing this combination into the Address or URL field of the Browser andServer pressing Enter causes the following sequence of events to occur:
1. The Browser matches the name entered with the list of IP addresses in the Hostsfile to obtain the actual address.
2. The Browser sends a message that it would like to communicate with the entityat that IP address (the Web Server).
3. The Server acknowledges its presence to the Browser.
4. The Browser requests a session with the Server.
5. The Server sends an informational message that doubles as a user interface. It issent in the form of an HTML text file that is decoded and displayed by the
Browser.
?
-
7/31/2019 7038622 Andover Infinity Webserver Users Guide
14/33
10 Andover Controls Corporation
Home Screens The Web Server includes a built-in screen written in HTML that is storedpermanently in its memory. This screen is called the Home screen. Whenever you
enter the basic IP address of the CX controller or the SX into the Browser, the
Home screen is sent from the Server to the Browser and is displayed.
The following is a representation of the built-in Web Server Home screen.
Screens displayed on Web Browsers are often referred to as pages. Each page is
typically composed of text, images and backgrounds. Any one of these items can be
used as an active button that can initiate some action. Browser text that is displayed
in a contrasting color and often underlined acts like a control or menu item. When
you move the mouse cursor over this kind of text or any active image or button it
automatically changes to a pointing finger indicating that the item is a control. These
items are commonly referred to as hyperlinks.
On the Home page there is one hyperlinked menu item:
As the name implies, you can select reports (or pages) that are customized to your
particular needs.
When you move the mouse cursor over this text it automatically changes to a
pointing finger. Clicking on the Custom Reports & Services text sends a message
from the Browser to the Web Server requesting that a Plain English function called
home be initiated.
In this home function it is expected that there is some code that will initiate acustom report or perhaps display a menu page of some sort. To display a menu page
on the Browser in response to the request, the home function must include some
HTML coding describing the page. These HTML codes are sent back to the Browser
using simple print statements from within the function.
If you dont have a function called home in your system, clicking this option does
nothing. You have to create this function.
-
7/31/2019 7038622 Andover Infinity Webserver Users Guide
15/33
Infinity Web Server 11
As explained, the Custom Reports & Services item is simply a method of accessing
your custom HTML pages. These pages might be designed to show a particular
combination of points. You might design a page that allows you to select from a
number of other pages.
For a complete description of how to create a home function and how to add HTML
pages to any Plain English function, refer to the section entitledDesigning Your OwnPages.
Built-In ListView Functions The SX 8000 based Web Server includes three built-in Plain English functions that
can be called to display point information from the Browser without designing your
own page. These functions allow you to view the following from the Browser:
Pre constructed List Views
Pre constructed Log Views
Default List View of any object at any given path
List Views
You can display any saved list view using the SX 8000 Web Servers list view
display function. Before calling this function youve got to:
1. Create a list view including all the points you want displayed and their attributes.
2. Save this list view and give it a name.
Important: When you create a list view for display by a Browseryou must not
include any user prompts. User prompts built into list views dont appear on the
Browser. The will appear somewhere else (probably the SX 8000 screen) thus lockingup the system.
To display a list view from a Browser, enter the following Address or URL:
http://Servername/listview/listviewname
If your Server is called Andover and the listview is named TempInputs the list
view URL is:
http://Andover/listview/TempInputs
Entering this address into the Address or URL field automatically builds an HTML
display that is formatted into a table showing the listview you previously created. Allthe points and their current attribute values are displayed. This information is a static
snap shot of the state of each item at the time of the report. You cannot change any
of these values. The data is static. As their values change they will not be
automatically updated on your screen. To view another snap shot youll have to click
the Refresh button on the tool bar at the top of your Browser.
-
7/31/2019 7038622 Andover Infinity Webserver Users Guide
16/33
12 Andover Controls Corporation
Log Views
You can display any saved log view using the SX 8000 Web Servers log view
display function. Before calling this function youve got to:
1. Create a log view including all the items you want displayed.
2. Save this log view and give it a name.
To display any log view from a Browser, enter the following Address or URL:
http://Servername/logview/logviewname
If your Server is called Andover and the logview is named OutputEvents the log
view URL is:
http://Andover/logview/OutputEvents
Entering this address into the Address or URL field builds an HTML display that is
formatted into a table showing the logview you previously created.
Default List Views
The SX 8000 Web Servers default list view is the display you would view if you
double clicked on a classname in an SX 8000 tree view. To display the default view
of a given path from a Browser, enter the following URL:
http://Servername/listview/sitename/controller/Infinetctrlname/Classname
If your Server is called Andover ,the sitename is named Building1, the CX or SX
controller is named Floor1 , the Infinet controller called AHU1 and the
classname is Inputs, the list view URL is:
http://Andover/listview/Building1/Floor1/AHU1/Inputs
Entering this address into the URL field builds an HTML display that is
automatically formatted into a table showing the default listview for the class called
Inputs. The class name must match the preset classnames as they appear in the SX
8000 tree display view.
Custom Pages
The power behind the Infinity Web Server is its ability to produce custom reports anduser editable fields such as setpoint adjustments. These functions require you to
produce HTML pages yourself to display the information.
For a complete description of how to add HTML to your Plain English functions and
create your own pages, refer to the section entitledDesigning Your Own Pages.
-
7/31/2019 7038622 Andover Infinity Webserver Users Guide
17/33
Infinity Web Server 13
Designing Your Own Pages
Designing your own HTML pages for use with the Infinity Web Server is a three step
process.
1. Create the HTML that defines the page.
2. Convert the HTML into Plain English print statements.3. Load the Plain English function with the embedded HTML into the system.
There is one important concept to master before you construct your own Web Server
pages. The Infinity Web Server sends these user created HTML pages to your
Browser in response to a call to a Plain English function. You create a custom
function and include HTML codes that serve as your user interface within that
function. When the function is called, the Server machine (CX or SX 8000) operates
on the Plain English commands and sends any output it generates to the Browser.
Output statements are simple Plain English print statements.
To display a page from the Custom Reports... item on the Home page of the CX or
SX 8000, youll need to define a function called home and include an HTML page
within that function (assuming you want it to communicate with a user).
To directly display a custom page without having your users access the built-in home
page, youve got to define a function including the HTML describing the page and
save it under some descriptive name. Assuming you saved the function to your Web
Server machine (CX or SX 8000), to display the page, enter the following URL:
http://Servername/functionname
Where the Servername is the name of your Web Server andfunctionname is the name
of the function that includes your page.
Should you save the function to another location adjust the path accordingly.
URL ErrorReporting If a page doesnt exist at the URL or path entered, the Browser will report that the
name entered doesnt seem to be responding. Should this happen, check the path
entered and try again.
-
7/31/2019 7038622 Andover Infinity Webserver Users Guide
18/33
14 Andover Controls Corporation
Note: To quickly identify the functions that you create for HTML, we recommend
that you follow a naming convention that distinguishes normal functions from the
Web-based ones. Using a function name such asMainMenu.htm quickly identifies
this function as one that produces HTML.
Making HTML The simplest way to build a Plain English served page is to start with an HTMLeditor.
HTML is called a markup language because it is intended to be used with plain
text. It adds codes to the text. For example, to indicate that a section of text should be
displayed in bold, the following codes are added: This is to be
displayed in Bold.
The HTML code indicates an emphasis should be added to all text
following this command. When the code is encountered, it indicates
that the Strong code is to be terminated. There are dozens of these codes. It is not the
intent of this manual to teach you how to create pages in HTML. We can, however,
recommend two excellent books on the subject.
The following book is a great introduction to the language and may be all you need to
get up speed creating your own custom pages:
Dummies 101: HTML
Deborah S. Ray & Eric J. Ray
1996, IDG Books Worldwide, Inc.
ISBN: 0-7645-0032-5
Once youve mastered the basics, be sure to pick up a copy of the following book. It
covers every aspect of the language and includes many tips to improve the display
and speed of display of your pages:
Teach Yourself Web Publishing with HTML 3.2 in 14 Days
Laura Lemay
1996 Sams.net Publishing
ISBN: 1-57521-096-7
Both of these books come with CD ROMs packed with shareware programs to edit
and save HTML pages and to create Web-friendly graphic images. Microsofts
Internet Explorer is available free from many sources. Although the version that it
shipped with Windows 95 is an early one, you can download the latest version fromthe Microsoft Internet site (http://www.microsoft.com/ie/).
The HTML editors included with the books are text based tools. They simply allow
you to automatically add the HTML codes to your text page. Full graphical based
editors exist that allow you to design the page much as you would in a page layout
program. These editors write the HTML codes for you as you place text and objects
on the screen. One that we at Andover Controls have had success with is Microsoft
Front Page 97. There are many others and new ones are being introduced every day.
-
7/31/2019 7038622 Andover Infinity Webserver Users Guide
19/33
Infinity Web Server 15
Simple HTML A Basic HTML PageMenu Page
Before you define any Plain English functions you would design and test your HTML
page. The simplest form of an HTML page that can be used with the Infinity Web
Server follows:
Title of My Page Menu Item 1
This page displays as follows:
Tag Notice that the entire page is bracketed between tags. This defines the
boundaries of the HTML code. It tells the Browser to respond to everything sent
between these tags is meant for display.
Tag The Heading tags include the Title tags. The title appears in the title Tag area of the Browser window. Titles are recommended because your user can instantly
identify the screen being presented. In the example the words Title of My Page
would be replaced with the title of your page.
Tag The following code is the meat of the page. It is within this area that any control
items are placed. The example includes a single hyperlink menu item called Menu
Item 1 denoted by the HTML code:
Menu Item 1
This line of code displays the text:Menu Item 1. The Menu Item 1 text would be
replaced with the text of your actual selection.
Notice that in HTML, hyperlink menu items are not called hyper or menu at all.They are denoted by a single tag called an Anchor . Information placed between
the Anchor tags refer to the action to be initiated when the user clicks on the item. It
also includes a description of what the selectable item is (graphic or text).
To define this information the Anchor tag includes several attributes which are
supplemental tags that define various aspects of the Anchor. The HREF attribute
defines the action to be taken when this item is clicked.
-
7/31/2019 7038622 Andover Infinity Webserver Users Guide
20/33
16 Andover Controls Corporation
In our example, clicking on this item would direct the Browser to display an other
HTML page located at the path specified in the HREF attribute. This page is defined
aspage1name.htm. You would substitute a path to another page you created for this
place holder just after the equals sign. Be sure to include quotation marks around the
pathname.
Other possible actions would be calls to Plain English functions.
To add more selections to your text menu, simply duplicate this line and change the
text accordingly.
Web Function The built-in HTML pages in both the CX and the SX 8000 Web Servers allowBasics access to your custom pages. Clicking the Custom Reports and Services item on the
main pages of these servers calls a function called home.
The Web Server tells Plain English that all print statements are to be directed back to
the source connection from where the function was called instead of the normal
printer port. This gives the function the ability to serve the HTML code (which is
plain text) back to the requesting Browser. Therefore, when the Browser calls for the
home function to activate, all of homes output will be directed back to the
Browser.
Your function can include any Plain English code that it takes to perform the action
you require. When it comes time to report something to the user or to request some
action, HTML codes are used to communicate with the user.
In order to embed HTML into your Plain English function it must be converted into
the proper format. This process is straightforward and uncomplicated, however, as
your page increases in complexity, the possibility of error increases.
HTML code is added to your function using standard Print statements. The following
HTML line:
Title of My Page
is then represented in your function as:
P Title of My Page
Add the P command denoting a Print statement before the line begins and bracket
the entire HTML line with quotes. For HTML lines that include embedded quotes
(like the Anchor tags) youve got to add the vertical bar | character before the
embedded quote as shown below:
Menu Item 1
The vertical bar tells Plain English to ignore the following character. This way it
wont confuse the embedded quote as an end of print statement.
-
7/31/2019 7038622 Andover Infinity Webserver Users Guide
21/33
Infinity Web Server 17
Sample Home The following is a sample home function. It displays an HTML pageCustom Page appropriately called Sample Custom Page and presents three text item choices that
a user may select.
Because it uses built-in functions, this page works only with SX 8000 based Web
Servers.
The first item calls the built-in SX 8000 function to display a previously saved log
view. The second item calls the built-in function for displaying the default list view
of a class. The last item allows the user to read the current value of a setpoint and to
change it to a different value.
The following is the Plain English function in its entirety:
P ""Print ""Print "INFINITY Web Server Sample Page"Print ""
Print "Sample Custom Page"
Print ""Print "Today's Access Events"Print "List Of All Points"Print "Change Temperature Setpoint"Print ""
Print ""Print ""
Note that we have alternately used the P and PRINT versions of the Print
statement. Plain English allows both forms to be used.
After the initial HTML headers, the meat of the code is presented.
-
7/31/2019 7038622 Andover Infinity Webserver Users Guide
22/33
18 Andover Controls Corporation
The first line displays a large title directly on the page.
Print "Sample Custom Page"
This title is defined as a Heading (Heading 1 to be exact ). The text of the
heading is included along with an attribute telling the Browser to center the heading
ALIGN=CENTER. Headings are pre-defined in HTML and include many different
sizes.
The next line of code tells the Browser that the following lines constitute an un-
ordered list. This is technical jargon for make the following lines bullet items. If
you asked for an ordered list youd get numbered steps.
Print ""
Each of the following selections will be displayed with a leading bullet.
The next three lines are the user selections. Each selection is now part of a bulleted
list and is defined as a list item . They all include Anchor statements defining
the text of the item and its action.
Print "Today's Access Events"Print "List Of All Points"Print "Change Temperature Setpoint"
This first selection allows you to display a previously saved log view. It calls the
built-in function called logview and references a previously saved logview of all
access events that happened today. The logview was saved under the filename
TodaysEventLog:
Print "Today's Access Events"
The second item displays the default listview of the class: Points. This displays the
listview of the Points class that you could see manually if you double clicked the
Points icon in the SX 8000.
Print "List Of All Schedules At The Root"
The third item calls a custom function called WebSetSample:
Print "Change Temperature Setpoint"
The last two lines finish the function by providing the terminator code for the bullet
list and the HTML terminator .
-
7/31/2019 7038622 Andover Infinity Webserver Users Guide
23/33
Infinity Web Server 19
Sample Setpoint The last selection item on our custom page called a function namedEntry WebSetSample. The following is the WebSetSample function which includes its
own HTML page. The function presents a page that displays the current value of a
temperature setpoint and allows you to change the setting. This example provides you
with some basic information that youll need to access any points in your system. The
page displays as shown:
The Plain English code for the WebSetSample function is as follows:
P ""
Print ""Print "Accessing Points"Print ""
Print "Sample Setpoint Page"
Print ""Print "Enter a value:"
Print ""Print " ";Print " " ; " "
Print "
"Print "Back To Home Page"
Print ""
Print ""
Although this example seems more complex than the sample custom page presented
earlier it actually only adds some formatting that allows a user to enter values. This
added formatting is called a form.
-
7/31/2019 7038622 Andover Infinity Webserver Users Guide
24/33
20 Andover Controls Corporation
Standard Page Stuff The first part of the page presents the same basic page formatting commands that
existed in the first custom page example:
P ""Print ""Print "Accessing Points"Print ""
Print "Sample Setpoint Page"
The titlebar displays the title Accessing Points and there is a large heading on the
page titled Sample Setpoint Page. Nothing earth shattering here.
Defining Text Just before the setpoint display, a text prompt to enter the new value is included:
Print ""Print "Enter a value:"
The first line introduces us to the concept of defining the size and style of a displayed
typeface. The tag allows you to specify a number that indicates a
relative font size. Usually this doesnt correlate to actual point sizes.
The type style is defined by the tag. Strong indicates Bold. The prompt
itself Enter a value: is displayed in the relative size (4) and Bold typeface.
Creating a Form The next line sets up the HTML Form that is used to display the point value and
allow a number to be entered:
Think of a HTML form just as you would a paper form. It can include spaces whereinformation is added.
Before you can communicate directly with the server to exchange data about points,
you must inform the Web Server that you will be transmitting data to it and you are
expecting a reply from that data. The code to facilitate this communication is as
follows:
Print ""
The FORM command specifies that the following code is going to define the form.
ACTION is an attribute that specifies the location or IP address of the Web Server.
The METHOD attribute informs the server to POST the results. The IP address can be
either an actual numeric IP or the name of your server.
After entering data into your form youll be initiating a transfer of information from
the form (Browser) to the Server. Any values to be displayed on the form are received
through a similar transfer from the Server to the Browser.FORM transfers Data
-
7/31/2019 7038622 Andover Infinity Webserver Users Guide
25/33
Infinity Web Server 21
Displaying and Once youve indicated there will be a form on this page you can start adding
Setting a Point user-editable controls. In this case we have included a text field where a numeric
value of a point can be placed and a new value may be entered.
Print " ";
This code specifies that a text field be placed on the screen that will display up tosixteen characters (SIZE = 16). This field will accept input as well as long as they are
textual entries (TYPE= |TEXT|).
Note that in Plain English we have to include a vertical bar before using any
quotation mark. This is because quotation marks are controls for Plain English.
Placing a vertical bar before the mark tells the system to ignore the quote as a
command and pass it as text. The vertical bar will not be sent to the Browser.
The input field we have created for this sample is a temperature setpoint. You must
define a string variable to hold the setpoint value. The name of the string variable
holding the setpoint is then inserted into the command (NAME=| RoomSetPt1|) in
this case the string variable is called RoomSetPt1.
To display the current setpoint value, the text input field can display a default value
before you enter data. To do this you set the VALUE attribute to the name of the
string variable.
Refreshing the An HTML page along with its displayed data is sent from the Plain English
Displayed Value function to your Browser for display. Once that happens, the Server awaits some
action from you. Therefore, the value displayed on your page is static. It is the value
that existed at the moment you displayed the page. In the case of a setpoint value it is
not that critical to have a real-time display of its value. However, if you want to
display the temperature of the room in real time youve got to refresh that value
periodically. There are two ways to accomplish this.
The obvious way to refresh the value displayed is to manually refresh the page by
loading it again. In fact, there is a Refresh button in the toolbar of the Browser. This
method is a direct approach that you or your users would tire of quickly.
There is an automatic method that can be employed providing your Browser supports
its use. A new HTML tag has been introduced called that can be
configured to automatically load a page after a defined delay. If you include this in
your page description and tell it to automatically load the same page again, it ends up
reloading itself which therefore updates its displayed values.. In order to get a semi-
real time display of point information you must include this tag.
The tag is inserted into the section of the page. It includes an
attribute, CONTENT=, that allows you to specify how many seconds to wait before
the next refresh .and the name of the page to load. In our case the page is a call for
the same function.
-
7/31/2019 7038622 Andover Infinity Webserver Users Guide
26/33
22 Andover Controls Corporation
Add the following line to your function:
P ""Print ""Print Print "Accessing Points"Print ""
In the example shown, replace the XX with digits specifying the number of seconds(i.e., 10) to wait between displays. The URL is specified as a Plain English function
called WebSetSample. This URL description is the page or function to load.
Displaying Point If you are just interested in displaying a point value without allowing the user to
Values change its value all you have to do is treat the point as a text variable. To add a line
that simply displays the setpoint weve been using, include the following:
Print "
-
7/31/2019 7038622 Andover Infinity Webserver Users Guide
27/33
Infinity Web Server 23
Web PageGraphics In real life it is assumed that you would endeavor to make your pages more visually
appealing than this simple example.
A Word About Graphics
You may add graphics to the background or as individual pictures within the page,but be aware that graphics are not embedded into the HTML code. They are treated
as separate graphic image files and only their physical location is referenced in
HTML. Codes exist to add the pathname where the graphic image file can be found.
Because the files are referenced, graphic items must exist at the path depicted. You
cant be moving these image files around unless you change the pathname in the
HTML code. If the image file has been moved, the Browser probably wont notify
you of an error. It simply wont show the graphic.
The Infinity Web Server doesnt have the capability of serving the graphic files itself.
The CX cant hold graphics in its internal memory and the SX 8000 OS/2
environment wont support our graphics. You will need a separate computer
running a Web Server product to act as a graphic server. This server doesnt have
to be elaborate. In fact, Microsofts Front Page comes with a product called Personal
Server that can be used on a Windows-based computer.
Web Graphic Formats
Currently, Web Browsers can only display two types of graphic image files. These
are the formats: GIF and JPEG. It is beyond the scope of this manual to explain the
differences between the two other than to refer you to the books referenced at the
beginning of this section. Be sure to pay close attention to any discussion of file size
because image files can get large.
Inserting a Graphic
The simplest form of graphic you could use on your pages is to include the logo ofyour company. The home pages built-into the CX and SX 8000 Web Servers include
the Infinity Webserver logo. The following is the line of the code that adds our logo
to our page:
The IMG code indicates that an image is to be placed. The SRC attribute includes a
path to a file called weblogo.gif that is located at the same path as the page.
Therefore, only the filename of the image file is included. The Browser assumes it
will find the file at the current path.
The ALT attribute allows you to enter a textual description of the image that would
be displayed if the Browser could not find the image file.
Some Words About Image Placement
HTML is a very basic environment. It displays text and images in the order they exist
in the code. To have more control over the placement of items, consider building a
table. Tables are described in both of the reference books mentioned.
-
7/31/2019 7038622 Andover Infinity Webserver Users Guide
28/33
24 Andover Controls Corporation
Storing Graphic Files
Any image that is referenced on an HTML page must exist somewhere on your
machine or on a network addressable machine. That means that you could store
graphics at each user workstation, the NT file server or some other Windows or NT-
based computer that can be reached through your network. However, keep in mind
that the machine storing the graphics must be running a Web Server of its own. The
following depicts the process the Web Browser goes through when displaying a pagewith referenced graphics:
Web Server sends the HTML page to the Browser
With a reference to a graphic stored on the NT Server
Web Browser reads graphic reference and requests the
graphic file from the NT Server.
CX Web Server
PC with Browser
HTML File
CX Web Server
PC with Browser
Gra hic File
PC with Browser
NT File Server
NT File Server
-
7/31/2019 7038622 Andover Infinity Webserver Users Guide
29/33
Infinity Web Server 25
HyperLink DesignHyperlinks are those entities that act like launching platforms on your page. Clicking
the item (text or a even a graphic) displays another page or invokes a Plain English
function. Links on an HTML page used with the Infinity Web Server that have a
corresponding Plain English function will call that function.
Specifying a Text LinkThe graphical editors (i.e., Front Page) allow you to specify the destination of the link
as a path entered into a dialog box. A text link that requests Display All Inputs calls
a Plain English function called AllInputs would be stated as:
http://Andover/pe/AllInputs
Note the addition of the /pe/ item to the path. This indicates that the path is to a Plain
English function instead of a straight path to another HTML page.
If you are using a text editor to accomplish the HTML coding, the following would
be required:
Display All Inputs
The keyword specifies a hypertext anchor, the HREF attribute calls out the path
to follow when selected. On your Browser, the item Display All Inputs is written in a
contrasting color to distinguish it from regular static text.
Specifying a Graphic Link
Just as you can use text items to act as hyperlinks, images can also act the same. The
form of the statement is the same with the addition of the IMG code:
< IMG SRC=weblogo.gif >
Everything between the keywords specifies a hypertext anchor. This code makes
the graphic of our logo into a hypertext button. Clicking the logo invokes theAllInputs function.
-
7/31/2019 7038622 Andover Infinity Webserver Users Guide
30/33
26 Andover Controls Corporation
Security Concerns
Security is always a concern when providing access to building control systems. The
Web Server/HTML method of accessing our controllers have some inherent security
problems. The main problem is that HTML is a text based solution. The text is not
encrypted, therefore it is possible to hack into a line and view the text being
transmitted if you know what youre doing.
BrowserIP Without providing a full internal encryption system, we do provide a simple function-
based path to provide a limited amount of protection. This feature is in the form
called BrowserIP.
If you create a string variable called BrowserIP, any Browser that attempts to change
the value of a point will have its network ID (IP Address) captured within the string.
You can use this information with a simple IF...THEN logic statement to limit their
access. Testing the captured ID against a list of known Browsers can result in a
simple security system.
The BrowserIP variable captures the IP address just prior to the functions operation
and holds it until the function is completed. Therefore the Browser that called thefunction has had its IP address captured.
Challenge A method of preventing others from guessing your password should they access the
system using your computer is through something called a challenge. Unlike a
password, the challenge represents a random entry that would be hard to duplicate
without constant monitoring.
In a challenge as you attempt to access the server it presents a number and an entry
box. You are to manipulate that number through the use of a key to gain access. You
might choose to multiply the number by your age or the birthday of someone you
know. This manipulation calculation becomes the key. The server knows your key.
Every time the person logs onto the system it presents a new random number.
This method uses the BrowserIP variable to validate you as a registered user and
the challenge to make sure that someone else isnt using your system.
To create a challenge youll need the following:
Random number generator that places its output into a Plain English stringvariable.
An HTML page that displays the challenge random number (from the stringvariable created above) and includes an area where the user can enter the answer
to the challenge.
A Plain English function that maintains a table of BrowserIPs and keys. Whenthe answer to the challenge is submitted to the function it must look up the user
via the BrowserIP variable and perform the calculation listed in the key. It then
must match its answer with that provided by the user.
-
7/31/2019 7038622 Andover Infinity Webserver Users Guide
31/33
Infinity Web Server 27
Password The standard form of access protection is the use of a password. These can be useful,
however, studies have shown that people tend to use the same password for
everything. Therefore, knowing one gains access to all. We feel that passwords
should be used along with the other methods discussed on this page.
Providing password protection to your functions requires that you create a separate
page with a text input area where a password would be entered. The entered text thenneeds to be checked against a list of known-good passwords.
The first step in this process is to define a screen where a user might enter their name
and password. Something like the following screen:
Although not complex, this would do the trick. It includes both user name and
password fields. The Reset button clears both entries and the Enter button sends the
two fields to the server for validation. The HTML code to create this page is shown
below:
Andover Controls Password Demo' "' If you want background art, use a line similar to aboveAndover Web Password Demo
Please enter your user name and password below:
User Name:
Password:
This example uses the tag which tells the Browser to use formatting literally
from the document. Therefore, if you insert two blanks between lines, the page
Technical Manuals Online! - http://www.tech-man.com
-
7/31/2019 7038622 Andover Infinity Webserver Users Guide
32/33
28 Andover Controls Corporation
displays with two blanks between the lines. The tag makes it easy to lay out a
document such as this one.
Like the Setpoint example, this page uses a Form action to capture data and send it
on to the server. In this case the data is captured into two variables called WebUser
and WebPassWord. The first is set up as a standard text entry field. The second field
uses the Password setting of the Type attribute. In this field all entries are echoedas asterisks so that anyone watching over your shoulder cant read the password as
typed.
In applications where tighter security is required, you should endeavor to rename all
your variables so that a password or user name variable wont be obvious. Some
suggestions might be WebX instead of WebUser and WebY instead of
WebPassWord.
The variable data is sent to a function that maintains a table of users, passwords, and
IP addresses. Upon execution, the function matches the WebUser name captured from
the password page against the names in the table. If this matches properly, it then
matches the WebPassWord variable against the password value stored in the table
corresponding to the name. As a third check, it matches the IP address captured in theBrowserIP variable against that stored in the table as well. When all these items are
correct, another entry in the table, log state, is activated indicating that the user is
logged on. It also marks the time and date of the logon.
A separate function monitors the log state variable and resets it after ten minutes of
inactivity.
The Plain English code to accomplish this password demo can be found on the
Technical Support Department bulletin board.
Advanced Design
Obviously it is beyond the scope of this manual to investigate every method of
designing pages for use with the Web Server. However, we can point you in the
general direction of the information youll need to accomplish some tasks.
To Design: Check Into HTML:
Graphic panels with embedded values Tables & Frames
Alarm Displays with Interaction Tables & Forms
Selecting Points to Display Forms
Setting Points and Setpoints Forms
The reference texts mentioned at the beginning of this manual include great examples
of using all of the above entities. Just remember to include a string variable for every
control you create for forms.
More Examples
The Andover Controls Technical Support Department maintains a bulletin board
where other Web Server examples are stored. Feel free to download and study the
examples to learn more about how to design your own site.
-
7/31/2019 7038622 Andover Infinity Webserver Users Guide
33/33
30-3001-683 Infinity Web Server Users Guide Rev A