PG5 Web Server E
PG5 Web Server E
0 Content
0
0.1 Document History ........................................................................................... 0-4
0.2 Source list ....................................................................................................... 0-4
0.3 Trademarks ..................................................................................................... 0-4
1 Introduction
1.1 Minimum requirements for the Web-Server .................................................... 1-1
1.2 Features .......................................................................................................... 1-1
1.3 Web-Server without hardware add-on components........................................ 1-1
1.4 HTML pages integrated in the Firmware ........................................................ 1-2
5 Example Web-Project
5.1 Structure of pages........................................................................................... 5-1
5.2 PCD data point into the HTML Pages ............................................................. 5-3
5.2.1 Page: input.htm ............................................................................................. 5-3
5.2.2 Page: output.htm ........................................................................................... 5-4
5.3 Importing the Web-Site into the PCD .............................................................. 5-10
5.4 Use of Web-Connect SW ................................................................................ 5-12
6 Troubleshooting
6.1 Web-Connect .................................................................................................. 6-1
6.1.1 When launching Web-Connect ..................................................................... 6-1
6.1.2 No list page and no setup page .................................................................... 6-1
6.2 Variable List (varlist) ........................................................................................ 6-1
6.3 PG5 error ........................................................................................................ 6-2
6.4 Web-Builder .................................................................................................... 6-2
7 Appendix A
7.1 How to create html pages without editor ......................................................... 7-1
7.2 CGI (Common Gateway Interface) of the Web-Server ................................... 7-1
7.2.1 readVal.exe ................................................................................................... 7-1
7.2.2 writeVal.exe ................................................................................................... 7-2
7.2.3 OrderValues.exe ........................................................................................... 7-2
7.2.4 ReadFile.exe ................................................................................................. 7-3
7.3 HTML coding ................................................................................................... 7-4
7.3.1 Writing values in the PCD ............................................................................. 7-4
7.3.2 Enter the Password ....................................................................................... 7-4
7.4 Dynamic data update in the html page ........................................................... 7-5
7.4.1 The concept .................................................................................................. 7-5
7.4.2 Starting page ................................................................................................. 7-6
7.4.3 Update page ................................................................................................. 7-6
7.4.4 Force page .................................................................................................... 7-7
7.4.5 Display page ................................................................................................. 7-8
7.5 General principles of Web-Server technology ................................................ 7-10
7.5.1 General notes concerning Web-Servers ....................................................... 7-10
7.5.2 TCP/IP protocol ............................................................................................. 7-10
7.5.3 IP addressing ................................................................................................ 7-11
7.5.4 Client-Server-Technologie ............................................................................. 7-12
7.5.5 DNS - Domain Name Service ....................................................................... 7-12
7.5.6 Routing and gateways .................................................................................. 7-13
7.6 General principles of HTML ............................................................................ 7-14
8 Appendix B
8.1 Icons ............................................................................................................... 8-1
8.2 Product and documentation concept .............................................................. 8-1
8.3 Technical support ............................................................................................ 8-2
8.4 Workshops, training literature ......................................................................... 8-3
8.5 Reliability and safety of electronic controllers ................................................. 8-3
8.6 About ourselves .............................................................................................. 8-4
Addresses of Saia-Burgess companies .......................................................... 8-5
Parts of this manual (in particular the Appendix) have been copied from TeamOne’s
SELFHTML file.
SELFHTML can be downloaded from Internet under the WWW address:
http://www.teamone.de/selfhtml/.
0.3 Trademarks
1 Introduction
1.1 Minimum requirements for the Web-Server
1
The following minimum requirements are necessary for the Web-Server functionality:
PCD System PCD2.M170, PCD4.M170, PCS1
PCD FW 010 on request
PCD serial port Any one
PG5 Version 1.2 or higher (includes the Web-Server)
PC • IBM PC or compatible
• minimum 133 MHz Pentium with 32MB RAM
• Microsoft Windows 95/98/2000/XP or Windows NT 4.0.
• Winsock 1.1 API compliant networking package
• Telephony Application Programming Interface (TAPI)
• Microsoft Internet Explorer 5.5 or Netscape Navigator 6
• Java Machine V1.4 for MonitoRIO
1.2 Features
Within the Saia® PCD, the integrated Web-Server allows the user to create an own
control and monitoring function quick and efficient with the help of HTML pages.
Standard Microsoft programs (such as Word, Excel, PowerPoint or FrontPage) are
used to create these control and monitoring functions.
Traditional Web-Servers require a large amount of resources, e.g. in memory or
computing capacity. PCs do not have unlimited resources in their processors and
they may be fully utilised for controlling machines or processes. Therefore, control
technology uses only Web-Servers in the form of additional PCs or expensive add-on
components (co-processors).
1.3 Web-Server without hardware add-on components
direct (PCD3.RIO also), modem or also Ethernet-TCP/IP. PCD answers are convert-
ed back into TCP/IP and conveyed to the browser.
Splitting the Web-Server dispenses with the need for additional TCP/IP co-proces-
sors or TCP/IP add-on components for the Saia-Burgess PCDs. It’s then possible to
1
connect and use the PCD Web-Server by a simple serial line or also by a modem. If
necessary, it is also possible to communicate with an Ethernet/TCP-IP card, but it’s
not a must.
Advantages of the Saia® Web-Server:
• Simple, low-cost creation of control and monitoring interfaces with familiar
Microsofttools, such as Word, Excel, PowerPoint, FrontPage, etc.
• No Run time license necessary. In fact no license are necessary to operate or
connect to the Web-Server.
• Operation of the control and monitoring interface with standard browsers,
like Microsoft Internet Explorer or Netscape Communicator.
Browsers have developped a standard user interface (with the familiar “For-
ward”, “Back”, “Home” and “Refresh” buttons) so that untrained staff can imme-
diately operate a control and monitoring interface via a browser.
Navigation by simply clicking on “Left” is intuitive and presents no problems.
• No expensive infrastructure required on PCD or PC, such as Ethernet
networks, Internet providers, Interface modules, etc.
• With an integrated modem, ideal for Tele servicing of machines and processes
over great distances.
• With the 4 built-in variable pages, the status of each process data point can be
watched and, if necessary modified.
• The access to the control and monitoring interfaces is protected with 4, indi-
vidual definable passwords.
1.4 HTML pages integrated in the Firmware
The Web-Server comes from the factory with 4 stored HTML pages that can be dis-
played with any standard browser. To acces these pages no special actions are nec-
cessary. The 4 pages stored in FW are as follows:
start.htm Standard start page:
If no page is referenced on the URL when connecting to a station, the start.
htm page is always the first file to be sent to the Web-Browser. A page with
this name always have to be included in the web project.
Starting from this page, links are then made to other HTML pages.
Rules governing the 4 HTML pages already contained in the Web-Server from fac-
tory:
• If HTML pages are stored in the user program and they have the same name
as the ones mentioned (start.htm, pwdform.htm, etc…), when the Web-Browser
1
invokes these pages it will be loaded with the ones stored in the user program.
• If the HTML pages listed above are invoked in the Web-Browser but do not
exist in the user program, the default standard pages will be loaded into the
Web-Browser.
Page: start.htm
Page: pwdform.htm
Page: status.htm
Page: varlist.htm
PC PCD HTML1
HTML1
HTML1
*.gif
HTML1
HTML1
HTML1
*.htm
2
Ethernet-TCP/IP
HTML1
HTML1 HTML1
HTML1
HTML1
*.jpg HTML1
*.bmp
Web-Browser
User program
(with HTML pages,
images, Java-Applets)
Web-Connect
HTML server
Local PC network
S-Bus Driver
LAN
Web-Server
Serial direct
Modem
Data server
Ethernet-TCP/IP
Web-Server
PCD media:
Local flags, counters, timers,
directory inputs/outputs, DB,
registers etc.
2.1 HTML-Server
The HTML-Server is the heart of the entire Web-Server. It sends HTML pages re-
quested by the Web-Browser (and any necessary images/files) across the S-BUS
Driver to the PC.
HTML pages, images or files are stored in the user program memory of the PCD, it
belongs to the user program and so it’s downloaded from the PG5.
In the HTML server, HTML pages are also checked for their process data point iden-
tification key (PDP key). As soon as the HTML-Server finds a PDP key in a HTML
page, it sends that PDP key to the Data-Server.
The HTML-Server checks only files with suffix *.HTML or *.HTM for a possible PDP
key to be transferred to the data server.
This means that it is compulsory for all files containing a PDP key to have the suffix
*.HTML or *.HTM.
2.2 Data-Server
The Data-Server processes PDP keys received from the HTML-Server and transfers
them in the requested PCD data directly from the PCD’s memory to the HTML-Serv-
er.
The Data-Server can access DB, flags, register, inputs, outputs, timers, counter, texts
and PCD status.
2.3 HTML pages, images, graphics etc
One of the Web-Server’s essential advantages is the creation of a control and moni-
toring interface using Microsoft standard tools. Any software tool that generates
HTML can be used to create HTML pages. For example, individual pages of a control
and monitoring project can conveniently be edited as a text file using Word.
Any tables, graphics, diagrams, photographs, etc. that can be displayed by the Web-
Browser may be inserted. The full functionality of the relevant Microsoft application
can be used for this. No prior knowledge is required to link any number of pages into
complex menu structures. 2
To integrate current PCD data into the control and monitoring function, simple text
commands in the form of a PDP key are inserted in the text file. In this way PCD me-
dia can be displayed during run-time in various formats.
All HTML pages, images or files belonging to a control and monitoring application are
stored in the PCD as data blocks (DBs) of the user program. The user is able to store
any file in any preferred format and with whatever suffix (*.htm, *.html, *.bmp, *.gif,
*.txt, *.zip or any other) in the PCD, as long as the file does not exceed 100 kByte in
size.
The HTML-Server only checks files with suffix *.HTML or *.HTM for the PDP
key.
If the control and monitoring application needs to display large HTML pages, images
i
or files that doesn’t fit in the PCD memory then there is the possibility to store this
HTML pages, images or files on the hard disk of the PC, where the Web-Connect
software is running. The HTML pages, images or files have to be stored in the Web-
Connect directory.
2.4 Local directory
The local directory, is a directory on the PC, where the Web-Connect software is run-
ning. By default its name and location is “C:\WebPages”, this location and name can
be changed in the Web-Connect option and during the Software installation.
This directory can contain files, which from now on will be called “the local files”.
It is possible to save files in this directory which we don’t want to save in the PCD.
This option is very useful when the files we want to save are quite huge. If we would
save these files in the PCD it could take a long time to load them, not so if they are
saved in the local directory. The mechanism will be the following, the file is requested
to the PCD and if the file doesn’t exist there, the Web-Connect software will check
then the local directory to find and return it. This operation is totally transparent for the
user.
Here you also save the local web-site, like the default.html page and all files going
with it, this will be treated in the chapter “ Web-Connect”.
2.5 Web-Builder
PCD classic controllers are programmed with PG5 programming software. Control
and monitoring files are stored in the PCD’s user program memory.
All files belonging to the control and monitoring function (HTML pages, images, etc.),
are stored in the user program of PG5. To do so, the web files must be converted
into source files to be integrated in the PG5 project. Conversion takes place with the
easy-to-use add-on software tool “Web-Builder“. This add-on tool is called automati-
cally, when a file of the type Web-Server Project (.wsp) is clicked in the PG5 project.
This tool is used to select HTML pages and images which have to be integrated in the
Web-Server, and also to define some Web-Server settings. Then it is only necessary
to generate a source file.
Back in the PG5 project, the Web-Server content and the settings will be compiled in
the same time as the PG5 software and also downloaded in the same time into the
PCD.
The Web-Builder can run in two modes:
Demo mode: 2
When no license has been found in the PG5 for this tools.
• Only 2 HTML pages can be placed into the project (Web-Server)
• It is not possible to select the option VarList Sites.
Full version:
• Τhe software needs to be registered in PG5 Licenses system
• No limitation of the number of HTML pages, images, etc., that can be placed
into the project.
2.6 Web-Connect
To display in the Web-Browser the control and monitoring functions stored in the con-
troller, it is necessary to start up the Web-Connect, PC software.
This software receives the request coming from the clients (Browser) and forwards
them to the right PCD station using the adequate way and vice-versa.
This software is doing the link between the PC-Browser and the communication to
the PCDs.
The Web-Connect program enables the user to :
• Configure the station that will be accessed from this PC.
• Configure the channels that will be used to access the Station.
• Forward request from the PC to the PCDs
• Forward request from other PC on the same LAN to the PCDs.
As you can see there are few different ways to access to a PCD, we can make two
categories of connection from that, direct access to the PCD and indirect access to
the PCD.
2.6.1 Connection possibilities
Direct mode:
The Web-Browser which is making the request and the Web-Connect software are
running both on the same PC. But then depending which is the PCD concerned by
the request, it can take different connection types, here they are:
Direct connection to the serial port from the PC.
The PCD is directly connected to the PC with a serial line or by a gateway.
Direct world-wide connection via modem
The PCD is equipped with a modem and communicates with the PC via that
modem.
Direct by an Ethernet-TCP/IP module.
The PCD is equipped with a module Ethernet-TCP/IP and the PC is on
a LAN.
Indirect mode:
Indirect, via LAN network
Other PCs, where no Web-Connect software is running, can also make re-
quests to the PCD with the Web-Server. To do so they have to do an indirect
access. In fact the request will go first to the PC where Web-Connect software
is running and then, this PC will send the request to the PCD. The answer will
be sent back to the request originator on the same way.
This both ways of working are possible, because the Web-Connect software, doesn’t
make a difference if the request is coming from the local Web-Browser or if it is com-
ing from a Web-Browser running on an other PC of the LAN.
2
Standard Web-Browser
Ethernet-TCP/IP
Ethernet-TCP/IP
Frontend-PC
3
Station list
Web-
Station 1
Browser
S Station 2
C D ...
O L Web- Station n
M L
M Connect Local
2
Modem: directory
Telecom Analog
ISDN S-Bus
1
GSM
PCD
with Web-
Server
2.7 Web-Browser
3.1 Web-Builder
3
Web-Builder is installed with a setup program:
Make sure, that you have a license for the Web-Builder. In Windows, select the
“Start“, “Execute“ menu and select the path used to save the Web-Builder. The
“Setup.exe“ file must be selected and started up in this path. Web-Builder will then be
installed on the PC.
At the end of the installation, the software will seek on your computer the PG5, the re-
sult will be dispalyed in a window like the one shown below. If the path found for PG5
is not correct, you can change it.
If you agree with the path, confirm with “OK”. This will generate a file and place it
into the PG5 directory, next time you start the PG5 software, the add-on tools “Web-
Builder” will auto-register.
Start the PG5 software, a window like this one will appear and confirm that the add-
on is installed.
If a problem occured during registering the add-on tool, you can now register it manu-
ally:
1) Go into the menu Tools of the PG5 and select the “Add-on tools” command.
3.2 Web-Connect
At the end of the extraction, a window will ask you, if you want to install the software
immediately, answer with “Yes”.
During installation, the install shield checks if a PG5 software is already installed.
Then if you confirm with “Yes”, it will use the same SCOMM component from it, and
you will be able to run in the same time the PG5 and the Web-Connect. If you answer
“No”, it will install the SCOMM components in the application directory, but you will
not be able to use the PG5 and the Web-Connect at the same time!
3
If you install the PG5 software after the Web-Connect or if you change the path of the
PG5, because of a new version, you will need to re-install the Web-Connect software.
When this choice is done, the software will start its installation.
A window will give you the possibility to choose the name and path of the local direc-
tory, the directory which will contain the default java applet, your local page (page
stored only on the PC) and configuration files. You can change this directory at any
time, during the execution of the Web-Connect. But this is already possible to set dur-
ing the installation.
The install shield will now, copy all necessary files to your computer, into the selected
folder.
It will also create a start icon, the location of this icon is selected by this window. We
advice to leave the default one.
You should now have in your Start→Programs, the icon to run the Web-Connect.
If no Web-Browser has yet been installed on the PC, this must be done in accordance
with the installation information for each individual Web-Browser.
Microsoft Virtual Machine must be installed.
Installation of Microsoft Virtual Machine takes place during the installation of the Web-
Browser.
MS Internet Explorer or Netscape Navigator must be installed (version see 1.2 Mini- 3
mum requirements).
Web pages from which the Web-Browsers can be downloaded.
MS Internet Explorer in German: http://www.eu.microsoft.com/germany/
MS Internet Explorer in English: http://www.microsoft.com/
Netscape Navigator in German: http://home.de.netscape.com/de/
Netscape Navigator in English: http://home.netscape.com/
3.3.1 The PC’s proxy server
If the PC is connected to Internet via a proxy server, the proxy server must be by-
passed for local addresses. Taking the Internet Explorer as an example, this can be
done with the following option:
Tools→Internet Options..., select option Connections and select button LAN Set-
tings by selecting option Bypass proxy server for local addresses.
3.3.2 Modem connection
If the PC communicates with Internet via a modem connection, the Never dial a
connection option must be selected. This option appears in Internet Explorer under
Tools→Internet Options..., tab Connections.
It is necessary to select this mode, to avoid that every time the PC tries to connect to
internet just to get access to the local software Web-Connect.
In order to refresh HTML pages periodically, the Web-Browser’s cache memory must
be switched off.
This is possible with Internet Explorer under Tools→Internet Options..., General,
Settings..., selecting the option “Check for newer versions of stored pages“ Every
visit to the page.
3
i
To optimise the execution of Java Applets under Internet Explorer, the Java Console
option must be disabled.
To check Java Console settings, go into Internet Explorer and select Tools, Internet
Options, Advanced, Microsoft VM (Virtual Machine).
This involves ensuring that the Java Console Enabled option is not selected.
3.4.1 TCP/IP
The PC, on which the Web-Browser is supposed to display the PCD’s control and
monitoring functions must have TCP/IP.
It is possible to test if the TCP/IP protocol is installed on the PC by checking the ‘Pro-
tocol’ option under Start, Settings, Control Panel, Network Connections, e.g.
Local Area Connection. 3
The TCP/IP protocol is installed on the PC if a TCP/IP protocol is defined under the
tab General, Properties.
You will see later, that access to the PCD Web-Server, is made with a Web-Browser.
In this Web-Browser a valid assignment to the PC, where the Web-Connect SW is
running has to be defined. This assignment is done through the URL which has to
include the IP address or the PC name.
Now, if you don’t want to use the PC name and prefer to use the IP address, this has
to be a fixed one.You first need to have, at your disposition, a unique and valid IP ad- 3
dress.
Having its own, unique address means the option Obtain an IP address from a
DHCP server under the PC’s Network TCP/IP settings must not be selected. This
option appears in WIN NT under Start, Settings, Control Panel, Network: button
Protocols. The IP address of the PC can also be defined under the same menu item.
i
Every PC has the same default IP address as a factory setting.
This is: 127.0.0.1
Therefore, if no IP address has been specified, this address can be used in the Web-
Browser to access to the PLC’s HTML pages.
For WIN 2000
3.4.3 PC name
As said before, it is also possible to work with the PC name instead of the IP address.
So in the URL you can enter localhost and you will find your PC name.
In our case the name is ch01w644xp.
To check if a TCP/IP protocol has been installed on the PC and if the IP address is
correct, the following test can be carried out:
Start the DOS console with Start,
Programs, Accessories, Command
Prompt.
It is also possible to check the PC’s name you are using with the ping function, look
for localhost:
ping localhost
The function “ipconfig“ is another possibility to find out what is configured on your
PC.
It is necessary to use the Web-Builder software to select the content of the Web-
Server and also the settings of it. As a Web-Server belongs to a PCD project, they
are also integrated in the PG5 project. So to integrate the Web-Server into your PCD,
you need to add a Web-Server project file into your PG5 project.
Select the PCD concerned and in
the “File“ menu select the function 4
“New…“, this window will appear.
The files which are listed in the left window of the Web-Builder are from a specific
folder. It is not possible in the Web-Builder to select another directory. In fact the win-
dow will display all the files contained in the folder called “Html“, this “Html“ subdirec-
tory has to be created by yourself in the CPU folder of your PG5 project.
In this folder, you need to put all the files you want to use in your Web-Server.
Let see an example :
You have a project called “WEB_SERVER_TEST“, in the project you have two CPUs.
“TEST-MODEM“ and “WEB_SERVER_TESTS“.
The CPU WEB_SERVER_TEST will run with the Web-Server functionality, so in this
4
CPU you will create the html folder, as shown on the following picture. Then you will
copy in it all the html, .jpg, .bmp and .gif files you want to use. This has to be done
with a file managing tool like “Win Commander”, “Win Explorer” etc. and not with the
PG5.
If the folder is not created before you run the Web-Builder software, this one will
refuse to run and will show you an error message, before you exit.
2 Progress Bar
While the files get treated and the source file in the
PG5 project is generated, the progress bar will show
the status of the generation.
Passwords
The passwords can be used to limit the access to the Web-Server or to some func-
tionality. In fact, 4 levels of access have been defined. It’s possible to protect each
level by a password.
Here are the levels and their possibilities.
• Password level 1
This level allows to access html pages, without the possibility to read the
PCD data point (media as Register, Flag, etc…..)
• Password level 2
This level allows to access html pages and the possibility to read the PCD
4
data point (media as Register, Flag, etc…..)
• Password level 3
This level allows to access html pages and the possibility to read and write
the PCD data point (media as Register, Flag, etc…..)
• Password level 4
This level gives access to all the possibilities of the level 3, but also the Vari-
able lists.
• Password Time out
Defines the time after which the password will have to be re-entered, if no activ-
ity has been detected on the Web-Server.
If a password is defined for a certain level, it will protect this level until the next level
which has a defined password, e.g.:
A password is defined in level 2 and 4. Then the password protects the level 2 and 3.
If then the user enters password level 2, the Web-Server gives access up to level 3.
Variables lists
Enable or disable the functionality to save the list of media selected in the varlist in
the run time. If this box is not checked it will not be possible at any time to save the
media list.
Checking this box will create dynamically Data Block in the PLC software, this
is done during the Build in PG5. Only Data block over 4000 are supported by
the Web-Server. So make sure that in the PG5 the area of dynamic allocation is
over 4000 !
In the picture next page, in the PG5 software:
• Select the CPU of your project concerned by the Web-Server.
• In the menu “CPU“, select the function “Software Settings…“, this window
will appear.
• RAM data blocks have to be set over 4000 !
Files and images are converted and saved using the Web-Builder.
The following procedure can be used for this purpose:
After an HTML file or any file, which will be contained in the PCD have been changed,
it is necessary to use again the Web-Builder to create a new source file for the PG5.
The following procedure can be used for this purpose:
4.2 Web-Connect
No window will be displayed on the screen when starting the software, but a tray Icon
will be displayed in the tray bar (bottom right corner). It means that now the Web- 4
Connect is running, ready to receive requests and connected to a PCD.
Web-Connect Icon
Selecting the tray icon with the right button of the mouse, it is possible to select a
menu “Options“ of the Web-Connect software. In the option menu you will be able to
define few running parameters of the Web-Connect software, as the port number and
local path.
Local directory path
The local page is where the Web-Connect software will look for a file, if this one
hasn’t been found in the PCD or also where the default.htm page of the user will be
stored.
Port Number
It defines the port number where the Web-Connect software is receiving (or listening)
the request coming from the Web-Browser, by default it is set to 80, which is usually
the standard value. But any value can be set.
4.2.3 Administration
Change Password
The button “Settings” will bring you to the password page, where you can define a
new password, change the password or cancel the password.
A password can be activated, this with the aim to protect the access to the setup
page. This is useful, if the PC running the Web-Connect is connected to a LAN,
because anybody on the LAN could access the setup page and change station para-
meters. Definition of a password will protect station settings.
5 Direct connection:
When this mode is chosen, you
need to enter:
Port of the PC used.
Baud Rate of communication
Select Data Bits, Parity, Stop Bits
and Flow control which should
be tried in this mode when
connecting to the PCD
Confirm at the end with “Finish”
The Web-Server includes 4 variable pages that can be used to access and write to
any PLC data point during run-time. Variable pages are suitable for service and de-
bug purposes and correspond to the Display and Refresh value of the PG5 debugger.
Each variable page can have up to 16 free definable process data points. For each
process data point a free text can also be defined. Passwords protect the functionality
of reading and writing process data points and of saving variable pages.
If this box is checked, Data Blocks will be created during the build of the PG5 project.
But be aware that only Data Blocks over 4000 are suitable for the Web-Server, so
make sure that in the PG5 settings, the DB RAM area is over 4000.
In PG5 Menu CPU, Software Settings…
Java Applet
The Variable list is using an Java Applet, so before using it, this need to be available.
The file name is “varlist.jar“. This file will be copied in the local directory (the default
path is “C:\WebPages”), when installing the Web-Connect software.
• If Variable list pages are to be stored in the PLC’s user memory, a memory range
must first be reserved. This takes place in Web-Builder, Settings window, and the
check box Variables lists.
• DB RAM area in the PG5 should be over 4000.
• Variable list applet “varlist.jar” should be in the local directory of the PC
4
Free Text field Free text about the process data point
Variable Name field Process data point with PDP key (without % character)
Add to List button Free text and PDP key are added to the list
Delete button Selected list entry is deleted
Save Configuration Current variable page entries are saved to the PLC (only possible
button for password level 4 and if the appropriate space has been reserved
in PLC memory).
Page1…Page 4 Switch to the other variable pages
Back Back to start page.
Process data points in variable pages can be modified by double-clicking on the spe-
cific process data point.
If you wish to access PLC process data points from your HTML page, these process
data points must be defined with a special process data point key (PDP key) in the
HTML page. PDP keys can be defined in HTML pages or in control functions.
A PDP key is as described in the above chapter, but the tag is surrounded now by the
character “%”. Two characters “%%“ at the beginning of the TAG and one “%%“ at the
end.
• In HTML pages, PDP keys must be delimited by “%”.
In control functions, “%“ delimiters are not needed.
• If the PDP key has been incorrectly defined, a read operation will result in the
display of an error message rather than the data.
For a write operation, the value will not be written to the PLC.
• The PDP key is only evaluated for pages with the suffix *.html or *.htm.
If a PDP key is stored in any other type of file, they are not considered and so
no value will be displayed.
• The PDP key is not case sensitive for the media information, but the PDP has
to be in capital letters.
Examples:
• %%PDP,,I16,B% is the
same as %%PDP,,I16,Y% addressing one input “I16” and format is binary.
• %%PDP,,R300,F% addressing the register 300, format
is in floating point
• %%PDP,,DB10.20,d% addressing DB10, element 20, format is decimal
It is also possible in the tags to use directly the PG5 symbols. But this only in the
HTML pages, it’s not possible for the Variable list functions.
In fact this is possible, thanks to the Web-Builder and the PG5 compiler, which will
replace at the compilation time, the symbols by the absolute address of the media.
The only condition is that the symbols are declared as Global in the PG5.
Then, in the tags, the media area identification and the address can be replaced by
the symbol. To identify that it is a symbol, it has to be preceded by the character “&“.
4
Here are some examples.
Let’s have the following symbols:
Register 1000 R1000 Motor_1_temperature
Input 0 I0 Motor_1_alarm
Timer 50 T50 Motor_1_time_on
So if we would use it in the html page, the tag will be as follows:
Media Normal tag Tag with symbol
Register 1000 %%PDP,,R1000,D% %%PDP,,&Motor_1_temperature,D%
Input 0 %%PDP,,I0,Y% %%PDP,,&Motor_1_alarm,Y%
Timer 50 %%PDP,,T50,T% %%PDP,,&Motor_1_time_on,T%
It is also possible to specify an array of inputs, lets say we like to read the input 0 to
input 7.
Input 0 to 7 %%PDP,,I0/8,Y% %%PDP,,&Motor_1_alarm/8,Y%
5 Example Web-Project
5.1 Structure of pages
In the following example four HTML pages are to be defined and downloaded to the
PLC. The structure is as follows:
Start.htm Start.htm
(default page (user defined
from FW) pwdform.htm page)
(default page
from FW) 5
PCD_process.htm V_help.htm
varlist.htm (user def.
(user defined
(default page page)
page)
from FW)
status.htm
(default page
from FW) input.htm output.htm
(user defined (user def.
page) page)
We will not show here, how to create all the HTML pages, but only the interesting
ones. We mean by interesting, the ones which have PCD media in it.
So we will describe in detail how to do the input.html and the output.html pages. All
the pages of this project can be found in the PG5 project “WEB_doc_project“.
The four pages defined in the user program appear as following in the Web-Browser:
Page: start.htm
Start page,
with a picture
and links to the
pages:
varlist.htm,
pcd_
process.htm
and
V_help.htm
Page:
pcd_process.
htm is a visual
selection page,
which allows
access to the
pages:
input.htm
output.htm
status.htm
Page:
input.html
Displays the
actual status
of the inputs 0
to 7
Page:
output.htm
Display and
modification of
outputs
112 to 119
We will show here how to introduce in your html page a dynamic area, where value of
the PCD media can be displayed. We will show it with the FrontPage express editor,
but of course you can use any HTML editor.
Start up an HTML editor, for example FrontPage Express.
5.2.1 Page: input.htm
In this page we demonstrate how easy it is to put some fields in a page to show the
value of a media, at the time the HTML page is loaded from the PCD.
The example shows inputs, but any area can be displayed like this, see the chapter
“Variable pages“, to check the right syntax.
1 Open a new,
empty page.
Insert text and
position text.
1 Open a new,
empty page.
Insert text and
position text.
2 Insert input/output
fields:
Position cursor
over the text
decimal.
Insert field with:
Insert, FormField,
One-Line Text Box
4 Double-click on the
field.
Enter the PDP key
6 Double-click on
button.
5
7 Insert text which
will appear on the
button.
9 Position cursor to
right of the button
and click the
right-hand mouse
button.
Select the Form
Properties option
11 Method:
GET
Select
Close window
The same
procedure as set 5
out in steps 2 to 11
should now follow
for the binary value
entry field.
13 Insert input/output
fields:
Position cursor
over the text
decimal.
Insert field with:
Insert, FormField,
One-Line Text Box
14 Position field
15 Double-click on the
field.
Enter the PDP key.
Note correct
syntax:
PDP,,O112/8,b
5
16 Insert Submit
Button.
Position cursor
near the entry field
in the same frame
(Form Field).
17 Double-click on
button
18 Insert text to
appear on button
19
20 Position cursor
to right of the
button and click
right-hand mouse
button.
Select the Form
Properties option.
22 Method:
Select GET
Close window
Then open it by
double-click on this
new file.
7 When this is
done, confirm the
generation
8 Make a “Rebuild
All” of your PG5
project and then
download the PG5
software into the
PCD.
1 Start Web-Connect
SW.
3 Enter own IP
address or own PC
name preceded by
http:// and followed
by the word “setup“
e.g.
http://127.0.0.1/
setup
http://ch01w242/
setup
See chapter
4.2.4 Create
and configure a
station
4 Then choose to
add a new station Add New
5 The
communication
parameters were
shown. Choose a
name and the type
of communication.
Then Press
“Finish“
6 Troubleshooting
6.1 Web-Connect
Q: Why can’t I access to the Web-Connect interface, like the stations list or the setup
page?
A:
1) Check that the Web-Con
nect software is running.
The bottom right corner
of the desk top should
show this icon:
2) Make sure you specified
correctly the URL of the Web-Connect interface, chapter : 4.2.4 Create and
configure a station.
3) If the URL is specified correctly, make sure that the IP address is correct and
that the IP is installed correctly. see chapter : 3.4 TCP/IP.
6.2 Variable List (varlist)
A1: A symbol that you use inside a TAG of the HTML page specified, is not declared
in the PG5 as a global symbol. Be also careful in this case, in fact PG5 symbols are
case sensitive.
2) Error 165: measure_perf.wsc: Line 1744: The symbol Ligth_on_off_web is not
a TEXT type as you are using it in the file TAG.htm
A2: There is a syntax error inside the TAG you wrote in the HTML page specified in
the error message. Be careful of the type format compare to the media type, like a 6
flag can’t be displayed in string format !
6.4 Web-Builder
Q: When I
create a “.wsp“
file in my PG5
project and try
to open it, I get
this window er-
ror message:
A: Before you open a .wsp file, make sure you created the folder html under the PG5
project, see chapter : 4.1.4 Using Web-Builder
7 Appendix A
7.1 How to create html pages without editor
This description is intended for people who wish to write html pages without editor,
have more dynamic html pages with automatic update of values or manipulating the
media PCD with Java applets.
Of course a good knowledge of HTML, JavaScript and Java programming is expect-
ed to understand the following chapters.
All examples have been made and tested with the Browser IE 6.0
7.2 CGI (Common Gateway Interface) of the Web-Server
In the Web-Server (inside the PCD), there are already 4 CGIs (executable) imple-
mented:
● readVal.exe 7
● writeVal.exe
● OrderValues.exe
● ReadFile.exe
All these CGIs are intended to manipulate values of the PCD through the tags.
1) All these CGIs, have the restraints of the Web-Server access level, in fact if the
Web-Server is in access level 2, it is only possible to read the values and not to write
them, etc…
2) All this functions are based on the GET method of the HTTP protocol.
7.2.1 readVal.exe
This will return the actual access level of the Web-Server (between 0 to 4).
7.2.2 writeVal.exe
OrderValues is used when access to more than one PCD media is needed in the
same time. In fact the functionality allows to define a list of media to be read, but this
will just define the list of media and not read it. To read it, you have to use the “Read-
File.exe”, see next chapter.
The syntax is as follows:
http://pc_name/station_name/cgi-bin/OrderValues.exe?listname+dummy+ssss+TAG1
+TAG2+ TAG3+TAG4+TAG5+TAG6+TAG7
pc_name: the PC where the Web-Connect is running.
Station_name: The name assigned to a PCD, corresponding to his com
munication settings.
/cgi-bin/OrderValues.exe: the CGI
?: separation between the CGI and the parameters.
Listname: list (or file) name of the media, that will be ordered (listed,
referenced). This name is then used to read the media
or to rewrite the list. It is possible to have in the same
time more than one list in the Web-Server, this will de
pend on the amount of memory allocated to the Web-
Read file is used to read the media values that have been predefined in the list with
the “ordervalue” function. The function will return the list of the tags with their value.
The syntax is as follows :
http://pc_name/station_name/cgi-bin/ReadFile.exe?listname
pc_name: the PC where the Web-Connect is running.
Station_name: The name assigned to a PCD, corresponding to his communi
cation settings.
/cgi-bin/ReadFile.exe: the CGI
?: separation between the CGI and the parameters.
Listname: list (or file) name of the media list that have been ordered
before with „ordervalue”.
HTTP/1.0 200 OK.Content-Typecontent/unknown Content-Length:
343[0x0A][0x0A]TAG1=20689[0x0A]TAG2=61377[0x0A]TAG3=543[0x0A]
TAG4=543[0x0A] TAG5=543[0x0A]
It will return the tags defined in the list and their values.
[0x0A]: it is a hexadecimal value that can’t be represented as an ASCII character.
Example
In this example we read the list created in the OrderValues chapter example.
So the list name is “room2”.
The request:
http://pc_name/station_name/cgi-bin/ReadFile.exe?room2
The answer:
HTTP/1.0 200 OK[0x0A]Content-Type: content/
unknown[0x0A]Content-Length: 47[0x0A][0x0A]PDP,,R200,d=3450[0x0
A]PDP,,F50,b=1[0x0A] PDP,,R250,d=1768[0x0A]
7.3 HTML coding
In this chapter, we do not explain the HTML coding, but just how to work with the
Web-Server directly from the HTML code.
7.3.1 Writing values in the PCD
7
In the Web-Server documentation we have already described how to write a value in
the PCD, the example is made with the FrontPage Express editor. Here we show how
to do it directly in the HTML code.
1) first of all, create a form and use the method „GET”. In this form you will need a
text input field to enter the value to write and a button to submit the form.
2) The text input field is defined by the keyword „input” and the type „text”. Very
important is the name of it, which is the tag referring to the PCD media that has
to be written. In this example we refer to the Register 1000 and the format is
binary. Note that the tag is specified without the % at the beginning and at the
end. Because we don’t want that the tag will be replaced with the value.
3) An input filed type „submit” is a button with the function to submit the form to the
server.
This will send one value to the Server to write (force) a media, it is of course, also
possible to write more than one media in the same time, for it, just add as much as
desired input filed as described in step 2.
7.3.2 Enter the Password
As you know, the access to the PCD Web-Server can be protected with passwords. To enter
the password, a special page is available in the PCD, this page is named „pwdform.htm”. But
for some reasons you like to create you own html page, with a different presentation. Here is
the code necessary for it.
1) A form needs to be created, but make sure to use this time the method „POST”.
2) Then an input filed, the TYPE in our case is „PASSWORD”, like this the entered
data will be hidden”, but you can also use a TYPE „text” if you don’t want to
hide the data entered. Important is that the name is „pwd”.
3) Then a button is needed, so input field of the type „submit” is necessary.
4) The Reset function is optional, it is just to reset the form if a mistake has been
made while typing the password.
As described in the documentation, you saw that it is possible to display the value of
a PCD media into a html page, this by writing a tag in it. Then this tag is replaced by
the media value when the Web-Server PCD is sending the file to the PC (and then
into the Browser).
So the value in the PCD is changing, the only way to have an updated value is to
upload the page again. This can work fine in some applications, but in some cases
where you have pictures in the pages or large pages html. Loading the html page
every time to have the value updated can have undesired side effect, which are: The
page will disappear on the browser till the new page is there, uploading the whole 7
page and eventually with pictures can take a long time.
So, it is possible to avoid those problems with a little trick. It’s described below how to
do it.
Also the same problem can happen if you have a form in your html page to force a
value inside the PCD, when you are submitting the form, it will reload the html page.
This trick to update automatically the values and to show them, is not an official fea-
ture of the PCD Web-Server, is it just presented here as an example of the html and
internet possibilities. This example is working and based on the Internet Explorer Ver-
sion 6. For future version of the Internet Explorer or other browsers, the example may
need some adaptation. Saia-Burgess Controls is not responsible for any problem that
this example can cause or generate on your application.
7.4.1 The concept
update
html page 3
4
1 Starting 2 display
html page html page
force
html page
To make this system working with all possibilities (update values and force values),
we need 4 html pages. But finally only one page will be displayed.
The page Starting is called (1) by the user. This page will not do more than call (2)
the other three pages and this by creating frames. One frame for each page, and the
only visible frame will be the frame which contains the page display .
Now, the page update is the page that contains all the tags and which is regularly
reloaded (3) from the PCD. This is done by an automated function in this page and
a timeout. When the page is loaded, it is calling a function (4) in the display page to
signal that new values are arrived, on the display page the function will then rewrite
the value in each field that needs to be updated.
The page force is doing nothing till now than waiting. When the user like to force a
value of the PCD, he will write a value in a field on the display page and /or click a
button. This will call a function , that will take the value to be written, and transfer it
(5)to the force page. Values are then introduced in a form like in the force page and
submitted. This has the advantage, that only the force page will be reloaded after a
submit of the force, the display page is not affected.
7
Now we saw the concept, let’s see an example. This example is also delivered with
the documentation. Project name is “Dynamic_update”.
7.4.2 Starting page
As described before it is just making the frame and loading the 3 others pages.
Now, for easier work with the different documents (from one to the other one), we
give a name to each frame.
This page is the page collecting the PCD media and updating them automatically.
The PCD media are taken from the PCD always trough a simple tag and directly
placed in (1) in Java script Object (variable). It will be then easy to communicate this
value to different pages or functions.
The value and object described just before, are of course available only when this
page has been totally loaded. So we use the onload event (2). Then it means that
when the page is totally loaded function st () is executed.
4
5
2
7
This function will check if the display page exists (3) and if this condition is true, then
it will call the function updated() (4) on the display page. We will see this function in
the display page chapter. When the function has returned, it will start a timer (5), for
the reload of the page itself. When the timer has finished, the page upload is reload-
ed from the PCD and all is restarting as described from (1).
Define variable
The variable or PCD media that have to be accessed inside the PCD , has to be de-
fined in this page on part (1).
Refresh time
If the refresh time has to be redefined, then this one has to be done in this update
page only. This is done on the setTimeout function call, in part (5). In this example it is
set to 3000 milliseconds = 3 seconds.
Do not put this value too small, problems can occur in the synchronization of the html
pages.
This page is just used to send values down to the PCD. This just to avoid that the
Display page is reloaded after a submit of a form.
So mainly this page contains a form (1), which we gave the name „F1” to work easier
with it. In this form we have an input field, the name of the input field (2) corresponds
to the tag (media of PCD) that we want to write the value too. As this input field will
not be displayed (because the force page is not visible), we can declare this input
field as „hidden” type.
The display page is calling the send () function and one parameter is the value to be
sent to the media. So the function send () does first affect (3) the receive value to the
input field belonging to this page. Then, the form in this page has to be submitted (4)
and send to the PCD.
Finally to have an update of new values displayed on the screen, we push the reload
(5) of the update page to be made (this command is totally optional).
Then the function returns and the page is reloaded automatically from the Web-Serv-
er and then he is ready for the next force of value.
4
5
2
7
The display page is the most important one, as it is the only one which will be dis-
played. In this page we can find some java script functions on the top of the page and
the html body, where finally the content of the display will be made.
In our example the browser will show this:
(1) An input field and 2 buttons, that are used to increase or decrease the value in
side the input field. But this field will be increased only when the value changed
inside the PCD. So with that it is possible to be sure that the value has been
increased or decreased.
(2) A simple text field that just displays a value and which is also steadily updated.
Now, here are 2 functions in javascipt:
(3) Change() function is called when a button is pressed and the value has to be
changed inside the PCD. The parameter is the field that has the value and the
other parameter is the value to add or subtract to it. Then the function is just
making the calculation and calling the function in the force page to force the
value inside the PCD.
(4) This function is the one called from the update page, when the new value ar
rived from the PCD. Here we just make a test with the „SOE”, to see if the user
is actually editing the input field, then in this case we don’t want to overwrite the
value that is being entered. After that we take the value from the page “update”
and we put it inside the input field called here „T1”. And the second value in
„T2”.
4
7
Now in the body of the html page, we need to create the text field and the button.
This is done as shown in the example below.
The input field is created (5) with the keyword “input” and type “text”, then the id is
given by id=”T1”. In this example we also detect when the user put the cursor in the
field and when the cursor is leaving the filed, this is optional and this detection is done
by OnFocus and onBlur. The buttons are 2, one to increment (6) and the other one to
decrement (7). The keyword is also input, but type is “button”, respectively they have
ID “B1” and “B2”. Onclick is the event generated when the button is clicked. In this
case we call the function described before in this document and we give the text field
from which the value has to be modified and also give the value to add or subtract
from it.
TCP/IP is the lowest common denominator for overall data communication on Inter-
net. From a historical point of view, it was only with this protocol that a limited network
became a network of networks. Regardless of whether you call WWW pages, send
e-mail, download files with FTP or work on a remote computer with Telnet: data is
always addressed and transported in the same way. TCP stands for Transmission
Control Protocol; IP stands for Internet Protocol.
When you send an e-mail or call a HTML file on WWW, data is broken up into little
packages during transmission through the network. Each package contains informa-
tion about the address to which it should be sent and the place of that package in the
sequence of transmission.
The IP looks after addressing. An addressing plan exists for this purpose: the so-
called IP addresses.
To ensure that packages of data actually reach their destination, and in the correct
order, is the job of the TCP. The TCP uses sequential numbers for individual pack-
ages in a transmission. The transmission of data is not considered complete until all
packages in a transmission have been received in full at their destination.
Every computer participating in the Internet is logged onto the network with an IP
address. Computers that are connected to Internet are called Hosts. Therefore,
when you use your PC to surf the WWW or collect new e-mails, you are logged onto
Internet with an IP address. Your service provider, through whose host computer you
dial up, can arrange fixed IP addresses for you. Major service providers, e.g. online
services like CompuServe or AOL, also assign impersonal, dynamic IP addresses for
every Internet dial-up. For a computer to participate on Internet, it must have software
that supports the TCP/IP protocol. For example, under MS Windows this is the win-
sock.dll file in the Windows directory.
7.5.3 IP addressing
7
A typical IP address written in decimal looks like this: 149.174.211.5 – i.e. four num-
bers separated by stops. The stops have the job of addressing higher and lower
ranking networks. Just as a telephone number in the international network has a
country code, area code, subscriber number and sometimes also a direct dialling-in
number, Internet also has an area code – the network number, and a direct dialling-
in number - the host number.
The first part of an IP address is the network number and the second part is the host
number. The location of the boundary between network number and host number is
defined by a classification plan for network types. The following table explains this
plan. In the ‘IP addressing’ and ‘Typical IP address’ columns, the network number
(area code) is printed in bold characters. The rest of the IP address is the host
number of a computer within that network.
Network type IP addressing Typical IP address
Class A network xxx.xxx.xxx.xxx 103.234.123.87
Class B network xxx.xxx.xxx.xxx 151.170.102.15
Class C network xxx.xxx.xxx.xxx 196.23.155.113
Class A networks form the highest level of the hierarchy. Only the first number in an
IP address is the network number. All other numbers are host numbers within the net-
work. Network numbers in this kind of network can have figures between 1 and 126,
i.e. there can only be 126 class A networks in the whole world. An IP address that be-
longs to a Class A network is therefore identifiable by having its first number between
1 and 126. The American military network is an example of such a class A network.
Within a class A network the relevant network operator can allocate at will the second,
third and fourth figures of individual IP addresses to participants in the network. Since
all three figures can have values between 0 and 255, a class A network operator can
assign up to 16.7 million IP addresses to host computers in that network.
Class B networks are the second-highest level in the hierarchy. Such networks have
network numbers that extend across the first two figures of the IP address. For the
first figure, class B networks can have values between 128 and 192. An IP address
that belongs to a class B network is therefore identifiable by having its first number
between 128 and 192. Values between 0 and 255 are allowed for the second number.
This means that around 16,000 such networks are possible. Since the third and
fourth numbers in such networks may also have values between 0 and 255, any class
B network can have up to 65,000 host computers connected. Class B networks are
mainly assigned to large companies, universities and online services.
Class C networks occupy the lowest level of the hierarchy. The first number of a
class C network’s IP address lies between 192 and 223. The second and third num-
bers also form part of the network number. Over two million such networks can be
addressed in this way. These addresses are mainly assigned to small and medium-
sized companies with direct Internet connections, but also to the smaller Internet pro-
viders. Since only one number is left with a value between 0 and 255, the maximum
number of host computers that can be connected in a C network is 255.
Some people doubt whether this addressing plan can meet future needs. Ideas al-
ready exist for restructuring network and host computer addressing.
7.5.4 Client-Server-Technologie
Any host computer intending to offer to other computers such Internet services as
World Wide Web, Gopher, e-mail, FTP, etc. must have the appropriate server soft- 7
ware running on it. A host computer can only offer an Internet service if the appropri-
ate server software is active on the computer and if the computer is online.
Servers are programs that permanently wait to receive enquiries regarding their serv-
ice. A WWW server, therefore, waits to receive enquiries that will call off WWW pages
from the server computer.
In contrast, clients are software programs that typically request data from servers.
Their WWW browser, for example, is a client. If you click on a reference that leads to
an HTTP address, the browser (i.e. the WWW client) starts a request to the relevant
server on the remote host computer. The server evaluates the request and transmits
the data requested. Protocols exist to regulate communication between clients and
servers. Client-server communication in the WWW is basically regulated by the HTTP
protocol. This type of protocol runs above the TCP/IP protocol.
Normally, a client requests data and a server transmits data. However, exceptions
also exist whereby a client not only can request data, but also send data to a server
(e.g. when you use FTP to load a file on the server computer; when you send an
e-mail or fill in and return a form in the WWW ). These cases are also referred to as
Client-Push (the client pushes data onto the server).
Another exception is when the server becomes active first the sends the client some-
thing without being asked. This is called Server-Push (the server pushes data onto
the client). New technologies want to elevate this exception to a rule. They are called
push technologies. These technologies are intended to enable a client to receive
data regularly, without personally asking for it. They make it possible to realize broad-
casting services like current news, etc. Netscape and Microsoft Internet Explorer
(both from version 4.0) have the relevant interfaces to make use of such services.
7.5.5 DNS - Domain Name Service
Generally, computers work better with numbers and people work better with names.
For this reason a system has been invented that translates the numeric IP addresses
into address names that are clear for the final user.
The system created has a hierarchical structure like the IP addresses. An address
name in this system belongs to a top level domain and within that to a sub-level do-
main. Each sub-level domain can in turn contain subordinate domains, but does not
have to. The individual parts of these address names are separated from each other
Internet, as the network of networks, cannot at present allow the direct transmis-
sion of data from one IP address to another within their own sub-network. In all other
cases, when data is to be sent to another network number, computers that regulate
traffic between networks come into the plan. These computers are called gateways.
They route data from host computers in their own sub-network to gateways in other
sub-networks and route incoming data from the gateways of other sub-networks
to the host computer addressed in their own sub-network. Without gateways there
would be no Internet.
Routing is the specific term for this activity and possible routes from a gateway
computer’s own network to other networks are defined on the gateway computer in
routing tables.
A gateway also has the job of finding an alternative route if the normal route does
not work, perhaps due to a fault on the line or a data jam. Gateways constantly send
themselves test packages, to check the connection is working and to find routes for
data transfer where the traffic is light.
This means, therefore, that when data transfer takes place on Internet it is not at all
clear from the outset which route data will take. Even the separate packages that
make up a single transmission can take completely different routes. For example, if
from Germany you call a WWW page that is located on a computer in the USA it may
be that half the page comes over the Atlantic and the other half over the Pacific be-
fore your WWW browser can display it. Neither you nor your browser would realize it.
7.6 General principles of HTML
HTML stands for Hyper Text Markup Language. The language is defined with the
help of SGML (Standard Generalized Markup Language). SGML was laid down under
ISO standard 8879.
As a markup language, HTML has the job of describing the logical components of a 7
document. It therefore contains instructions for marking typical elements of a docu-
ment, such as headers, text spaces, lists, tables or graphical references.
The HTML model assumes a hierarchical division. HTML describes documents.
Documents have global properties, such a title or a background colour. The actual
content consists of elements, e.g. a first-order heading. Some of these elements in
turn have sub-elements. A text space, for example, might contain a text position that
is marked as bold, a list comprises separate list items and a table is divided into indi-
vidual cells.
A fixed extent can be defined for most of these elements. In this way, a header ex-
tends from the first to the last character, a list from the first to the last list item, or a
table from the first to the last cell. Marks indicate the start and end of elements. The
following model applies for marking up a heading:
[Heading] Text of heading [End of heading]
For an element that in turn has sub-elements, a list perhaps, the same model applies:
[List]
[List item] Text of list item [End of list item]
[List item] Text of list item [End of list item]
[End of list]
WWW browsers for HTML files work out the markup instructions and then display the
elements on screen in a form that is easily recognizable to the eye. However, screen
representation is not the only conceivable form of output. For example, HTML can
just as readily output computer-generated voices onto audio systems.
7.6.2 Cross-linking with hyperlinks
One of HTML’s most important features is the ability to define hyperlinks. Hyperlinks
can lead to other places in the same project, but also to any other addresses on the
world-wide web and even Internet addresses that are not part of the WWW.
With this simple, basic feature, HTML opens up completely new worlds. Moving be-
tween computers that are physically far apart is reduced to a mouse-click with mod-
ern, graphical WWW browsers. In your own HTML files you can include hyperlinks
that allow context-specific links between your content and that of other bidders. This
fundamental idea is the basis of the entire world-wide web, to which it owes its name.
HTML has a plain-text format. You can process HTML files with any text editor that
can store data as straight text files. There is no specific software required for the
creation of HTML files. Powerful programs that specialize in the editing of HTML may
have existed for a long time, but this does not alter its crucial characteristic: HTML
is not tied to any specific, commercial software product. This might even be HTML’s
single most important feature, any you should never lose sight of it when anyone tries
to tell you that web publishing is only possible with specific software products.
The plain-text instructions of HTML have been designed for machines and humans.
Anyone who is not prejudiced against visible instructions on the screen will find in
HTML an astonishingly simple shell language. It is based on English words, but the
number of instructions is so limited that even those without extensive knowledge of
the English language can assimilate HTML.
Since HTML has a plain-text format, it is excellent for generating with the help of
programs. CGI programs, for example, make use of this capability. Whenever you 7
use a search service on the WWW and, after your search request, are presented with
the results, what you see on the screen is HTML code that has been generated by a
program.
7.6.4 Universal in application
HTML was actually invented as a markup language for creating WWW pages. How-
ever, HTML files do not just work on the WWW. It is no problem to open an HTML file
locally on any computer with a WWW browser. This makes HTML files ideally suited
for local documentation, CD-ROM interfaces, readme files, etc. With HTML and the
languages that complement it directly (CSS and JavaScript, which also function lo-
cally) you can create sophisticated projects not intended for use on the WWW. Re-
gardless of whether you want to get your diary in shape for the next millennium, add
HTML-based online help to the next version of your software, or produce an informa-
tive CD - HTML is by far the most widely used file format in the world. Your HTML
files will run on any computer with a WWW browser installed - and any computer that
does not have a WWW browser can these days be called obsolete in every respect.
HTML is a “logical“ language. With HTML, you define the basic structure of your
WWW pages, the elements, structures, hyperlinks and referenced elements (such
as graphics, multimedia, etc.). However, HTML was not really designed to specify
exactly how an element should look. Therefore, you can define a heading in HTML
and specify that it should be a first order heading. However, you cannot specify inside
HTML how large the heading should be displayed, nor its font, etc. This is handled
by the WWW browser during display. To do this it uses a mixture of basic settings,
that the user can make, and fixed, programmed representations of individual HTML
elements.
In the early days of HTML’s great success, the language was “misused“ for all kinds
of physical formatting. This meant that an HTML command for displaying flashing text
would suddenly pop up, and later a command became popular that could be used to
define the font, type size (in 7 relative stages) and type colour. However, in the end all
these implementations in HTML are inconsequential.
At this point Cascading Style Sheets (CSS) come in. This is a language that directly
complements and was specifically developed for HTML. It slots seamless into HTML
and allows HTML elements to be formatted as desired. With the help of CSS style-
sheets, for example, you can specify that all first order headings should be displayed
as 24 points in height, written in red Helvetica, with a 16-point following space and a
green double-line on the frame above. However, you can also just as easily specify
for any text that it alone should be 3 centimetres high and should have the back-
ground colour yellow. In addition, the CSS language also contains instructions for
the precise positioning of elements on the screen and for other output media, such
as print or audio systems. CSS style-sheets therefore provide HTML with a powerful
forward thrust.
The CSS language, just like HTML, has an official standard. Like HTML it is main-
tained and developed by the W3 consortium. In the meantime, more recent browser
versions from Netscape and Microsoft also interpret the style-sheets.
7.6.6 A programming language for WWW pages
Among other things, forms can also be defined in HTML. Such forms can contain 7
entry fields, selection lists, buttons, etc. The user can fill in a form and send it back
via the WWW. This invention is a blessing for many purposes. However, HTML does
not allow you as the supplier of a form, for example, to check the user’s entries for
completion or plausibility before the form is sent back.
Or another case: although you can integrate a VRML file into HTML, when that HTML
file is on the WWW you cannot know whether the user has a browser that can display
VRML. It would be useful if the instruction to integrate the VRML file could be made
dependent on the user’s browser being able to display VRML.
For these and countless other useful but less used purposes, Netscape invented a
programming language called JavaScript. You can include JavaScript instructions
directly inside HTML files, or integrate them as a separate file.
JavaScript is increasingly gaining in importance for modern WWW pages. Recent de-
velopments in JavaScript are above all responsible for what has been called “Dynam-
ic HTML”. Development has started and nothing can stop it now: JavaScript allows
retrospective access to all elements of an HTML file during display. Fascinating new
effects are therefore made possible, which normal HTML cannot do. A text can be
replaced with another at the click of a mouse, a user event or time control can make
elements disappear automatically, fade in, or change position on the screen.
If you want to create sophisticated WWW pages, you will find it hard to do without
at least simple JavaScripts any more. For this reason SELFHTML contains exten-
sive documentation on JavaScript. In any case, you should devote some attention to
JavaScript as well as HTML
7.6.7 JavaScript and HTML
the beginner: special characters, variables, if-then statements, loops, functions, meth-
ods, parameters, objects, properties and much more. To get properly to grips with
these elements, you must learn to imagine what is happening in the computer when
program code is executed. This is a prolonged learning process that users only mas-
ter with much practice. However, JavaScript is excellently suited to this, because it is
a comparatively simple language without many of the work areas found in a “major“
programming language, e.g. things like main memory management or file operations.
In addition, JavaScript comes down to a specific environment, i.e. a WWW page that
either has been displayed or will be.
7.6.8 JavaScript, JScript, ECMA-262, language versions
HTML pages can be developed with any preferred HTML editor. One can divide
HTML editors fundamentally into either text-based editors or WYSIWYG editors
(WYSIWYG = What You See Is What You Get). With text-based editors you work
directly with the HTML instructions. As a rule such editors have a toolbar with buttons
and various menu commands to insert HTML tags in the text. Tags are displayed vis-
ibly in the text. WYSIWYG editors also offer a toolbar with buttons and menu com-
mands to support the setting of HTML tags in the dialogue. However, the difference
is that tags are not displayed (or only if requested). Instead, the text displayed on the
screen is already as it will appear later, on the Web-Browsers.
At most of the following addresses you cannot download the relevant HTML editors.
These relate mostly to shareware products, i.e. you are allowed to test the program,
but must buy and register it before you can definitely use it.
8 Appendix B
8.1 Icons
i
In manuals, this symbol refers the reader to further information in this manual or
other manuals or technical information documents.
As a rule there is no direct link to such documents.
This symbol warns the reader of the risk to components from electrostatic dis-
charges caused by touch. This could happen, if cassettes have to be opened for
changing jumpers like described for such cassettes in chapter 2.8 and 2.9.
Recommendation: at least touch the Minus of the system (cabinet of PGU
connector) before coming in contact with the electronic parts. Better is to use a
grounding wrist strap with its cable attached to the Minus of the system.
This sign accompanies instructions that must always be followed.
Explanations beside this sign are valid only for the Saia-Burgess PCD Classic
8
ic
serie.
ss
la
C
Explanations beside this sign are valid only for the Saia-Burgess PCD xx7 serie.
7
xx
Any questions that you cannot answer by referring to the documentation will be dealt
with promptly and reliably for you by the Saia® PCD Support Team. The team is based
in Switzerland and can be reached by
phone: +41 26 672 71 11 or by
E-Mail: [email protected]
The addresses of Saia-Burgess sales companies and agents for other sales areas
can be found under http://www.start-controls.com
8.4 Workshops, training literature
Interesting, informative Saia® PCD workshops offer technically qualified people the
opportunity to make valuable contacts and extend their technical knowledge of the
PCD, taking home with them both the training literature and the solutions produced
collaboratively during the workshop. Workshops are your route to joining the large
group of enthusiastic Saia® PCD users. Current workshop programs are among a
wealth of other useful information to be found under http://www.sbc-support.ch
8.5 Reliability and safety of electronic controllers
Saia-Burgess Controls Ltd. is a company which devotes the greatest care to the de-
sign, development and manufacture of its products:
● state-of-the-art technology
● compliance with standards
● ISO 9001 certification 8
● international approvals: e.g. Germanischer Lloyd,
United Laboratories (UL), Det Norske Veritas, CE mark...
● choice of high-quality componentry
● quality control checks at various stages of production
● in-circuit tests
● run-in (burn-in at 85°C for 48h)
Despite every care, the excellent quality which results from this does have its limits. It
is therefore necessary, for example, to reckon with the natural failure of components.
For this reason Saia-Burgess Controls Ltd. provides a guarantee according to the
„General terms and conditions of supply“.
The plant engineer must in turn also contribute his share to the reliable operation of
an installation. He is therefore responsible for ensuring that controller use conforms
to the technical data and that no excessive stresses are placed on it, e.g. with regard
to temperature ranges, overvoltages and noise fields or mechanical stresses.
In addition, the plant engineer is also responsible for ensuring that a faulty product
in no case leads to personal injury or even death, nor to the damage or destruction
of property. The relevant safety regulations should always be observed. Dangerous
faults must be recognized by additional measures and any consequences prevented.
For example, outputs which are important for safety should lead back to inputs and
be monitored from software. Consistent use should be made of the diagnostic ele-
ments of the PCD, such as the watchdog, exception organization blocks (XOB) and
test or diagnostic instructions.
tion with reliability for many years.
If all these points are taken into consideration, the Saia® PCD will provide you with a
modern, safe programmable controller to control, regulate and monitor your installa-
tion with reliability for many years.
8.6 About ourselves
With full technical knowledge of all system elements and with quality-oriented busi-
ness processes, SBC is equipped to provide unique, custom solutions regarding
range of use, functionality, openness, flexibility, reliability and price.
These core competencies, combined with innovative strength, a broad product range
and a readiness to implement special customer requests rapidly, have made SBC the
attractive, competitive partner of choice for a large number of international customers.