s71500 Webserver Function Manual en-US en-US
s71500 Webserver Function Manual en-US en-US
Preface
Function manuals
Documentation Guide 1
General information 2
SIMATIC
Web pages 3
S7-1500, SIMATIC Drive Controller,
ET 200SP, ET 200pro
Web server
Function Manual
11/2019
A5E03484625-AG
Legal information
Warning notice system
This manual contains notices you have to observe in order to ensure your personal safety, as well as to prevent
damage to property. The notices referring to your personal safety are highlighted in the manual by a safety alert
symbol, notices referring only to property damage have no safety alert symbol. These notices shown below are
graded according to the degree of danger.
DANGER
indicates that death or severe personal injury will result if proper precautions are not taken.
WARNING
indicates that death or severe personal injury may result if proper precautions are not taken.
CAUTION
indicates that minor personal injury can result if proper precautions are not taken.
NOTICE
indicates that property damage can result if proper precautions are not taken.
If more than one degree of danger is present, the warning notice representing the highest degree of danger will
be used. A notice warning of injury to persons with a safety alert symbol may also include a warning relating to
property damage.
Qualified Personnel
The product/system described in this documentation may be operated only by personnel qualified for the specific
task in accordance with the relevant documentation, in particular its warning notices and safety instructions.
Qualified personnel are those who, based on their training and experience, are capable of identifying risks and
avoiding potential hazards when working with these products/systems.
Proper use of Siemens products
Note the following:
WARNING
Siemens products may only be used for the applications described in the catalog and in the relevant technical
documentation. If products and components from other manufacturers are used, these must be recommended
or approved by Siemens. Proper transport, storage, installation, assembly, commissioning, operation and
maintenance are required to ensure that the products operate safely and without any problems. The permissible
ambient conditions must be complied with. The information in the relevant documentation must be observed.
Trademarks
All names identified by ® are registered trademarks of Siemens AG. The remaining trademarks in this publication
may be trademarks whose use by third parties for their own purposes could violate the rights of the owner.
Disclaimer of Liability
We have reviewed the contents of this publication to ensure consistency with the hardware and software
described. Since variance cannot be precluded entirely, we cannot guarantee full consistency. However, the
information in this publication is reviewed regularly and any necessary corrections are included in subsequent
editions.
Web server
Function Manual, 11/2019, A5E03484625-AG 3
Preface
What's new in the Web Server function manual, Version 11/2019 compared to Version 12/2017
What's new? What are the customer benefits? Where can I find information?
New contents The CPU has an API (Appli- • Established standard mechanisms for Section API (Application Pro-
cation Programming Inter- creating Web pages: gramming Interface) (Pa-
face) as an interface for: ge 158)
Automation Web Programming com-
• Reading and writing
mands (AWP commands) are no long-
CPU data
er required for output of CPU data
• Executing functions (e.g.
• No dependency between custom Web
backing up and restoring
pages and CPU program:
the CPU configuration,
changing the operating No synchronization between user pro-
state) gram and Web server required by the
The Web API supports all SFC 99 instruction
common browsers and • Lower communication load:
command line programs,
such as cURL and Wget. A smaller data packet is transferred
between server and client (JSON in-
stead of HTML of the custom Web
page generated by the CPU). This im-
proves the communication perfor-
mance. The CPU needs less runtime
to generate the information and make
it available.
• Secure data traffic:
Changed Scope of the function man- Webserver functions which you are famil- • System Manual SIMATIC
contents ual expanded to include the iar with from the CPUs of the SIMATIC Drive Controller
CPUs of the SIMATIC Drive S7-1500 can now also be used on the (https://support.industry.sie
Controller CPUs of the SIMATIC Drive Controller.
mens.com/cs/ww/en/view/1
09766665)
• Manual SIMATIC Drive
Controller
(https://support.industry.sie
mens.com/cs/ww/en/view/1
09766666)
Web server
4 Function Manual, 11/2019, A5E03484625-AG
Preface
What's new in the Web Server function manual, Version 12/2017 compared to Version 09/2016
What's new? What are the customer benefits? Where can I find the infor-
mation?
New contents New web page "User files" You can download ASCII files (files in Section User files (Page 115)
binary format) from the SIMATIC Memory
Card, directory UserFiles\ to the web page
and delete them.
Time display as Coordinated The display of the UTC allows you to use Section Start page with general
Universal Time (UTC) or as a uniform time for the web pages. CPU information (Page 33)
PLC local time You can set the format of the time display
to Coordinated Universal Time (UTC) or
PLC local time (default setting).
Automated downloading, You can, for example, read out and ar- Section Automated reading out
reading out and archiving of chive DataLogs daily from one or more of data logs (Page 113)
DataLogs CPUs at a specific time via the Web serv-
er.
Automatic downloading of DataLogs is
realized either by the execution of scripts
in, for example, Bash or via JavaScript on
your HTML user page.
The “Permit access only The web pages are transmitted by default Section Configuring the Web
with HTTPS" check box is via a secure connection and are protected server (Page 19)
activated in the default set- from attacks by third parties.
ting of a configured CPU.
Changed Web page "Module infor- You can read the assignment of the de- Section Module information
contents mation”: New column De- vice number to the device name. (Page 57)
vice number
Web page "Topology": Se- You can select the topology display for the Section Topology (Page 72)
lection of the available PROFINET interfaces X1, X2 and for
PROFINET interfaces, for connected PROFINET communication
example X1, X2, CM 1542-1 modules.
Web page "DataLogs": New You can delete DataLog files via the Web Section DataLogs (Page 112)
column for deleting DataLog server.
files
Web page "Record": You can evaluate the Trace recordings in Section Record (Page 92)
Changes in the display of more detail through the extension of the
Trace recordings display.
Web page "Record": New In the case of completed measurements
arithmetic functions you can combine the measured signals
mathematically with each other and this
generate signals that were not recorded.
You can, for example, form the difference
of two signals in order to better display the
deviation of the current pressure of a boil-
er from the set setpoint value.
Web server
Function Manual, 11/2019, A5E03484625-AG 5
Preface
What's new in the Web Server function manual, Version 09/2016 compared to Version 12/2014
What's new? What are the customer benefits? Where can I find the infor-
mation?
New contents Handling of certificate modi- You protect the web server connection Section Configuring the Web
fied against tapping or distortion of the com- server (Page 19)
munication through access via the secure
transmission protocol "HTTPS" including a
special web server certificate.
Four additional languages You can set the Web server interface to Section Start page with general
for the Web server interface the following languages: CPU information (Page 33)
• Korean
• Russian
• Turkish
• Portuguese (Brazil)
Assignment of different You can assign up to three different pro- Section Language settings
project languages extended ject languages for comments, alarm texts (Page 29)
and diagnostic information to the user
interface languages of the Web server.
"Start page" web page ex- The display of the TIA project name im- Section Start page with general
tended mediately indicates whether the desired CPU information (Page 33)
project is selected.
"Diagnostics" web page Here you can find information about: Section Diagnostics (Page 38)
extended by one tab:
• Know-how protection or copy protec-
• "Program protection" tion of the PLC program
• "Runtime information" • Program/communication load and
• "Fail-safe" (with an F- cycle time
CPU) • F-collective signatures, cycle times
and runtimes of the F-runtime group(s)
"Alarms" web page exten- You can acknowledge alarms of the CPU Section Alarms (Page 65)
ded via the Web server.
"Tag status" and "Watch You can change the value of tags and • Section Tag status
tables" web pages extended write them to the CPU, also using the (Page 82)
absolute address.
• Section Watch tables (Pa-
ge 85)
New web page "Online You can back up and restore the CPU Section Online backup
backup" configuration to/from the SIMATIC (Page 87)
memory card via the Web server.
New "Motion Control diag- You can monitor statuses, errors, technol- Section Motion Control diag-
nostics" web page ogy alarms and the current values of con- nostics (Page 49)
figured technology objects (TOs) with the
Web server without STEP 7.
New "Record" web page You can read, view and save trace record- Section Record (Page 92)
ings via the Web server and thus obtain
plant and project information for diagnos-
tics and maintenance without STEP 7.
Web server
6 Function Manual, 11/2019, A5E03484625-AG
Preface
What's new? What are the customer benefits? Where can I find the infor-
mation?
Changed Extension of the validity Functions that you will be familiar with • Manual CPU 1510SP-1 PN
contents range of the function manual from the SIMATIC S7-1500 CPUs are (https://support.industry.sie
to the CPUs of the ET implemented in CPUs in other designs mens.com/cs/ww/en/view/9
200SP distributed I/O sys- (ET 200SP) and in the CPU 1516pro-2 PN
0157130)
tem and the CPU 1516pro-2 (degree of protection IP65, IP66 and
PN IP67). • Manual CPU 1512SP-1 PN
(https://support.industry.sie
mens.com/cs/ww/en/view/9
0157013)
• Operating instructions CPU
1516pro-2 PN
(https://support.industry.sie
mens.com/cs/ww/en/view/1
09482416)
Web page "Watch tables": Section Watch tables (Pa-
Note added on the maximum configuration limits. ge 85)
Web page "User pages": Section User pages (Pa-
Note added on the maximum size of the HTML pages. ge 120)
Conventions
In this documentation, "STEP 7" is used as a synonym for all versions of the configuration
and programming software "STEP 7 (TIA Portal)".
Please also observe notes marked as follows:
Note
A note contains important information on the product described in the documentation, on the
handling of the product and on the section of the documentation to which particular attention
should be paid.
Web server
Function Manual, 11/2019, A5E03484625-AG 7
Preface
Security information
Siemens provides products and solutions with industrial security functions that support the
secure operation of plants, systems, machines and networks.
In order to protect plants, systems, machines and networks against cyber threats, it is
necessary to implement – and continuously maintain – a holistic, state-of-the-art industrial
security concept. Siemens’ products and solutions constitute one element of such a concept.
Customers are responsible for preventing unauthorized access to their plants, systems,
machines and networks. Such systems, machines and components should only be
connected to an enterprise network or the internet if and to the extent such a connection is
necessary and only when appropriate security measures (e.g. firewalls and/or network
segmentation) are in place.
For additional information on industrial security measures that may be implemented, please
visit (https://www.siemens.com/industrialsecurity).
Siemens' products and solutions undergo continuous development to make them more
secure. Siemens strongly recommends that product updates are applied as soon as they are
available and that the latest product versions are used. Use of product versions that are no
longer supported, and failure to apply the latest updates may increase customers' exposure
to cyber threats.
To stay informed about product updates, subscribe to the Siemens Industrial Security RSS
Feed visit (https://www.siemens.com/industrialsecurity).
Web server
8 Function Manual, 11/2019, A5E03484625-AG
Preface
Industry Mall
The Industry Mall is the catalog and order system of Siemens AG for automation and drive
solutions on the basis of Totally Integrated Automation (TIA) and Totally Integrated Power
(TIP).
Catalogs for all the products in automation and drives are available on the Internet
(https://mall.industry.siemens.com).
Web server
Function Manual, 11/2019, A5E03484625-AG 9
Table of contents
Preface ................................................................................................................................................... 3
1 Function manuals Documentation Guide ............................................................................................... 12
2 General information .............................................................................................................................. 14
2.1 Properties of the Web server ................................................................................................. 14
2.2 Configuring the Web server ................................................................................................... 19
2.3 Language settings .................................................................................................................. 29
2.4 Updating and saving information ........................................................................................... 32
3 Web pages ........................................................................................................................................... 33
3.1 Start page with general CPU information .............................................................................. 33
3.2 Diagnostics ............................................................................................................................. 38
3.3 Diagnostics buffer .................................................................................................................. 48
3.4 Motion Control diagnostics ..................................................................................................... 49
3.5 Module information ................................................................................................................ 57
3.6 Firmware update .................................................................................................................... 62
3.7 Alarms .................................................................................................................................... 65
3.8 Communication ...................................................................................................................... 67
3.9 Topology ................................................................................................................................ 72
3.9.1 Introduction ............................................................................................................................ 72
3.9.2 Graphical view........................................................................................................................ 73
3.9.3 Tabular view ........................................................................................................................... 76
3.9.4 Status overview ...................................................................................................................... 78
3.9.5 Examples for graphical topology views .................................................................................. 79
3.10 Tag status .............................................................................................................................. 82
3.11 Watch tables .......................................................................................................................... 85
3.12 Online backup ........................................................................................................................ 87
3.13 Record .................................................................................................................................... 92
3.14 DataLogs .............................................................................................................................. 112
3.14.1 Automated reading out of DataLogs .................................................................................... 113
3.15 User files .............................................................................................................................. 115
3.15.1 Automatically read or upload user files ................................................................................ 117
Web server
10 Function Manual, 11/2019, A5E03484625-AG
Table of contents
Web server
Function Manual, 11/2019, A5E03484625-AG 11
Function manuals Documentation Guide 1
The documentation for the SIMATIC S7-1500 automation system, for CPU 1516pro-2 PN
based on SIMATIC S7-1500, and for the distributed I/O systems SIMATIC ET 200MP,
ET 200SP and ET 200AL is divided into three areas.
This division allows you easier access to the specific information you require.
Basic information
System manuals and Getting Started manuals describe in detail the configuration,
installation, wiring and commissioning of the SIMATIC S7-1500, ET 200MP, ET 200SP and
ET 200AL systems; use the corresponding operating instructions for CPU 1516pro-2 PN.
The STEP 7 online help supports you in configuration and programming.
Device information
Product manuals contain a compact description of the module-specific information, such as
properties, terminal diagrams, characteristics and technical specifications.
Web server
12 Function Manual, 11/2019, A5E03484625-AG
Function manuals Documentation Guide
General information
The function manuals contain detailed descriptions on general topics such as diagnostics,
communication, Motion Control, Web server, OPC UA.
You can download the documentation free of charge from the Internet
(https://support.industry.siemens.com/cs/ww/en/view/109742705).
Changes and additions to the manuals are documented in product information sheets.
You will find the product information on the Internet:
● S7-1500/ET 200MP (https://support.industry.siemens.com/cs/us/en/view/68052815)
● ET 200SP (https://support.industry.siemens.com/cs/us/en/view/73021864)
● ET 200AL (https://support.industry.siemens.com/cs/us/en/view/99494757)
Manual Collections
The Manual Collections contain the complete documentation of the systems put together in
one file.
You will find the Manual Collections on the Internet:
● S7-1500/ET 200MP (https://support.industry.siemens.com/cs/ww/en/view/86140384)
● ET 200SP (https://support.industry.siemens.com/cs/ww/en/view/84133942)
● ET 200AL (https://support.industry.siemens.com/cs/ww/en/view/95242965)
"mySupport"
With "mySupport", your personal workspace, you make the best out of your Industry Online
Support.
In "mySupport", you can save filters, favorites and tags, request CAx data and compile your
personal library in the Documentation area. In addition, your data is already filled out in
support requests and you can get an overview of your current requests at any time.
You must register once to use the full functionality of "mySupport".
You can find "mySupport" on the Internet (https://support.industry.siemens.com/My/ww/en).
Application examples
The application examples support you with various tools and examples for solving your
automation tasks. Solutions are shown in interplay with multiple components in the system -
separated from the focus on individual products.
You will find the application examples on the Internet
(https://support.industry.siemens.com/sc/ww/en/sc/2054).
Web server
Function Manual, 11/2019, A5E03484625-AG 13
General information 2
2.1 Properties of the Web server
Security functions
The Web server provides the following security functions:
● Access via the secure transmission protocol "HTTPS" using the CA-signed web server
certificate
● User authorizations you can configure by means of user list
● Activation for specific interfaces
Web server
14 Function Manual, 11/2019, A5E03484625-AG
General information
2.1 Properties of the Web server
Web browser
You need a web browser to access the HTML pages of the CPU.
The web browsers listed below have been tested for communication with the CPU. Other
web browsers may also work, especially newer versions. However, if problems occur with
web browsers not mentioned here that cannot be rectified, use one of the following tested
web browsers:
● Microsoft Internet Explorer (Version 11.x)
● Microsoft Edge (Version 44.x)
● Google Chrome (Version 75.x)
● Mozilla Firefox (Version 64.x)
● Opera (Version 58.x)
● Mobile Safari and Chrome for iOS (iOS 12)
● Android browser (Android 7.x)
● Chrome for Android (Android 7.x to 8 (certificates work only to limited extent in Android
8))
Note
If you are using Internet Explorer, disable "Compatibility view" in the settings ("Options"
menu).
Note
For access to display devices with low screen resolution, we recommend the use of basic
websites, see section Basic websites (Page 156).
Note
Older versions of the web browsers named above, which previously supported access to the
HTML pages of the CPU, continue to allow this. However, these older versions do not
support the new functions and HTML pages described in this edition.
Note
Two reserved communication connections are available to the Web server for
communication with the CPU.
Depending on the web browser used, different numbers of connections to the CPU are
established. If more connections are available, more communication connections will be
established.
If no more connections are available, display or functional problems may occur, because the
Web server will reject all other communication connections apart from the two that are
reserved.
For this reason, the web pages may not load fully.
Web server
Function Manual, 11/2019, A5E03484625-AG 15
General information
2.1 Properties of the Web server
Note
If you access the web server of the CPU using a communications processor (CP), ensure
that the cache (temporary Internet files) is enabled in your browser. Choose the
"Automatically" option in the cache settings of your browser.
If the cache is disabled or if a setting other than "Automatically" is made in the cache settings
of your browser, this may result in slow access times and incomplete display.
Note
After a firmware update of the CPU, incorrect display of Web pages can occur in various
Web browsers. This is caused by problems of the new CPU firmware with the cache of the
Web browser.
Solution: Press F5 or clear the Web browser cache.
Web server
16 Function Manual, 11/2019, A5E03484625-AG
General information
2.1 Properties of the Web server
Note
Max. characters at data type WSTRING
Note that the data type WSTRING is limited to 254 characters for the display in the Web
server. If the 254 characters are exceeded, the Web server does not display the superfluous
characters.
Web server
Function Manual, 11/2019, A5E03484625-AG 17
General information
2.1 Properties of the Web server
Web access to the CPU via PG/PC, HMI devices and mobile terminal devices
Proceed as follows to access the Web server:
1. Use STEP 7 to download a project in which the web server is enabled to the CPU.
2. Connect the display device (PG/PC, HMI, mobile terminal device) with the CPU or a
communication module using a PROFINET interface.
If you are working with WLAN, activate the WLAN on the display device and establish a
connection to the access point (e.g. SCALANCE W788-1RR or SCALANCE W784-1),
which is in turn connected to the CPU.
3. Open the web browser on the display device.
4. Enter the IP address of the interface of the CPU which is connected to the client in the
"Address" field of the web browser in the following format: http://a.b.c.d or https://a.b.c.d
(example of input: http://192.168.3.141).
The intro page of the CPU opens. From the intro page you can navigate to additional
information.
Additional information on access using the secure transmission protocol "HTTPS" is
available in the section Configuring the Web server (Page 19).
Additional information
Using a smartphone, you can access the Web server of the CPU either via WLAN or access
to the CPU via the SIMATIC S7 app (using Web server functionality). You can find additional
information in the FAQ entry ID 103473392 on the Service&Support
(https://support.industry.siemens.com/cs/ww/en/view/103473392) Internet page.
Note: The Web server must also be activated for access to the CPU via the SIMATIC S7
app.
The SIMATIC S7 app offers you additional functions. You can find a detailed application
example with further documentation and example projects on the Service&Support
(https://support.industry.siemens.com/cs/ww/en/view/84133612) Internet page.
Web server
18 Function Manual, 11/2019, A5E03484625-AG
General information
2.2 Configuring the Web server
Procedure
You have opened the properties dialog of the CPU in STEP 7 in the project view.
Web server
Function Manual, 11/2019, A5E03484625-AG 19
General information
2.2 Configuring the Web server
Figure 2-2 Security note upon activation of the Web server in STEP 7
Note
When projects from deliveries are applied in which the Web server was already activated
and configured on the module, this security note is not shown.
Web server
20 Function Manual, 11/2019, A5E03484625-AG
General information
2.2 Configuring the Web server
Note
When you update the firmware of a SIMATIC S7-1500 CPU or ET 200SP with firmware
version < V2.0 to a firmware version ≥ V2.0, a valid server certificate is automatically
generated and used. The same applies to the replacement parts scenario in which a newer
CPU replaces a CPU with firmware version < V2.0.
NOTICE
Utilizing the full functionality of the Web server
A valid CA-signed Web server certificate in the CPU is a requirement for:
• User management with password-protected users
• Saving and downloading diagnostic information in csv files
• Using the following safety-related functions:
– Backing up and restoring the CPU configuration
To use the full functionality of the Web server, we therefore recommend that you use the
Certificate Manager to create a CA-signed server certificate in the global security settings
and assign it to the CPU.
Web server
Function Manual, 11/2019, A5E03484625-AG 21
General information
2.2 Configuring the Web server
Note
To edit the Certificate Manager in the global security settings, you require the "Configure
security" configuration permission.
2. Log on as a user in the project tree in the "Global security settings > User logon" area.
The "Administrator" role is the default for the first logon for a new project.
3. in the Inspector window Properties of the CPU, "General" tab, navigate to the "Web
server > Security" area.
4. Click the "Add" button in the drop-down list to select a certificate.
The "Create a new certificate" dialog opens.
5. In the follow-up dialog, select the "Signed by certificate authority" check box and select
the certificate authority from the drop-down list.
6. Enter the parameters for the new certificate or confirm the default settings.
– Select "Web server" in the "Usage" box.
– Enter the IP address(es) of the interface(s) or the domain name of the configured CPU
in the "Subject Alternative Name" field.
7. Click "OK" to confirm.
8. Compile and load the configuration in the CPU.
The device certificate of the Web server and the CA certificate are components of the
configuration.
Web server
22 Function Manual, 11/2019, A5E03484625-AG
General information
2.2 Configuring the Web server
NOTICE
Addressing the Web server of the CPU via domain names
If you enter the IP address(es) of the interface(s) of the configured CPU in the "Subject
Alternative Name" field, the generated certificate may not be accepted by all Internet
browsers. In addition, you must generate and load a new server certificate (end entity
certificate) with each change of the IP address of an Ethernet interface of the CPU, since
the identity of the CPU changes with the IP address.
You can avoid this problem by addressing the Web server of the CPU using domain names
instead of IP address(es), e.g. "myconveyer-cpu.room13.myfactory.com". For this purpose,
you have to manage the domain names of your CPU via a DNS server.
Additional information
For detailed information on local self-signed and global CA-signed certificates, on the "Public
Key Infrastructure" (PKI) and on certificate management, refer to the Communications
function manual (https://support.industry.siemens.com/cs/ww/en/view/59192925) and to the
STEP 7 online help, keyword "Secure Communication".
Web server
Function Manual, 11/2019, A5E03484625-AG 23
General information
2.2 Configuring the Web server
Note
When using secure communication (e.g. HTTPS), make sure that the corresponding
modules have the current time of day and the current date. Otherwise, the modules
evaluate the used certificates as invalid and the secure connection will not be
established.
NOTICE
Safety-related functions only possible with CA-signed Web server certificate
The safety-relevant functions, backup and restore the configuration of the CPU, see
section Online backup (Page 87), are only possible with a CA-signed web server
certificate.
A valid CA-signed web server certificate in the CPU is also required:
• User management with password-protected users
• Saving and downloading diagnostic information in csv files
To use the full functionality of the Web server, we therefore recommend that you use the
Certificate Manager to create a CA-signed server certificate in the global security
settings and assign it to the CPU.
Note
To protect against manipulation from the outside, download the certificate only in an
environment that is guaranteed not to be compromised. Installation of the CA certificate has
to be carried out once for each display device you wish to use.
Web server
24 Function Manual, 11/2019, A5E03484625-AG
General information
2.2 Configuring the Web server
Access protection
The certificate establishes an encrypted connection that prevents tapping or distortion of the
communication but does not provide access protection. This means you have to protect your
CPU from unauthorized access with the corresponding configuration in the user
management.
You can find additional information on the access protection in the online help for STEP 7,
keyword: "Protection".
Note
The default activation interval is 10 seconds.
Larger data volumes or multiple HTTP/HTTPS-connections increase the update time.
Web server
Function Manual, 11/2019, A5E03484625-AG 25
General information
2.2 Configuring the Web server
Web server
26 Function Manual, 11/2019, A5E03484625-AG
General information
2.2 Configuring the Web server
In STEP 7, you can manage the user list in the "Web server > User administration" area.
The user list provides the following options:
● Create users
● Specify access permissions
● Assign passwords
Users only have access to the options that are permanently linked to the access rights.
You can assign different user rights depending on the CPU and firmware used.
The available user rights can be selected in STEP 7 as follows:
If you are not logged in, you automatically access the Web server as the user "Everybody".
It does not matter in this case whether you have configured additional users.
Web server
Function Manual, 11/2019, A5E03484625-AG 27
General information
2.2 Configuring the Web server
User "Everybody"
A user with the name "Everybody" is preset in the user list; this user has minimum access
rights. These are read-only access to the intro page and start page. The user "Everybody" is
defined without assigning a password, but you can assign all access authorizations available
in STEP 7 to it.
You can create a maximum of 20 users and a user "Everybody".
Since the user "Everybody" is defined in STEP 7 without assigning a password, pay attention
to which access authorizations you assign to this user.
Individual authorizations, such as the ability to change the operating state, can represent a
security risk.
When assigning security-relevant authorizations, we recommend that you create a user with
password protection in STEP 7.
WARNING
For an F-CPU, do not assign the user "Everybody" the access authorization "Perform
changes as F-Admin".
Make sure that you observe the warnings relating to this in the section "Restoring a backup
of the safety program to an S7-300/1500 F-CPU" in the manual SIMATIC Safety -
Configuring and Programming
(http://support.automation.siemens.com/WW/view/en/54110126).
Passwords should always be more than 8 characters in length and contain uppercase and
lowercase characters as well as special characters and numbers (?!+%$1234...). Computer
keyboard character strings and words from the dictionary are unsuitable. Change the
password regularly.
Note
When assigning rights, note that read and write access to the watch tables and the tag
status is retained, even if you have deactivated the attribute "Accessible from HMI/OPC UA"
in the PLC tag table when configuring the data block in STEP 7.
User-defined pages
In the "User-defined pages" area you can download your own web pages to the CPU and
make your own web applications available via the web browser.
You can find additional information in section User pages (Page 120).
Web server
28 Function Manual, 11/2019, A5E03484625-AG
General information
2.3 Language settings
Figure 2-5 Activation of access to the Web server via the interfaces
Introduction
The Web server provides the user interface in the following languages:
● German (Germany)
● English (U.S.)
● French (France)
● Italian (Italy)
● Spanish (traditional sort)
● Japanese
● Chinese (Simplified)
● Korean
● Russian
● Turkish
● Portuguese (Brazil)
Web server
Function Manual, 11/2019, A5E03484625-AG 29
General information
2.3 Language settings
Note
SIMATIC HMI devices with Windows CE operating system do not support East Asian
languages.
Note
The project languages of the STEP 7 project that you want to assign must be activated and
the corresponding texts (translations) must be available in the project. The project languages
selection is available in the project tree under "Languages & Resources".
Web server
30 Function Manual, 11/2019, A5E03484625-AG
General information
2.3 Language settings
You can also assign interface languages the same project language, for example:
● ① Project language German for user interface language German, English (US) for
English, French for French.
● ② Project language English (US) for all other available interface languages of the Web
server.
In total, you can assign up to three different project languages of the STEP 7 project to the
user interface languages of the web server.
Reference
You can find additional information on how to set the project language in STEP 7 in the
online help for STEP 7, keyword: "Selecting project languages".
Web server
Function Manual, 11/2019, A5E03484625-AG 31
General information
2.4 Updating and saving information
Note
If the load on the CPU is very high during operation, for example, due to a large number of
PROFINET interrupts or extensive communication jobs, the updating of web pages may be
significantly delayed for the duration of this high CPU load.
Web server
32 Function Manual, 11/2019, A5E03484625-AG
Web pages 3
3.1 Start page with general CPU information
Intro
The figure below shows the first page (Intro) called by the Web server.
Figure 3-1 Intro page of the web server of the CPU 1516-3 PN/DP
Note
Select the "Skip Intro" check box in order to skip the intro. The Web server will then take you
directly to its start page in future. This setting is saved in the user profile of the current PC
user.
You can undo the setting "Skip Intro" by clicking the "Intro" link in the left-hand navigation bar
of a web page.
Web server
Function Manual, 11/2019, A5E03484625-AG 33
Web pages
3.1 Start page with general CPU information
You can switch the time display on all the Web pages that provide this drop-down list.
The displayed PLC local time result from the time zone and Daylight Savings Time /
Standard Time setting that are set in the CPU properties.
Web server
34 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.1 Start page with general CPU information
Start page
The start page before login offers information as shown in the figure below. The image of the
CPU with LEDs shows its current status at the time of the data request.
Web server
Function Manual, 11/2019, A5E03484625-AG 35
Web pages
3.1 Start page with general CPU information
Log in
To use the full functionality of the web pages, you must be logged in. Log in with a user
name and password specified in the Web configuration in STEP 7. You now have
corresponding permissions to access the web pages released for this user. If you have not
configured a user, read-only access is granted to intro and start pages by default.
Note
After carrying out your required actions, log out explicitly from the Web server by clicking
"Logout" in order to minimize the risk of unauthorized external access.
Note
Session timeout
The timeout for each started session is 30 minutes. After each update/automatic update, the
session is automatically extended by another 30 minutes.
Web server
36 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.1 Start page with general CPU information
① "General"
"General" contains information about the CPU whose web server you are currently
connected to as well as the project name and the version of the TIA Portal with which the
CPU was configured. The displayed TIA Portal version is at least required to load or edit the
entire project.
② "Status"
"Status" contains information about the CPU status at the time of the query.
Web server
Function Manual, 11/2019, A5E03484625-AG 37
Web pages
3.2 Diagnostics
④ "Fail-safe"
"Fail-safe" contains additional information on the F-CPU. Further information about the
specification is available in the Programming and Operating Manual SIMATIC Safety -
Configuring and Programming
(https://support.industry.siemens.com/cs/de/de/view/54110126/en?dl=en).
Reference
You can find additional information in the section Configuring the Web server (Page 19).
3.2 Diagnostics
Overview
The "Diagnostics" web page provides more information about the tabs:
● Identification
● Program protection
● Memory
● Runtime information
● Fail-safe (with an F CPU)
"Identification" tab
The CPU characteristics are available in the "Identification" tab.
Web server
38 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.2 Diagnostics
①"Identification"
The "Identification" info box contains the plant and location designation and the serial
number. Plant and location identifiers can be configured in STEP 7 in the properties dialog of
the CPU in the "General" tab.
②"Order number"
The "Order number" info box contains the order number for the hardware.
③"Version"
You can find the hardware, firmware and bootloader versions in the "Version" info box.
① "Know-how protection"
Information on whether the PLC program contains at least one block with know-how
protection or not can be found in the info field "Know-how protection".
Web server
Function Manual, 11/2019, A5E03484625-AG 39
Web pages
3.2 Diagnostics
②"Binding"
In the info field "Binding" you can find information on whether copy protection has been
activated by binding at least one program block of the PLC program to the serial number of
the CPU or memory card.
● "Binding"
● "No binding"
● "Binding mismatch": At least one block is bound to a different serial number (load process
is rejected)
"Memory" tab
The "Memory" tab contains current values on the memory currently in use.
Web server
40 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.2 Diagnostics
Web server
Function Manual, 11/2019, A5E03484625-AG 41
Web pages
3.2 Diagnostics
Program-/Communication load
With the "Value refresh" function, you update the data displayed in the bar charts:
● At intervals of 1 second
● Automatic (as configured in STEP 7)
With the "Measurement" function, you can decide which measurement the bar charts
display. You can choose between:
● The current measurement
● The measurement of the longest cycle time
The legend of the program-/communication load shows information on the following values,
highlighted in color:
● "Program load cyclic program OBs"
required computing time in percent within a cycle for cyclic program OBs
● "Program load high-priority OBs"
Required calculation time in percent within a cycle for higher-priority OBs
● "Current communications load"
Required calculation time in percent for current communications tasks within a cycle
● "Maximum permissible communication load"
The configured maximum communication load as a percentage
● "No-load operation"
There is no program-/communication load
Note
When you have configured a minimum cycle time, it can happen that no-load operation
displays a high percentage value, although the value of the cycle time is also high.
The reason for this is that the loads are recorded as mathematical average of the last
second, but the cycle time relates to the last cycle.
Web server
42 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.2 Diagnostics
If you click on a specific color, the selected color is highlighted in the chart. If you click on a
highlighted color, you remove the highlighting.
Web server
Function Manual, 11/2019, A5E03484625-AG 43
Web pages
3.2 Diagnostics
Example 1:
Figure 3-13 Cycle time < 70% of the maximum cycle time
Example 1 shows that the CPU can process the user program within the maximum cycle
time of 150 ms when the maximum communication load of 38% is reached. The predicted
cycle time is < 70% of the configured maximum cycle time.
Example 2:
In example 2, the CPU can also process the user program with maximum communication
load within the maximum cycle time. However, the predicted cycle time is already at 129 ms.
As soon as the predicted cycle time is ≥ 70% of the maximum cycle time, the chart outputs a
warning.
Web server
44 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.2 Diagnostics
Example 3:
Example 3 shows that the CPU can no longer process the user program within the maximum
cycle time when the maximum communication load is reached. If the predicted cycle time is
longer than the maximum cycle time, the chart outputs an error message.
If it is predicted that the maximum cycle time will be exceeded, use the following controller in
order to reduce the maximum communication load.
Web server
Function Manual, 11/2019, A5E03484625-AG 45
Web pages
3.2 Diagnostics
Note
Setting the communication load
The controller predicts the effects of the changed communication load on the cycle time. You
configure the maximum communication load in STEP 7.
Note
For non-measurable fluctuations in the user program, e.g. for future changes in the user
program, plan a sufficiently low value for the maximum communication load.
Note
Due to the different acquisition bases of cycle time and load, a settled system state is
required to display reliable measured values.
You can find additional information about the influence of the communication on the cycle
time in the Cycle and Response Times
(https://support.industry.siemens.com/cs/us/en/view/59193558) function manual.
Web server
46 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.2 Diagnostics
For the trend on the x-axis, you can choose between "Time" (CPU time) and "Samples" by
clicking on the desired unit.
Note
If you have selected the "Time" unit on the x-axis, all measured values that are more than
24 hours old are deleted automatically.
Web server
Function Manual, 11/2019, A5E03484625-AG 47
Web pages
3.3 Diagnostics buffer
Requirements
The web server is activated, languages are set, the text libraries are loaded and the project
has been compiled and downloaded with STEP 7.
Diagnostics buffer
The content of the diagnostic buffer is displayed by the browser on the web page
"Diagnostics buffer".
Web server
48 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.4 Motion Control diagnostics
② "Event"
The "Event" info box contains the diagnostics interrupts with date and time.
Note that the diagnostic events are displayed in the project language of the STEP 7 project
that is assigned to the current web server interface language. You can find out how to assign
project languages to interface languages in section Language settings (Page 29).
③ "Details"
This field outputs detailed information about a selected event. Select the corresponding
event from the ② "Event" info field.
Overview
The Web server displays statuses, errors, technology alarms and the current values of the
configured technology objects (TOs):
● Speed-controlled axis (TO_SpeedAxis)
● Positioning axis (TO_PositioningAxis)
● Synchronous axis (TO_SynchronousAxis)
● External encoder (TO_ExternalEncoder)
● Measuring input (TO_MeasuringInput)
● Output cam (TO_OutputCam)
● Cam track (TO_CamTrack)
The "Motion Control Diagnostics" web page provides detailed information on the configured
technology objects in the following views:
● Diagnostics
● Service overview
Web server
Function Manual, 11/2019, A5E03484625-AG 49
Web pages
3.4 Motion Control diagnostics
Diagnostics
The "Diagnostics" view offers you:
● ① An overview list of the configured technology objects
● ② The status and error messages of a selected technology object
● ③ Values and limits of the status of a selected axis/cam
① "Diagnostics" view
In the "Diagnostics" tab you will find an overview list of the configured technology objects
with designation and type, which indicates whether the respective technology object is
"released" and "referenced".
The technology object is enabled: The axis can be moved with motion jobs.
The technology object is homed: The relationship between the position in the technology
object and the mechanical position was successfully created. The actual position value on
the technology object is assigned to a reference mark.
Web server
50 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.4 Motion Control diagnostics
Select the required technology object. The related diagnostics information is shown in the
bottom tabs.
Web server
Function Manual, 11/2019, A5E03484625-AG 51
Web pages
3.4 Motion Control diagnostics
Web server
52 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.4 Motion Control diagnostics
You use the "Cam track status" tab to monitor the cam track status as in STEP 7.
Service overview
The "Service overview" view offers you:
● ① The status and diagnostic information for several technology objects
● ② A filter option for selecting the displayed technology objects
Web server
Function Manual, 11/2019, A5E03484625-AG 53
Web pages
3.4 Motion Control diagnostics
Figure 3-23 Motion Control diagnostics, service overview: Status and error information
Web server
54 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.4 Motion Control diagnostics
To select the information to be displayed, click the list symbol in the first column of the
table. Make your selection in the next window. Click the list symbol again to leave the
selection window.
Figure 3-24 Motion Control diagnostics, service overview: Configuring the status and error
information
Web server
Function Manual, 11/2019, A5E03484625-AG 55
Web pages
3.4 Motion Control diagnostics
Figure 3-25 Motion Control diagnostics, service overview: Status and error information - Select
technology objects
Additional information
You can find additional information in the S7-1500(T) Motion Control function manuals on the
Internet (https://support.industry.siemens.com/cs/ww/en/view/109751049).
You can find explanations of the diagnostics functions "Status and error bits" and "Motion
status"/Cam track status" of the individual technology objects in the online help for STEP 7.
Web server
56 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.5 Module information
Module information
The status of a device is indicated by means of symbols and comments on the "Module
information" web page.
Red A module in a lower module level does not have the status "Component OK"
Web server
Function Manual, 11/2019, A5E03484625-AG 57
Web pages
3.5 Module information
① "Module information"
Depending on the selected level, the table contains information on the rack, the DP master
system, the PROFINET IO master system, the stations, the individual modules or the
modules or submodules of the station.
③ "Topology"
The two web pages, "Topology" and "Module information", are linked. A click on "Topology"
of the selected module automatically takes you to this module in the graphic view of the set
topology on the "Topology" web page. The module is displayed in the visible area of the
"Topology" web page. The device header of the selected module flashes for a few seconds.
Web server
58 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.5 Module information
④ "IP address"
If a link is available, you can use it to access the Web server of the configured device you
selected.
⑤ "Details"
Additional information about the selected module is provided in the "Status" and
"Identification" tabs via the "Details" link.
⑥ "Status" tab
The tab contains information about the status of the selected module when a fault or alarm
exists.
⑦ "Identification" tab
The tab contains data on the identification of the selected module.
Note
This tab displays only the data configured offline of the module.
Web server
Function Manual, 11/2019, A5E03484625-AG 59
Web pages
3.5 Module information
⑧ "Statistics" tab
The tab is only displayed for PROFINET IO devices and contains the following information
on the communication statistics of the selected IO device:
● "Total statistics - Sent data packages"
You can assess the data transmission on the transmit line based on the key data in this
info box.
● "Total statistics - Received data packages"
You can assess the data transmission on the receive line based on the key data in this
info box.
● "Statistics port x - Sent data packages"
You can assess the data transmission on the transmit line for each port based on the key
data in this info box.
● "Statistics port x - Received data packages"
You can assess the data transmission on the receive line for each port based on the key
data in this info box.
Reference
You can find additional information in the "Statistics" tab in the section Communication
(Page 67).
Web server
60 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.5 Module information
Note
If you are using the function Configuration control (option handling) in the central
configuration of your plant, the information text in the headings area of the web page informs
you that the status of the I/O modules may be displayed inconsistently. No corresponding
text is displayed for the distributed I/O.
Reference
You can find additional information on the "Module information" in the online help for STEP
7, keyword: "Module information".
Web server
Function Manual, 11/2019, A5E03484625-AG 61
Web pages
3.6 Firmware update
Introduction
You update the firmware as a user with the corresponding access rights on the "Module
information" web page at the module level. You will find information on user management in
section Configuring the Web server (Page 19) under "Amending user management".
You use an update file to update the firmware of the CPU, the display of the CPU, or the
individual central or distributed modules. Note that all modules you want to update must be
compatible with the TIA Portal as of V12.0.
Note
A firmware update is not possible if access is via a mobile terminal device with the "iOS"
operating system.
Web server
62 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.6 Firmware update
Procedure
The following steps are required to perform a firmware update:
● Click on "Browse" in the Firmware Loader area.
● Select the file you would like to use for the firmware update. You can find the available
firmware updates on the Service&Support page on the Internet
(http://support.automation.siemens.com).
● If the status is "Ready for update", click "Run update". If the CPU is in RUN mode during
the update, the following alarm is output:
Acknowledge the alarm output by clicking "OK". The CPU is set to STOP mode and the
firmware update is executed.
Web server
Function Manual, 11/2019, A5E03484625-AG 63
Web pages
3.6 Firmware update
If you click "Cancel", the CPU remains in the current mode and the firmware update is
canceled.
● A alarm informs you about the order number and version ID of the updated firmware once
the update is complete.
The CPU is automatically placed in RUN mode when the mode selector of the CPU is in
RUN and when you acknowledge the alarm with "OK". This may take a few minutes;
there is no progress indicator.
If you click "Cancel", the CPU remains in STOP mode and you can run additional
updates.
Reference
For additional information on the topic of firmware update, refer to the STEP 7 online help
and the following FAQ on the Internet
(https://support.industry.siemens.com/cs/ww/en/view/67190848).
Web server
64 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.7 Alarms
3.7 Alarms
Requirements
The alarm texts were configured in the user-specific languages. For information about
configuring alarm texts, refer to STEP 7 and to the Service&Support pages
(http://www.siemens.com/automation/service&support).
Alarms
To receive compact information on fault analysis, we recommend that you always first read
out the content of the alarm buffer. This is the most effective method to get an overview of
the pending faults.
The browser displays the content of the alarm buffer on the "Alarms" web page.
Web server
Function Manual, 11/2019, A5E03484625-AG 65
Web pages
3.7 Alarms
① "Alarms"
Alarms of the CPU are displayed in descending chronological order with date and time in info
box ①.
The alarm text parameter is an entry which contains the alarm texts configured for the
corresponding fault definitions.
Note that the message texts are displayed in the project language of the STEP 7 project that
is assigned to the current web server interface language. You can find out how to assign
project languages to interface languages in section Language settings (Page 29).
Sorting
You also have the option to display the individual parameters of the currently displayed web
page (max. 50 entries) sorted in ascending or descending order. For this purpose, click on
one of the parameters in the column header:
● Alarm number
● Date
● Time (of the CPU)
● Alarm text
● Status
● Acknowledgment
The alarms are returned in chronological order when you click the "Date" entry. Incoming
and outgoing events are output at the Status parameter.
If you have the appropriate user rights (see section Configuring the Web server (Page 19)),
for alarms which can be acknowledged, a button is available to you in the "Acknowledgment"
column with which you can acknowledge the alarm.
Saving alarms
You can save alarms to a csv file for further processing in a spreadsheet program or
database program.
Save the data by clicking the icon.
A dialog opens in which you can specify the file name and target directory.
Web server
66 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.8 Communication
3.8 Communication
Overview
The "Communication" web page provides detailed information about the following tabs:
● Parameters
● Statistics
● Resources
● Connections
① "Parameter" tab
A summary of the information on the PROFINET and Ethernet interfaces of the selected
CPU is available in the "Parameter" tab.
② "Network connection"
The item "Network connection" includes information for identification of the integrated
PROFINET and Ethernet interfaces of the corresponding CPU. The MAC address is located
on the CPU above the respective PROFINET or Ethernet interface.
③ "IP parameter"
This parameter includes information on the configured IP address and number of the subnet
in which the corresponding CPU is located.
Web server
Function Manual, 11/2019, A5E03484625-AG 67
Web pages
3.8 Communication
④ "Physical properties"
The following information on the interface hardware is available in the "Physical properties"
field:
● Port number
● Link status
● Settings
● Mode
● Connection medium
Web server
68 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.8 Communication
① "Statistics" tab
Information on the data transmission can be found on the "Statistics" tab.
Web server
Function Manual, 11/2019, A5E03484625-AG 69
Web pages
3.8 Communication
② Number of connections
Under "Number of connections", you will find information on the maximum number of
connections and the number of connections not assigned.
③ Connections
The item "Connections" provides information on the number of connections reserved or used
for ES, HMI, S7, OpenUser, web communication and other communication functions.
Web server
70 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.8 Communication
① "Connections" tab
The "Connections" tab contains information on the status of the communication connections.
② Status
Under "Status", you will find an overview of the communication connections being
established and the already established communication connections.
For each connection, the table contains the following information: status of the connection,
local ID, slot of gateway, remote address (IP address), the corresponding remote address
type, method of connection, and type of connection.
③ Details
Under "Details", you will find detailed information about the selected connection.
Reference
For an explanation of the error message displayed when a connection is interrupted or an
attempt to establish a connection fails, refer to the STEP 7 online help.
Web server
Function Manual, 11/2019, A5E03484625-AG 71
Web pages
3.9 Topology
3.9 Topology
3.9.1 Introduction
Set topology
The set topology is displayed if you have topologically interconnected the connections in the
configuration with STEP 7.
This view identifies the topological assignment of PROFINET devices that have failed, the
differences between the set and actual topology, and interchanged ports.
Note
The configured set topology is always displayed by default in the following scenarios:
• When the "Topology" web page is called via the navigation bar
• When you change from the overview of PROFINET IO devices on the "Module
information" web page to the "Topology" web page by means of the "Topology" link.
If a setpoint topology was not configured, the actual topology is displayed.
Actual topology
Displays the current topological structure of the "configured" PROFINET devices of a
PROFINET IO system and the directly adjacent, non-configured PROFINET devices (display
of the neighbor relationships, provided these can be determined; but the status of these
adjacent PROFINET devices is not displayed).
Web server
72 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.9 Topology
Requirements
For error-free operation of the topology, the following conditions must be met:
● You have made the Language settings (Page 29).
● In the Topology Editor of STEP 7, you configured the topological interconnection of ports
(requirement for display of the set topology and the corresponding topological target
connections).
● The project has been compiled in STEP 7.
● The project is completely loaded.
Web server
Function Manual, 11/2019, A5E03484625-AG 73
Web pages
3.9 Topology
Connection Meaning
Set topology Actual topology
Green The current actual connection matches the configured target Connections detected
connection.
Red Mismatch between the current actual connection and the -
configured target connection (e.g., port interchanged).
Yellow Connection diagnostics not possible. Causes: -
• Malfunction of communication with a device (e.g., cable
was removed)
• Connection to a passive component (e.g., switches or
cables)
• Connection to devices/PROFINET devices on a different
IO controller or IO subsystem.
③ Deactivated devices
All deactivated, configured PROFINET devices are displayed in light gray.
④ Interchanged ports
Interchanged ports are highlighted in red in the set topology view. The actual topology view
indicates the actually connected ports, while the set topology view displays the configured
target connections.
Web server
74 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.9 Topology
Note
Displaying faulty neighbor relationships
If a device does not have the matching firmware, the relationships cannot be displayed
correctly. This means a firmware update of the respective device is required in case a faulty
neighbor relationship is displayed.
Web server
Function Manual, 11/2019, A5E03484625-AG 75
Web pages
3.9 Topology
Reference
Additional examples for graphical topology view are available in the section Examples for
graphical topology views (Page 79).
Table 3- 5 Meaning of the symbols relating to the status of the PROFINET devices
Symbol Meaning
Configured and accessible PROFINET devices
Devices for which neighbor relations cannot be determined, or for which the neighbor
relationship could not be read out completely, or only with errors
Web server
76 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.9 Topology
② Meaning of the symbols relating to the module status of the PROFINET devices
Table 3- 6 Meaning of the symbols relating to the module status of the PROFINET devices
- A module in a lower module level does not have the status "Component OK".
Reference
For additional information on the "Report System Error" function, refer to the STEP 7 online
help, keyword: "System diagnostics".
Web server
Function Manual, 11/2019, A5E03484625-AG 77
Web pages
3.9 Topology
Web server
78 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.9 Topology
"Set topology" is OK
Here you see the connections as they are configured in the topology editor by STEP 7. The
configuration and wiring match.
"Actual topology" is OK
Shows the actual layout of all configured devices that can be reached topologically.
Web server
Function Manual, 11/2019, A5E03484625-AG 79
Web pages
3.9 Topology
Web server
80 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.9 Topology
Web server
Function Manual, 11/2019, A5E03484625-AG 81
Web pages
3.10 Tag status
Tag status
The browser outputs the tag status on the web page of the same name.
Note
Saving the tag status as a bookmark
When the page is exited, the entries made on it are not saved. If you want to monitor the
same entered tags again later on, then create a bookmark in your Web browser for the "Tag
status" page. Otherwise, you will have to enter the tags again when the page is reopened.
If you have defined your user page as start page of the Web server, you cannot access the
tag status via the saved bookmarks. You can find additional information in section Defining
the user page as start page (Page 141).
Note
Selected tag addresses are copied to the URL
The maximum number of characters for the URL of the tag status page is 2083. You can see
the URL which corresponds to your current tag status page in the address bar of your Web
browser.
To monitor several tags, we recommend the use of the watch tables (Page 85).
Web server
82 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.10 Tag status
① "Name"
In the "Name" text box, enter the address of the tag whose behavior you want to monitor.
This may be a symbolic or absolute address.
● PLC tags (inputs and outputs, bit memories, times and counters) and DB tags in blocks
with standard access have an absolute and a symbolic address.
● DB tags in blocks with optimized access have a symbolic address and no absolute
address.
Example for access to the absolute address of a data block with standard access:
The absolute address consists of the preceding address ID %, the number of the data block
and the absolute address of the tags in the data block, separated by a period: %DB1.DBX1.0 =
absolute addressing of the tags "DBX1.0" in the global data block "DB1".
Invalid entries are displayed in red font.
② "Display format"
Using the drop-down list box, select the desired display format of the respective variable. If
the tag cannot be displayed in the desired format, it will be displayed in hexadecimal format.
③ "Value"
Under "Value", the value of the corresponding operand is displayed in the selected format.
④ "Modify value"
You can change the value of tags and write them to the CPU in this column. To transfer
several changed values in one operation, click the "Apply" button below the table.
To be able to read values and write values to the CPU, you need to have configured a user
with the appropriate access rights in STEP 7.
If the value you entered is not valid (e.g. binary value in a BOOL field), the entry is not
applied and the corresponding input field remains empty. A specific message relating to this
is not output.
You can change the values of the following data types:
● Bool, Byte
● DWord, LWord, Word
● Int, DInt, LInt, SInt, UDInt, UInt, ULInt, USInt
● Real, LReal
● LDT
● Counter, Date
● Time, LTime, Time_Of_Day, LTime_Of_Day, Timer
● S5Time
● Char, WChar, String
Note
The following generally applies: To be able to write data, the "Referrer" transfer must be
activated in your Web browser (this is the default in all common browsers).
Web server
Function Manual, 11/2019, A5E03484625-AG 83
Web pages
3.10 Tag status
Reference
You can find additional information on the available data types in the STEP 7 online help,
keyword: "Overview of the valid data types".
Web server
84 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.11 Watch tables
Watch tables
The browser displays the content of the configured, web-enabled watch tables on the web
page of the same name.
Note
Please note that you can observe a maximum of 50 of the watch tables configured in STEP
7 in the Web server.
Each of these tables is displayed in the Web server with a maximum of 200 entries.
If you are monitoring many large watch tables in the Web server, the update time may
increase due to the large data volumes.
The number of watch tables that you can monitor download into the CPU also depends on
the size of the SIMATIC memory card used.
① Selection
Select one of the configured watch tables from the drop-down list.
② "Name"
The symbolic name of the tag is shown in this info box.
Web server
Function Manual, 11/2019, A5E03484625-AG 85
Web pages
3.11 Watch tables
③ "Address"
The absolute address of the tags is displayed within this info field (if present, e.g. for inputs
or outputs; DB tags in blocks with optimized access have no absolute address).
③ "Format"
Select the display format of the respective tag from the drop-down list.
⑤ "Value"
This column shows the values in the corresponding display format.
⑥ "Modify value"
You can change the value of tags and write them to the CPU in this column.
To be able to read values and write values to the CPU, you need to have configured a user
with the appropriate access rights in STEP 7.
If the value you entered is not valid (e.g. binary value in a BOOL field), the entry is not
applied and the corresponding input field remains empty. A specific message relating to this
is not output.
Note
The following generally applies: To be able to write data, the "Referrer" transfer must be
activated in your Web browser (this is the default in all common browsers).
Note that the comments are displayed in the project language of the STEP 7 project that is
assigned to the current user interface language of the Web server. You can find out how to
assign project languages to interface languages in section Language settings (Page 29).
Reference
You can find additional information on the available data types in the STEP 7 online help,
keyword: "Overview of the valid data types".
Web server
86 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.12 Online backup
NOTICE
Prior to every restoration of the CPU configuration, always first perform an online backup of
the current CPU configuration and save this backup file to a local directory of your PC.
This ensures that you can undo a restoration which failed (e.g. due to a damaged backup
file) or which does not show the desired result.
Note
You can also perform online backup and restoration of the CPU configuration in STEP 7 (see
STEP 7 online help, keyword: "Creating a backup of an S7 CPU").
When backing up using STEP 7, the backup file is saved within the STEP 7 project. With a
backup using the Web server, the backup file is saved to a local directory of your PG/PC
(e.g. "Downloads" directory). Web server backup files cannot be restored via STEP 7, nor
can STEP 7 backup files be restored directly using the web server.
To restore a STEP 7 backup file using the web server, first save the STEP 7 backup file to a
local directory of your programming device/PC (e.g. "Downloads" directory). From there, you
can restore the backup with the Web server.
Note
The "Online backup" function is not available if you access the web server via:
• a virtual IP address
• a communication module (CM)
• a communication processor (CP)
Requirements
● You access the CPU via the secure transmission protocol "HTTPS".
● A valid CA-signed certificate is installed in the Web browser; see section Configuring the
Web server (Page 19).
Web server
Function Manual, 11/2019, A5E03484625-AG 87
Web pages
3.12 Online backup
Online backup
Web server
88 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.12 Online backup
Note
During the execution of the online backup, some data is not available in the web page view
of the web server.
Web server
Function Manual, 11/2019, A5E03484625-AG 89
Web pages
3.12 Online backup
Note
To restore the configuration of an F-CPU whose security program and/or password has
been changed for the F-CPU in the meantime, you also need the access authorization
"Perform changes as F-Admin"; see "Amending user management" in the section
Configuring the Web server (Page 19).
WARNING
The authorization "Perform changes as F-Admin" on the web server without password
protection (user "Everyone") is only for test purposes, commissioning, etc. i.e. only when
the system is in productive operation. In this case, you have to ensure the security of the
plant through other organizational measures, e.g. through spatial protection.
Before the transition to productive operation, you must remove the right "Perform
changes as F-Admin" from the user "Everybody".
The password of the user of the web server with the right "Perform changes as F-
Admin" must only be accessible to authorized persons.
Web server
90 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.12 Online backup
The restoration of the CPU configuration starts and you will be continuously informed of
the current status:
– "Loading configuration."
– "Resetting CPU."
This may take a few minutes.
7. When the procedure is complete, you will be logged out and the "Reload page..." button
will be displayed.
If you did not receive an error message during the restoration procedure, the restoration
of the CPU configuration was successfully completed and you will receive a
corresponding message.
Click the "Reload page..." button and log on to the newly downloaded CPU configuration
with your user name and password.
Web server
Function Manual, 11/2019, A5E03484625-AG 91
Web pages
3.13 Record
3.13 Record
Requirements
● A trace configuration has been created, i.e. you have defined the recording and trigger
conditions and selected the signals to be recorded.
– Note: You can only display measurements stored on the SIMATIC memory card on
the "Record" web page.
In order for the CPU to save the measurements on the SIMATIC memory card, you
must make the following settings in the trace configuration in STEP 7:
1. Set the "Trigger mode" to "Trigger on tag".
2. Select the "Save measurements on device (memory card)" check box.
● You have transferred the trace configuration to the device and activated it there.
● You have been assigned the access right "The user is authorized to..." > "...query
diagnostics" in the user administration of the Web server; see section Configuring the
Web server (Page 19).
Web server
92 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.13 Record
Figure 3-50 Dialog of the settings for saving measurements to the memory card in STEP 7
Number of measurements
The CPU supports a maximum of 999 measurements. While the CPU writes the trace
recordings to the load memory of the memory card, it pauses monitoring of the trigger
conditions for the trace job. After the CPU has terminated the storing of Trace recordings,
the CPU continues checking of the trigger conditions.
NOTICE
Memory required on the SIMATIC memory card
When the trace function "Measurements on device (memory card)" requires more memory
than is available on the SIMATIC memory card, undesired effects may result. Ensure there
is always sufficient free storage space to use the "Measurements on device (memory card)"
function.
In addition to the "Measurements on device (memory card)" Trace function, other functions,
such as storing data logs, use memory space on the SIMATIC memory card. Make sure
that enough memory space is available for all functions that occupy memory.
You can view the current values on the currently used space in the load memory in the
"Memory" tab on the "Diagnostics" web page.
Web server
Function Manual, 11/2019, A5E03484625-AG 93
Web pages
3.13 Record
Additional information
The user interface of the "Trace" website is largely the same as that of the trace function in
STEP 7. See the Using the trace and logic analyzer function manual
(https://support.industry.siemens.com/cs/ww/en/view/64897128) and the online help for
STEP 7 for more on this.
① Trace recordings
② Toolbar of the trend diagram
③ Trend diagram and bit track
④ Signal tables
Figure 3-51 Trace start page without measurement
Web server
94 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.13 Record
Opening measurements
To open a measurement, right-click on a measurement to select it from the "Trace
recordings" area. Then select the command "Show in chart" in the shortcut menu.
The measurement is displayed in the "Curve diagram and bit track" area.
Web server
Function Manual, 11/2019, A5E03484625-AG 95
Web pages
3.13 Record
Trace recordings
The "Trace recordings" area shows a list of all existing measurements, sorted by date and
time of the trace recordings. A measurement always consists of a trace configuration with an
associated recording.
The following table shows the special Web server shortcut menu commands in the Trace
recordings area:
Table 3- 7 Web server shortcut menu commands in the trace recordings area
Some data types offer the display of individual bit tracks. Enable the individual bit tracks of
the signal opened in the signal table using the icon.
You can adjust the display of the signals in the signal table and with the toolbar of the curve
diagram.
Web server
96 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.13 Record
Scale Y automatically Automatic scaling of all visible signals on the vertical Y area.
Web server
Function Manual, 11/2019, A5E03484625-AG 97
Web pages
3.13 Record
Web server
98 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.13 Record
Trend diagram
The trend diagram displays the selected signals of a recording. Bits are shown in the lower
diagram as a bit track.
The following table shows the special Web server shortcut menu commands of a selected
signal in the trend diagram:
Table 3- 9 Web server shortcut menu commands in the trend diagram area
Web server
Function Manual, 11/2019, A5E03484625-AG 99
Web pages
3.13 Record
① Vertical ruler
② Vertical scroll bar
③ Horizontal ruler
④ Horizontal scroll bar
Figure 3-56 Trace measurement - rulers and scroll bars
Web server
100 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.13 Record
Signal tables
The signal tables list the signals of the selected measurement and provides setting options
for some properties. The area of the signal tables is divided into the tabs "Measurements",
"Signals" and "Calculated signal".
The following table shows the settings and displays of the recorded signals of the "Signals"
tab:
Column Description
Signal or error sym-
bol
Signal symbol
The point indicates that at least one bit has been selected for display as bit track for the signal in the
bit selection.
Signal number Automatically generated number of the signal
The signal can be accessed via the signal number in the formulas.
Name Display of the signal name
A click on the name of a displayed signal updates the scale in the trend diagram.
Web server
Function Manual, 11/2019, A5E03484625-AG 101
Web pages
3.13 Record
Column Description
Open bit selection
Individual bits can also be selected for the following data types for display as a bit track in the lower
curve diagram:
• Byte, Word, DWord, LWord
• SInt, USInt, Int, UInt, DInt, UDInt, LInt, ULInt
Example of an opened bit selection for the DWORD data type:
Select or deselect the relevant bit for display by clicking the icon.
Data type Display of the data type
Address Display of the address of the signal
The field remains empty with optimized / type correct tags.
Color Display and setting option for the color of the signal
Signal group Display or input of the signal group name for one signal group
The Y-scales are scaled identically for all signals of one signal group.
Enter an identical signal group name for those signals that you want to scale identically.
To remove signals from a signal group:
• Delete the signal group name.
• Click the empty entry in the shortcut menu of the signal group
Note that you cannot group binary signals.
Gray field for the To add or delete the signal from a signal group, move the mouse pointer over the grey field or the
chain icon of the chain icon ( or ),
signal group Clicking the chain icon adds the signal to a signal group or creates a new signal group.
Clicking the chain icon removes the signal from the signal group.
For a selected signal with signal group, the chain icon displays all signals of the same signal
group.
Input field of the The input field displays the signal group name. As an alternative to the chain icon, you can assign
signal group or delete a group name via text input in this field.
Min. Y-scale Display or input of the minimum value for the scaling of the signal
Max. Y-scale Display or input of the maximum value for the scaling of the signal
Comment Display and input option for a comment about the signal
Y(t1) Display of the value at the position of the first measuring cursor
Y(t2) Display of the value at the position of the second measuring cursor
ΔY Display of the value difference between the first and the second measuring cursor
Web server
102 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.13 Record
The following table shows the possible Web server shortcut menu commands of the
"Signals" tab:
Web server
Function Manual, 11/2019, A5E03484625-AG 103
Web pages
3.13 Record
The following table shows the settings and displays for the measurements:
Column Description
Alignment of the measurements
Trigger/Sample Alignment of the measurements in accordance with the trigger or measurement point.
The individual zero point for the measurement is predefined in the table under the "Align-
ment" column.
Time stamp (absolute time) Alignment of the measurements in accordance with their time stamp.
The signals are aligned in accordance with the time from the absolute time stamp.
Table columns
Static display of the measurement icon
Web server
104 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.13 Record
Add the basic signals in the "Basic signals" section. The basic signals form the basis for
calculating the new signal. You can change the default name of the variable in the "Name"
column. You select real signals for the specification of the number of signal points to be
calculated in the "Signal" column.
Enter the code for the calculation of the Y values of the signal points in the "Calculated signal
value" section. The section is divided into:
● Basic mode (expression)
● Advanced mode (JavaScript)
Use the JavaScript syntax to enter the code for both modes. Take into account, however,
that not the full JavaScript functionality is supported.
Web server
Function Manual, 11/2019, A5E03484625-AG 105
Web pages
3.13 Record
Web server
106 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.13 Record
The following table shows all the elements that you can use for your code:
Web server
Function Manual, 11/2019, A5E03484625-AG 107
Web pages
3.13 Record
Web server
108 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.13 Record
You also have the possibility to generate the JavaScript code of a real signal from the
"Signals" tab. Alternatively you can also select one of predefined templates of the function
table, change the code and generate a calculated signal.
To check the syntax, click the symbol "Check syntax" or generate the signal by clicking the
icon in the toolbar. If the code has any errors, these are displayed to the right of the
"Check syntax" icon in red lettering. If the code does not have any errors, the "Syntax check
successful" message is displayed.
Web server
Function Manual, 11/2019, A5E03484625-AG 109
Web pages
3.13 Record
Import/export settings
You can import/export certain parameters (formulas, calculation method, signal type and
signal name. To import parameters, click the icon in the toolbar of the "Calculated signal"
tab. To export parameters, click the icon in the toolbar of the "Calculated signal" tab.
Web server
110 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.13 Record
The following table shows the settings and displays of the "Managing snapshots" window.
Column Description
Static display of the snapshot icon
Note
Delete measurement
If you delete a measurement of a calculated signal, all the associated snapshots are also
deleted.
Web server
Function Manual, 11/2019, A5E03484625-AG 111
Web pages
3.14 DataLogs
3.14 DataLogs
DataLogs
On the DataLogs web page, you can view all the DataLogs that you have created.
You can sort the DataLogs according to individual parameters in ascending or descending
order.
For this purpose, click on one of the parameters in the column header:
● Name
● Size
● Changed
You can download the relevant DataLog file by clicking the file name.
The "Active" column shows whether the respective DataLog file is used (is active) or not.
When the DataLog file is active, you can call (download) and empty the relevant DataLog file
by clicking the icon . The file must be closed. The empty DataLog file is still maintained in
the list of DataLogs.
You delete the DataLog file by clicking the icon in the "Delete" column. The file must be
closed.
You close an opened DataLog file in STEP 7 by using the "DataLogClose" instruction.
Web server
112 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.14 DataLogs
/DataLogs?Path=/DataLogs/Test2.txt&Action=DOWNLOAD&E=1<CR><LF>
<CR><LF>
When the URLs are called successfully, the CPU returns the status code 200 OK. The CPU
also returns this status code if no DataLogs exist on the SIMATIC memory card.
Note
Access authorization to the CPU for the reading out of data
In order to download DataLogs from the CPU, the user has to dispose of reading rights on
the CPU. If the user does not have the required rights, the CPU returns the status code 403
FORBIDDEN in the HTTP Response.
Web server
Function Manual, 11/2019, A5E03484625-AG 113
Web pages
3.14 DataLogs
Web server
114 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.15 User files
Introduction
You read and write with the instructions "FileReadC" (Compact Read Data of a File) or
"FileWriteC" (Compact Write Data to a File) in STEP 7 ASCII files (files in binary format).
Requirements
You need to save the UserFiles in the "UserFiles" directory on the SIMATIC memory card.
You specify the storage location in the path of the "FileReadC" or "FileWriteC" instruction.
Path and file name for UserFiles have to fulfill the following rules:
● The file name must not be longer than 55 characters.
● The following characters are permitted for the directory and file name: 0 to 9, a to z in
upper- and lower-case, "-" and "_"
● The path name must not start with "/", "\" or "."
● The path name must not contain ".."
Examples:
● UserFiles\Lift16_DataBase.txt
● UserFiles\2017-04-13_ErrorLog.bin
Web server
Function Manual, 11/2019, A5E03484625-AG 115
Web pages
3.15 User files
NOTICE
Size UserFiles
When you open a large UserFile through this Web page, the processing times of the
instructions that process this file can increase notably.
Web server
116 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.15 User files
File2.csv|/UserFiles?Name=File2.csv&Action=DOWNLOAD&E=1|/UserFiles?Name=File2.csv&Acti
on=DELETE&E=1<CR><LF>
<CR><LF>
When the URLs are called successfully, the CPU returns the status code 200 OK. The CPU
also returns this status code if there are no UserFiles on the SIMATIC memory card.
Note
Access authorization to the CPU for the reading out of data
In order to download UserFiles from the CPU, the user must have reading rights for the
CPU. If the user does not have the required rights, the CPU returns the status code 403
FORBIDDEN in the HTTP Response.
Web server
Function Manual, 11/2019, A5E03484625-AG 117
Web pages
3.15 User files
Note
Access authorization to the CPU for uploading data
In order to download UserFiles to the CPU, the user must have write rights for the CPU. If
the user does not have the required rights, the CPU returns the status code 403 FORBIDDEN in
the HTTP Response.
Web server
118 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.15 User files
$('#list').append('<tr><td>'+decodeURIComponent(data[0])+'</td><td><
a href="http://192.168.2.132'+data[1]+'">Download</a><br><button
type="button"
onclick="Delete(\''+data[2]+'\')">Delete</button></td></tr>');
});
});
});
</script>
</body>
</html>
Web server
Function Manual, 11/2019, A5E03484625-AG 119
Web pages
3.16 User pages
User pages
In the "User pages" area of the Web server you can upload HTML pages you have created
yourself for reading out data of the target system.
You create the pages with an HTML editor of your choice from which you generate data
blocks (Web control DB and Fragment DBs) in STEP 7 and download them to the CPU. The
"WWW" instruction synchronizes the user program with the Web server on the CPU and
initializes the Web server. With the first call of the "WWW" instruction, the link to the user
page is displayed on the web page of the CPU. A click on the link opens the user page in a
new window.
Note
Write access to user pages allows the process parameters and, thus, the operation of the
CPU to be influenced.
To prevent external manipulation, always assign a password for users with write access to
user pages in the user management. You will find information on user management in
section Configuring the Web server (Page 19) under "Amending user management".
Web server
120 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.16 User pages
Requirements
● You have assigned symbolic names to the tags you want to use on your web page in
STEP 7 .
● In the Inspector window under "Properties > General > Web server", you have at least:
– Activated the Web server
– Assigned read-only or read and write permissions to the users for user pages (see
section Configuring the Web server (Page 19))
● You have completed all necessary communication settings (IP address parameter,
subnet mask, etc.).
● You have downloaded the configuration.
● You have created your user page in an HTML editor of your choice:
– Automatic HTML pages, if you want to disable control of the page layout by means of
the user program (requires at least one call of SFC 99).
Changes in mode from RUN to STOP do not affect the call of the user pages.
– Manual HTML pages, if you want to enable control of the page layout by means of the
user program (cyclic call of SFC 99 required).
Web server
Function Manual, 11/2019, A5E03484625-AG 121
Web pages
3.16 User pages
Note
Extensive HTML pages, especially those with a lot of images, take up a lot of space in the
load memory. Make sure you select a SIMATIC memory card with enough memory to
provide sufficient load memory.
If the sum of the HTML pages > 1 MB, performance losses may occur as only 1 MB data
is saved in the cache.
We recommend that you create each individual file of an HTML page with a size not
exceeding 512 KB; otherwise, problems can occur when sending the file from the Web
server to the browser. You can view the size of the respective file in the file explorer of
the directory.
Web server
122 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.16 User pages
Note
If the HTML page contains form fields for data input, automatic update can impair the correct
data input by the user.
To update the entire page automatically, you can add the following instruction to the <head>
area of your HTML page, whereby the number "10" stands for the update interval in
seconds:
<meta http-equiv="refresh" content="10">
References
The description of a user page is available in the section Example of a user page
(Page 143).
Additional help for visualization with user pages is available in the application examples on
the Internet:
● Creating and using your own Web pages for S7-1200
(http://support.automation.siemens.com/WW/view/en/58862931)
● Creating and using your own Web pages for S7-1200 / S7-1500
(https://support.industry.siemens.com/cs/de/en/view/68011496)
● Visualizing with user-defined Web pages on SIMATIC CPUs with PROFINET interface
(http://support.automation.siemens.com/WW/view/en/44212999)
● How do you integrate the string contents in your user-defined Web page of the S7-1500
CPU as of Firmware V1.6?
(https://support.industry.siemens.com/cs/ww/en/view/98754370)
You will find more information on JavaScript commands in the ECMAScript specification on
the Internet (http://www.ecma-international.org/ecma-262/5.1/).
For more information about how to automatically update web pages and how to incorporate
user pages with relative path names, refer to the FAQ with entry ID 62543256 on the
Service&Support (https://support.industry.siemens.com/cs/ww/en/view/62543256) Internet
page.
Web server
Function Manual, 11/2019, A5E03484625-AG 123
Web pages
3.16 User pages
Overview
Automation Web Programming (AWP) commands are a special command syntax for
exchanging data between the CPU and the user page (HTML file).
AWP commands are entered as HTML comments and offer you the following options for
your user-defined pages:
● Reading PLC tags
● Writing PLC tags
● Reading special tags
● Writing special tags
● Defining enum types
● Assigning enum types to tags
● Defining data block fragments
● Importing data block fragments
● Accessing the values of an array
● Accessing the values of a PLC tag of the data type STRUCT
General syntax
All AWP commands, except for the command for reading a PLC tag, have this structure:
<!-- AWP_< command name and parameter> -->
Note
Saving the HTML page
Make sure that you save the file in the editor in UTF 8 character encoding as well.
Web server
124 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.16 User pages
Function Representation
Reading PLC tags :=<Varname>:
Writing PLC tags <!-- AWP_In_Variable Name='<Varname1>' -->
Reading special tags <!-- AWP_Out_Variable Name='<Typ>:<Name>' -->
Writing special tags <!-- AWP_In_Variable Name='<Typ>:<Name>' -->
Defining enum types <!-- AWP_Enum_Def Name='<Name Enum-Typ>' Values='0:
"<Text_1>",1:"<Text_2>",...,x:"<Text_y>"' -->
Assigning enum types to tags <!-- AWP_Enum_Ref Name='<Varname>' Enum='<Name Enum-Typ>'
-->
Defining data block fragments <!-- AWP_Start_Fragment Name='<Name>'[Type=<Typ>]
[ID=<Id>] -->
Importing data block fragments <!-- AWP_Import_Fragment Name='<Name>' -->
Accessing the values of an array <!-- AWP_Start_Array Name='"<DB name>".<array name>' -->
...
<!-- AWP_End_Array -->
Accessing the values of a PLC tag of the <!-- AWP_Start_Struct Name='"<DB name>".<struct name>' --
data type STRUCT > ...
<!-- AWP_End_Struct -->
Web server
Function Manual, 11/2019, A5E03484625-AG 125
Web pages
3.16 User pages
Syntax
:=<Varname>:
<Varname> corresponds to the tag to be read from your STEP 7 project and can be a simple
shared tag or a complete tag path to a structural element. Make sure that you use the name
of the data block and not its number when you use data blocks.
Examples
:="Conveying speed":
:="My_datablock".bitmemory1:
:=%MW100:
Web server
126 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.16 User pages
Note
The code is not adapted automatically during an update to firmware as of V1.6.
Adapt your HTML code if you have used single quotation marks to enclose attributes for the
"Read PLC tags" function.
Figure 3-70 Example of HTML code with attribute in single quotation marks
Web server
Function Manual, 11/2019, A5E03484625-AG 127
Web pages
3.16 User pages
Note
Write access during operation
In order for data to be written to the CPU from a user page, a user with corresponding write
rights must be set up and the user must be logged in as this user. This applies to all write
accesses of web pages to the CPU.
Syntax
<!-- AWP_In_Variable Name='"<Varname1>"' Name='"<Varname2>"'
Name='"<Varname3>"' -->
If the name of the tag that you are using for the web application is not identical with the name
of the PLC tag, you can assign it to a PLC tag with the "Use" parameter.
<!-- AWP_In_Variable Name='<Varname_Webapp>' Use='<PLC_Varname>' -->
Web server
128 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.16 User pages
Special tags
The special tags are mainly the so-called HTTP tags that are defined in the definitions of the
World Wide Web Consortium (W3C). Special tags are also used for cookies and server tags.
Syntax
<!-- AWP_Out_Varible Name='<Type>:<Name>' Use='<Varname>' -->
<Type> corresponds to the type of the special tag.
Options are:
● HEADER
● COOKIE_VALUE
● COOKIE_EXPIRES
<Name> corresponds to the name of the HEADER tag or the cookie:
● HEADER tags:
– Status: HTTP status code (if no other value is set, status code 302 is returned).
– Location: Path for redirection to another page. Status code 302 must be set.
– Retry-After: Time for which the service is most likely not available. Status code 503
must be set.
● COOKIE_VALUE:name: Value of the named cookies.
● COOKIE_EXPIRES:name: Delay time of the named cookie in seconds.
Examples
The HTTP HEADER tag is written to the PLC tag of the same name:
<!-- AWP_Out_Variable Name='"HEADER:Status"' -->
If the name of the special tag is not identical with the name of the PLC tag, you can assign it
to a PLC tag with the "Use" parameter:
<!-- AWP_Out_Variable Name='"HEADER:Status"' Use='"Status"' -->
Web server
Function Manual, 11/2019, A5E03484625-AG 129
Web pages
3.16 User pages
Syntax
<!-- AWP_In_Variable Name='<Type>:<Name>' Use='Varname' -->
<Type> corresponds to the type of the special tag.
Options are:
● HEADER
● SERVER
● COOKIE_VALUE
<Name> corresponds to the name of the HEADER tag or the cookie:
● HEADER tags:
– Accept-Language: Accepted or preferred language
– User-Agent: Browser information
– Authorization: Credentials for a requested resource
● SERVER tags:
– current_user_id: Indicates whether a user is logged in:
current_user_id=0: No user is logged on / user "Everybody" has access.
current_user_id=1: At least one user is logged on.
– current_user_name: User name of the logged-on user
● COOKIE_VALUE:name: Value of the named cookies.
Examples
The HTTP SERVER tag is written to the PLC tag of the same name:
<!-- AWP_In_Variable Name='"SERVER:current_user_id"' -->
The HTTP SERVER tag is written to the PLC tag "My_User ID":
<!-- AWP_In_Variable Name='"SERVER:current_user_id"' Use='"My_User-
ID"' -->
Web server
130 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.16 User pages
Syntax
<!-- AWP_Enum_Def Name='<Name Enum-Typ>' Values='0:"<Text_1>",
1:"<Text_2>",...,x:"<Text_y>"' -->
Examples
To store German values as HTML file in the "de" folder of the HTML directory:
<!-- AWP_Enum_Def Name="Enum1" Values='0:"an", 1:"aus", 2:"Störung"'
-->
To store English values as HTML file in the "en" folder of the HTML directory:
<!-- AWP_Enum_Def Name="Enum1" Values='0:"on", 1:"off", 2:"error"' -
->
Syntax
<!-- AWP_Enum_Ref Name='<Varname>' Enum="<Enum-Type>" -->
<Varname> is the symbolic tag name from the user program, <Enum-Type> of the
previously defined name of the enum type.
Web server
Function Manual, 11/2019, A5E03484625-AG 131
Web pages
3.16 User pages
Web server
132 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.16 User pages
3.16.1.4 Fragments
Fragments
Fragments are "logical sections" of a web page to be processed by the CPU individually.
Fragments are usually entire pages, but they can be individual elements, such as files (e.g.
images) or documents.
Note
In each fragment in which enum texts are referenced by a PLC tag, this PLC tag must be
assigned to the enum type name with the appropriate AWP command.
Defining fragments
A fragment extends to the beginning of the next fragment or to the end of the file.
Syntax
<!-- AWP_Start_Fragment Name='<Name>' [Type="<Typ>"] [ID="<Id>"] -->
This command specifies the start of a fragment.
● <Name> Specifies the name of the fragment. The name must start with a letter [a-zA-Z]
or an underscore ( _ ). This first character can be followed by letters, underscores or
numbers [0-9].
● <Type> Specifies the type of the fragment.
– "manual": The application program is notified of the request for a fragment and can
react accordingly. The functionality of the fragment must be controlled with STEP 7
and the tags of the control DB.
– "automatic": The page is edited automatically (default)
● <Id> You can specify a numerical ID for the fragment. If no ID is assigned, the fragment is
automatically assigned an ID. For manual pages (<Type>=manual), the fragment can be
addressed with this ID in the user program of the CPU.
Note
ID assignment
Set the ID as low as possible because the highest ID influences the size of the Web
control DB.
● <Modus>
– "visible": The contents of the fragment are displayed on the user page (default).
– "hidden": The contents of the fragment are not displayed on the user page.
Web server
Function Manual, 11/2019, A5E03484625-AG 133
Web pages
3.16 User pages
Importing fragments
You can specify a fragment in an HTML page and import this fragment into other websites.
Note
Ensure that no AWP command for importing fragments is positioned between an enum
assignment and enum usage, because this import can result in the enum assignment being
located in a different fragment than the enum usage.
Example
A company logo is to be displayed on all websites of a web application.
The HTML code for the fragment that displays the company logo exists only once. You can
import the fragment as many times and into as many HTML files as required.
Syntax
<!-- AWP_Import_Fragment Name='<Name>' -->
<Name> corresponds to the name of the fragment to be imported.
Example
HTML code within a web page that creates a fragment for displaying an image:
<!-- AWP_Start_Fragment Name='Mein_Firmenlogo' -->
<p><img src="CompanyLogo.jpg"></p>
HTML code that imports the created fragment into another web page:
<!-- AWP_Import_Fragment Name='My_Company_Logo' -->
Web server
134 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.16 User pages
3.16.1.5 Arrays
Arrays
The Web server provides the user program commands AWP_Start_Array and
AWP_End_Array for accessing all values of an array.
Only one-dimensional arrays are supported.
Multidimensional arrays of the form array[x][y] are not supported.
Syntax
<!-- AWP_Start_Array Name='"<DB name>".<array name>' -->
... Content of the array, utilized keywords: ArrayIndex and value..
<!-- AWP_End_Array -->
Parameter
● <Name> defines the name of the array with the elements you want to access.
– You require the DB name and the name of the array corresponding to the data block
structure defined in STEP 7.
– The name must be within single or double quotation marks.
– The DB name is within double quotation marks.
● <ArrayIndex> Index of an array element
● <value> Value of an array element
Example
The example reads all elements of the "MyArray" structure in the "DB_Name" data block of
the CPU and displays the index and the values of the tags on the user-defined web page.
Web server
Function Manual, 11/2019, A5E03484625-AG 135
Web pages
3.16 User pages
3.16.1.6 Structures
Structures
The web server provides AWP commands for accessing structures in order to access the
values of a PLC tag of the data type STRUCT.
Syntax
<!-- AWP_Start_Struct Name='"<DB name>".<struct name>' -->
... Content of structure ...
<!-- AWP_End_Struct -->
Parameter
● <Name> defines the name of the structure with the elements you want to access.
– You require the DB name and the name of the structure corresponding to the data
block structure defined in STEP 7.
– The name must be within single or double quotation marks.
– The DB name is within double quotation marks.
Web server
136 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.16 User pages
Example
The example reads elements of the "MyStruct" structure in the "DB_Name" data blocks of
the CPU and displays the value of the tag on the user-defined web page.
Web server
Function Manual, 11/2019, A5E03484625-AG 137
Web pages
3.16 User pages
Web server
138 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.16 User pages
8. Click the button ④ "Create blocks" to create data blocks from the source files. The
generated data blocks are stored in the STEP 7 project tree in the folder "System blocks
> Web server". These data blocks consist of a control data block (Web control DB) that
controls the display of the webpages and one or several data block fragments (fragment
DBs) with the compiled webpages.
9. In the network view, select the CPU to be loaded and then select the "Download to
device" command in the "Online" menu to download the blocks. The compilation of the
blocks is implicitly triggered before the download. If errors are signaled during this
process, they must be remedied before you can download the configuration.
Note
DB number of the web control DB.
If you change the DB number of the DB 333, the user pages in the Web server can no longer
be reached at renewed downloading into the CPU. Error code W#16#007F is output at the
parameter RET_VAL. Therefore observe the default setting DB 333 for the Web Control DB.
If you want to change the DB number nevertheless, you have to switch the CPU POWER-
OFF → POWER ON, so that the user pages in the Web server can be reached.
Web server
Function Manual, 11/2019, A5E03484625-AG 139
Web pages
3.16 User pages
Parameters
The following table shows the parameters of the WWW instruction.
Table 3- 13 Parameters
RET_VAL parameter
Table 3- 14 RET_VAL
Web server
140 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.16 User pages
Figure 3-72 Example of user page as start page of the Web server
Requirements
The following requirements must be met before the user page is displayed as the start page
of the Web server:
● You have configured the user page as the start page.
● You have configured a user in STEP 7 whom you have assigned at least the
authorization "... open user-defined web pages".
● The CPU is in RUN mode.
Web server
Function Manual, 11/2019, A5E03484625-AG 141
Web pages
3.16 User pages
Procedure
To define the user-defined pages in STEP 7 as the start page of the web server, proceed as
follows:
1. Select the CPU in the device configuration.
2. Open the settings in the Inspector window of the CPU under "Properties > General > Web
server".
3. Select the entry "AWP1" in the area "Entry page" under "Select entry page".
Note
If you define your user page as start page of the Web server, all direct access to the web
pages of the CPU is disabled. This applies also to the bookmarks you saved for the web
pages of the CPU as well as the page for reading out the service data.
Web server
142 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.16 User pages
Reference
You can find additional information on the topic of user page as start page in the FAQ with
entry ID 67184104 on the Service&Support
(https://support.industry.siemens.com/cs/ww/en/view/67184104) Internet page.
The user page was created in English in this example, but you can select any language you
wish when you create your own user page.
In this application, each wind turbine of the wind farm in STEP 7 has a data block with
specific data for the respective location and respective turbine.
The user page gives you the option to access the turbine remotely with a display device.
Users can call the standard web pages of a CPU of a specific wind turbine and switch to the
user page "Remote Wind Turbine Monitor", where they can view the turbine data. A user
with the corresponding access permissions can also set the turbine into the manually
controlled mode and thus control the tags for speed, orientation and angle of attack of the
turbine by means of the website. The user can also specify a brake value regardless of
manual or automatic control of the turbine.
STEP 7 checks the Boolean values for override of the automatic control and, if set, uses the
values for speed, orientation and angle of attack of the turbine as defined by the user.
Web server
Function Manual, 11/2019, A5E03484625-AG 143
Web pages
3.16 User pages
Files used
Three files are used in the application example:
● Wind_turbine.html: The user page in the figure shown above. The control data is
accessed by AWP commands.
● Wind_turbine.css: The Cascading Style Sheet which includes the formatting
specifications of the user page. The use is optional but can simplify the design of the user
page.
● Wind_turbine.jpg: The background image displayed on the user page. The use of images
is optional, user pages with lots of images require a lot more memory in the load memory.
These files are not part of your installation but they are described as an example below.
Web server
144 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.16 User pages
Implementation
The user page uses AWP commands to read out values from the CPU as well as writing
values to it. The user page also uses AWP commands for the definition of enum types, such
as the assignment of tags to enum types for handling the ON/OFF settings.
The user page is structured as follows:
① Header of the website with number and location of the wind turbine.
② Atmospheric conditions at the turbine, wind speed, wind direction and current temperature are
displayed.
③ Read-out power output.
④ Manual override: Activates manual override of the turbine. To make manual settings for speed,
orientation and angle of attack, the STEP 7 user program requires that manual override has
been activated.
⑤ Override of the orientation: Activates manual override of the turbine orientation.
⑥ Override of the angle of attack: Activates manual override of the angle of attack of the rotor
blades.
⑦ By clicking this button, you transfer the override settings to the CPU.
⑧ Manual setting of a percentage value for braking. The setting "Manual override" is not required
to enter a brake value.
Figure 3-75 Overview of user page wind turbine
In addition, the user page uses an AWP command that writes the special tag to the tag table.
The tag table contains the ID of the user who is currently accessing the page.
Example of HTML code for reading and displaying data from the CPU
This part of the HTML code is used to display the power output on the user page.
Web server
Function Manual, 11/2019, A5E03484625-AG 145
Web pages
3.16 User pages
On the left-hand side the "Power Output": text is displayed, on the right-hand side, the value
of the tags for the power output including the unit ("KW").
The AWP command :="Data_block_1".PowerOutput executes the read operation. The data
block is referenced here by its symbolic name and not by its number ("Data_block_1" instead
of "DB1").
The code used in the example is:
<tr style="height:2%;">
<td>
<p>Power output:</p>
</td>
<td>
<p style="margin-bottom:5px;"> :="Data_block_1".PowerOutput: KW</p>
</td>
</tr>
Web server
146 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.16 User pages
Note
Assignment of enum types
If the user page writes into a tag by using an enum type, there has to be a declaration
"AWP_In_Variable" for each "AWP_Enum_Ref" declaration.
Web server
Function Manual, 11/2019, A5E03484625-AG 147
Web pages
3.16 User pages
Setting options
The user page "Remote Wind Turbine Monitor" includes different AWP commands for writing
data into the controller. A user with the corresponding access permissions can control the
wind turbine manually, activate the override for the turbine speed and the turbine orientation
as well as the angle of attack of the rotor blades with the declaration of different
"AWP_In_Variable" write commands. The user can also specify floating-point numbers for
turbine speed, orientation angle of attack and percentage of braking. The user page uses an
HTTP command in the format "POST" to write the tags into the controller.
The code used in the example for setting the brake value is:
<!-- AWP_In_Variable Name='"Data_block_1"' -->
...
<tr sytle="vertical-align: top; height: 2%;">
<td style="width: 22%;"><p>Braking:</p></td>
<td>
<form method="POST">
<p><input name='"Data_block_1".Braking' size="10" type ="text">
%</p>
</form>
</td>
</tr>
This excerpt from the HTML code first defines a "AWP_In_Variable" for the "Data_block_1"
data block which enables the user page to write any number of tags into the data block. The
text "Braking:" is displayed on the left-hand side; on the right-hand side is a box in which the
user can make entries for the "Braking" tag in the data block.
The user page reads out the actual braking value from the controller and displays it in the
text box. A user with the corresponding access permissions can then write a brake value that
controls the braking process into the data block of the CPU.
Note
Declaration of data blocks
If you declare an entire data block by means of a "AWP_In_Variable", each tag in the data
block can be written by means of the user page. If only certain tags in the data block are to
be writable, you declare this specifically using <!-- AWP_In_Variable
Name='"Data_block_1".Braking' -->, for example.
Web server
148 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.16 User pages
Web server
Function Manual, 11/2019, A5E03484625-AG 149
Web pages
3.16 User pages
3.16.5.6 HTML code of the user page "Remote Wind Turbine Monitor"
The complete HTML code of the example user page "Remote Wind Turbine Monitor" as well
as the used Cascading Style Sheet (CSS) is listed below.
Wind_turbine.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"><!--
This test program simulates a website for monitoring and operating a
wind turbine.
Required PLC tags and data block tags in STEP 7:
PLC tag:
User_ID: Int
Data blocks:
Data_block_1
Tags in Data_Block_1:
TurbineNumber: Int
WindSpeed: Real
WindDirection: Real
Temperature: Real
PowerOutput: Real
ManualOverrideEnable: Bool
TurbineSpeed: Real
YawOverride: Bool
Yaw: Real
PitchOverride: Bool
Pitch: Real
Braking: Real
The user-defined website shows the current values for the PLC data
and offers a drop-down list to specify the three Boolean values with
the assigned enumeration type. The selected Boolean values as well
as the data text boxes for speed, orientation and angle of attack of
the turbine are uploaded with the "Send" button. The brake value can
be specified without the "Send" button.
No actual STEP 7 program is required for using this page. The STEP 7
program would theoretically only respond to the values for speed,
orientation and angle of attack of the turbine, if the assigned
Boolean values were specified. The only requirement for STEP 7 is
that the WWW instruction is called with the DB number of the
generated data blocks for this page.
-->
-->
<!-- AWP_In_Variable Name='"Data_block_1"' -->
<!-- AWP_In_Variable Name='"Data_block_1".ManualOverrideEnable'
Enum="OverrideStatus" -->
<!-- AWP_In_Variable Name='"Data_block_1".PitchOverride'
Enum="OverrideStatus" -->
<!-- AWP_In_Variable Name='"Data_block_1".YawOverride'
Enum="OverrideStatus" -->
<!-- AWP_In_Variable Name="SERVER:current_user_id" Use="User_ID"-->
<!-- AWP_Enum_Def Name="OverrideStatus" Values='0:"Off",1:"On"' -->
Web server
150 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.16 User pages
<html>
<head>
<meta http-equiv="content-type" content="text/html;
charset=utf-8"><link rel="stylesheet" href="Wind_turbine.css">
<title>Remote monitoring of wind turbines
</title>
<body>
<table cellpadding="0" cellspacing="2">
<tr style="height: 2%;">
<td colspan="2">
<h2>Remote Wind Turbine Monitor: Turbine
#:="Data_block_1".TurbineNumber:</h2>
</td>
<tr style="height: 2%;"><td style="width: 25%;"><p>Wind speed:</p></
td>
<td><p> :="Data_block_1".WindSpeed: km/h</p></td>
</tr>
<tr style="height: 2%;">
<td style="width: 25%;"><p>Wind direction:</p></td>
<td><p> :="Data_block_1".WindDirection: deg.</p></td>
</tr>
<tr style="height: 2%;"><td style="width:
25%;"><p>Temperature:</p></
td>
<td><p> :="Data_block_1".Temperature: deg. C</p></td>
</tr>
<tr style="height: 2%;">
<td style="width: 25%;"><p>Power output:</p></td>
<td><p style="margin-bottom:5px;"> :="Data_block_1".PowerOutput:
kW</p>
</td>
</tr>
<form method="POST" action="">
<tr style="height: 2%;" >
<td style="width=25%; border-top-style: Solid; border-top-width:
2px; border-top-color: #ffffff;">
<p>Manual override: :="Data_block_1".ManualOverrideEnable:</p>
</td>
<td class="Text">Set:
<select name='"Data_block_1".ManualOverrideEnable'>
<option value=':="Data_block_1".ManualOverrideEnable:'> </option>
<option value="On">Yes</option>
<option value="Off">No</option>
</select>
</td>
</tr>
<tr style="vertical-align: top; height: 2%;"><td style="width:
25%;"><p>Turbine speed:</p></td>
<td>
<p style="margin-bottom:5px;"><input
name='"Data_block_1".TurbineSpeed' size="10"
value=':="Data_block_1".TurbineSpeed:' type="text"> RPM</p>
</td>
</tr>
Web server
Function Manual, 11/2019, A5E03484625-AG 151
Web pages
3.16 User pages
Web server
152 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.16 User pages
Wind_turbine.css
BODY {
background-image: url('./Wind_turbine.jpg')
background-position: 0% 0%;
background-repeat: no-repeat;
background-size: cover;
H2 {
font-family: Arial;
font-weight: bold;
font-size: 14.0pt;
color: #FFFFFF;
margin-top:0px;
margin-bottom:10px;
}
P {
font-family: Arial;
font-weight: bold;
color: #FFFFFF;
font-size: 12.0pt;
margin-top:0px;
margin-bottom:0px;
}
TD.Text {
font-family: Arial;
font-weight: bold;
color: #FFFFFF;
font-size: 12.0pt;
margin-top:0px;
margin-bottom:0px;
}
Web server
Function Manual, 11/2019, A5E03484625-AG 153
Web pages
3.17 Filebrowser
3.17 Filebrowser
Requirements
Access rights must be assigned for the user in the user management.
Filebrowser
The contents of the SIMATIC memory card are displayed by the browser on the
"Filebrowser" web page. This means, for example, that you can read and edit the log files
generated by the CPU without having to use STEP 7.
The file browser lists all existing files and directories located on the SIMATIC memory card.
You can download, delete, rename and upload the files. You can create, delete and rename
the directories.
Note
The Filebrowser only grants you read access to the “DataLogs”, "Backups" and “UserFiles”
directories.
Web server
154 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.18 Reading out service data
Procedure
1. Enter the following address in the address bar of your web browser:
"http://<CPU IP address>/save_service_data", e g.
"http://192.168.3.141/save_service_data"
2. Your screen displays the service data page with a button for saving the service data.
3. Save the service data locally on your display device by clicking on "Save ServiceData".
Result
The data is stored in a .dmp file with the following naming convention: "<MLFB><Serial
number><Time stamp>.dmp." The user can change the file name at a later time.
Note
If you have defined your user page as the start page, observe the note on reading out
service data in section Defining the user page as start page (Page 141).
Web server
Function Manual, 11/2019, A5E03484625-AG 155
Web pages
3.19 Basic websites
Web server
156 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.19 Basic websites
Web server
Function Manual, 11/2019, A5E03484625-AG 157
Web pages
3.20 API (Application Programming Interface)
① CPU
② Terminal devices
Figure 3-78 Web API
Communication between the CPU and the terminal device takes place via PROFINET or
WLAN integration.
Note
Security information
Please note that the following graphic only shows the role of the Web API between CPU and
terminal device.
For the correct setup of a secure WLAN connection, observe the Security information in the
preface of this manual.
Web server
158 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.20 API (Application Programming Interface)
Availability
The Web API is only available for CPUs as of firmware version from V2.8 for the following
systems:
● the CPUs of the S7-1500 automation system
(the CPUs of the S7-1500R/H redundant system are not supported)
● the CPUs 1504D TF and 1507D TF of the SIMATIC Drive Controller
● the CPUs 1513pro(F)-2 PN and 1516pro(F)-2 PN of the ET 200pro distributed I/O system
● the CPUs 1510SP(F)-1 PN and 1512SP(F)-1 PN of the ET 200SP distributed I/O system
The following requirements must be met before you can use the Web API.
● You have assigned the correct firmware version (≥ V2.8) in the Hardware catalog of
STEP 7
● You have created and configured a project and downloaded to the CPU.
● You have selected the following checkbox in STEP 7
– Activate web server on this module
API endpoint
As an RPC protocol, JSON-RPC V2.0 is based on HTTP. The Web API can be reached via
POST Requests to the following URL:
https://[ip_address]/api/jsonrpc
An example of the required structure of an HTTP Request and HTTP Response for
successfully making a Web API request can be found in the chapter Web API integration
(Page 166).
Web server
Function Manual, 11/2019, A5E03484625-AG 159
Web pages
3.20 API (Application Programming Interface)
Supported clients
The products and versions listed in the following table were tested for the Web API. The
"Version" column lists the most recently tested version at the time of going to press. In
addition, other Versions may also work, especially newer versions. However, if problems
occur with versions not mentioned here that cannot be rectified, use one of the following
tested versions:
Web server
160 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.20 API (Application Programming Interface)
Note
Files which contain Web API methods must be encoded and stored in the UTF-8 character
encoding.
For detailed examples of an integration of the Web API into your web application, refer to the
section Web API integration (Page 166).
Web server
Function Manual, 11/2019, A5E03484625-AG 161
Web pages
3.20 API (Application Programming Interface)
3.20.2.1 Api.Login
The Api.Login method checks the login data of the user and on successful verification opens
a new Web API session. The method requests the name and the password of the user in
plain text as proof of authorization. The user name and the password are encrypted before
they are transferred to the server.
Example
The following example shows the parameters required to call the Api.Login method.
{
"user": "User1",
"password": "SecurePassword"
}
After successful authentication the user receives a token. The token shows the user as an
authenticated user against the API.
{
"token": "eG9mcHdhaGR0dWVsdm5teGFxcGw="
}
Token
The token comprises a 28-byte string. The token is transferred in encrypted form.
For every additional request which requires authentication, you have to specify the assigned
token. If further communication no longer takes place in the meantime, the token becomes
invalid after maximum 2.5 minutes. Each new request within a session extends the validity of
the token by another 2 to 2.5 minutes (calculated from the completion of the request
processing by the server).
The token is not required for methods that do not require authentication. However, you can
still enter the token.
When you call the Api.Ping method without a token, for example, the session is not extended
because the CPU cannot assign a token to the user.
The following methods work with and without tokens:
● Api.Browse
● Api.Ping
● Api.GetPermissions
User "Everybody"
The "Everybody" user is defined without assignment of a password.
If you want to authenticate yourself as the user "Everybody", send "Everybody" as user and
an empty password ("").
You can find a detailed description of the "Everybody" user in section Configuring the Web
server (Page 19).
Web server
162 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.20 API (Application Programming Interface)
3.20.2.2 Api.GetPermissions
After the successful login, the Api.GetPermissions returns a list of actions for whose
execution the user is authorized.
Example
The following example shows the actions for which the user is authorized.
[
{ "name": "read_value" },
{ "name": "change_operating_mode" }
]
Checkable authorizations
You can use the Web API to check the authorizations for the following actions.
The Web API checks the authorization on the basis of the rights and passwords assigned in
STEP 7 in the area "Web server > User administration".
A description of the user management can be found in section "Configuring the Web server
(Page 19)".
Web server
Function Manual, 11/2019, A5E03484625-AG 163
Web pages
3.20 API (Application Programming Interface)
3.20.2.3 Api.Browse
The Api.Browse method gives you a list of all methods that you can call via the Web API.
This provides you with an overview of all the methods supported by the CPU.
No authorizations are needed for calling the Api.Browse method.
Example
The following example shows the HTTP request and a possible result of the request for the
Api.Browse method.
[{"jsonrpc":"2.0","method":"Api.Browse","id":1}]
[
{ "name": "Api.Browse" },
{ "name": "Api.GetCertificateUrl" },
{ "name": "Api.GetPermissions" },
{ "name": "Api.Login" },
{ "name": "Api.Logout" },
{ "name": "Api.Ping" },
{ "name": "Api.Version" },
{ "name": "PlcProgram.Browse" },
{ "name": "PlcProgram.Read" },
{ "name": "PlcProgram.Write" },
]
Note
Checking authorizations
The Api.Browse methods does not filter the list of the available methods by the individual
authorizations of users.
The list of available methods may therefore contain methods which the user may not execute
without authorization.
Web server
164 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.20 API (Application Programming Interface)
3.20.2.4 Api.Version
Use the Api.Version method to request the current version number of the Web API. You can
draw conclusions from the version number:
● The functions supported by the respective version
● the hardware release number of the CPU
This information allows you to implement applications that correspond to the functionality of
the contacted CPU.
No authorizations are needed for calling the Api.Version method.
Example
The following example shows a possible result of calling the Api.Version method.
1.28
The version number is displayed as a floating -point number and is incremented with every
release and every change in the Web API implementation.
3.20.2.5 Api.Ping
The Api.Ping method outputs a unique ID for the CPU used. You can use it to determine
whether the CPU can be reached. The CPU ID comprises a 28-byte string. The system
assigns a new, unique CPU ID after each restart (POWER ON - POWER OFF) or warm start
of the CPU. By comparing this with previously output IDs, you can also determine whether
the CPU was restarted in the meantime.
No authorizations are needed for calling the Api.Ping method.
Example
The following example shows the output of a CPU ID:
"ZWlmbnJwZmplb3Nwd2l1Y3N3dWE="
Web server
Function Manual, 11/2019, A5E03484625-AG 165
Web pages
3.20 API (Application Programming Interface)
3.20.2.6 Api.GetCertificateUrl
The Api.GetCertificateUrl method returns a relative URL (https://<IP> with which you can
retrieve the SSL certificate of the web server.
Example
The following example shows the result of the Api.GetCertificateUrl method call.
"/MiniWebCA_Cer.crt"
The method outputs a string with a relative URL to the CPU.
If no certificate is available, the method outputs an empty string.
3.20.2.7 Api.Logout
The Api.Logout method removes the token from the list of active Web API sessions and
ends the session.
[{"jsonrpc":"2.0","method":"Api.Login","params":{"user":"User1","pas
sword":"SecurePassword"},"id":999}]
HTTP/1.1 200 OK
Content type: application/json
Cache-Control: no-cache
Pragma: no-cache
Expires: 0
Access-Control-Allow Origin: *
Access-Control-Allow Headers: Content-Type,X-Auth Token
Access-Control-Allow Methods: POST,OPTIONS
transfer-encoding: chunked
date: Tue, 23 Apr 2019 17:50:31 GMT
[{"jsonrpc":"2.0","id":999,"result":{"token":"Sy8pe3VNv86rTMldzFBsYz
mw12Lg"}}]
Web server
166 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.20 API (Application Programming Interface)
Note
Information used in the examples
Note that the names of the methods, parameters and the JavaScript code are specified
without liability and can deviate from the current specification.
Example 1
Example 1 shows a client that wants to maintain a session with JavaScript. For this purpose,
it sends a single heartbeat request using the Api.Ping method. If the intervals at which the
heartbeat request is sent are less than 2 minutes, the user remains permanently logged in.
A permanent login is recommended for operating and monitoring tasks.
$.post({
url:"https://192.168.2.132/api/jsonrpc",
headers:{
'X-Auth-Token':"Sy8pe3VNv86rTMldzFBsYzmw12Lg"
},
data:JSON.stringify({jsonrpc:"2.0", method:"Api.Ping", id:1}),
success:function(data){ console.log(data); }
dataType:"text",
contentType:"application/json"
});
Note
X-Auth-Token
To extend the session, you must send the token (X-Auth token) as an HTTP header to the
CPU.
When you call the Api.Ping method without a token, the session is not extended because the
CPU cannot assign a token to the user.
Example 3 shows an example of a token in the HTTP request.
In the example, the selected user has the necessary authorizations. The methods after the
login request were successfully carried out, as the following result shows.
{jsonrpc:"2.0",id:1,result:"ZWlmbnJwZmplb3Nwd2l1Y3N3dWE="}
Web server
Function Manual, 11/2019, A5E03484625-AG 167
Web pages
3.20 API (Application Programming Interface)
Example 2
Example 2 shows a client that wants to log on to the CPU with JavaScript and calls several
methods using a bulk request.
$.post({
url:"https://192.168.2.132/api/jsonrpc",
data:JSON.stringify([
{jsonrpc:"2.0", id:1, method:"Api.Login",
params:{user:"Admin",password:"12345"} },
{jsonrpc:"2.0", id:2, method:"Api.GetPermissions" },
{jsonrpc:"2.0", id:3, method:"Api.GetMethods" }]),
success: function(data){ console.log(data); },
dataType: "text",
contentType: "application/json"});
The following section shows an example of a bulk request response. The selected user has
the necessary authorizations. The methods after the login request were successfully carried
out with the authorizations of the authenticated user.
[
{jsonrpc:"2.0",id:1, result:{
token:"d29kamV3cGxtdm5keHNhcXd1aXJ0empkZXN3cQ=="}},
{jsonrpc:"2.0",id:2,result:[
"read_value",
"write_value",
"diagnostics"]},
{jsonrpc:"2.0",id:3,result:[
"Api.Login",
"Api.GetPermissions",
"Api.GetMethods",
"PlcProgram.Read",
"PlcProgram.Write",
"PlcProgram.Browse",
"Api.Logout",
"Api.Ping"]},
]
Web server
168 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.20 API (Application Programming Interface)
Example 3
Example 3 shows a bulk request for read and write access to a stack of tags in a single
HTTP request. This procedure is recommended for bulk requests, as it is more efficient than
a series of single accesses and therefore places less load on the CPU.
$.post({
url:"https://192.168.2.132/api/jsonrpc",
data:JSON.stringify([
{jsonrpc:"2.0", id:1, method:"PlcProgram.Read",
{jsonrpc:"2.0", id:2, method:"PlcProgram.Read",
params:{var:"\"MyDB\".InvalidField"},
{jsonrpc:"2.0", id:3, method:"PlcProgram.Read",
params:{tag:"MyDB.MyDate"} },
{jsonrpc:"2.0", id:4, method:"PlcProgram.Write",
params:{tag:"\"BoilerControl\".TempSetPoint", value:9001} }]),
success: function(data){ console.log(data); },
dataType: "text",
contentType: "application/json",
headers: {
"X-Auth-Token":"d29kamV3cGxtdm5keHNhcXd1aXJ0empkZXN3cQ=="}});
The bulk request contains an invalid tag with an error message providing information about
this. All other methods were successfully carried out, as the following result shows.
[
{jsonrpc:"2.0",id:1,result:{"value":42}},
{jsonrpc:"2.0",id:2,error:{code:-1,message:"Invalid tag name"}},
{jsonrpc:"2.0",id:3,result:{"value":"1990-01-01"}},
{jsonrpc:"2.0",id:4,result:true},
]
Note
If a Web API call is not made within a session before 120 seconds have elapsed, the CPU
ends the session with a logout event. A timeout reset is initiated by every successful action
of the user in which a toke is supplied.
Call the Api.GetPermission or Api.Ping method cyclically within the timeout grid to ensure
that:
• Your session remains active
• Your authorizations for the call of other methods remain active
Web server
Function Manual, 11/2019, A5E03484625-AG 169
Web pages
3.20 API (Application Programming Interface)
CPUs Limitation
S7-1510 to S7-1513 50
S7-1515 and S7-1516 100
S7-1517 and S7-1518 200
If you request another authentication token and none are available, then the request is
rejected.
Security events
The CPU generates a security event for successful and failed logins. The CPU enters this
security event in the diagnostics buffer.
Binary representation
The Web API presents the values of primitive data types as pure binary data ("raw"). The
binary data is formatted as a JSON array. Each element within an array is a numeric value
between 0 and 255 and represents a single data byte.
Web server
170 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.20 API (Application Programming Interface)
Name of the data type Name of the data type Representation in the Web API
in the TIA Portal in Web API
Bool bool Boolean JSON value. true oder false
Byte Byte JSON unsigned integer in a range from 0 to 255
USInt usint
Word word JSON unsigned integer in a range from 0 to 65 535
UInt uint
HW_ANY hw_any
HW_IOSYSTEM hw_iosystem
HW_DPMASTER hw_dpmaster
HW_DEVICE hw_device
HW_DPSLAVE hw_dpslave
HW_IO hw_io
HW_MODULE hw_module
HW_SUBMODULE hw_submodule
HW_HSC hw_hsc
HW_PWM hw_pwm
HW_PTO hw_pto
HW_INTERFACE hw_interface
HW_IEPORT hw_ieport
CONN_ANY conn_any
CONN_PRG conn_prg
CONN_OUC conn_ouc
PORT port
RTM rtm_id
PIP pip
DB_ANY db_any
DB_WWW db_www
DB_DYN db_dyn
DWord dword JSON unsigned integer in a range from 0 to 4 294 967 295
UDInt udint
AOM_IDENT aom_ident
EVENT_ANY event_any
EVENT_ATT event_att
EVENT_HWINT event_hwint
CONN_R_ID conn_r_id
Web server
Function Manual, 11/2019, A5E03484625-AG 171
Web pages
3.20 API (Application Programming Interface)
Name of the data type Name of the data type Representation in the Web API
in the TIA Portal in Web API
LWord lword JSON string with a numerical representation of an unsigned integer ba-
ULInt ulint sed on the number 10 in a range from 0 to 18 446 744 073 709 551 615
SInt sint JSON signed integer in a range from -128 to 127
Int int JSON signed integer in a range from -32 768 to 32 767
OB_ANY ob_any
OB_DELAY ob_delay
OB_TOD ob_tod
OB_CYCLIC ob_cyclic
OB_ATT ob_att
OB_PCYCLE ob_pcycle
OB_HWINT ob_hwint
OB_DIAG ob_diag
OB_TIMEERROR ob_timeerror
OB_STARTUP ob_startup
DInt dint JSON signed integer in a range from -2 147 483 648 to 2 147 483 647.
LInt lint JSON string with a numerical representation of an unsigned integer ba-
sed on the number 10 in a range from -9 223 372 036 854 775, 808 to
9 223 372 036 854 775 807
Real real JSON floating-point number
LReal lreal If the floating-point number is infinite or NaN (not-a-number), the Web API
returns the value null when reading a tag of this type.
Character char JSON string with a single ASCII character in a valid range from 0 to 127
If a tag of this type is read with a value outside the valid range, the Web
API outputs the value null.
WChar wchar JSON string with a UTF-8 string that represents a single UCS-2 character
in a valid range from 0 to 55 295.
If a tag of this type is read with a value outside the valid range, the
Web API returns the value null.
String string JSON string with a UTF-8 string
If a tag of this type is read with a value outside the valid UTF-8 string
(max. length 254 characters), the Web API returns the value null.
WString wstring JSON string with a UTF-8 string that represents a USC-2 string in a valid
range from 0 to 55 295.
If a tag of this type is read with a value outside the valid range (max.
length 254 characters), the Web API outputs the value null.
Date date JSON unsigned integer in a range from 0 to 65 535
This value represents the number of days since 01.01.1990.
Time_Of_Day time_of_day JSON unsigned integer in a range from 0 to 4 294 967 295
This value represents the number of milliseconds since the beginning of
the day.
LTime_Of_Day ltime_of_day JSON string with a numerical representation of an unsigned integer ba-
sed on the number 10 in a range from 0 to 18 446 744 073 709 551 615
This value represents the number of nanoseconds since the beginning of
the day.
Web server
172 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.20 API (Application Programming Interface)
Name of the data type Name of the data type Representation in the Web API
in the TIA Portal in Web API
Time time JSON signed integer in a range from -2 147 483 648 to 2 147 483 647)
This value represents the number of milliseconds since a user-defined
point in time.
LTime ltime JSON string with a numerical representation of an unsigned integer ba-
sed on the number 10 in a range from -9 223 372 036 854 775 808 to
9 223 372 036 854 775 807
This value represents the number of nanoseconds since a user-defined
point in time.
S5Time s5time JSON object with the keys basic and value:
• The basic value is a JSON unsigned integer with a value of either 10,
100, 1000 or 10 000.
The basic value represents the millisecond multiplier of the value va-
lue.
• The value value is a JSON unsigned integer in the range from 0 to
999.
The basic value multiplied by the value value gives the timer interval
in milliseconds.
Date_And_Time date_and_time JSON object with the keys year, month, date, hour, minute, second and
day_of_week:
• year is a JSON unsigned integer with a value in the range from 1990
to 2089
• month is a JSON unsigned integer with a value in the range 1 to 12
• day is a JSON unsigned integer with a value in the range from 1 to 31
• hour is a JSON unsigned integer with a value in the range from 0 to
23
• minute is a JSON unsigned integer with a value in the range from 0 to
59
• second is a JSON floating point number with a value in the range 0 to
60
• day_of_week is a JSON string with a value of either sun, mon, tue,
wed, thu, fri or sat
Web server
Function Manual, 11/2019, A5E03484625-AG 173
Web pages
3.20 API (Application Programming Interface)
Name of the data type Name of the data type Representation in the Web API
in the TIA Portal in Web API
LDT ldt JSON string with a numerical representation of an unsigned integer ba-
sed on the number 10 in a range from 0 to 18 446 744 073 709 551 615
This value represents the number of nanoseconds since 01.01.1970
midnight (12:00:00.0 am).
Struct struct Structured data type whose data structure can be determined using the
IEC_COUNTER iec_counter PlcProgram.Browse method.
IEC_TIMER iec_timer
DTL dtl
IEC_LTIMER iec_ltimer
IEC_SCOUNTER iec_scounter
IEC_DCOUNTER iec_dcounter
IEC_LCOUNTER iec_lcounter
IEC_UCOUNTER iec_ucounter
IEC_USCOUNTER iec_uscounter
IEC_UDCOUNTER iec_udcounter
IEC_ULCOUNTER iec_ulcounter
ERROR_STRUCT error_struct
NREF nref
CREF cref
Arrays
Arrays are displayed as JSON objects. The key is a string with a numeric representation of
the index.
The following example shows the representation in the TIA Portal:
Web server
174 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.20 API (Application Programming Interface)
Note
F-blocks
Note that fail-safe blocks allow read access only. It is not possible to write tags into fail-safe
blocks.
Web server
Function Manual, 11/2019, A5E03484625-AG 175
Web pages
3.20 API (Application Programming Interface)
3.20.5.3 PlcProgram.Read
The PlcProgram.Read method is used to read process data from the CPU.
To call the PlcProgram.Read method, you need the "read_value" authorization.
Examples
In the following example, the user requests a global tag in the "simple" representation.
{
"var": "\"MotorSpeed\""
}
In the following example, the user requests a global tag in the "raw" representation.
{
"var": "\"MyDB\".MyVariable",
"mode": "raw"
}
Response structure
If the request to the server was successful, the server returns JSON data values.
Examples
The following example shows the result of reading a tag of type "int" in the "simple display".
-42
The following example shows the result of reading a tag of type "dword" in the "raw" display.
[ 1, 47, 233, 0 ]
Web server
176 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.20 API (Application Programming Interface)
3.20.5.4 PlcProgram.Write
The PlcProgram.Write method is used to write process data to the CPU.
To call the PlcProgram.Write method, you need the "write_value" authorization.
Web server
Function Manual, 11/2019, A5E03484625-AG 177
Web pages
3.20 API (Application Programming Interface)
Examples
In the following example, the user writes a global tag in the "simple" display.
{
"var": "\"MotorSpeed\"",
"value": 9001
}
In the following example, the user writes a tag to a data block in the "raw" representation.
{
"var": "\"MyDB\".MyVariable",
"value": [ 255, 77, 1, 99 ],
"mode": "raw"
}
In the following example, the user writes a string tag consisting of 10 characters to the
"simple" representation:
{
"var": "\"MyDB\".MyString",
"value": "Short Str",
"mode": "simple"
}
In the following example, the user writes a string tag consisting of 10 characters with the text
"Short Str" in the "raw" representation:
{
"var": "\"MyDB\".MyString",
"value": [ 10, 9, 83, 104, 111, 114, 116, 32, 83, 116, 114, 0 ],
"mode": "raw"
}
In the following example, the user writes a Wstring tag consisting of 6 characters in the
"simple" representation:
{
"var": "\"MyDB\".MyWString",
"value": "Hello",
"mode": "simple"
}
In the following example, the user writes a string tag consisting of 6 characters with the text
"Hello" in the display "raw":
{
"var": "\"MyDB\".MyWString",
"value": [ 0, 6, 0, 5, 0, 72, 0, 101, 0, 108, 0, 108, 0, 111, 0, 0
],
"mode": "raw"
}
Web server
178 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.20 API (Application Programming Interface)
Response structure
If the write operation was successful, the server returns the Boolean value "true".
3.20.5.5 PlcProgram.Browse
The PlcProgram.Browse method allows you to search tags and the corresponding metadata
according to your individual requirements.
To call the PlcProgram.Browse method, you need the "read_value" authorization.
Web server
Function Manual, 11/2019, A5E03484625-AG 179
Web pages
3.20 API (Application Programming Interface)
Example 1
In the following example the user searches the root node of the CPU.
{
"mode": "children"
}
[
{
"name": "TestDB",
"has_children": true,
"db_number": 2,
"datatype": "datablock"
},
{
"name": "GenUsrMsg_Ret",
"address": "%MW43",
"area": "M",
"datatype": "int"
}
]
Example 2
In the following example, the user searches the descendants (children) of a data block.
{
"var": "\"MyDB\"",
"mode": "children"
}
[
{
"name": "Static_1",
"db_number": 1,
"datatype": "int"
},
{
"name": "Static_2",
"db_number": 1,
"datatype": "int"
}
]
Web server
180 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.20 API (Application Programming Interface)
Example 3
In the following example, the user requests information about a specific tag.
{
"var": "\"MyDB\".MyStruct.MyField",
"mode": "var"
}
[
{
"name": "MyDateTimeValue",
"db_number": 2,
"datatype": "date_and_time",
"array_dimensions": [
{
"start_index": 0,
"count": 3
}
]
}
]
Response structure
The following tables show the structure of server responses to successful requests.
PlcProgram_Browse_Response (Objekt-Array)
Name Required Data type Description
Name Yes string Tag name; can be used as a string identifier for the field.
address No string Address of the tag in STEP 7; only applicable for the tags in the
ranges M, I, Q, timer and counter and tags in non-optimized
data blocks.
The representation corresponds to the addresses in the watch
tables in the TIA Portal.
read_only No bool Query whether the tag is a read-only tag
The only valid value is "true".
If the tag is to be written, this attribute does not appear.
has_children No bool Query whether the tag is a structured tag with child tags
The only valid value is "true".
If the tag is an unstructured data type, this attribute is not dis-
played.
db_number No integer Numerical data block identifier;
appears at "datatype" = "datablock" and for each child element
of a data block (with corresponding data block number)
Web server
Function Manual, 11/2019, A5E03484625-AG 181
Web pages
3.20 API (Application Programming Interface)
PlcProgram_Browse_Response (Objekt-Array)
Name Required Data type Description
area No string Letter which defines the range (M/I/Q/timer/counter) of the tag.
If the tag is not in one of these ranges, the attribute does not
appear.
datatype Yes string Data type of the tag
For data blocks this is the data type "datablock"; for tags, see
table in section "Supported data types".
If the data type is not supported, the data type is "unsupported".
max_length No integer If the data type is a "string" or "wstring", this value is the maxi-
mum number of characters allowed in the tag.
ar- No PlcPro- Object arrays arranged from the most significant to the least
ray_dimensions gram_Browse_ significant array dimension.
Respon- The attribute is only displayed if the tag is an array.
se_ArrayData
PlcProgram_Browse_Response_ArrayData (Objekt-Array)
Name Required Data type Description
start_index Yes integer Start index for this array dimension, as specified in the TIA
Portal project.
count Yes integer Number of elements in this array dimension
Web server
182 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.20 API (Application Programming Interface)
Web server
Function Manual, 11/2019, A5E03484625-AG 183
Web pages
3.20 API (Application Programming Interface)
The user page was created in English in this example, but you can select any language you
wish when you create your own user page.
If you have the corresponding rights, you have read and write access to the turbine
parameters via the Web API.
Files used
The following files were used in this example:
● api.css: The Cascading Style Sheet which includes the formatting specifications of the
user page. The use is optional but can simplify the design of the user page.
● index.html: The user page in the figure shown above.
● api.js: Example of using the Web API in JavaScript
● Wind_turbine.jpg: The background image displayed on the user page. The use of images
is optional. User-defined pages with many images require a lot of space in the load
memory.
In the following paragraphs you will find the respective code examples in the mentioned files,
which are necessary for the implementation of the user page.
Web server
184 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.20 API (Application Programming Interface)
api.css
.modal {
display: block;
position: absolute;
background-color: #f1f1f1;
min-width: 160px;
max-height: 600px;
border-radius: 0.8rem;
overflow-y: auto;
padding: 20px;
box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
top: 30%;
left: 50%;
z-index: 10;
transform: translate(-50%, -50%);
}
.login {
display: flex;
flex-direction: column;
}
body {
background-image: url("S_Kent_0005.jpeg");
background-position: 0% 0%;
background-repeat: no-repeat;
background-size: cover;
}
#browserarea {
resize: none;
}
.tag-table {
border-style: dashed;
border-radius: 15px;
body {
font-family: 'Courier New', Courier, monospace
/* text-shadow: -1px 0 white, 0 1px white, 1px 0 white, 0 -1px
white; */
}
Web server
Function Manual, 11/2019, A5E03484625-AG 185
Web pages
3.20 API (Application Programming Interface)
index.html
<html>
<head>
<meta charset="UTF-8">
<title>[example] Turbine controls</title>
<link rel="stylesheet" href="example_api.css" />
<script src="api.js"></script>
</head>
<body>
Web server
186 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.20 API (Application Programming Interface)
</table><br>
<button onclick="bulkReadValues()">Get current values</button>
<button onclick="bulkWriteValues()">Update with desired
values</button>
<br>
Web server
Function Manual, 11/2019, A5E03484625-AG 187
Web pages
3.20 API (Application Programming Interface)
api.js
"use-strict"
let messageId = 1
function ping() {
if (AUTH_TOKEN !== null) {
fetch(TARGET_IP, {
method: "POST",
headers: {
"Content-type": "application/json",
"X-Auth-Token": AUTH_TOKEN
},
body: JSON.stringify({
"id": messageId++,
"jsonrpc": "2.0",
"method": "Api.Ping"
})
})
}
}
setInterval(ping, 50000)
function updateTurbineSpeed() {
if (AUTH_TOKEN !== null) {
fetch(TARGET_IP, {
method: "POST",
headers: {
"Content-type": "application/json",
"X-Auth-Token": AUTH_TOKEN
},
body: JSON.stringify({
"id": messageId++,
"jsonrpc": "2.0",
"method": "PlcProgram.Read",
"params": {
"var": "\"turbine_speed\""
}
})
})
.then(response => response.json())
.then((data) => {
let turbNum = document.getElementById("turb-speed")
turbNum.value = data.result
})
.catch(e => console.error(e))
}
}
Web server
188 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.20 API (Application Programming Interface)
function turbSpeed() {
if (AUTH_TOKEN !== null) {
let turbSp = document.getElementById("turb-speed-sp")
fetch(TARGET_IP, {
method: "POST",
headers: {
"Content-type": "application/json",
"X-Auth-Token": AUTH_TOKEN
},
body: JSON.stringify({
"id": messageId++,
"jsonrpc": "2.0",
"method": "PlcProgram.Write",
"params": {
"var": "\"turbine_speed_sp\"",
"value": parseFloat(turbSp.value)
}
})
})
.then(response => response.json())
.then((data) => {
if (data.result) {
console.log("Api responds with " + data.result)
}
else
{throw "Something happened while writing value"
}
})
.catch(e => console.error(e))
}
}
function getTurbineNumber() {
let label = document.getElementById("turbine-number")
fetch(TARGET_IP, {
method: "POST",
headers: {
"Content-type": "application/json",
"X-Auth-Token": AUTH_TOKEN
},
body: JSON.stringify({
"id": messageId++,
"jsonrpc": "2.0",
"method": "PlcProgram.Read",
"params": {
"var": "\"turbineNumber\""
}
})
})
.then(response => response.json())
.then((data) => {
label.innerHTML = data.result
})
.catch(e => console.error(e))
}
Web server
Function Manual, 11/2019, A5E03484625-AG 189
Web pages
3.20 API (Application Programming Interface)
function turbineSpeedOverride(element) {
if (AUTH_TOKEN !== null) {
fetch(TARGET_IP, {
method: "POST",
headers: {
"Content-type": "application/json",
"X-Auth-Token": AUTH_TOKEN
},
body: JSON.stringify({
"id": messageId++, // id can be omitted, in that case it is
a notification request
"jsonrpc": "2.0",
"method": "PlcProgram.Write",
"params": {
"var": "\"turbine_speed_override\"",
"value": (element.value === "true")
}
})
})
.then(response => response.json())
.then((data) => {
if (data.result) {
console.log("Api responds with " + data.result)
}
else {
throw "Something happened while writing value"
}
})
.catch(e => console.error(e))
}
}
function apiLogin() {
fetch(TARGET_IP, {
method: "POST",
headers: {
"Content-type": "application/json",
},
body: JSON.stringify({
"id": messageId++,
"jsonrpc": "2.0",
"method": "Api.Login",
"params": {
user: input_user,
password: input_password
}
})
})
Web server
190 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.20 API (Application Programming Interface)
getApiVersion()
getTurbineNumber()
bulkReadValues()
showBtn("btn-logout")
hideBtn("btn-login")
closeModal()
})
.catch(e => console.error(e))
}
function bulkReadValues() {
Web server
Function Manual, 11/2019, A5E03484625-AG 191
Web pages
3.20 API (Application Programming Interface)
function bulkWriteValues() {
fetch(TARGET_IP, {
method: "POST",
headers: {
"Content-type": "application/json",
"X-Auth-Token": AUTH_TOKEN
},
body: JSON.stringify([
{
"id": messageId++,
"jsonrpc": "2.0",
"method": "PlcProgram.Write",
"params": {
"var": "\"turbine_max_speed\"",
"value": parseFloat(turbSpeedMaxSp.value)
}
},
{
"id": messageId++,
"jsonrpc": "2.0",
"method": "PlcProgram.Write",
"params": {
"var": "\"turbine_max_acceleration\"",
"value": parseFloat(turbAccelMaxSp.value)
}
},
{
"id": messageId++,
"jsonrpc": "2.0",
"method": "PlcProgram.Write",
"params": {
"var": "\"turbine_max_jerk\"",
"value": parseFloat(turbJerkMaxSp.value)
}
}])
})
Web server
192 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.20 API (Application Programming Interface)
function getApiVersion() {
let label = document.getElementById("version-label")
fetch(TARGET_IP, {
method: "POST",
headers: {
"Content-type": "application/json",
"X-Auth-Token": AUTH_TOKEN
},
body: JSON.stringify({
"id": messageId++,
"jsonrpc": "2.0",
"method": "Api.Version"
})
})
.then(response => response.json())
.then((data) => {
label.innerHTML = data.result
})
.catch(e => console.error(e))
}
function browseRoot() {
let textarea = document.getElementById("browserarea")
fetch(TARGET_IP, {
method: "POST",
headers: {
"Content-type": "application/json",
"X-Auth-Token": AUTH_TOKEN
},
body: JSON.stringify({
"id": messageId++,
"jsonrpc": "2.0",
"method": "PlcProgram.Browse",
"params": {
"mode": "children"
}
})
})
.then(response => response.json())
.then((data) => {
textarea.value = JSON.stringify(data.result, null, 4)
})
.catch(e => console.error(e))
}
function apiLogout() {
Web server
Function Manual, 11/2019, A5E03484625-AG 193
Web pages
3.20 API (Application Programming Interface)
fetch(TARGET_IP, {
method: "POST",
headers: {
"Content-type": "application/json",
"X-Auth-Token": AUTH_TOKEN
},
body: JSON.stringify({
"id": messageId++,
"jsonrpc": "2.0",
"method": "Api.Logout",
})
})
.then(response => response.json())
.then((data) => {
AUTH_TOKEN = null
openModal()
hideBtn("btn-logout")
showBtn("btn-login")
document.getElementById("notice").innerHTML = "Please log in
first"
})
.catch(e => console.error(e))
}
function changeIp(element) {
TARGET_IP = `${element.value}/api/jsonrpc
.replace("//api", "/api")
}
function closeModal() {
let modal = document.getElementById("example-modal")
modal.style.display = "none"
}
function openModal() {
let modal = document.getElementById("example-modal")
modal.style.display = "block"
}
function closeModal() {
let modal = document.getElementById("example-modal")
modal.style.display = "none"
}
function hideBtn(btnId) {
let btn = document.getElementById(btnId)
btn.style.display = "none"
}
function showBtn(btnId) {
let btn = document.getElementById(btnId)
btn.style.display = "block"
}
Web server
194 Function Manual, 11/2019, A5E03484625-AG
Web pages
3.20 API (Application Programming Interface)
function openModal() {
if (AUTH_TOKEN !== null) {
alert("Already logged in.")
}
else {
let modal = document.getElementById("example-modal")
modal.style.display = "block"
}
}
Web server
Function Manual, 11/2019, A5E03484625-AG 195
Glossary
Automation system
An automation system is a programmable logic controller that consists of at least one CPU,
various input and output modules, as well as operating and monitoring devices.
AWP
Automation Web Programming
AWP commands
Special command syntax for data exchange between CPU and HTML file.
Configuration
Systematic arrangement of individual modules (design).
CSS
A CSS (Cascading Style Sheet) specifies how an area or content marked up in HTML is
displayed.
Device
Device that can send, receive or amplify data via the bus, e.g., IO controller.
Diagnostics
The detection, localization, classification, visualization and further evaluation of errors,
malfunction and alarms.
Diagnostics provides monitoring functions that run automatically during plant operation. This
increases the availability of plants by reducing commissioning times and downtimes.
Firewall
A firewall is used to restrict the network access based on sender or target address of the
used services. The firewall decides based on specified rules which of the network packets it
handles are forwarded and which are not. This way the firewall tries to prevent unauthorized
network access.
It is not the function of a firewall to detect attacks. It only implements rules for network
communication.
Web server
196 Function Manual, 11/2019, A5E03484625-AG
Glossary
HTTP
Hypertext Transfer Protocol (HTTP). Protocol for data transmission across a network.
HTTPS
Hypertext Transfer Protocol Secure (HTTPS). Protocol for tap-proof transmission of sensitive
data across a network.
Identification data
Identification data is stored on a module, and contains information which supports the user in
● Checking the system configuration
● Locating hardware changes in a system
● Correcting errors in a system
Modules can be clearly identified online using the identification data.
Master
The master in possession of the token is an active device. This master has the option to
receive data from other devices and to send data to other devices.
PROFIBUS
PROcess FIeld BUS, process and field bus standard specified in standard IEC 61784-1:2002
Ed1 CP 3/1. It specifies functional, electrical, and mechanical properties for a bit-serial field
bus system.
PROFIBUS is available with the protocols DP (= Distributed I/O), FMS (= Fieldbus Message
Specification), PA (= Process Automation), or TF (= Technological Functions).
PROFINET
Within the framework of Totally Integrated Automation (TIA), PROFINET represents the
consistent continuation of:
● PROFIBUS DP, the established field bus
● Industrial Ethernet, the communications bus for the cell level
Experience gained from both systems was and is being integrated into PROFINET.
PROFINET as an Ethernet-based automation standard from PROFIBUS International
(previously PROFIBUS User Organization) defines a vendor-independent communication,
automation, and engineering model.
Web server
Function Manual, 11/2019, A5E03484625-AG 197
Glossary
PROFINET component
A PROFINET component includes the entire data of the hardware configuration, the
parameters of the modules, and the corresponding user program. The PROFINET
component is made up as follows:
● Technological Function
The (optional) technological (software) function includes the interface to other PROFINET
components in the form of interconnectable inputs and outputs.
● Device
The device is the representation of the physical programmable controller or field device
including the I/O, sensors and actuators, mechanical parts, and the device firmware.
PROFINET IO
As part of PROFINET, PROFINET IO is a communication concept that is used to implement
modular, distributed applications.
PROFINET IO allows you to create automation solutions which are familiar to you from
PROFIBUS.
PROFINET IO is implemented by the PROFINET standard for automation devices on the
one hand, and on the other hand by the engineering tool STEP 7.
That is, you have the same application view in STEP 7, regardless of whether you configure
PROFINET or PROFIBUS devices. Programming your user program is essentially the same
for PROFINET IO and PROFIBUS DP if you use the extended blocks and system status lists
for PROFINET IO.
PROFINET IO controller
Device used to address connected I/O devices. This means that the IO controller exchanges
input and output signals with assigned field devices. The IO controller is often the controller
on which the automation program runs.
PROFINET IO device
A distributed field device that is assigned to one of the IO controllers (e.g., remote IO, valve
terminals, frequency converters, switches).
URL
Uniform Resource Locator (URL). Identifies and localizes a source, such as a web page,
uniquely via the method of access used and the location of the source in computer networks.
Web server
198 Function Manual, 11/2019, A5E03484625-AG
Glossary
UTF-8
Abbreviation for 8-bit UCS (Universal Character Set) transformation format. Most popular
coding of Unicode characters.
Each Unicode character is assigned a specially coded byte string of variable length in this
format. UTF-8 supports up to four bytes on which all Unicode characters can be mapped.
Web browser
Web browsers are visualization programs for web pages and can communicate with Web
servers.
Typical web browsers are, for example:
● Microsoft Internet Explorer
● Mozilla Firefox
Web server
Function Manual, 11/2019, A5E03484625-AG 199
Index
Configuring
A Backup, 87
Automatic updating, 25
AWP commands, 124 D
Arrays, 135 Diagnostics (Motion Control), 49
Enumeration types, 131 Diagnostics buffer, 48
Fragments, 133 Display of texts in different languages, 30
PLC tags, 125, 128
Special tags, 129 E
Structures, 136 East Asian languages, 30
B F
Backup of configuration, 89 Fail-safe, 47
Binding, 40 FAQs
Automatically updating web pages, 123
C Download certificate, 24
Web server
200 Function Manual, 11/2019, A5E03484625-AG
Index
H S
HTTPS, 24 Security functions, 14
Select technology objects, 56
I Self-signed certificates, 21
Identification, 38 Service overview, 54
Diagnostics, 38 Signal table (Trace), 101, 101
Module information, 59 Start page, 33
Intro, 33
K Log in, 36
Know-how protection, 39 Logout, 36
Statistics
L Communication, 69
Language settings, 29 Module information, 60
Status and error bits, 51
M
Measurements (trace), 96 T
Memory, 40 Tags
Motion Control writing, 83, 86
Diagnostics, 49 Technology objects
Service overview, 49 Status, errors, technology alarms, 49
Motion status, 52 Topology, 72
Actual topology, 72
P Examples, 79
Program protection, 39 Graphical view, 73
Set topology, 72
R Status overview, 78
Reading out service data, 155 Tabular view, 76
Reading PLC tags Trace recordings, 94
Overview, 126 Trend diagram (Trace), 97
String or character tags in expressions, 127
Tags of the String and Character type, 126 U
Restoring the configuration, 90 Updating and saving, 32
Runtime information, 41 Deactivating automatic updating, 32
Printing web pages, 32
Web server
Function Manual, 11/2019, A5E03484625-AG 201
Index
Saving alarms, 66
Saving diagnostics buffer entries, 49
Updating user pages, 123
User interface language
assign to project language, 31
Setting, 34
User management, 26
User pages, 120
Configuring user pages, 138
Example user page, 143
User page as start page, 141
WWW instruction, 139
User-defined pages, 28
W
Web access
Via HMI devices and mobile terminal devices, 18
Via PG/PC, 18
Web browser, 15
Web server
Certificate, 21
Properties, 14
Web server - web pages
Tag status, 82
Watch table, 85
Web server certificate
creating and assigning, 21
Web server language, 26
Web server
202 Function Manual, 11/2019, A5E03484625-AG