0% found this document useful (0 votes)
185 views152 pages

Zenon Basic Training

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
185 views152 pages

Zenon Basic Training

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 152

ABB ABILITY™ OPERATIONS DATA MANAGEMENT ZENON

zenon Basic Training v.8.10


zenon Training Documentation
zenon Basic Training v.8.10
zenon Training Documentation

Table of contents

3AXD50000558421 v.8.10 Rev A


EN
EFFECTIVE: 2019-12-09

© 2019 ABB Oy. All rights reserved. Printed under license of Ing. Punzenberger COPA-DATA GmbH.
Distribution and/or reproduction of this document or parts thereof in any form are permitted solely with the
written permission of the company COPA-DATA. Technical data is only used for product description and are
not guaranteed qualities in the legal sense. Subject to change, technical or otherwise.
Table of contents 3

Table of contents

1 Introduction

2 Training structure

3 zenon product family


Special zenon editions ........................................................................... 14
Main components of zenon ...................................................................... 14

4 Licensing

5 Startup Tool

6 zenon Editor

7 Topic: Visualization
A new project ...................................................................................... 23
Creating a new workspace ................................................................... 25
Creating a new project ........................................................................ 26
Configuration of the project .................................................................. 28
Variables ........................................................................................... 30
Drivers .......................................................................................... 30
Data Types ..................................................................................... 32
Creation of a simple data type ............................................................... 33
Creating a structure data type ............................................................... 35
Variables ........................................................................................ 37
Creation of a variable with a simple data type ............................................ 37
Creation of a variable with a structure data type ......................................... 39
Frames ............................................................................................. 41
Creation of a frame ............................................................................ 41
Screens ............................................................................................ 43
Creation of a screen .......................................................................... 43
Functions ........................................................................................... 45
Function administration ....................................................................... 45
Screen Functions .............................................................................. 48
Screen elements .................................................................................. 48
Vector elements ............................................................................... 48
Static text ....................................................................................... 48
Font .............................................................................................. 50
Dynamic elements ............................................................................ 52
Numeric value .................................................................................. 52
Dynamic text ................................................................................... 54
Button ........................................................................................... 55
“Screen active” variable ...................................................................... 57
Changing the screen elements .............................................................. 58
Runtime ............................................................................................ 58
Creating Runtime files ........................................................................ 58
4 Table of contents

Start the Runtime .............................................................................. 60


Tips and tricks for navigation in Runtime .................................................. 61
Exit Runtime ................................................................................... 62
Reloading Runtime ............................................................................ 62
The tank ............................................................................................ 62
Adding the tank symbol ....................................................................... 62
Adding the fill level display ................................................................... 64
Adding the inflows and outflows ............................................................. 65
Adding the pipelines .......................................................................... 66
The Combined element .......................................................................... 67
Configuration of the Combined element ................................................... 67
Language switch .................................................................................. 69
Examples: ...................................................................................... 70
Creation of key words ........................................................................ 70
Using the key words .......................................................................... 71
Activate language switching ................................................................. 71
Color switching .................................................................................... 71
Creating a color palettes ..................................................................... 72
Creation of a color ............................................................................. 72
Using the color palette ........................................................................ 72
Activate color switching ....................................................................... 73
Styles ............................................................................................... 73
Creation of a style ............................................................................. 73
Using a style ................................................................................... 74
Substitution ........................................................................................ 75
Substitution of an element ................................................................... 75
Substitution of a screen ...................................................................... 76
Extend project ..................................................................................... 77
Change set value input ....................................................................... 77
Write set value function ....................................................................... 77
Script management ............................................................................... 78
Creation of an AUTOSTART script ......................................................... 78
Questions about visualization ................................................................... 79

8 Topic: Event Handling


General ............................................................................................. 81
Special screen types ............................................................................. 81
Chronological Event List (CEL) ................................................................. 82
CEL screen ..................................................................................... 82
Selection of a template ....................................................................... 82
Creation of a template ........................................................................ 82
Screen switch - CEL .......................................................................... 82
Filter dialog - General tab .................................................................... 83
Filter dialog - Time tab ........................................................................ 84
CEL in Runtime ................................................................................ 85
Comments in the CEL ........................................................................ 85
Filter profiles in the CEL ...................................................................... 85
Configuration of the CEL ..................................................................... 86
Alarming ............................................................................................ 87
Defining alarms ................................................................................ 87
Limit Values .................................................................................... 87
Reaction matrices (REMAs) ................................................................. 87
Table of contents 5

Binary Reaction Matrix ....................................................................... 88


Numeric Reaction Matrix ..................................................................... 90
Link reaction matrix to variables ............................................................ 91
Alarm Message List (AML) ...................................................................... 92
AML screen .................................................................................... 92
Screen switching - AML ...................................................................... 92
Filter dialog - General filter ................................................................... 92
AML in Runtime ................................................................................ 93
Comments in the AML ........................................................................ 93
Configuration of the AML ..................................................................... 94
Alarm Cause (Context List) ...................................................................... 95
Screen Context List ........................................................................... 95
Screen switch - Context List ................................................................. 95
Filter dialog - General tab .................................................................... 96
Context List in Runtime ....................................................................... 96
Alarm causes in the AML ..................................................................... 97
Questions on Event Handling ................................................................... 98

9 Topic: Operation
User Administration ............................................................................... 99
Types of login .................................................................................. 99
Temporary login ................................................................................ 99
Permanent login ............................................................................... 100
Define users .................................................................................... 100
Protecting functionality ....................................................................... 101
Signature ....................................................................................... 102
Configuration of the user administration ................................................... 102
Functions of the User Administration ....................................................... 102
Graphic display of blocked elements ....................................................... 102
Runtime changeable data .................................................................... 104
User administration in the Runtime ......................................................... 104
User Administration screen .................................................................. 106
Read back data that can be changed in Runtime ........................................ 106
Recipes ............................................................................................. 108
Creating Recipes .............................................................................. 108
Use of Recipes ................................................................................ 109
Standard recipe function ..................................................................... 109
Recipe screen .................................................................................. 110
Recipes in the Runtime ....................................................................... 110
Questions about Operation ...................................................................... 112

10 Topic: Network
General ............................................................................................. 113
Requirements .................................................................................. 114
Network topologies ............................................................................ 114
Client-server network ............................................................................. 115
Configuring the server ........................................................................ 115
Transferring the Runtime files with Remote Transport ................................... 116
Configuring the clients ........................................................................ 117
Client gets the files from the development computer .................................... 117
Client gets the files from the server ......................................................... 117
6 Table of contents

The behavior in the Runtime ................................................................. 119


Project changes in online operation ........................................................ 119
Client-server network with redundancy ........................................................ 120
Configuring a Standby Server ............................................................... 120
System variables .............................................................................. 120
Multi-server network .............................................................................. 122
Definition of the hierarchical structure in the Editor ...................................... 122
Network topology .............................................................................. 123
Special requirements for the integration project .......................................... 123
Screens always in the foreground .......................................................... 123
Screen switch to subprojects ................................................................ 125
Access to elements of the subprojects ..................................................... 125
Variables ........................................................................................ 125
Recipes ......................................................................................... 126
Alarms and CEL ............................................................................... 126
Operating authorization in the network ..................................................... 126
In the Editor .................................................................................... 126
In the Runtime ................................................................................. 127
Circular redundancy .............................................................................. 128
Web functionalities ................................................................................ 129
Web Server ..................................................................................... 129
HTML Web Engine ............................................................................ 129
Questions about the Network ................................................................... 130

11 Topic: Diagnosis
Information collection tool - SIC ................................................................ 131
Project analysis - CRL light ...................................................................... 131
Use of variables and functions in the project .............................................. 131

12 zenon Online Test


Taking the zenon certification test .............................................................. 134
Applying for the zenon certification test .................................................... 134
Email with link to the zenon certification test .............................................. 135
Starting the zenon certification test ......................................................... 136
Q&As about the zenon certification test ....................................................... 136

13 Further zenon training sessions


Online training ..................................................................................... 137
zenon Logic training .............................................................................. 138
zenon Analyzer training .......................................................................... 138
zenon VBA training ............................................................................... 138
zenon VSTA training .............................................................................. 138
zenon VBA/VSTA training ....................................................................... 138
zenon Design & Usability Training ............................................................. 139
zenon Historian Training ......................................................................... 139
zenon Network & Security Training ............................................................ 139
zenon Energy Edition Training .................................................................. 139
zenon Pharma Edition Training ................................................................. 139
zenon Batch Control Training ................................................................... 140

14 zenon individual training


Table of contents 7

15 Glossary
Glossary for visualization ........................................................................ 143
Event handling glossary ......................................................................... 144
Glossary for operation ............................................................................ 145
Network glossary .................................................................................. 146

16 Exercises
Exercise 1: Switch with its own text ............................................................ 147
Exercise 2: Counter .............................................................................. 147
Exercise 3: Pump display ........................................................................ 147
Exercise 5: Automatic language switching with user logged in ............................ 149
Exercise 6: Language switching with a button ................................................ 149
Exercise 7: Close a screen yourself ............................................................ 149
Exercise 8: Monitoring of safety shut-off mats ................................................ 149

Further information
8
Introduction 9

1
Introduction
Welcome and thank you for choosing zenon. The following questions will be covered in this
basic training.
• What is zenon
In a nutshell, zenon is a tool designed to create projects in a streamlined and efficient
manner.
• How can I create a good project with this tool?
As with all other projects, whether I am building a house or buying a new car, it is always
important to have a plan. An automation solution also needs an organized procedure
and good planning.
• In which industry is zenon used?
zenon is used in many different industries. The four core industries are: Automotive,
Energy & Infrastructure, Food & Beverage and Pharma.
• What can I use the Supervisor demo project for?
The demo project can be used as a template and to provide ideas. It offers an initial
basis, give many pieces of information and provides numerous ideas in relation to how
you can approach a project depending on the industry. Furthermore, you can export
data such as the color palette from the demo project and reuse it in your project.
• What scope does a zenon project have?
The scope of a zenon project is influenced by the number of data points, screens,
network compatibility, and required modules, among other things. A defined scope for
a project makes the process of issuing structured names for drivers, variables, screens,
functions, etc. simpler and more efficient. This defined scope also allows users to
consider the reuse of custom elements, symbols, and screens.
• How can I design the project with a clear overview?
The design of a project is determined by the end-user who will operate the project. Each
target group has different requirements that need to be taken into account in order to
achieve the best possible usability.
In this training, you will learn the fundamentals of zenon and how to create a simple project
which displays PLC data points.
10
Training structure 11

2
Training structure
During the course of this training, we will create a sample project, going through the
step-by-step process of configuring different zenon functions.
The example project simulates a tank facility that consists of two identical production halls,
each with two tanks. The tanks are visualized with inflows and outflows and with the
corresponding valves. With the help of a driver, production is simulated and this allows an
example setup that changes.
The below picture shows you an example illustration:

We will simulate different temperature states for the respective temperature sensors in the
tanks (5 per tank). Display the fill level of the tank using a bar graph and the attendant
pipelines in and out. The temperature sensors in the tanks are implemented with variables
and given limit values and alarms. We then show these alarms – as well as system messages
– in a clear list. We will create users with different rights and define recipes to set complete
parameter sets. We will then analyze the network functionalities of zenon as well as the
possibilities for remote maintenance.
12
zenon product family 13

3
zenon product family
zenon, as automation software for HMI, SCADA and reporting, provides a wide range of
integrated functions for engineering and Runtime, in platform-independent form.
With zenon you can:
• Create, distribute, edit, and execute automation projects
• Use integrated Soft PLC zenon Logic
• Collect and evaluate equipment-spanning data from a plethora of sources
The zenon product family consists of:
zenon Operator
The zenon Operator is a cost-effective product that is adapted to machine operation. The
principle function conforms with that of the zenon Supervisor. However, compared to zenon
Supervisor, zenon Operator is limited in terms of functionality.
zenon Operator consists of Editor and Runtime and can be used on all PC operating systems.
zenon Supervisor
The zenon Supervisor is a comprehensive tool for creating and executing automation
projects. It consists of Editor and Runtime, permits the quick creation of automation networks
- also via a web connection - and can be used on all current Windows operating systems.
zenon Logic
zenon Logic is the programming environment integrated into zenon in accordance with IEC
61131. It is available as Editor and Runtime (Soft PLC) for zenon Supervisor and zenon
Operator.
zenon Analyzer
zenon Analyzer offers, with cross-system analysis, a management-level and controlling-level
view of all available online and offline data. It summarizes tasks which were separated until
now and it eliminates friction losses which emerge due to parallel set-ups, maintenance and
the coordination of different IT systems.
14 zenon product family

zenon Analyzer:
• Condenses and accounts data from different sources in different formats
• Compares them to one another
• Display the results in graphical form as report

Special zenon editions


zenon is also available in two special editions: This editions are optimized for the respective
application and contain special elements such as symbols, wizards, etc.
Energy Edition:
The zenon Energy Edition is a package with special functionality for the energy sector and
the procedural technology. The user benefits from easy-to-implement functions that allow
for an individual adjustment of the application to the physical environment.
Pharma Edition:
The zenon Pharma Edition is an expansion of the standard scope with special features that
are needed in the pharmaceutical industry, such as Batch Control.

Main components of zenon


zenon consists of two main components, the zenon Editor and the zenon Runtime.
zenon Editor:
Projects are created, configured and maintained with the zenon Editor. You can, for example,
use symbols to design a display element for temperature values. The Editor also serves to
create Runtime files.
zenon Runtime:
Runtime is the program in which projects are executed. The current temperature can be
observed and controlled in Runtime for example.
Distribution of the Components:
The zenon components are distributed in the following way:
Engineering PC: On the engineering PC both the zenon Editor and the zenon Runtime are
installed. There you engineer your zenon projects, make changes to them and test your
configuration in the zenon Runtime. For test purposes this PC also has a connection to the
PLC.
zenon product family 15

Runtime PC: There only the zenon Runtime is installed. On this PC your project runs in
the zenon Runtime. The operator handles the machine via the Runtime project.
In this training we will also address how to transfer the data from the engineering PC to the
Runtime PC.
16
Licensing 17

4
Licensing
In order to be able to use COPA-DATA products, they must be licensed. A product runs in
demo mode until it has been licensed.
The license is checked when the program is started, then the product is started with the
licensed modules.
If no valid license is found when the program is started, a dialog notifies you of this. It is
possible to choose to cancel starting up the product or to start the product in demo mode.
The product cannot be started for the demo mode if there is also no license for demo mode.
In addition, the License Manager can also be opened to assign the product a valid license.
Validity
The information on licensing is applicable for:
• zenon products: from version 8.00 on
• zenon Analyzer: from version 3.20

Information

This chapter provides you with a brief insight into licensing. For detailed
information refer to the zenon help.
18
Startup Tool 19

5
Startup Tool
The Startup Tool makes it possible:
• To start Editor or Runtime with certain parameters such as workspace.
• To operate different zenon versions in parallel to one another on one PC.
• To start Editor or Runtime in 32 bit or 64 bit mode.
• To update the zenon help.
If there are several zenon versions installed on one PC, you must register the correct version
before starting either the zenon Editor or the zenon Runtime. To do this, select the desired
version and click the “Register” button in the Startup Tool.
20 Startup Tool

With the help of the Startup Tool you can also directly start the zenon Editor, the zenon
Runtime, the zenon help and additional zenon Tools.
zenon Editor 21

6
zenon Editor
After installing zenon either the Editor or the Runtime can be started from the Start Menu
via the COPA-DATA folder. From there you can start the zenon Editor and the zenon Runtime
separately.
A project is created and configured with the zenon Editor, then the Runtime files for this
project are created. zenon Runtime is started with these files.
The zenon Editor saves its project data in a separate SQL database (Microsoft SQL Server
Express). This database is automatically installed during the installation and prepared for
saving zenon projects.
The zenon Editor consists of several areas:
22 zenon Editor

1. Project Manager
The project manager is the central place on which a zenon project is edited. In the
project manager the content of a workspace including its projects is displayed. In addition
it displays an overview of the possibilities in a zenon project such as variables, screens,
etc.
2. Detail window
The detail window dynamically displays the content of the respectively selected element
in the project tree. If you have for example selected element variables in the project
tree, all variables are displayed in the detail window.
3. Screen editor
The screen editor is the design area of the zenon Editor. In the screen editor you can
draw zenon elements and link them to the corresponding zenon functions/variables.
4. zenon elements tool bar
The zenon elements toolbar shows you an overview of all graphical possibilities of
zenon. Select the desired symbol and drag it to the screen editor by pressing and holding
the right mouse button.
5. Properties window
The properties window displays the properties of the selected object. You can display
and edit the properties of an element of the project tree, of the detail window or of a
zenon element.
6. Property help
In the property help window a direct help about the selected property is displayed.
7. Output window
In the output window different information is displayed during the interaction with the
zenon Editor.
8. Status line
In the status line the status information of the zenon Editor is displayed.
The respective areas of the Editor can be shown/hidden. You can also define their order
by using the Editor profiles
Topic: Visualization 23

7
Topic: Visualization
Learning objectives:
• Understand the uses of zenon’s Graphic User Interface in order to create and maintain
projects.
• Create workspaces to manage different types of projects, symbols, and color palettes.
• Understand how to communicate and pull data from different types of hardware with
the use of drivers.
• Understand the use of frames as a basis for different screens.
• Utilize elements to design screens and symbols as well as display variable values.
• Utilize predefined functions to implement the operation of a project.

A new project
In this section, you will learn what workspaces and projects are. We will create a workspace
and then an example project.
Workspace:
A workspace serves as the directory of all projects in the Editor. Several projects can be
saved and managed within one workspace.
Project:
A project in the Editor contains all data and settings for the creation of the Runtime files.
Projects must be assigned to a workspace.
In zenon you can create two different projects - a global project and a standard project.
24 Topic: Visualization

In contrast to a standard project a global project only has limited functionality. The objects
(templates, fonts, colors etc.), that are created in a global project are also available in all
other projects of the workspace. For instance, the frames of the global project in the other
projects can be selected under the name ‘g_name‘ in the other projects. The global project
cannot be started in the zenon Runtime.

In our example we will create both a standard project and a global project.
Topic: Visualization 25

■ Creating a new workspace


In the File menu, use the Workspace / New... command.
• Give the name Training to the workspace.
After confirming the dialog with OK, the C:\Users\Public\Documents\zenOn_Projects\Training
directory is created and a file called Training.WSP6 is created in it.
The directory name and the name of the workspace file are issued automatically by zenon,
but they can be changed later while being created.

Hint:

Video - the workspace in zenon


26 Topic: Visualization

■ Creating a new project


First we create a standard project.
• In the File menu, select the New project command.
• Click on standard project.
• Enter MY_PROJECT as a project name and accept the proposed path.

• Confirm the dialog with OK.


This step takes a little bit longer than the creation of a workspaces because there is
now not just one individual file; all editor files and the SQL database of the project are
created.
Topic: Visualization 27

• The next dialog which opens is the project wizard.

• The project wizard is available to support users to create a simple project. The wizard’s
code can be modified to suit their needs.
• We will not use the project wizard for this project, so close the wizard by clicking Close.

Information

The multi-user project option makes it possible to create a project that can
be edited by several people working on the project at the same time. In doing
so, zenon ensures that an object is not being edited by two people working on
the project at the same time. We will not use this option in our project.

The second project we will create is a global project.


• In the File menu, select the New project entry.
• Click on Global project.
• Enter MY_GLOBAL_PROJECT as a project name and accept the proposed path.
• You now should have two projects in your workspace.
28 Topic: Visualization

Hint: Video - the project in zenon

The video shows how a project is created in zenon.


Optional for the QR code: www.copadata.com/tutorials

■ Configuration of the project


• In the Project Manager, select your Training workspace.
In the detail view you now see a list of the projects belonging to this workspace. In our case
we have two projects, the standard project MY_PROJECT and the global project
MY_GLOBAL_PROJECT.
• In the Detail view select the standard project MY_PROJECT.
In the property window the properties of this project are now displayed and can be changed.
The property window will be used often in both this training as well as during normal project
development. The property window displays the properties of a selected item in the project
tree, detail window, or a screen element. Symbols on the top border of the properties
window allow you to show the properties in different views:

Information

You can add or remove frequently-used properties to or from the favorites with
drag&drop or by using the context menu of a property. By doing so, you save the
opening of the corresponding properties group for each change.
Topic: Visualization 29

We will now change the property for the display in the zenon Runtime.
• Open the Graphical design group.
In this property group among other things you can change the monitor configuration of
the Runtime. With the help of property Runtime title you can make these changes. The
following settings are available:
• No title:
The Runtime is displayed in full-screen mode.
• Title with maximize and minimize buttons:
The Runtime is displayed in a Windows window with buttons for maximizing, minimizing
and closing the window.
• Title with system, maximize and minimize buttons:
The window can be changed in its size and can be moved and it can be closed by
clicking on button X. Right click on the header opens the context menu.
• Title with system menu:
The Runtime is displayed in a Windows window with a button for closing the window.
• Title without buttons:
The Runtime is displayed in a Windows window without buttons.
• Change property Runtime title to Title with system, maximize and minimize buttons
30 Topic: Visualization

Variables
In this step, you will learn how zenon connects to a process and how it receives values from
the PLC.
To do so, we will create a driver and define our own data types. We use the driver and the
data types to define the variables.

Hint

In screen variable diagnosis you can see details about your variables in the zenon
Runtime.

■ Drivers
To communicate with a data source (PLC field bus, etc.) it is necessary to connect to a
driver. Depending on the project requirements, the desired drivers must be defined
(depending on the PLC, etc.) and their attendant process variables must be created. If
necessary, several drivers, or even one driver, can be created more than once in a project.
• Open the Variables node in the Project Manager.
• Now select the Driver subnode.
As you can see, in our project there are already drivers created for internal variables,
mathematics variables and system variables. These drivers are provided as standard,
they do not need to be licensed and their variables are not counted for the license.
• Click on the New driver... icon in the top left of the detail view.
The dialog box to select a driver opens.

• Scroll through the available drivers to the folder Modbus RTU.


Topic: Visualization 31

• Select the driver Modbus RTU and Open Modbus TCP. Under Driver name, the name
is applied automatically as displayed in the Definition of a driver... dialog. Confirm
your selection by clicking OK.
After confirming, the driver configuration dialog will open.

• Set the mode to Simulation (static).


In Hardware mode, zenon would immediately attempt to establish a connection to the
PLC when Runtime is started. As we have no PLC available at the moment, we use the
simulation mode of the driver.
• Navigate to tab Settings.
• Set the Connection to TCP/IP.

The other tabs of this dialog are driver-specific, i.e. different according to the selected driver.
Because we do not have a PLC available at the moment, we can disregard the other settings
in this example.
32 Topic: Visualization

Information

In the driver documentation, you can find more detailed information about the
possible driver-specific settings and all driver-specific dialogs. The import of the
process variables for the respective driver is also described in detail.

Hint: Video - create a driver in zenon

The video shows how a driver is created in zenon.


Optional for the QR code: www.copadata.com/tutorials

■ Data Types
A data type is a variable template without connection to the process. In addition to the
already pre-defined IEC data types, it is possible to define your own data types in zenon.
Two possibilities are available here: Simple data types and structure data types. The
advantage of self-defined data types is that there is the possibility to be able to make changes
at a central location - the data type. If a property of a data type is changed, this is
automatically applied to all linked variables.
Data types are in principle independent from the driver. However, not all driver support all
data types. With the corresponding selection, you are always only offered the data types
that are also supported by the selected driver.
In this step, you will learn how to create simple data types and structure data types.

Attention

Please do not change the predefined data types. They were created in accordance
with the IEC standard. If you want to make changes, always create your own data
types.
Topic: Visualization 33

■ Creation of a simple data type


• Open the Variables node in the Project Manager.
• Now select the Data Types node.
In the detail view you can see that there is already a list of pre-defined data types.
• Click the New simple datatype... icon at the top left of the detail view.
• Enter as name of the new simple data type Temperature.
• Select SINT as the basic data type.

By clicking on Finish, the data type is created and will then be available in the list of data
types.
• Select the Temperature data type in the list.
In the properties window, the properties of the Temperature data type are now shown
and we can make changes.
• Select the General group.
34 Topic: Visualization

• Change the Measuring unit property to °C.


Note:
You can also create the ° character via shortcut Alt + 0176. For this press and hold Alt
and then press successively 0 1 7 6 on the numeric pad of your keyboard.

• Select the Value calculation group.


The Value range PLC shows you one of the possible value ranges of the raw value
from the PLC. You can define the scaling of the variables under Value adjustment
linear. With this setting you can for example convert the voltage values from your
temperature sensor to temperatures.
We now want to define limit values for the Temperature data type.
• Select the Limit Values group in the property window.
• Click on the button {New limit value} [...].
A new section with the name Limit value[1] is created.
• Select the Limit value[1] sub-group.
• Change the properties of the limit value as shown in the illustration.
Topic: Visualization 35

■ Creating a structure data type


• In the project manager, select the Variables node.
• Now select the Data Types node.
• Click on the second icon, New structure data type..., at the top left of the detail view.

• Enter Tank status as the name for the new structure data type.
36 Topic: Visualization

After you have completed the structure data type, a dialog will open, in which you can define
the first structure element of this data type.

• Enter Fill level as a name for the new structure element.


• Select USINT as the basic data type.
• The data type should be embedded.
If a basic data type is embedded in a structure data type, the properties of that data type
can be changed in the structure element independently from the basic data type.
After finishing the structure element, the structure data type is created in the list.
However, we want to more structure elements in this data type:
• With the right mouse button, open the context menu of the Tank status structure data
type.
• Select the New structure element… menu entry.

Information

Create further structure elements for the Tank status structure data type:
Structure element 2: Inflow; BOOL; embedded

Further more we want to add our simple data type - Temperature - to the structure data
type.
Topic: Visualization 37

• With the right mouse button, open the context menu of the Tank status structure data
type.
• Select the New structure element… menu entry.
• Enter Temperature sensor as a name.
• Select our own data type Temperature as the basic data type.
• As there are 5 temperature sensors per tank in our tank example, set Dim 1 to 5.
• Select option Embed data type.
• Close the dialog by clicking on Finish.

■ Variables
A process variable is the interface between the data source (PLC, field bus, etc.) and zenon.
For correct recording, control and regulation of processes, both the exchange of data and
the input of setpoint values and commands are necessary. Process data and settings are
defined for single process variables and the parameters are entered and changed in the
variable list.
Variables are based on both data types and driver object types. The driver object types
depend on the selected driver.

Information

Many zenon drivers offer you the possibility to import variables from the PLC or
from the controller directly, so that you do not need to create these variables
manually. You will find the necessary information for the variable import in the
according driver documentation.

As we have no PLC available in our example project, we will create the variables manually.

■ Creation of a variable with a simple data type


• Select the Variables node in the Project manager.
• Click on the New variable... icon in the top left of the detail view.
The dialog box for creating a variable opens.
• Enter Hall name as a name.
• As Driver select the Internal driver with Driver object type Internal variable.
• Select String as data type.
A simple variable is created with these settings. We can however create several variables
of the same type by changing the corresponding settings in the array settings area. As
we have 2 halls in our example, we set these settings:
38 Topic: Visualization

• Set Dim 1 to the value 2.

• Confirm the settings with Finish.


Topic: Visualization 39

■ Creation of a variable with a structure data type


We now want to create other variables, but this time for our structure data type. To do this,
proceed as follows.
• Under name, enter Tank.
• Under data type, select Tank status.
• Under Driver, select MODRTU32 - Modbus RTU and Open Modbus TCP.
• Under Driver object type, select Holding Register.

• Under Array settings set Dim 1 and Dim 2 each to 2.


40 Topic: Visualization

Your variable list in the detail area of the project manager should now look as follows:

The properties of the variables are linked to those of the data type, indicated by the below
symbol:
Topic: Visualization 41

Frames
In zenon, frames are used to consistently arrange screens on a monitor by assigning a size
and the area which will appear when called.
For example, if a logo and the current time are to be shown at the top edge of the runtime
at all times, a Header frame would be designed for that area. This subsequently defines
the size and position of the header. In another example, if a menu bar always needs to be
visible on the lower portion of the screen, a Button bar frame can be created. Between
these two frames, there can be process screens which would then need its own Process
screen frame. This has the benefit that in each screen, the same frame is shown in the
same place and in the same size.
If the screen’s size or position ever needs to be changed, this can be done within the Frame
Editor. When the position of a frame is changed, the screens are mainly unaffected by this,
though their position is automatically updated by zenon.
A further benefit of frames is to be able to refer to screen area. You can, for example, close
the screen that is currently called up as a menu without needing to know which screen it is
in detail.
Additionally, users do not need to worry about closing a screen prior to opening a new one.
If another screen of the same frame is opened, the previous one is closed automatically.
So before we can create the first screen, we still need to define our frames.

Attention

The frame that is created first is automatically used for each new screen. If possible,
create the process screen as the first frame.

■ Creation of a frame
• In the Project Manager, open the Screens node.
• Select the Frames subnode.
• Click on the New frame... screen on the top left in the detail view.
A frame with the name Frame 0 is created and shown in the Frame editor. You can
change the properties of the frame in the properties window.
• The size of the frame is always set to the screen resolution currently set by default. We
will change the resolution of the frame so there is enough space for an alarm messaging
frame above and a navigation bar below.
• Give the frame the name Process screen.

You can also change the size and position of the frame in the frame editor directly. The
frame editor also allows users to create new frames with the context menu.
42 Topic: Visualization

• Create a second frame with the name Button bar for the button bar. The frame should
be high enough to be able to draw the buttons.
• Match the size of the Process screen frame and the Button bar frame so that they do
not overlap.
• This is how the frames should look in the frame editor:

Hint: Video - frames in zenon

The video shows how frames are created in zenon.


Optional for the QR code: www.copadata.com/tutorials
Topic: Visualization 43

Screens
A screen is a window with special predefined properties. Each screen must be assigned a
frame.

Information

You can also create a screen without having created a frame before hand. In this
case however, zenon automatically creates a frame with the default settings in the
background in the full screen size.

■ Creation of a screen
• In the Project Manager, select the Screens node.
• Click on the New screen... icon in the top left of the detail view.

• In the following dialog you can configure numerous settings at the same time.
You can configure the following settings for the screen:
• Name of the screen
• Used frame
• Screen type
• Screen template (more on this topic later)
• Equipment group (more on this topic later)
• Screen-active variable (more on this topic later)
At the moment we only change two properties.
• Name the screen Start screen.
• Assign it the frame Process screen.
• Leave the screen type at Standard.
• Click on OK.
These settings can be changed in the screen’s Properties. For example, in the property
group General, the screen’s name can be changed at any time.
44 Topic: Visualization

The screen is automatically opened in the screen editor during creation.

Information

Because this is the first screen that we have created, it is automatically used as a
start screen for the Runtime. You can change the Runtime start screen in the project
properties under Graphical design - Start screen.

• Create a screen with the name Hall. Use the Process screen frame for this screen.
• Create a screen with the name Menu bar. Assign the Button bar frame to this screen.

Hint: Video - screens in zenon

The video shows how a screen is created in zenon.


Optional for the QR code: www.copadata.com/tutorials
Topic: Visualization 45

Functions
The project is implemented using functions. For example, you can call up your
newly-designed screens using buttons with functions which have been linked to screen
switching. Functions are not only used for screen elements, but other project functionalities.
We will create many different types of functions in this project.

■ Function administration
• In the Project Manager, select the Functions node.
The empty function list now appears in the detail view of the Project Manager. The
functions you have created are listed later in the functions you have created.
• Click on the New function... icon, at the top left of the detail view.
A dialog box with the pre-defined functions opens; these are arranged in groups.
First, we will create a function that closes the Runtime.
• Open the Application group.
• Select the Exit Runtime function and confirm the selection with OK.
46 Topic: Visualization

The function is now shown in the function list in the detail area of the Project Manager.
The function can be changed as required in the properties window.
• Change the name of the function.
This function does not need any parameters; the definition is therefore ended here.

Information

You can add or remove frequently-used functions to or from the favorites with
drag&drop or by using the context menu. You thus save having to open the
corresponding group of the function each time.

The next thing to do is to create the functions for calling up the screens.
• Click on the New function... icon, at the top left in the detail view.
• Select the Screen switch from the Favorites and confirm the selection with OK. Because
this function needs parameters, the dialog to enter the required parameters now opens.
The screen that is to be opened is needed as a parameter.
• Select the Start screen screen and confirm the selection with OK.

Further parameters are not required and the definition of this function is completed.
• Create the corresponding screen switch function for the Menu bar and Hall screens.
Our function list should now look as follows:
Topic: Visualization 47

Hint: Video - screen switching in zenon

The video shows how the screen switching function and a button in zenon are
created.
Optional for the QR code: www.copadata.com/tutorials
48 Topic: Visualization

■ Screen Functions
You can link functions to each screen, which will automatically be executed on opening or
closing the screen. We will now use this functionality to call up the Menu bar automatically
with the Start screen.
• In the Project Manager, select the Screens node.
• In the detail view of the Project Manager, highlight the Start screen screen.
• Open the Screen action group in the properties window.
• In the Start function [...] property, select the Screen switch function Button bar from
the list.
This means that in Runtime, whenever the Start screen screen is opened, the Menu bar
screen will also be opened automatically.

Attention

The function must not refer to its own screen. That means that you must NOT link
the Screen switch button bar function to the Button bar screen.

Screen elements
Roughly speaking, there are two different types of elements that you can use in a screen:

Parameter Description
Vector elements The appearance of these elements in the Runtime always stays the same.
Dynamic elements These elements change their appearance in the Runtime (usually depending on
the value of a variable).

■ Vector elements
Vector elements are used for the graphic display of background information; their appearance
in Runtime does not change.

■ Static text
We will now place some text in our start screen.
• Open the Start screen.
• Open the Elements menu or use the Elements tool bar.

• Select the Static text element.


• In the Start screen screen, press the left mouse button on the desired location and
hold it down while pulling up a rectangle.
You can change the properties of the screen in the properties window. You can change
the properties of an element at any time; you only need to select the corresponding element
Topic: Visualization 49

in the screen – click on it with the left mouse. The properties are then available in the
properties window again.
This procedure is the same for all elements.
• Now, in the Text group in the Text property, write My first zenon project.

• In property Font you can select another font.


50 Topic: Visualization

■ Font
In zenon fonts are created centrally in order to facilitate maintenance.
We now want to create a new font for the text element.
• In the Project manager open the Screens node.
• Select the Fonts node.
• Now, in the detail view, open the context menu and select the New font... entry.
The Windows standard dialog to define fonts opens

• Select the font, the font type and the font size as desired.
In the detail view of the project manager, there is now Font 6, the properties window
shows the properties of the newly-created font type.

• Change the name of the font to Title.


The font types created here can be used in all elements that contain text.
We now want to use this font in our text element.
• In the Start screen, select the text element and select the Text group in the properties
window.
• Use the Font property to open the dialog to select a font.
• Select the Title font.
• To save it, click on the Save screen icon or select the Save screen entry in the screen's
context menu.
Topic: Visualization 51

Attention

You can use each installed font. Please take care that all fonts must also be installed
on all Runtime PCs.
52 Topic: Visualization

■ Dynamic elements
As opposed to vector elements, dynamic elements change their appearance in the Runtime.
They are used to display variable values or to execute functions.

■ Numeric value
The numeric value element displays the the value of a variable in numerical form. We create
several numeric value elements:
• Open the Start screen screen.
• In the Elements menu, select the Numeric value entry.
• With the left mouse button held down, drag the the element to the Start screen in the
desired size.
• The dialog box to select variables opens automatically.

• Select the variable Tank[1,1].Temperature[1] and the press the OK button.


Creation of further elements:
• Now create further numeric value elements for the variables Tank[1,1].Temperature[2],
Tank[1,1].Temperature[3], Tank[1,1].Temperature[4] and Tank[1,1].Temperature[5].
• Click on the Save screen icon or select the Save screen entry in the context menu.

Information

You can copy the created elements and link the new variable via drag&drop.

If the variable selection does not open automatically, proceed as follows:


• Open the global zenon Extras menu.
Topic: Visualization 53

• Select the Settings menu.

The following dialog opens


• Activate the Input properties on creating option in the Screen editing group and then
press the OK button.
54 Topic: Visualization

■ Dynamic text
The dynamic text element can display different parameters of a variable:
1. Variable name
2. Variable identification
3. Variable value
4. Measuring unit
5. Resources label

6. Limit value text


In our example we will create several dynamic text elements:
• Open the Start screen screen.
• In the Elements menu select the Dynamic text entry.
• With the left mouse button held down, drag the element to the Start screen in the
desired size.
• The dialog to select variables opens automatically.

• Select the variable Tank[1,1].Temperature[1] and press the OK button.


In our example the variable name is rather long and incomprehensible therefore we will use
the variable identification rather than the variable name in the Runtime. In order to do this
we must first fill it with values:
Topic: Visualization 55

• Select the Variables node in the Project manager.


• Click on the variable Tank[1,1].Temperature[1].
• Open the General properties group.
• In property Identification enter Temperature[1,1] as variable identification.
Insert the variable identification at least also for the other temperature variables for tank
1.
After we filled in the variable identification, we can display it now in our dynamic text element:
• Click on the dynamic text element created before.
• In the properties navigate to the property group Text.
• Change property Display text to Identification.
Now the variable identification is displayed instead of the variable name in the Runtime
With the help of the dynamic text element you can also display the limit text.
• Create another dynamic text element for variable Tank[1,1].Temperature[1].
• Change the display text of this element to limit text.
Creation of further elements:
• Now create further dynamic text elements for the variables Tank[1,1].Temperature[2],
Tank[1,1].Temperature[3], Tank[1,1].Temperature[4] and Tank[1,1].Temperature[5].
Click on the Save screen icon or select the Save screen entry in the context menu.

■ Button
First we will create buttons for our Menu bar, with which it is possible to switch between
the Start screen and the Hall.
• Open the Menu bar screen.
• Select the Button entry in the Elements menu.
56 Topic: Visualization

• Now, with the left mouse button held down, drag the element to the Menu bar screen
in the desired size.
The dialog for selecting functions opens automatically after you release the mouse
button.

• Select the start screen Screen switch function.


• In the properties window, open the Text group.
• For Text line 1, enter the text Start screen and, for Text line 2, the text Alt+S.
• Open the Runtime group.
• Under Keyboard operation, select the Key combination [...] property.
The dialog for the definition of the shortcut opens.
• Enter Alt+S by clicking in the input area and then pressing that key combination.
• Confirm the entry with OK.

In Runtime, you can now execute this function either by clicking the button with the mouse
or by pressing this key combination.
• Create a corresponding button for the Hall screen with the label Hall 1 and Alt+1, as
well as the corresponding keyboard shortcut.
• Create another button for the Exit Runtime function, with the label Exit and the keyboard
short cut ALT+E.
Topic: Visualization 57

For the button labels, it is recommended that a certain font is defined and that this is used
for all buttons that are used. This is because if you want to change the font or the size at a
later time, you only have to make the changes at a central location and all buttons are
adapted automatically.
• Create a new Buttons font.
• Select the buttons in the Menu bar screen.
To do this, you can either click on the first button and then select the others with the Caps
key pressed, or press the Ctrl+A key combination in the screen; all elements are selected
in the screen as a result.
You can now change the properties of all selected elements in the properties window at
the same time.
• Open the Text group.
In the Font property, select our Buttons font.

■ “Screen active” variable


The “screen active” variable is a Boolean variable which displays whether the linked screen
is called up. It can be perfectly used for navigation as you can change the color of the button
as soon as a screen is called up.
In this example we create two "screen active” variables for screen Start screen and Hall.
• For this create two new variables of data type Bool and the internal driver:
• Screenactive_Start screen
• Screenactive_Hall

You must then link the variables to the screen and the button. First we link it to the screen.
• Open the properties of the Start screen screen
• Go to property group Screen action.
• Add variable Screenactive_Start screen to property 'Screen active' variable.
After we linked the variable to the screen, we must link it to the button.
• Open the Menu bar screen.
• Click on the button for screen Start screen and open property group Fill.
• In group Fill color(s) dynamic in property Fill color add variable Screenactive_Start
screen.
• Property Show color preview provides you with an insight of the dynamic fill color of
the button.

The dynamic fill color is controlled via the limit values of the variable. By linking the variable
to the screen two limit values were created automatically. By default the added limit colors
are red and green. You can change them in the properties of the variable. If you need the
same dynamic fill color for all buttons, you can create an own "screen active” data type for
this.

Information
58 Topic: Visualization

You can create the "screen active” variable directly in the screen creation dialog.
Thus it is automatically linked to the screen. However you must link it to the button
manually.

■ Changing the screen elements


You can change the inserted zenon elements at any time. Both in their visual appearance
and their linked variables/functions.
Visual change:
• To change the size of the element, click on one of the corner points (a double arrow
appears instead of the mouse pointer). Hold down the mouse button and drag the
element to the desired size.
• Double-clicking on one of the marking points opens a context menu in which you can
enter the pixel coordinates precisely.
• To move the dynamic element, click on the middle of the element with the mouse (an
arrow cross appears), hold down the left mouse button and drag the element to its new
desired position.
• If the mouse pointer is on the knob, you can move the point with the cursor buttons or
change the size.
• You can activate a grid in the screen, on which you can position the elements.
• Use this toolbar in order to organize your elements.

Functional change:
• You can change the linked variable or function in the properties of the element.
For that open property group Variable/function and change linked variable or function.
• You can also replace the variable or function via drag&drop.
Just select the desired variable or function in the detail window and drag it on the screen
element.

Runtime
In this step, you learn how to start and close the Runtime. Additionally, you will be able to
see how you can operate your project in the Runtime.

■ Creating Runtime files


Before you can start the Runtime you must create the Runtime files. Runtime files are files
that are created by the editor that are read and interpreted by Runtime. The Runtime files
are saved in the Runtime folder which you can simply open with the help of a shortcut.
You can create the Runtime files on a number of ways.
1. Via the toolbar
2. Via the context menu of the project
First we will create the data via the toolbar.
Topic: Visualization 59

A toolbar is available to transfer files from the Editor to the Runtime or vice versa:

Symbol Description
Create changed Runtime files Creates Runtime files of all files that were changed in the Editor. The drop-
down menu allows to choose whether Runtime files of the active project or
of all loaded projects shall be created.
Create all Runtime Files Creates Runtime files of all files that are available in the Editor. The drop-
down menu allows to choose whether Runtime files of the active project or
of all loaded projects shall be created.
Import Runtime files Files that can be changed in the Runtime (such as recipes or user administra-
tion) are imported from the Runtime into the Editor.
Files that can be changed in Opens the dialog to administer files that can be changed in the Runtime.
Runtime
Start the Runtime Starts Runtime.
Options for toolbar Clicking on the arrow opens the submenu:

Symbol Description
Active: Toolbar is displayed.
If the toolbar is not displayed, it can be activated using the
Options -> Toolbar menu.

Note:
For free placed toolbar (undocked from the Editor) options are not displayed.
The toolbar can be closed by clicking on button X.

You can also create the Runtime files via the context menu of the project.
• In order to do this right-click on your project MY_PROJECT.
60 Topic: Visualization

• In the context menu, navigate to Runtime files and select either Create Changed Data
or Create All Data.

■ Start the Runtime


The Runtime can be started in three ways:

Description
By clicking the Start Runtime (F5) button
With the F5 key in the Editor
In the Start menu in the program group All programs/COPA-DATA/zenon Runtime 8.10

After the Runtime has been started, instead of the two screens which were expected only
Start screen is loaded. Screen Menu bar is missing. We will solve this problem in the next
section.
Topic: Visualization 61

■ Tips and tricks for navigation in Runtime


• Right-click somewhere in an empty area of the screen.
If you press and hold the right mouse button, the name of the screen appears on the
mouse pointer.
• Now right-click on the numerical value element for the variable
Tank[1,1].Temperature[1].
The name of the variable that is linked to it is now shown on the left above the element.
• Now left-click on the numerical value element for the variable Tank[1,1].Temperature[1].

The standard dialog box for setting values opens and allows you to change the value
of this variable.
• Set the value of the variable Tank[1,1].Temperature[1] to 300 and close the dialog
box with OK.
• Set the value of the variable Tank[1,1].Temperature[2] to 35 and close the dialog
box with OK.
• For the variable Tank[1,1].Temperature[3], change the command in the setpoint
input to switch to substitute value and close the dialog box with OK.
You now see a red square at the right upper edge of the element. This means that
you do not currently have a connection to the controller for this variable. This red
square is also shown in the event of an interruption to the controller.
• Click on the Hall 1 button.
Switch to the respective screen by clicking on the screen switch function button.
62 Topic: Visualization

■ Exit Runtime
• Close the Runtime using the shortcut Alt+F4.
• Optional you can click the X Button in the windows dialog.
The Runtime is always closed in an orderly fashion unless you deliberately stop the
Runtime process.

Information

Later we will engineer a several button to exit the Runtime.

■ Reloading Runtime
In order for us to not have to close and restart the Runtime each time the project is changed,
we will now take a look at the Reload project online function. This functionality allows us
to make changes in the Editor and to reload these in the Runtime at any time.
• In the Project Manager, open the Functions node.
• In the context menu of the Functions node, select the New function.. entry.
• Select the Reload project online function in the Application group.
• In screen Menu bar create a new button which executes the Reload project online
function.
• Start the Runtime.
• Switch to the Editor using the Windows task bar or with the Alt+TAB keyboard
combination.
In order to be able to see the effect of the function, we must change something in the project.
Change something which immediately stands out, e.g. the fill color of the buttons or the
background color of a screen.
Before we can reload the changes in the Runtime with the Reload project online function,
we must first create new Runtime files.
• Click on the Save screen icon or select the Save screen entry in the context menu.
• Select the Runtime files / Create changed entry.
We have thus created the new Runtime files. We now only need to apply these in the
Runtime.
• Use the Windows task bar or the keyboard shortcut Alt+TAB to switch to the Runtime.
• Click on the Reload button.
Now the changes are dynamically loaded in the Runtime.

The tank
In this section, we create a screen that visualizes a tank with all inflow and outflow valves.
The tank is supplied by a pump.
• Open the Hall screen to do this.

■ Adding the tank symbol


We will not draw the tank itself, but will select a symbol for this. In our example symbols can
be stored in three locations.
1. In the symbol library of the global project MY_GLOBAL_PROJECT
Topic: Visualization 63

2. In the symbol library of the standard project MY_PROJECT


3. In the general symbol library
In the global project you can find the symbol library in the project tree. In the standard project
you can find the sub-node symbol library in node screens. You can find the general symbol
library at the very bottom of the project tree. It is detached from the zenon projects but
connected to the zenon workspace.
The difference between the two is in the backup mechanisms of zenon. In general, there
are two different types of backup, a workspace backup and a project backup. In the
workspace backup, both the symbol library of the global project and the symbol library of
the standard projects are saved. In contrast, only the symbol library of the project itself is
saved in a project backup.
The general symbol library already contains symbols. We have predefined these symbols
for you, in order to make the design of your project easier. You can use all symbols from
this and change them as you wish.

Information

If symbols are also used in other projects or in multi-user projects, they must be
stored in your global project.

Because we have not created our own symbols in this project, the local symbol libraries are
currently still empty. Therefore we will insert a symbol from the general symbol library.
• Select the General symbol library group.
• Open the Container group.
• Drag Container 2 with the left mouse button held down to the middle of the left half of
the screen and press the Ctrl key, before you release the mouse.
• Change the size of the symbol.
If you have not pressed the Ctrl key when inserting a symbol, a link to the symbol in the
library is created in the screen. The symbol is copied to the screen with the Ctrl key pressed
down.
64 Topic: Visualization

■ Adding the fill level display


Now we want to have the fill level displayed in our tank.
• In the Elements menu, select the Bar chart element.
• With the left mouse button held down, drag the element in the tank to the desired size.
• In the Variable selection dialog, select the Tank[1,1].Fill level variable and press the
OK button.
• In the properties window, open the Representation group.
• Set the Bar fill to green under Bar color.
• In the properties window, open the Fill group.
• Activate the Transparent property here.
Your tank should like something like this:
Topic: Visualization 65

■ Adding the inflows and outflows


In this step, we add the valves for the inflow and outflow in our screen. To do this, we will
use the Switch element, which visualizes the status of a binary variable.
• In the Elements menu, select the Switch element.
• With the left mouse button held down, drag the element above the tank to the desired
size.
• In the Variable selection dialog select the Tank[1,1].Inflow variable and click on the
OK button.
• In the properties window, open the Fill group.
• Under Predefined graphics, select the bitmap pair for a valve.
You can also select your own graphics files for the statues instead of the pre-defined bitmaps.
Instead of a switch, you can also use the Combined element element for the display of
different statuses of a variable. Later we will create the combined element together.
Also add a corresponding Switch element for the outflow valve, which displays the status
of the Tank[1,1].Outflow variable.
This is something like what our screen looks like:
66 Topic: Visualization

■ Adding the pipelines


We will now draw the corresponding inflow and outflow pipelines. To do this, you can use
the elements Line, Polyline or Pipe. In this example, we use a Pipe.
• Select the Pipe element.
• Connect the inflow valve to the tank.
You add a new joint to the Pipe with each click. To close the Pipe, double-click or press the
Esc key. Add the other Pipes as shown in the illustration below.
This is something like what our tank should look like:

• Now add your tank to the symbol library of the project. By creating an element group
and inserting it into the symbol library via the context menu.
• Delete the original tank and insert this tank again as linked symbol in the screen.

Hint

You can create the element group with shortcut Ctrl + G and disband it with shortcut
Strg + Shift + G.

Test your tank in the zenon Runtime.


Topic: Visualization 67

The Combined element


The combined element is a dynamic element that can be used universally and can adopt
the most varied graphic characteristics:
• Graphics
• Screen symbol
• Text
To create a combined element in a screen:
• Click on the Combined Element symbol in the elements toolbar and drag the element
to the Start screen with the mouse.
• In the variable selection dialog select variable Tank[1,1].Temperature[1].
• The Assistant for combined element settings opens and guides you through the basic
settings.
We want to define all settings manually. Thus click on cancel.
In order to define the settings manually, we must open the configuration dialog.
• Again click on the Combined element.
• Go to property group REPRESENTATION.
• Click on CONFIGURATION AND TEST.
The configuration dialog opens.

■ Configuration of the Combined element


The form of the display is defined through statuses. Variable values of the main value, values
of further values and status information from all linked variables can all serve as statuses.
Any desired links can be created using formulas.
We will create two different conditions:
1. Condition with one variable
2. Condition with two variables
First we create a new condition with the already linked variable.
68 Topic: Visualization

• Click on the New... button.


• Enter, as a Value, 30.
• As Display element select any element from the general symbol library.
• Activate the Original symbol color checkbox.
Thus we have created the first condition. Now we will create the second condition.
• In the condition list click on Default condition.
The selected condition is always copied to the new condition.
• Click on the New... button.
• Using the Add button, add variable Tank[1,1].Temperature[3].
• Click on the Formula... button.
The formula editor opens. In the formula editor you can create a condition which for
example links the values of both variables.
• Open the details of both variables by clicking on the +.
• By double-clicking the value it is inserted in the formula.
• Insert the following formula:

• Close the formula editor with the OK button.


• As Display element select any element from the general symbol library.
Topic: Visualization 69

• Activate the Original symbol color checkbox.


The settings of your Combined element should look like this:

Test your Combined element in the zenon Runtime.

Language switch
This functionality is essential for the realization of international projects. The language switch
in zenon makes it possible to switch between different languages used for text information
shown in zenon Runtime. For project configuration, a language table has been created in
the detail view of the Language file node.
In order for texts to always be language switchable, they must always start with the @
character or be enclosed with two @ (for example: @Hall@ 1). These texts are marked as
key words in zenon and entered into a language table. After an odd number of “@”
characters, the text is translated, whereby the counting starts at the beginning of the entry.

Examples:

Keyword Meaning
@Text The whole text will be translated.

Keyword Meaning
Text@ This text will not be translated.
@Text@ The text between the two “@” will be translated.
@user@@sample@ Everything is translated
@user@sample Sample is not translated
70 Topic: Visualization

■ Examples:
Language table
The language table can be created in the global project or in the standard project. The
advantage for creating the language table in the global project is that it can be access
globally from all projects in the workspace. We create the language table in global project
MY_GLOBAL_PROJECT. The functions for the language switch must always be created
in the standard project.
To configure language switching, a language table must be created in the Project. This
language table is based on text files and these can be created in the detail view of the
language file.

Creation of a language file


To create a new language file, open the Language file node in the Project Manager at
global project
MY_GLOBAL_PROJECT.
• In the detail view menu, click on New language file.
• Enter the name German into the dialog.
• Confirm with OK and the new file is added to the language table on the far right side.
• Click on the New language file icon in the detail view menu.
• Enter the name English into the dialog.
• Confirm with OK and the new file is added to the language table on the far right side.
We now have the necessary table for language switching.

■ Creation of key words


To create a new key word, scroll to the last line of the language table. Here you can find an
empty line in which new key words can be added.
• Enter the name of the keyword in the empty row, in the column keyword.
• Confirm your entry with the Enter key.
• The key word you have entered is now copied to all available language files.
• To change the entries in the language files, click in the cell of the table and change the
text.
Create the following key words:

Keyword German English


Hall Hall Hall
Reload Reload Reload
Exit Exit Exit
Start screen Start screen Start screen

Information
Topic: Visualization 71

In the language table, all key words are entered without the @ character. Existing
control characters are removed automatically.

■ Using the key words


To be able to use the key words in Runtime, you must change the text in the respective
screen elements. In our example we want to make our buttons language-switchable in the
Menu bar.
• Open the Menu bar screen.
• Click on the button for screen switching on the Start screen.
• Change the Text line 1 property in the Text properties group from Start screen to @Start
screen.
Repeat this step for all key words, we have created in the previous step.

■ Activate language switching


To be able to change the language in Runtime, a function must be created for this.
• For the function you need the project ID of the global project.
You can find the project ID in the project properties of the global project in group General,
in group Name/Folder in property Project ID.
Note down the beginning of the project ID.
• Create a new function.
• Select the Language switch function in the Application group.
• Click on the ... button.
• Go to folder SQL2012 and search for the folder with your project ID.
• The open the following path: FILES\zenon\custom\languages.
• Select the language file English.txt and click on Open.
• Close the dialog with OK and change the name of the function.
• Create a second function for the language file German.txt.
• Create new buttons for these functions in the Menu bar screen.
• Give these buttons a unique name.
• Test the language switch in the Runtime.
To see the effects of the language switching, you must switch to Runtime. When clicking
on the button for English, the labeling of the other buttons switches to the English text.

Hint

You can assign the buttons to the respective flag of the country as background
graphics.

Color switching
zenon makes it possible for you to not just adapt the language in Runtime, but also the
colors of the elements. This is controlled using the color palettes.
72 Topic: Visualization

Color palettes make it possible to summarize individual colors into color palettes. You can
define a color set such as this, which can be easily edited, both in the Editor and in the
Runtime. All colors that are defined with the help of palette colors can be easily changed.
The uniform design of corporate designs can be completed so very easily. If necessary, the
design can be change completely (switching palettes) or only individual colors (color switch
in palette) can be changed centrally.
In our example, we will set up color switch for a day view and a night view in global project
MY_GLOBAL_PROJECT.

■ Creating a color palettes


To create a new color palettes, open the Color palettes node in the Project Manager.
• In the detail view menu, click on the New color palette icon.
• Change the name of the color palette in the Palette name property to Night.
• Create a second color palette with the name Day.

Note:
You only see the color palette when you create a new color.

■ Creation of a color
• Click on the New color... icon in the detail view menu.
• Change the name of the color by double clicking on the color.
• Change the individual colors in both color palettes by double clicking on the respective
color.
You can also enter the color code directly.
Create some colors.

■ Using the color palette


In order to be able to use the color palette in Runtime, you must link the entries of the color
palette to the respective elements. We want to make our buttons in the button bar color
switchable.
• Open the Menu bar screen.
• Click on a desired button.
• Open the Fill properties group and click, in the Fill color property, on the...... button.
• Next to the Colors entry, you now see an entry with color palette. Click on the Color
palette entry.
• Now you can see the colors which you have defined before. Select the desired color

Repeat this step for all buttons in the Menu bar screen: Alternatively you can also select
all buttons and edit their colors at the same time.
Topic: Visualization 73

■ Activate color switching


To be able to change the colors of buttons in Runtime, a function must be created for this.
• Create a new function.
Select the Switch palette function in the Application group.
• In the Color palette drop-down menu, select Night.
• Close the dialog with OK and change the name of the function.
• Create a second function for the Day color palette.
• Create new buttons for these functions in the Menu bar screen.
• Give these buttons a unique name.
You must switch to Runtime to see the effects of the color switching. When clicking on the
button for Night, the colors of the buttons switch to the Night color palette.

Styles
Styles comprise graphical properties of screen elements in zenon that belong together in
logical units. As an example, the "Line" style comprises the properties Color, Thickness,
Sample and the line ends.
Several styles are compiled into a style group. This makes it possible to administer the
complete graphical properties of a zenon element (with the exception of the size)
independently and centrally in the (global) project and to apply it to as many elements as
desired.
Style groups can be extracted from existing zenon screen elements or created manually.
As a result, the usual configuration is made possible to cerate the style, at the element
directly.
The styles serve as an aid to project configuration and support you in the definition,
visualization and safeguarding of the consistency of the graphical user interface and allow
quick implementation of the projects through reusability. They also make it easier for you
to incorporate your company-specific designs into your zenon project.
The styles can also be created in the global project and in the standard project. We will
create our styles in global project MY_GLOBAL_PROJECT.

■ Creation of a style
Style groups can be created in two different ways.
1. Manually via the toolbar SCREEN
2. Automatically via the zenon element
We will go through the automatic style in detail.
Select one of your elements from which you want to extract the style. Configure a special
design for this element. Such as, for example, colors, shading, rounded corners or a font
type for the text, etc.
• As soon as you have completed the element, click on the element with the right mouse
button.
74 Topic: Visualization

• Select Create style group from element in the context menu.

• Enter a name for the style group in the subsequent dialog and click on the global project.
SCREEN
A style group was created. You can now edit the properties of this style centrally in it.
• In the Project manager in the global project open node Styles.
You can see previously-created style groups in the detailview.
Click on the + on the left edge to see the individual styles of the style group.
• You can change this in the properties by clicking on the styles.
Create a style group for a button and a style group for a static text field.

■ Using a style
You can apply a style in two different ways.
1. Styles can be assigned to an element by using Drag&Drop.
2. Styles can be assigned to an element by using the element properties.

Information

In addition to the assignment of style groups to an element, it is also possible to


assign individual styles from the style groups to an element.
When assigning single styles, it is also possible to do this by using Drag&Drop or
the element properties.

1. The first thing we will do is to assign our buttons in the Menu bar screen a style group
by using Drag&Drop.
a. In the Project Manager in the standard project open node Screens.
b. Open the Menu bar screen by double-clicking on the name.
c. In the Project manager in the global project open node Styles.
d. Now move the button style group by dragging & dropping the first button in the
Menu bar screen.
e. The display of the button is adapted to the style group.
In the element properties (such as fill), you now see the linked style in each subgroup.
2. The second thing to do is to assign our static My first zenon project text field in the Start
screen screen a style group, using the element properties.
a. In the Project Manager, open the Screens node.
b. Open the Start screen screen by double-clicking on the name.
Topic: Visualization 75

c. Click on the My first zenon project static text field.


d. Open the Text properties group and change the Text style property.
e. In the subsequent dialog, select the text style from the text style group.
f. Confirm your selection with OK.

The properties of your static text element should look like this:

Substitution
In general substitution means replacing a term with another one. In zenon substitution is
used in order to make projects easier to maintain.
There are two differnet kinds of substitution in zenon:
1. Substitution of a zenon element
2. Substitution of a zenon screen

■ Substitution of an element
The replacement of links is like the classic find&replace for variables and function in screens.
It is automatically offered in many places in zenon, but can be executed manually to a
highlighted group of screen elements. In doing so, a list of all variable and function references
is created, which can then be replaced by other ones or wild cards in groups. Substitution
then replaces the old reference and is saved permanently with the screen. This method is
particularly helpful if parts of a screen are copied to another and are to be linked to other
variables.
In the next step, we want to use this functionality to display a second tank in our Hall screen.
• Open the symbol library of your project.
• Select the previously added tank and add it next to the first tank via drag&drop in the
Hall screen.
76 Topic: Visualization

The tank element from the symbol library is added in the screen. A new dialog for substitution
opens automatically.

All variables and functions that are linked to our tank are offered in a list for replacement.
• In Source, enter *[1.1]*.
• In Replace with, enter [1.2].
• Click on the Preview button.
Now, in the right column of the list, you can check whether the replacement will be made
as you wish. By clicking button Ok, you save your substitution.
You can call this dialog up at any time.
• For that open the properties of the element.
• Select the Linking rule property group and click, in the Preview property, on the......
button.
The dialog to replace links is thus opened again.

■ Substitution of a screen
Screens that have already been created can be used more than once with the help of indirect
addressing. This functionality makes it possible to replace variables and functions with
others when opening a screen. You thus only need to create one screen for the same
equipment parts and can then open it by using different screen switchi functions with other
respective groups of variables and/or functions.
We will use indirect screen addressing for our Hall screen. We will now switch between Hall
1 and Hall 2 with two buttons, but refer to the same screen in the process.
• Create a new Screen switch function.
• As a parameter, select the Hall screen and confirm the selection with OK.
zenon detects, after the screen has been selected, that there are already dynamic elements
with variables and/or functions in the screen. Another dialog is therefore automatically
opened. We are already familiar with this dialog from substitution.
Topic: Visualization 77

You can see the variables and functions contained in the screen in the lower area of the
Replace links dialog. You can replace the variables individually by double clicking on a
line. As we have adhered to a consistent structure for issuing names with our variables, we
can replace complete groups.
• Enter, as a source, *[1*.
• Enter, as a target, [2.
• Click on the Apply button and confirm the subsequent query with Yes.
In the lower part of the dialog, you can now check whether the replacements correspond
to what you expect. In our example, for all variables in which the name [1 appears, [1 is
replaced with [2.
• Close the dialog with OK
• Create a new button in the Menu bar screen with the function that has just been created
and the labeling Hall 2.

Information

You can also replace your variables or functions with the help of indexes. For
that the dialog provides you with a second tab. For a detailed description of this
process refer to the zenon help.

Extend project
In this step you will learn about several extensions for your project.

■ Change set value input


• Open the Start screen screen.
• Select the element for the variable Tank[1,1].Temperature[1].
• Open the Write set value properties group.
• Change the Write set value via property to element.
The standard dialog box is then no longer opened when the value of the
Tank[1,1].Temperature[1] variable is changed in the Runtime. Instead, you can enter the
set value in the element directly and then confirm the entry with the Enter key.

■ Write set value function


The Write/modify set value function sends a defined value for a selected variable to the
PLC.
• Create a new function.
• Select the Write/modify set value function in the Variable group.
Select the variable Tank[1,1].Temperature[1] and confirm the selection with OK.
78 Topic: Visualization

Because this function needs additional parameters, a further dialog opens.

• Set the set value to -50.


• Activate the Direct to hardware option.
This option causes the set value entered above to be written (=sent to the controller)
without the Runtime expecting a confirmation or allowing a change.
• Close the dialog with OK and give the function a unique name.
Create a function for the variable Tank[1,1].Temperature[2] that writes the set value as
-70.

Script management
If several functions are summarized and processed in a certain sequence, they must be
saved in a script. There are several predefined scripts in the system. For example the
AUTOSTART script which is automatically executed at Runtime start.

■ Creation of an AUTOSTART script


• In the Project Manager, open the Functions node.
• Select the Scripts subnode.
• Open the context menu in the detail view and select the New script entry.
• Give the new script the name AUTOSTART, by typing it in or selecting from the list of
reserved script names.
• Click on the Add functions button.
The dialog for multiple selection of functions opens.
Topic: Visualization 79

• Select both Write/modify set value functions by either double clicking each or simply
selecting them and clicking on the Add button.
• If both functions are present in the lower dialog list, confirm the selection with OK.
The script's functions are now shown to you in the detail view of the Project Manager.

Questions about visualization


1. What is a multiuser project?
a. A project on which in the Runtime several users can log on at the same time, with
all of them having the same rights.
b. A project on which in the Runtime several users can log on at the same time, with
every user having different rights.
c. A project which can be edited by several project engineers on several computers
at the same time.
d. A workspace containing several projects with every individual project being able to
be edited by a different project engineer. However, a project cannot be edited by
several project engineers at the same time.
2. You have a variable displaying a value from a Modbus PLC. The driver object type of
the variable can be a:
a. PLC marker
b. Internal Variable
c. Holding Register
d. Input register
80
Topic: Event Handling 81

8
Topic: Event Handling
Learning objectives:
• You learn the functionality of special screen types and how to use them.
• You know that you can display system messages in the Chronological Event List in
filtered form, print them and export them.
• You know that limit values/alarms can be defined using limit values of variables or via
Reaction Matrices.
• You are able to administer alarms in the Runtime (acknowledge, print or export, for
example).
• You know the difference between an alarm comment and an alarm cause.

General
zenon offers, with its basic functionality, two types of lists for system monitoring. We will
learn about them in this section.
The Chronological Event List (CEL) shows system messages. Some of these messages
– such as the login of users and editing users, or the registration of clients in the network –
are shown here in principle; others can be configured, such as the editing or writing of
recipes or the write set value actions.
Furthermore, limit value breaches can also be logged in the CEL too, if desired.
The Alarm Message List (AML) shows alarms and their current status. These can be:
occurred, cleared, acknowledged.
For AML and CEL, there are pre-defined separate control elements available; we need the
"special screen types" for this.

Special screen types


We will use the screen for the Chronological Event List to show how a "special screen type"
is created.
82 Topic: Event Handling

The special screen types make it easier for you to configure a project using special control
elements and with the provision of screen templates. These templates are included with
each installation. Existing templates can be changed and saved as a new template.
After selecting a special screen type, special user elements for the respective screen type
are available in the Control elements menu. The Add template menu item opens a selection
dialog to add pre-defined layouts with certain control elements at defined locations. There
is now also the possibility to change these special screens to your own requirements and
to save them as a new template.

Chronological Event List (CEL)


■ CEL screen
• Create a new screen.
• Change the name.
• Select the screen type Chronologic event list in the screen creation dialog.

■ Selection of a template
• Open the screen by double-clicking on the name.
• Open the Control elements menu and select the Add template option.
These templates are pre-defined as standard for the operation of the Chronological
Event List screen type and are shown in the dialog with a preview screen.
• Select the desired template and click on Apply.
After the desired template has been selected, the corresponding elements are added to the
screen.

■ Creation of a template
To create a template, a screen of the desired type must be created (or opened).
• Make some changes to the existing CEL screen (position of the elements, colors, etc.)
• Select Create template for screen type in the screen's context menu or in the tool bar.
The dialog to create your own templates is opened
• Select an existing folder or create a new one.
• Enter a name for the new template. You can add a description as an option.
• Confirm with OK.
The template is added to the selected folder.

■ Screen switch - CEL


The setting of the content of the Chronological Event List is not carried out in the screen
itself, but in the filter settings of the screen switch function for the CEL screen. This offers
you the possibility to access the same screen with different buttons/functions, with different
filter settings.
• Create a new screen switching function for the CEL screen.
• You can stipulate the filter settings for the Chronological Event List in the filter settings.
The filter dialog consists of several tabs; the General and Time tabs will be explained below.
You can find information about the other tabs in the zenon Help.
Topic: Event Handling 83

Hint

The Chronological Event List Filter offers a simplification of the filter settings. In
this screen, you can offer the user certain filter setting possibilities and deliberately
not offer others.

■ Filter dialog - General tab


In the first tab, entitled General, you define which events are displayed and what kind of
access you have to the settings in Runtime.

The filter settings available can be distinguished according to:


• Variables
These options allow you to limit to events of certain variables. You can filter for variable
names, as well as variable identification.
• Runtime settings
With this option, you control the behavior of the screen switching function in Runtime.
With the Show this dialog in the Runtime option, you can also provide the filter settings
in Runtime.
• Origin of the data
You can use the data origin to control whether you want to have current or current and
historic events shown. Current data is saved in the working memory by means of a ring
buffer; this is limited to 100 entries by default. Historical data is saved to the hard drive
directly and not limited in size.
84 Topic: Event Handling

The data can be saved in two different memories, in the working memory (via the ring
buffer setting) or to the hard drive directly (using the historical data setting).
• Alarm/event groups, classes and alarm areas
Allows filtering according to alarm groups, alarm classes and alarm areas. This option
is only available if you have also defined these alarm settings.
There is only a small change needed for our example:
• Activate the Historic data option.
• Set the Maximum number to 900.

■ Filter dialog - Time tab


The second tab, entitled Time, allows the entry of a time filter.

Time filters make it possible to limit the data to be displayed or exported in terms of time.
The settings made here determine the time period of the data shown when calling up a CEL
screen.
The time filters available can be distinguished according to:
• No time filter
The data is shown with no time filtering or limitation in the CEL table.
• Absolute time period
You define a fixed time period with the absolute time period filter. When the function is
executed, the defined absolute time period is exactly used.
• Relative time period
You define a relative time period with the relative time period filter. This time period is
updated constantly and runs with the current time.
• From
Topic: Event Handling 85

With the option for the setting, a fixed time from which the filter is effective is defined.
• Time period
With this setting you can select time periods such as a day (00:00 - 24:00) or a week
(Mondax - Friday), etc.

■ CEL in Runtime
• Add a button in the Menu bar screen, for the screen switching function to the CEL
screen and give this a unique name.
• Start the Runtime or click on the Reload button.
• Open the Chronological Event List by clicking on the new button.
The Chronological Event List in Runtime could look similar to this.

■ Comments in the CEL


You can add a comment for each entry in the Chronological Event List.
• Select any desired entry in your list
• You can now enter free text in the Comments field below the list.
If you select the entry again, this text is shown in the Comment field. You can also read the
text in the Comments column.

■ Filter profiles in the CEL


You can save filter settings that you have created in Runtime in the filter profiles.
• Open the filter dialog with the Filter button and select another filter.
• Close the filter dialog with OK.
The filter is now applied to the CEL list.
• You can save this filter in Runtime.
• Write the name of the filter to the Filter profiles text box.
• Save the filter with the Save button.
• Switch to a different Runtime screen and then back to the CEL screen again.
• The Filter profiles combo box now provides a selection of the saved filter profiles. In
our case, our previously-defined filters.
• If you select this filter, it is applied to the CEL list again.
86 Topic: Event Handling

Information

The profiles of all screens that support this functionality are saved in the Runtime
directory in the project.zrt file. This file is stored in the network on the local
computer; these profiles are therefore not available to other clients.

■ Configuration of the CEL


A detailed or global configuration of the Chronological Event List is possible in the project
properties under Chronological Event List. You can find more detailed information on the
settings options in the help.
Topic: Event Handling 87

Alarming
■ Defining alarms
There are two possibilities for defining alarms in zenon:
• Limit Values
• Reaction Matrices

Hint

Change the driver mode for the topic alarms to Simulation- counting in order
to generate more alarms.

■ Limit Values
Limit values can be defined either centrally in the data type or extra for each variable. You
can stipulate, change or delete the limit values in the properties of the variable and the data
types.
Limit values are not automatically also an alarm; this is controlled using the In Alarm
Message List property. We have already defined two of our four limit values as alarms.

■ Reaction matrices (REMAs)


Reaction matrices are not completely identical with limit values. Here are a few differences:
• The REMA offers a ‘= comparison’.
• With a REMA you can also check the state of a variable.
• With a REMA dynamic limit values are not possible.
The states of a REMA are processed from top to bottom (exception: default state).
In contrast to limit values, reaction matrices are initially defined independently of variables.
They can be linked to one or more variables after being created.
• Open the Variables node in the Project Manager.
• Open the Reaction Matrix subnode.
• Click on the New Reaction Matrix.. node at the top left of the detail view.
zenon makes a distinction between five types of reaction matrices:
1. Binary Reaction Matrices
2. Numeric Reaction Matrices
3. Multi-binary Reaction Matrices
4. Multi-numeric Reaction Matrices
5. String Reaction Matrices
Below the numeric reaction matrix is explained in detail.
88 Topic: Event Handling

■ Binary Reaction Matrix


To create a binary reaction matrix, select the Binary entry in the dialog.

• Enter Binary as a Name.


• Confirm the settings with OK.
A reaction matrix is now created and the dialog box to define the binary reaction matrix is
opened.
Topic: Event Handling 89

• Click on the New status... button.

A new status for the reaction matrix is created. For each status, you can define a bit pattern,
against which the linked variables are checked.
• Set bit 6 and bit 7 to 1 for the first status.
• Switch the option In Alarm Message List to active.
• Enter The last bits as limit value text.
• Create a second status in which bit 4 and bit 5 are set to 1.
• Enter The other bits as limit value text and activate the In Chronological Event List
option.
There are now variable values in which both defined states could be true. The sequence of
the states is important in this case. The individual states are processed in sequence by
zenon, from top to bottom. As soon as the first applicable status is achieved, the actions
defined therein are executed. zenon ignores all further states. You can change the order at
any time with the Up and Down buttons.
For each status, colors and texts, as you are familiar with them from the creation of limit
values, can be defined.
• Click on OK to confirm the settings.
90 Topic: Event Handling

■ Numeric Reaction Matrix


To create a numeric reaction matrix, select the Numeric entry in the dialog.

• Enter Numeric as a Name.


• Confirm the settings with OK.
Topic: Event Handling 91

The reaction matrix is now created and the dialog to define the numeric reaction matrix is
opened.

• Click on the New status... button.


A new status for the reaction matrix is created.
• Under Value, select Area.
• Enter a value range of 50 to 100.
• Select a limit value color and add the condition to the CEL and/or AML.
• Click on OK to confirm the settings.

■ Link reaction matrix to variables


• Open the Variables node in the Project Manager.
• In the variable list, select the variables Tank[1,1].Temperature[3] and
Tank[1,1].Temperature[4].
• Select the Limit Values group in the properties.
• Under Reaction matrix, select the Numeric reaction matrix.

Information

It is not possible to link a limit value and a reaction matrix to variable or a data
type at the same time. As soon as you link the reaction matrix, the properties
for the limit values are grayed out.
92 Topic: Event Handling

Alarm Message List (AML)


The alarm list is for the administration alarms. It shows alarm messages line by line in the
Runtime.

■ AML screen
To create a screen for the Alarm Message List, we need a new screen with a special screen
type.
• In the Project Manager, open the Screens node.
• Create a new screen and give it a unique name.
• Under Screen type, select the Alarm Message List entry.
• Add a screen template using the Control elements menu.

■ Screen switching - AML


The same as in the CEL, the setting of parameters for the AML is not in the screen itself,
but by means of the filter settings for the screen switch function for the AML screen.
• Create a new screen switch function for the AML screen.
• You can stipulate the filter settings for the Alarm Message List in the subsequent dialog.
The filter settings are only slightly different to those of the CEL. The differences in the
General tab are explained in more detail below.

■ Filter dialog - General filter

In addition to the already-known filter settings for the CEL, there are further filter options for
the AML.

Parameter Description
Non-acknowledged alarms only Only alarms that have not yet been acknowledged by the user are displayed.
Topic: Event Handling 93

Parameter Description
Only cleared alarms Only alarms that have already passed, i.e. whose values no longer in the
critical range, are displayed.
Only current alarms Only alarms that are still active, i.e. whose values are still in the critical range,
are displayed.
Comment required Only alarms for which it is required to enter a comment during acknowledging
are displayed.
Alarm cause required Only alarms for which it is necessary to leave an alarm comment when ac-
knowledging are

Parameter Description
Displayed.
Alarms have to be pending at Use the spin control to define the minimum time that an alarm should be active
least in order for it to be displayed.

■ AML in Runtime
• Add a button in the Menu bar screen, for the screen switching function to the AML
screen and give this a unique name.
• Start the Runtime or click on the Reload button.
• Open the Alarm Message List by clicking on the new button.
Your Alarm Message List in Runtime should look similar to this.

• Select an alarm in the list and press the Acknowledge button.


If you note the number of unacknowledged alarms at the top left of the screen, you will
establish that more than just one alarm has been acknowledged. In fact, all of the same
alarms (same variable, same limit value) are acknowledged with this. If, in contrast, you
delete an alarm, only the selected occurrence of the alarm from the active alarm is deleted
and moved to the historical alarms.

■ Comments in the AML


You can add a comment for each entry in the Alarm Message List.
• Select a desired alarm from the list
• You can now enter free text in the Comments field below the list.
94 Topic: Event Handling

If you select the entry again, this text is shown in the Comment field. You can also read the
text in the Comments column.

Information

In the Editor, you can stipulate for each alarm whether a comment is required or
not. If this setting has been activated, you cannot acknowledge the alarm without
a comment.

■ Configuration of the AML


A detailed or global configuration of the Alarm Message List is possible in the project
properties under Alarm Message List. You can find more detailed information on the settings
options in the help.
Topic: Event Handling 95

Alarm Cause (Context List)


Alarm Causes are very similar in the comments in the Alarm Message List, however the
difference is that the Alarm Causes are predefined and saved in a Context List. The user
therefore only has certain selection possibilities for the cause of an alarm and no free text
field in which a free comment can be entered. As a result, you automatically reduce the
probability of a typing error or an inaccurate comment. This is primarily important for
subsequent analyses of the sources of errors or evaluation in reports, for example.
Context Lists generally allow the central administration of hierarchically-structured texts in
Runtime. Context Lists are currently only used for the central administration of alarm causes
in zenon. These are entered into the context list and can be assigned to an alarm in the
Alarm Message List.
The following is applicable for context lists:
• Levels
Several nodes can be arranged in parallel or hierarchically in a Context List. Each node
can contain several entries.
Context Lists are limited to a maximum hierarchy level of 5 levels and the language
cannot be switched.
• Persistence
Context Lists are persistent. They therefore cannot be deleted, only hidden from the
user. Gaps in reports are thus avoided.

Information

Alarm causes can only be created in Runtime.

■ Screen Context List


To create a screen for the Context List, we need a new screen with a special screen type.
• In the Project Manager, open the Screens node.
• Create a new screen and give it a unique name.
• Under Screen type, select the Context list entry.
• Add a screen template using the Control elements menu.

■ Screen switch - Context List


The setting of the content of the context list is not carried out in the screen itself, but in the
filter settings of the screen switch function for the screen switch function. This offers you
the possibility to access the same screen with different buttons/functions, with different filter
settings.
• Create a new screen switch function for the context list screen.
• You can stipulate the filter settings for the context list in the subsequent dialog.
The filter dialog consists of several tabs; the General tab will be explained below. You can
find information about the other tabs in the zenon Help.
96 Topic: Event Handling

■ Filter dialog - General tab


In the first tab called General you define how the context list is structured in the Runtime.

You can set whether “as deleted marked entries” are shown or not and how the context list
is shown by default.

■ Context List in Runtime


• In the Menu bar screen, add a button for the screen switch function to the context list
screen and give this a unique name.
• Start the Runtime or click on the Reload button.
• Open the context list by clicking on the new button.
Topic: Event Handling 97

Your context list in the Runtime should look similar to this.

• Click in the Name text field to add a new entry.


• Enter the name of the first entry.
• If necessary, you can add a description to the entry.
• You add a new root node with the root node button.
• With the Add node button, add a new subnode at the highlighted root node.

Attention

Because you cannot deleted entries in the context list, you should also create these
with forethought.

■ Alarm causes in the AML


You can add an alarm cause for each entry in the Alarm Message List.
• Open the Alarm Message List.
• Select a desired alarm from the list
• Click on the Select alarm cause... button.
• You can now select an alarm cause in the dialog.
• The selected alarm cause is assigned to the alarm by clicking on the OK button.
This text is shown in the Alarm cause column whenever you select the entry again.

Information

In the Editor, you can stipulate for each alarm whether an alarm cause is required
or not. If this setting has been activated, you cannot acknowledge the alarm without
an alarm cause.
98 Topic: Event Handling

Questions on Event Handling


1. You would like to temporarily change the order of the columns in your Chronological
Event List. How do you proceed?
a. You change the column order in the project properties under "Chronological Event
List / CEL column settings".
b. You change the filter settings of the screen switch function for the Chronological
Event List.
c. In the Runtime, you change the column order with the "Filter..." button.
d. In the Runtime you change the column order and save.
2. How can you allocate colors to individual alarms?
a. In the reaction matrix
b. About the Combined element
c. In the limit values
d. In the screen elements
Topic: Operation 99

9
Topic: Operation
Learning objectives:
• You know that operation of the Runtime is subject to user administration in that there
are different authorization levels to which you can assign individual elements.
• You know what different possibilities there are to write set values, whereby the operability
of individual variables or variable groups can be defined via the data type, variable
definition or element properties (with inheritance or individually).
• You understand the correct handling of Runtime-changeable data.
• You are in a position, with the help of recipes, to define parameter sets and execute
them in Runtime, as well as to administer your recipes.

User Administration
The concept of zenon user administration assumes that different users have different
operating rights (authorization levels and function authorizations). Administrators also have
different rights, but have additional administrative rights, such as the administration of users.
Users can be administered via zenon and the Windows Active Directory.
Users can be grouped in user groups.

■ Types of login
zenon provides two types of login:
• Temporary login
• Permanent login

■ Temporary login
Temporary login means a temporary login for one individual interaction in the Runtime. If
in the Runtime users encounter an element for which they have no permission, they are
asked for their user name and password. They can then execute the action in accordance
with their authorization or are notified that they are not authorized. If the action has been
completed, the user is logged out again immediately.
100 Topic: Operation

Temporary login can be deactivated in the user administration, in the project properties. If
it is deactivated, a user who is not logged in cannot execute any protected actions. In this
case, they are notified that they are not authorized.

■ Permanent login
Permanent login describes the one-time login of a user who remains logged in until they
log out or the Runtime is closed.
The users log in using a login function. If the logged-in user encounters an element for
which they have authorization, they do not notice that there is password protection for it. If,
in contrast, they encounter an element for which they are not entitled, they immediately get
the message that they are not authorized.
zenon knows in this case at all times what the logged-in user has authorization for.
Password-protected buttons/menus can therefore be set to invisible for solely
permanently-logged in users. This happens in the project properties in the User
administration properties group using the Locked buttons or Locked menu items property.

■ Define users
• In the Project Manager, open the User administration node.
• Select the User node.
• You can now create a new user at the top left in the detail view or by means of the
context menu.
The following dialog to define a user now opens:

• Enter the user name in the User name field.


• Give it a complete name.

Note:
The user name is used in Runtime for logging in, whilst the complete name is shown in
various lists.

• Activate the Administrator option.


Topic: Operation 101

Note:
Only administrators can edit, delete or create other users in Runtime.

• Define a password for the user in the second tab.


Note:
The minimum requirement for the password can be changed in the project properties.

• Define the authorization levels for the user in the third tab.
• Assign the user the first ten authorization levels.
• Confirm the settings with OK.

Information
• You can manage the users' access rights to the elements by means of
authorization levels.
• Each user always has authorization level 0.
• The authorization levels are in no way hierarchical, i.e. a user who only has
authorization level 5 cannot execute an action protected with authorization level
3.

■ Protecting functionality
In zenon, authorization levels are put on elements to protect linked functionality. Variables
are not protected but the input elements with which you can access them are protected.
Thus it can happen that two elements display the same value. One of them is protected.
The other is not protected.
• Open the Start screen screen.
• Select the numeric value element that is linked to the variable Tank[1,1].Temperature[1].
• Open the Authorization properties group.
• Set the Authorization level property to the value 4.

Only users with the authorization level 4 can now change the value of the variable
Tank[1,1].Temperature[1].
Set the authorization level of the elements with the variables Tank[1,1].Temperature[2]
and Tank[1,1].Temperature[3] to the value 7.
102 Topic: Operation

■ Signature
Particularly important values or functions can also be protected by means of signing. In this
case, the user must enter their password again, even if they are logged in and have the
appropriate rights. In addition, an entry in the Chronological Event List is created here for
traceability.
• For the element of the Tank[1,1].Temperature[3] variable, activate the Signature
necessary property.
• As a Signature text, enter Yes, I have done it.

■ Configuration of the user administration


You set the configuration of the user administration in the project properties under User
Administration.

• Activate the Signature text editable property.


The above-defined signature text is then not simply written to the Chronological Event
List. Instead, a dialog is opened in Runtime, in which we can edit the text beforehand.

■ Functions of the User Administration


• In the Project Manager, open the Functions node.
• Create a new function, select the User Administration node and then the Login with
dialog function.
• In the Menu bar screen, add a new button for this function and give it a unique name.
• Create the Logout function. Create a new button for this function.
• Create the Change user function. Create a new button for this function.
For a better overview in Runtime, we want to have the name of the currently-logged-in user
shown to us by a system variable.
• Create the system variable User full name.
• In the Start screen screen, add a new dynamic text field and link it to this variable.

■ Graphic display of blocked elements


zenon makes it possible to highlight blocked elements graphically.
• Select the User Administration group in the project properties.
Topic: Operation 103

• Activate, in the Login and signature group, the Locked buttons property or the Locked
menu items property.
In order for you to be able to display the blocked element, you must first deactivate the
temporary login. To do this, deactivate the Temp. login active checkbox.
You can also mark the protected elements with a lock symbol:
• Select the Graphical design property group in the project properties.
• Activate, in the Locked/Interlocked elements group, the Graphical identification
active property.
In principle, you can select between graphics files and a lock symbol. Furthermore, you
can select colors for the lock symbol.
The display of a locked button, via the lock symbol, looks like this:
104 Topic: Operation

■ Runtime changeable data


Users can be created, edited and deleted in both the Editor and in the Runtime. If you create
new users in the Runtime, they do not yet exist in the Editor. When creating new runtime
files from the Editor, these new users would disappear. To prevent this unwanted deletion
of users, zenon contains a safety mechanism.
Before we can look at the user administration in the Runtime, we must still carry out some
preparation.
• Create new Runtime files.
• If it is not yet open, have the output window displayed via the Option menu.
Here we can see that the password.cmp file will not be overwritten. The editor user data
will thus not be available in Runtime. We need this data in the Runtime however.
• Open the General group in the project properties.
• Open the following dialog with the Runtime changeable data property.

• Remove the tick for the User Administration.


• Create new Runtime files again.
In the output window, you can see that password.cmp is now actually created. If you want
to ensure that future changes are not overwritten in the Runtime, you can set the tick again.

■ User administration in the Runtime


• Start Runtime and/or reload the project in the Runtime.
The lock symbol shows us on the Start screen that elements for the variables
Tank[1,1].Temperature[1], Tank[1,1].Temperature[2] and Tank[1,1].Temperature[3]
cannot currently be operated. The system variable Complete user name shows us that the
user SYSTEM user is currently logged in.
• Click on the element for the Tank[1,1].Temperature[1] variable.
With the following dialog, you are now requested to enter your user name and password.

Note:
Here you can see the functionality of the temporary login.

• Enter user name and password.


Topic: Operation 105

Only now can you write the set value of the variable. However, our dynamic user text
field still displays SYSTEM. By clicking on the element directly, you are only logged in
temporarily and are logged out again immediately. Take a look at the Chronological
Event List; you can find a corresponding entry there. All actions in relation to the user
administration are automatically logged there.
• Click on the Login button.
The same dialog opens. However, you are permanently logged in this time, which is
also shown in the User dynamic text field.
• Click on the Change user button.

The following dialog is opened:


We now want to create a new user.
• Click on the New... button.
You are familiar with the dialog that now opens from the Editor. Create a new user.

Note:
Because, even as an administrator you only gave authorization levels 1 to 10, you also
cannot approve other authorization levels for other users.

• Log in with the new user.


You are requested to change your password immediately, because not even the
administrator should know the password of other users.
Security mechanisms:
• Log in again with this user, but intentionally mistype the password.
An error message is shown for a login attempt with an incorrect password.
• Login in a second time with an incorrect password.
You are informed that the user has been blocked, because only three incorrect logins
are permitted. You can define the number of login attempts using the project properties.
• This is how you unlock users:
• Log in again as the Administrator user, this time with the correct password.
• Click on the Change user button.
• Select the blocked user and click on the Change... button.
You now see that the user is blocked and can unlock them here again. A look at
the CEL shows you that our actions have been logged.
• Log in with an incorrect user name.
An error message is shown for a login attempt with an incorrect user name.
106 Topic: Operation

• Log in twice with an incorrect user name.


You are informed that the system has been blocked, because only three consecutive
incorrect user entries are permitted.
The system is only unlocked again when an administrator logs in.
• Ensure that you are logged in with your Admin user.
• Click on the element with the Tank[1,1].Temperature[3] variable.
Although you have the rights, to set this value, you are nevertheless asked for the
password. However, this time you do not need to log in; you are asked for your signature.

Confirm with OK; you can now change the value.

Hint

Configure the user administration with an automatic logout. Thus you make
sure that the Runtime is not operated by wrong users if a user forgets to log
out actively.
You can the Activate automatical logout property in the project properties,

■ User Administration screen


There are also special screen types available for the display and administration of users.
Users and user groups can be created, edited and deleted in the Runtime.
• Switch back to the Editor.
• Create a new screen with the special User List screen type and add a screen template.
• Create the corresponding screen switch function with a button in the Menu bar screen.
• Create the Runtime files.
• Start the Runtime.

Information

If you do not want to overwrite the users who have previously been overwritten
in Runtime, you must activate the Runtime changeable data setting again.

• Switch to Runtime and create another user - using the new screen.

■ Read back data that can be changed in Runtime


Our two new users currently do not exist in the Runtime. However, we need these under
certain circumstances in the the Editor too, be it because we want to make a backup of it
or because we want to convert the project to a more recent zenon version later.
• Go back to the Editor.
• Open the project's context menu and the Runtime files submenu there.
• Go to the Import submenu.
• The data is read back from the Runtime by clicking on Import.
Topic: Operation 107

Because this is only supposed to happen deliberately, a request for confirmation is


made before reading it in.
• Confirm the query with Yes.
• In the Project Manager, open the User administration node.
Select the User node.
All users will now be shown. The Admin user, who we created in the editor, but also our two
users from the Runtime.
108 Topic: Operation

Recipes
Recipes collect set values in a list of required values that can be executed in the Runtime
by means of a function. Recipes can be created in both the editor and in the Runtime.
In the Runtime you can switch between the different recipes and thus upload other settings
to the PLC.

A collection of several recipes is created and administrated with the help of the Recipe group
Manager.
Note:
You need an extra license for the Recipegroup Manager; the standard recipes are included
as standard.

■ Creating Recipes
• In the Project Manager, open the Recipes node.
Here, you can find, firstly, the Standard Recipes, which are the subject of this section,
and secondly, the Recipegroup Manager, an optional module that must be licensed
separately.
• Select the Standard Recipes subnode.
• Open the context menu of the recipe to create a new recipe.
• Select the New recipe... entry.
A new recipe, named Recipe 0, is created.
• Change the name of the recipe in the properties to Fill tank.
Note:
As an option, you can also enter an authorization level for the recipe. Only users with
the corresponding authorization level can then edit this recipe in the Runtime. However,
all users can still execute this recipe.

• Click on the entry for our Fill tank recipe.


• Add variables using the Add variable button.
Select the variables Tank[1.1].Inflow and Tank[1.1].Outflow.
• You can now enter values for the recipe in the Set value column. The values that you
set for the respective variable here are written to the variable when the recipe is executed.

Information
Topic: Operation 109

The standard recipes do not permit any selection of string variables. If you need
this functionality, you can use the optional Recipegroup Manager module.

■ Use of Recipes
zenon offers two possibilities for using recipes in Runtime:
• A function
• A special screen type

■ Standard recipe function


• Create a new function.
• In the node Recipes select the Standard recipe function.
• Select our Fill tank recipe in the subsequent dialog.
110 Topic: Operation

• In the second tab, select the Set values setting.

These functions offer the possibility to, for example, write the values of the recipe to the
corresponding variables or to read the current values of the variables and to have this written
to the recipe. However, we can have it duplicated or export and import the recipe.
This dialog can also be opened in the Runtime before execution of the selected action; the
selection would thus be made in the Runtime.

■ Recipe screen
• Create a new screen with the special Standard Recipe screen type and add a screen
template.
• Create the corresponding screen switch function with a button in the Menu bar screen.
Accept the default settings in the filter dialog.

Attention:

Before you create the new Runtime files, you must – as with the user administration
– change the Runtime changeable data setting.

■ Recipes in the Runtime


• Start the Runtime or reload the changes.
• Open the recipe screen.
You can write the values of the selected recipe to the variables using the Execute recipe
button. With the Read recipe button, the current values are read into the recipe and the
recipe can then be saved with the Save changes button.
Topic: Operation 111

• Click on the New recipe button.

• Create a new recipe with the name Drain tank and confirm with the OK button.
• Add any desired variables using the Add variable button.
• Change the set values in the table directly.
• Click on the Save Changes button to save the changes.
We have thus created a new recipe in the Runtime, which is not yet in the Editor. Just
as with the users, you can also read back recipes into the Editor.
• Go back to the Editor.
• Open the project's context menu and the Runtime files submenu there.
• Go to the Import menu item.
• The data is read back from the Runtime by clicking on Import.
Because this is only supposed to happen deliberately, a request for confirmation is
made before reading it in.
• Confirm the query with Yes.
• In the Project Manager, open the Recipes node.
Select the Standard Recipe node and check whether your recipe has been imported.
A second way to export a recipe is via data import/export in the Runtime.
• Switch back to the Runtime.
• Click on the Export recipe button.
The recipe currently shown is exported to a text file. You can edit this file externally.
You can find the file in the Workspace/project/export folder.
You can now edit and re-import this file. Recipes can be edited in an automated manner
this way.
• Open the file with the Windows Notepad.
• Change the name of the recipe to Heat tank in the exported file.
• Change the values of the recipe, but not the variables.
• Save the file with a new name.
• Switch back to the Runtime.
• Import the new recipe.
112 Topic: Operation

• Save the changes.


Your recipe list should now include 3 recipes.

Information

You can import the recipes, which were created in the Runtime, in the Editor. This
works just like the import of the users created in the Runtime.

Questions about Operation


1. What types of login are offered by zenon?
a. Local login
b. Temporary login
c. Global login
d. Permanent login
2. You have created a zenon project with recipes. During testing the project in the Runtime,
you note that the recipes, which you engineered in the Editor, are not displayed in the
Runtime. How can that be?
a. Module recipes is not licensed in the Runtime.
b. The engineered recipes are only visible for users with the corresponding
authorization level in the Runtime.
c. For recipes project setting “do not created anew and transfer” is activated.
d. Recipes cannot be created in the Editor.
Topic: Network 113

10
Topic: Network
Learning objectives:
• Your are familiar with the prerequisites for a network project.
• You are familiar with the different setups in zenon networks, such as client-server
networks.
• You can set up a redundant system and understand circular redundancy.
• You know how the server and standby server sync in Runtime.
• You get to know remote transport as a possibility for the transfer of Runtime files.

General
The network functionality of zenon makes it possible to deploy projects in a distributed
manner on different computers. You can thus create very efficient, complex network setups
with it. In doing so, setups can also be configured in such a way that project content, for
example, is only visible on a certain computer. The zenon Editor supports users in creating
and configuring such configurations.
The integrated topology administration creates interrelationships for the individual projects
in the process, with the attendant computers in graphical form. A testing routine checks the
configured structure to see that it is complete and that there are no configuration errors.
zenon networks can be set up quickly and securely; they allow you, among other things, to
do the following:
• Full access to the Runtime of different computers
This way, actions such as the acknowledgment of alarms at a workspace on all other
computers in the network thus become visible.
• Centralized logging and archiving
• Creation of redundant systems
• Redundancy switching with integrated rating methods
• Setup of distributed systems
• Use of strong encryption
114 Topic: Network

• Concurrent work on a project, on several computers

Attention

The following topics only refer to the zenon Runtime. The following functions control
the data communication of the zenon Runtime.
Option multi-user project makes it possible to access a zenon Editor project within
the network.

■ Requirements
A requirement for network operation in zenon is a functional Windows network. In detail the
following requirements have to be fulfilled:
1. TCP/IP as the network protocol
2. A functional naming resolution
The naming resolution can be solved as DNS, WINS or local HOST files.
3. Administrator rights
There must be at least local administrator rights during installation on individual
computers, because zenon must register two services for operation in the network.
4. Ports
When using a firewall, the ports 1100, 1101 and 1102 for the zenon network server
must be enabled.

Information

You can easily check at least the first two of these requirements by opening
the DOS command prompt (cmd) and entering the command:
ping COMPUTER NAME and receiving a positive response.

zenon needs two services for operation in a network, which are automatically installed with
zenon:

Parameter Description
zenSysSrv.exe This service is automatically started with the operating system and is required
for Editor network communication. This service uses TCP port 1101, which
must not be blocked by any other application.
zenNetSrv.exe This service is automatically started with zenon Runtime and is responsible
for Runtime network communication. This service uses TCP port 1100, which
must not be blocked by any other application.

■ Network topologies
zenon supports two network topologies:

Parameter Description
Client-server network Here, one and the same project runs on the server and on all clients.
Multi-server network Here, a client can access several servers at the same time and thus display
the data from different projects at the same time.
Topic: Network 115

Client-server network
zenon makes it easy to set up a server-client network: In the project properties in the network
group, one computer is defined as the server. This means that only one computer has a
direct connection to the hardware, to the PLC. Even more, it also has the full and exclusive
administration of the process data (e.g. online data, archive data, alarms, recipes, etc.) and
the project data (e.g. screens, functions, variables, etc.).
Each other computer, which starts the same project, is automatically recognized and defined
as a client. Each time Runtime is started, this client establishes a connection to the server,
syncs the project data and displays the current process data.

■ Configuring the server


• Open the project properties of your current zenon project.
• The network settings can be found in the Network group.
• Activate the Network active property.
Now all the other properties of this section are available and we can go on configuring
the server.
Note:
You will find a more detailed explanation of the single properties in the property help.

• In the Server 1 property, enter the name of the computer that has the connection to the
hardware (PLC).
Attention: The IP address is not sufficient here! The name of the computer must be
entered.
You can select the computer name either from the list offered from the [...] button or type it
in manually.
If the development station, on which you created the project, is the Runtime server at the
same time, the configuration of the server now is complete. At the moment we leave the
other properties unchanged.
116 Topic: Network

Information

If you do not know the computer name, open the DOS command prompt (cmd) and
enter the hostname command.

■ Transferring the Runtime files with Remote Transport


If the server is not the same as the development PC, you must transfer the Runtime data
to the server. You can do this by using the Remote Transport.
• On the development station create the Runtime files of the project.

Information

Password files, recipes etc. can be write-protected and are not created, which
can lead to error messages later.
In order to be able to generate these files too, you must change Runtime
changeable data. Deactivate all options.

We now want to transfer the Runtime files to our server. To do this, we need the Remote
Transport tool bar.

• Define the server's computer name and the destination location for the files.
• Click on the first icon, Remote Transport: Connection Settings of the Remote
Transport tool bar.
• In the Project settings dialog, in the Computer name or IP address field, enter
the computer name of your server.
• Confirm your entry with the OK button.
• Establish a connection to the server.
• Click on the second icon, Remote Transport: Establish connection.
• In the Establish connection dialog, you can define a password; no password is
defined as standard.
• Do not make any changes and close the dialog with OK.
In the output window of the Editor, you now get information about the computer to which
you have established a connection.
Topic: Network 117

After the connection has been established successfully, the other icons in the Remote
Transport tool bar are available.

With the previous steps, you have established a connection to the sever, but not yet
transferred any data.
• Click on the button Remote: Transfer changed Runtime files.
All Runtime files are thus transferred to the server.
• Set the start project on the server with the following button: Remote: Set start project.
• You can now start Runtime on the server. Click on the Remote button: Start Runtime.
• With the buttons Remote: exit Runtime and Remote: reload project, you can remotely
control Runtime on the server.

■ Configuring the clients


A client can be set up in two ways:
1. The development computer transfers the Runtime files to the client, via the Remote
Transport tool bar.
2. The client gets the data from the server manually.

■ Client gets the files from the development computer


Carry out all steps from the Transferring the Runtime files with Remote Transport, with
the client's computer name.

■ Client gets the files from the server


• Close the Editor and the Runtime on the client.
• Open the zenon Startup Tool.
• Click on menu Item and select entry Properties.
In the properties you can change several zenon basic settings. Such as the start project
of the zenon Editor and the zenon Runtime.
• Remove the entries in the Runtime section namely the Runtime project and the Runtime
path.

Once we have removed this entries, the Runtime no longer knows which project it should
load.
118 Topic: Network

• Start the Runtime using the Startup Tool (without opening the Editor).
The Runtime now asks, in a dialog, which project is to be loaded.

• Activate the Load project from Runtime server setting.


The appearance of the dialog has now changed and allows us to enter the necessary
parameters for setting up a client.

• Enter the server of the project under Runtime Server.


You can either type in the computer name or select form the list offered using the ...
button.
• Under Project name, enter the name of the project that is running on the server.
• Stipulate the local directory under Project destination folder.
You either can select an existing directory using the … button or type it in by hand. If
you type in the directory, it can also be a directory that does not yet exist. It is created
automatically.
• Confirm the settings withOK.
Topic: Network 119

The Runtime now establishes a connection to the server and copies the Runtime files from
there to the project target folder. The Runtime is started once the copy process has been
completed successfully.
Repeat this process for each further client.

■ The behavior in the Runtime


The project can be operated from the server and from all clients in exactly the same way.
Generally speaking, the user cannot tell if they are working on the server or on a client.
However, only the server has a connection to the hardware and thus administers the process
data. This means that the clients get the current values of the variables, the CEL system
messages, AML alarms, recipes and archived data from the server only. This is done
spontaneously and is event triggered.
Monitoring the connection:
When using the default setting of 30 seconds for the Network communication timeout
property in the Startup Tool, the network service (zenNetSrv.exe) of each client sends a
watchdog to the network service (zenNetSrv.exe) of the Primary Server every 10 seconds
during online operation. If the Primary Server responds to at least one of the three watchdogs
within the 30 seconds, the client assumes that the network connection is working. If there
is no response, the clients display blue squares at the top right corners of the elements.
This should clearly show that the clients do not get any current values from the server.
The network timeout can be changed in the Startup Tool in the network configuration:
• Start the Startup Tool
• In the Application menu, select the "Options" option
• Open the Network configuration entry.
Here, you can change the Time out property, which is set to 30 seconds by default

■ Project changes in online operation


You can make changes in the Editor at any time whilst a project is running on the server
and/or on the client. The updating of Runtime files is possible without restarting Runtime.
Once you have carried out the desired changes in the Editor, proceed as follows:
• Create the desired Runtime files on the development computer.
If the development computer is the project server at the same time, you only need to
switch to Runtime and reload the changes. Otherwise:
• Establish a remote connection to the server.
• Send all Runtime files to the client with Remote Transport.
• Carry out the reloading on the server with Remote Transport.
• Stop the online connection.
You do not need to worry about the clients. The changes in the project are automatically
transferred to the connected clients by the server and updated there. If a client is not online
during the changes, they automatically get (only) the changed project data from the server
the next time Runtime starts.
120 Topic: Network

Client-server network with redundancy


Redundant SCADA networks are used if 100% process control and data security is
demanded, even if a server fails.

You achieve this fail safety by defining a second server, a so-called standby server, along
with the project server. This standby server automatically recognizes a server failure and
automatically assumes the complete functionality of the server.
In order to avoid data loss in the time period between the server failure and the detection
of the failure, the Standby Server always buffers all data. After a failure of the server, this
buffer is merged with the last data from the server and the new incoming data, so that no
data is lost. zenon thus guarantees seamless redundancy.
As soon as the server is running again and has obtained the Runtime data from the standby
obtained in the mean time, a decision is made about which computer takes on which role,
on the basis of the redundancy setting.

■ Configuring a Standby Server


• Open, in the project properties in the Editor, the Network group.
• In the Server 2 property, enter the computer name of the Standby Server.
zenon offers different redundancy modes. You determine the behavior of both defined
servers:

Parameter Description
Non-dominant After a failure of Server 1, Server 2 remains the primary server until it fails it-
self.
Dominant Server 2 takes over after a failure of Server 1. If Server 1 comes back onto
the network again, it automatically takes on the role of the primary server
again.
Rated Definable metrics are used to determine which of the two defined servers is
the primary server.

■ System variables
zenon offers you a number of variables, with the help of which you can get an overview of
your network.
Topic: Network 121

• Create a new variable and select the system driver.


• Select the Network theme.
You now see an overview of the pre-defined variables for networks.
• Select the variable [Network] Current Primary Server and click on Add ->.
• Select the variable [Network] Current Standby Server and click on Add ->.
• Select the variable [Network] Names of the connected clients and click on Add ->.
These variables are string variables; they can be shown with the dynamic text element
on the start screen of the MY_PROJECT.
• Add the dynamic text elements for the three variables.
• Start the Runtime.
On the start screen you see the computer names of the server and standby in the new text
fields,as well as the names of all connected clients.
• Close the Runtime on the PC which serves as server.
• Go to the second computer.
After a maximum of 30 seconds, the Standby takes on the role of the server.
122 Topic: Network

Multi-server network
zenon offers the possibility of running more than one project on a computer at the same
time. Due to the exact definition of the server, standby and the clients in the project, it is
possible to have different servers, clients and standby projects running at the same time
together on one computer.
In conjunction with the ability of the project manager to create hierarchical tree structures,
known as integration projects, a number of new possibilities arise here.

■ Definition of the hierarchical structure in the Editor


The structure of the hierarchic project design is created in the Editor by simply
dragging&dropping the projects. For our example, we need at least three projects, two
normal projects (MY_PROJECT1 and MY_PROJECT2) and an integration project.
• Rename your project to MY_PROJECT1.
• Create a project backup.
• Restore the project backup as a new project; give the new project the name
MY_PROJECT2.
• Create a completely new project and call it INTEGRATION_PROJECT.
• Drag MY_PROJECT1 and MY_PROJECT2 to below the INTEGRATION_PROJECT
by using drag&drop.
The two projects are now displayed in the project manager as a branch of the
INTEGRATION_PROJECT project. Thus you have created the hierarchic project
structure.
Topic: Network 123

Your structure should look like this:

■ Network topology
zenon provides, in addition to the project manager, a special view for the network topology.
The following tasks are possible there:
• Display of hierarchic project structures.
• Overview of the roles of the individual computers for the respective projects (server,
standby or client)
• Checking to see if the configured topology is possible.
• Simultaneous transfer of Runtime files to several computers

Hint

In order to distribute different projects to different PCs you ideally need a


hierarchic project structure.

■ Special requirements for the integration project


When designing the integration project, we must note some special requirements in order
to be able to define access to the lower-level projects.

■ Screens always in the foreground


In order to be able to switch from a lower-level project into a different one or back into the
integration project, you must design a small frame in the integration project, which remains
in the foreground.
124 Topic: Network

Based on this template, we then create a screen with the navigation buttons for the
subprojects.
Note that you not really switch to the other Runtime projects. You merely access the
elements, such as screens, of the other projects.
• Switch to the INTEGRATION_PROJECT.
• Create a new frame.
• Activate the Always in the foreground property.
This property ensures that the screen always remains in the foreground in Runtime,
even if we switch to the screen of a subproject. This is how we can switch to screens
of the integration project or to screens of the other subproject.
• Create a screen that is based on the previous screen.
Topic: Network 125

■ Screen switch to subprojects


Switching between screens of different projects is implemented with normal screen switch
functions.
• Create two new screen switch functions in the INTEGRATION_PROJECT, with the
respective buttons.
• Change the background color of the Start screen from MY_PROJECT1 and
MY_PROJECT2 to different colors.
You thus easily see, when the Start screen is called up, the project to which it belongs.
If there is more than one project present in the current workspace, an enhanced dialog box
for screen selection is shown. In addition to the screen names, you can also select the
project too.

■ Access to elements of the subprojects


You can access data from the subprojects with more than just the screen switch function.
You also have the possibility to access variables, recipes or alarms from the subprojects.
Furthermore, there is the possibility of a joint Alarm Message List or a joint Chronological
Event List.
We will look at a couple of examples for this in this chapter.

■ Variables
You can access variables from the subprojects at any time in the INTEGRATION_PROJECT
using normal dynamic elements.
• Open the start screen of the INTEGRATION_PROJECT.
• Add a new counter value dynamic element.
In the variable selection dialog, you can now select between three projects, as with the
screen switch function.
• Click on MY_PROJECT1 and select a variable from there.
Because in Runtime both projects, the INTEGRATION_PROJECT and MY_PROJECT1,
are loaded, it will work faultlessly in Runtime.
126 Topic: Network

■ Recipes
zenon allows you to write values to variables from different projects of the workspace in a
recipe.
• In the INTEGRATION_PROJECT, open the Recipes node.
• Create a new recipe under Standard recipes.
• Add variables to this recipe.
In the variable selection dialog, you can now select between variables from your three
projects.
• Click on MY_PROJECT1 and select the variables from this.
Because the INTEGRATION_PROJECT is a client for the server of MY_PROJECT1,
it must work faultlessly in Runtime.

■ Alarms and CEL


zenon allows you to display system messages and alarms from different projects from one
project hierarchy together in a list. These entries can be filtered, displayed, printed or exported
just like the data from normal Alarm Message Lists or Chronological Event Lists.
• Create an Alarm Message List screen.
• Add a screen template to the screen.
• Create a screen switch function on this screen.
The filter dialog for the Alarm Message List will open.
In the filter dialog, you can find an additional Project tab; you can filter for different projects
in these. You can now also select several projects at the same time.

■ Operating authorization in the network


A network project can be operated in the same way from all stations (server, standby and
client). So it can happen, that two users on two different stations set different values for the
same variable. This is not a problem for zenon; both actions are executed and the value
entered later overwrites the earlier one.
Nevertheless, in zenon you have the possibility to allow operation of the project from only
one station at a time. In this case, a user has to get authorization before they can operate
the project. In this case operating means an active intervention in the process (setting values,
executing recipes, acknowledging alarms, etc.). Opening screen, reading lists, etc. still is
possible from all stations.

■ In the Editor
This operating authorization in the network must be activated in the project properties.
• Open the project properties.
• Under Operating authorization - Operating authorization in the network, select the
Global operating authorizations property.
With this setting, only one computer can still operate the project at any time.
The operating authorization is thus activated for this project. However, we must give
the users the possibility to get the operating authorization on the respective computer
or to allow it again.
• In the Project Manager, open the Functions node.
• Create a new function.
• Select the Operating authorization in the network function from the Network function
group.
Topic: Network 127

Select the Fetch parameter in the subsequent dialog.


This function allows the users to get operating authorization on their own computer.
• Create an additional Operating authorization in the network function.
This time, select the Release parameter.
• Create new buttons in the Start screen for both functions.

■ In the Runtime
We now want to try out the behavior in the Runtime.
• Restart the Runtime.
• Stipulate a set value for any desired variable.
The set value is not sent to the hardware. Instead, a dialog opens that informs you that
you do not have operating authorization for this project.
• Fetch the operating authorization with the corresponding button.
• Stipulate a set value for any desired variable.
This time, the value is sent to the hardware, because you now have operating
authorization for this project.
• Go to another computer on which this project runs.
• Stipulate a set value for any desired variable.
The value is not written again. Instead, a dialog opens that informs you that another
client has operating authorization.
• Go to the first computer.
A dialog box has opened here in the mean time. You are asked whether you want to
cede the operating authorization to the other computer. You have three possibilities for
reacting:

Parameter Description
Yes Operating authorization is passed over to the other computer.
No Operating authorization remains on this computer.
Do nothing You see a countdown in the dialog box. As soon as this time has passed, the
operating authorization is released automatically and the other computer gets
it.
This ensures that a project remains operable, even if there is no one at the
computer with operating authorization.
This time is set to one minute by default. You can find the Timeout for query
[s] property in the project properties under Network. You can change this
time if required.
128 Topic: Network

Circular redundancy
Circular redundancy is a type of network design for connecting several redundant projects
to one another very efficiently. Circular redundancy is a cost-effective possibility to increase
equipment availability with multi-project administration and redundancy.
There are normally always two PCs required for a redundant project, one PC runs as a
server and one as a standby. With two projects, you accordingly need four PCs, etc.
With circular redundancy, you use the possibility of multi-project administration: Several
projects can run simultaneously on one PC. Each PC is the server for one project and at
the same time the standby server for the neighboring project; and additionally, it can be the
client for other projects. This results in a circle.
As a result, there is an enormous potential for savings with hardware and software.

Example:

There are three machines in your production hall for car-care products. The first
produces products, the second fills the bottles and the third packs the bottles for
transport.
A visualization runs as a server project on each machine. In a redundancy situation,
you need a total of six PCs for this. This is not the case with circular redundancy:
A second project also runs on each PC as a standby: The filling project on the
production machine, the packing project on the filling machine and, in turn, the
production project on the packing machine. Each project is thus executed
redundantly. In the event of a failure of on PC, the two others assume the complete
functionality!

Attention

For circular redundancy you need a hierarchic project structure.

You have thus increased equipment availability and ensure that there is no data
loss in the event of a server failure or in the event of maintenance works.
Topic: Network 129

Web functionalities
■ Web Server
With the zenon web server, visualization content can be called up and displayed with a web
browser. In doing so, no installation of zenon Runtime is necessary on end devices. All
components for the display of the user interface on the end device are provided automatically.
Additional web clients can thus be incorporated into the system dynamically.
zenon Web Server, Web Server Pro and Web Server Pro Light constitute the complete
scope of functions of a zenon visualization. Whereby the client connected to the zenon Web
Server only acts as a viewer. The required web browser plug-in can be installed automatically
the first time the web client is started.
zenon Web Server, zenon Web Server Pro and zenon Web Server Pro Light require a
license.

■ HTML Web Engine


The HTML Web Engine is for the provision of zenon screens as an HTML5 web page. The
user interface is called up and displayed on the visualization end device using a web browser.
No special software installation - or any browser plug-ins - are required on the end device.
Process data for the visualization is taken from zenon Runtime.
Functionalities of the HTML Web Engine
Overview of the functions of the HTML web engine:
• Session-based provision of HTML5 visualization content on HTML web clients.
• Display of basic visualization content that was created in the zenon Editor.
• Data view:
• Variable values
Displays are updated dynamically in the HTML Web Engine.
• Chronological Event List (CEL)
CEL entries are updated dynamically in the HTML Web Engine.
• Extended Trend (ETM)
The display in the ETM is not updated dynamically in the HTML Web Engine. This
means that the ETM only draws with existing data when called up and is then no
longer updated.
• Alarm Message List (AML) messages.
AML entries are updated dynamically in the HTML Web Engine.
• Forwarding of process information, such as variablevalues, alarm messagesor event
messages from zenon Runtime to one or more HTML web clients.
• Support of active operations, such as write set value.
• Mobile, location-independent operation and observation.
• No installation and/or configuration on the end device, i.e. the client is necessary.
Platform-independent display in HTML5 standard.
• Operation of the HTML web server on a different computer,such as is possible in a DMZ
for example.
• Secure network communication via HTTPS, based on SSL certificates.
• Protection of sensitive visualization areas or processes by means of user authentication
and support of user levels.
130 Topic: Network

The HTML web engine supports authentication of a web engine client with increased security
in comparison to zenon user authentication and Active Directory. Login is effected by entering
the user name and password.

Questions about the Network


1. Prerequisites for a functioning zenon network are:
a. A functioning name resolution, a TCP/IP network.
b. A TCP/IP network, network topology with a managed switch.
c. All computers involved must be logged onto a domain.
d. None of the mentioned.
2. The server fails in a redundant zenon project. What implications does this have for the
user from the client side?
a. A message box is displayed on the client that the server has failed.
b. The system administrator receives a message and will initiate the transfer of data
without loss from the server to the standby server The client computer does not
notice this.
c. The client automatically connects to the standby, which takes over the role of the
server. All required Runtime files were buffered by the drivers at the standby and
are taken over without interruption when the server failure is recognized. No
difference can be detected at the client.
d. The client successfully connects with the standby. The screen elements display
blue points as hints.
Topic: Diagnosis 131

11
Topic: Diagnosis

Information collection tool - SIC


The tool SIC – System Information Collector is part of zenon and is for the collection of
information that is necessary to be able to process support queries quicker and more
effectively. All information such as that about the system, log files, registry, are collected
into a package and can be used by support employees to enable them to work more quickly.
In addition to the description of the project and the error, as well as the project backup, this
information is the primary basis for working on queries.
You can find the SIC – System Information Collector tool in the Startup Tool under Tools.
This tool is automatically installed with the zenon setup and offers the following options:

Parameter Description
Full Collects information about the system and zenon. Dump files are not collected.
System Only collects information about the system.
Scada Collects information about zenon, without dump files.
Scada with dump files Collects information about zenon and includes dump files.

Project analysis - CRL light


With the cross-reference list, all references between variable, functions, recipes etc. are
shown in a table overview. A project analysis by mans of "Cross Reference List Light" only
takes variables and functions into account.
All relevant modules are searched through using an option in the context menu and the
points of usage are determined. The results are shown in the results list.

■ Use of variables and functions in the project


• Highlight the desired variable or function in the detail view.
• In the context menu select the Variable use or Function use menu item.
132 Topic: Diagnosis

After selecting the option, the results are shown in their own window. You can call up
an element by double-clicking or via the context menu.
You can also look for all variables/functions that are not used.
• Click on the Variables project tree node.
• Open the context menu and select Show unused variables...
After selecting the option, the results are shown in their own window. You can call up
an element by double-clicking or via the context menu.
zenon Online Test 133

12
zenon Online Test
Around the world there are many well trained customers and partners that have excellent
knowledge about zenon. COPA-DATA offers various types of training courses
www.copadata.com/training) that are adapted to the respective zenon products and modules.
We really want to ensure proof of the knowledge achieved on an individual level but also
for entire companies. zenon Certification is on a personal level, but companies with certified
employees can also become a member of the COPA-DATA Partner Community
wwww.copadata.com/partner) where additional benefits are offered.
There are currently three levels of zenon Certificates: Basic, Advanced and Professional.
Each of these levels are reached by completing different training courses and the attendant
online tests www.copadata.com/online-tests).
Here is a brief overview of the levels of zenon certification:

The zenon online tests are created by COPA-DATA and required as part of the zenon
Certification.
134 zenon Online Test

For each training stated in the training overview there is a corresponding online test as well.

Taking the zenon certification test


Taking the zenon certification test consists of 3 stages.
1. You register via the web site.
2. You are sent a personalized link to your zenon certification test.
3. You take the zenon certification test via this link.

■ Applying for the zenon certification test


After participating in a zenon training course, the corresponding zenon certification tests
are available to you on the COPA-DATA website at certification test - website
(http://www.copa-data.com/zenon-certification-tests/?lang=en).
zenon Online Test 135

Simply select the zenon certification test


(http://www.copa-data.com/zenon-certification-tests/?lang=en) that you want to complete.
The names of the zenon certification tests are the same as the corresponding zenon training
courses. All zenon certification tests are available in English and German.

■ Email with link to the zenon certification test


You will receive an email with the link to the zenon certification test. This contains two links
for the zenon certification test; one for the English version and one for the German version.
Select your preferred language and click on the link.
136 zenon Online Test

■ Starting the zenon certification test


You will be redirected to the zenon certification test when you click on the link. Fill in the
necessary information, follow the instructions and complete the zenon certification test.

Start the certification test.

Q&As about the zenon certification test


You can find some questions and the respective answers in the FAQ document about zenon
certification. You can download it from the COPA-DATA web site (certification test - website
(http://www.copa-data.com/zenon-certification-tests/?lang=en)).
Further zenon training sessions 137

13
Further zenon training sessions
COPA-DATA offers, in addition to this training, much other training, the precise details of
which you can find in the following chapters.
You can find detailed information on the COPA-DATA home page. For training queries,
please contact your regional distributor or [email protected].

Online training
More Flexible Zenon Training Courses with E-Learning
Online training is not tied to a particular time or place. As a result, there is a new possibility
for COPA-DATA customers, partners and employees to learn parts of zenon step by step.
The usual training offered has proven itself over many years and makes it possible for zenon
specialists to act competently around the globe. The more flexible e-learning training offered
supports mobility in learning and thus better addresses the participants. If zenon knowledge
is required, the information and content can be called up immediately from the online training.
Easy Learning at Your Own Pace
The new online zenon training courses consist of videos, accompanying texts and revision
tests, as well as educational embedded practice examples. The course participants are
presented with the learning material in a clear and manageable form – they can now build
up their knowledge about zenon through individual e-learning modules, without having to
take into account the learning pace of other participants or the trainer.
Online Tests and Zenon Certification
As with training with participants present, there is also the possibility after the e-learning
course to obtain official zenon certification with a zenon online test. The content of these
tests is based on the respective training course for both options – the learning objectives
are always the same. Anyone who meets all conditions and passes the test at the end gets
a certificate.
You can find details about the training we offer at www.copadata.com/training.
138 Further zenon training sessions

zenon Logic training


In the zenon logic training, we tell you about the basics of zenon logic. You learn step by
step how you operate the zenon Logic Workbench – the development environment of zenon
Logic – and how communication with a PLC or zenon Runtime works. After a short time,
you will independently create a zenon logic project and test this in zenon Logic Runtime.
You will get well-founded knowledge about zenon Logic, about possible cases where it can
be used and the basics of the programming language in accordance with IEC 61131-3.
zenon Logic Training is divided into standard training and advanced training.

zenon Analyzer training


In the zenon Analyzer training, we explain the basics of zenon Analyzer to you. Following
a step by step guide, you will learn how to use the various components and gain an overview
of the various types of reports. After just a short amount of time, you will be able to create
your own report.
The training course does not require participants to have an in-depth knowledge of the
zenon. We will explain the functions needed in the zenon Editor and the zenon Runtime for
each report. You get well-founded knowledge about zenon Analyzer and about possible
instances where the different reports can be used.
zenon Analyzer training is divided into standard training and advanced training.

zenon VBA training


The zenon VBA training course provides you with basic knowledge of the COM interface in
zenon. You will follow a step by step process to learn how to use the VBA Editor and how
the COM interface communicates with zenon. In a very short amount of time, you will be
able to write your own VBA macro and execute it in the zenon Editor. On the second training
day, you will learn how to execute VBA macros for zenon Runtime and to execute them.
We will teach you about the zenon object model and demonstrate a few default functions.
Using a few practical examples, you will gain a in-depth knowledge of the COM interface
in zenon.

zenon VSTA training


The zenon VSTA training course provides you with the basic knowledge of the COM interface
in zenon. You will follow a step by step process to learn how to use the VSTA Editor and
how the COM interface communicates with zenon. In a very short amount of time, you will
be able to write your own VSTA macro and execute it in the zenon Editor. On the second
training day, you will learn how to write VSTA macros for the zenon Runtime and to execute
them. We will teach you about the zenon object model and demonstrate a few default
functions. Using a few practical examples, you will gain a in-depth knowledge of the COM
interface in zenon.

zenon VBA/VSTA training


The zenon VBA/VSTA Training course provides you with basic knowledge of the COM
interface in zenon. You will follow a step by step process to learn how to use the VBA Editor
and the VSTA Editor and how the COM interface communicates with zenon. You will not
only create various VBA macros for the zenon Editor and the zenon Runtime, you will also
learn how to program and apply VSTA macros as part of the same training course.
Further zenon training sessions 139

We will teach you about the zenon object model and demonstrate a few of the default
functions. Using a few practical examples, you will gain in-depth knowledge of the COM
interface in zenon and the differences between VBA and VSTA.

zenon Design & Usability Training


In the zenon design & usability training, you master the basics of design, usability and
ergonomics – both in theory and in practice – when configuring zenon projects. You learn,
step by step, how you can design your project so that it can be operated in a user-friendly
and efficient manner. You get a comprehensive introduction to the basics of design and
usability.

zenon Historian Training


In the zenon Historian training, we show you how to archive data and export archives in
zenon. You learn step by step how you can save the data from your project or your equipment
in an archive. We introduce you to the "Report Generator", "Report Viewer" and "Extended
Trend" modules and show you how you can prepare your data with them. You will gain an
in-depth knowledge of the Historian in zenon and its possible applications.

zenon Network & Security Training


The zenon network& security training course provides you with a step by step guide to use
the module, including an insight into the security mechanisms provided by zenon. We show
you how to use zenon to build a network with an intelligent topology. You get to know the
multi--Server-network, as well as a terminal server and zenon Web Server. We will use
practical examples to teach you more about this extensive module. There will also be plenty
of opportunities to discuss your own requirements and solutions.

zenon Energy Edition Training


In the zenon Energy Edition training course, you will complete a step by step process to
learn about zenon Energy Edition: from the engineering a colored network topology (ALC),
to applying commands and possible protocol specifications. We will show you how to conduct
topological troubleshooting with your network topology. You gain an in-depth knowledge of
the zenon Energy Edition and it's possible applications in the energy industry.

zenon Pharma Edition Training


The zenon Pharma Edition training course will teach you about the special functions of
zenon Pharma Edition. Following a step by step process, you will learn how to use these
additional options so that you can set up your project for a pharmaceutical environment.
We will show you how the Historian and reporting in the zenon Pharma Edition can help
you to successfully implement all the regulations for the pharmaceutical industry. You will
gain an in-depth knowledge of the zenon Pharma Edition and its possible applications.
140 Further zenon training sessions

zenon Batch Control Training


In the zenon Batch Control training course, you will follow a step by step process to learn
more about the module: from creating simple recipes to applying partial recipes and operating
characteristics. We will use practical examples to teach you more about this extensive
module. There will also be plenty of opportunities to discuss your own requirements and
solutions.
zenon individual training 141

14
zenon individual training
In a zenon individual training course, we will show to solve your individual problems with
the help of zenon. Using general examples, we will work together to find a solution for your
application in zenon .
We will define the exact content of the training course in a meeting with you. Please note
that we will only be able to provide training in relation to our products.
We would be happy to prepare a quote for you.
142
Glossary 143

15
Glossary

Glossary for visualization


Editor: Graphical user interface for creating, editing and maintaining zenon projects.
Project tree: Structured graphic display of all projects and modules in a workspace.
Backup: Additional saving of data (for example: projects or workspace) for subsequent
restoring.
Frame: Defines the size and location of an area on the monitor in which screens are displayed
in Runtime. Each screen is based on a frame.
Screen type: Defines the type of screen and the elements which are available in it as
standard. For each screen type, there are elements (buttons, lists, etc.) available, which
are adapted for the functions.
Symbol: Summary of different dynamic elements and vector elements for a new element.
A change to the size has a proportional effect on all elements included.
Data type: Defines fixed area of values (fixed top and bottom limit) with an exactly defined
number of values. That is why real numbers can only be depicted as float-point numbers
with a certain accuracy.
Variable: Are the interface between the data source and zenon; also called process variable
or data points.
Function: A pre-defined action that can be instigated in Runtime, such as a screen switch
or the writing of a set value.
Script: Several user-defined functions that can be connected in sequence.
144 Glossary

Event handling glossary


Chronological Event List (CEL): Central administration of events in zenon. The CEL is
listed twice: Once as a ring buffer in the memory and once as historic data in files on the
hard drive. In contrast to the AML, the CEL only administers the "received" time stamp.
Alarm Message List (AML): The Alarm Message List is for the administration of limit value
violations and alarms.
Limit values: Limit values have the task to trigger a reaction, as soon as a limit value or a
status is violated or reached.
Ring buffer: A ring buffer constantly saves a definable amount of data. If the memory space
is full, the data is overwritten, either on a FIFO or LIFO basis.
Reaction matrix (REMA): A compilation of states which can be linked with any number of
variables. Every time a variable changes its value, the reaction matrix is evaluated and the
first applicable status triggers the configured reaction. The following reactions are possible:
Color changes, alarms, execution of functions etc., in contrast to limit values, can also
monitor the status information.
Alarm status line: Information line that is always displayed in the foreground in front of all
programs in Runtime; it displays either the oldest or the most recent alarm that has not been
acknowledged.
Recipes: Recipes collect set values and commands in a list which can be executed in the
Runtime with the help of a function.
Glossary 145

Glossary for operation


Keyboard: A virtual input device that is displayed on the screen. It contains a number of
control elements that allow you to enter characters.
Interlockings: Allow you to control the access to certain zenon objects in Runtime using
variables. Operation can be blocked or released depending on variables.
User group: Summary of one or several authorization levels under a common name. Users
can be assigned to user groups.
Authorization level: Determines whether a user can carry out an action. An authorization
level can be assigned to each control element. For selected functions such as Acknowledge
alarm, load project in the Editor, etc. authorization levels can also be issued. There are 128
levels (from 0-127), whereby 0 is the system level, which every user has.
User administration: Program or part of a program in which you can define which users
exist in a system, which rules apply to them when logging on to the system and which rights
they have in the system.
Variable Diagnosis: Screen type for the display of variable values, time stamps and status.
Variable values can also be written.
Mathematics driver: Driver that is integrated into Runtime and that provides mathematical
functions.
Temporary login: The user is only logged in for the execution of a certain action and is
logged out again immediately.
Permanent login: Is a one-off login that remains in force until the user logs out or Runtime
is restarted.
Files that can be changed in Runtime: Files in zenon that can be changed in both the
Editor and Runtime.
146 Glossary

Network glossary
Redundancy: 100% process control and data security of the SCADA network, even if a
server fails.
Server: A server is a computer or a computer program that provides functions such as
service programs, data or other resources so that other computers or programs (clients)
can access it, usually via a network.
Standby: Program that has all current data and server connections at its disposal and that
can take over spontaneously if the server fails.
Naming resolution: The naming resolution is the process that makes it possible to translate
and provide names of computers.
Service: A program, routine or process that carries out a certain system function to support
other programs, especially at a low (hardware) level.
Port: Is part of an IP address and defines a unique communication channel. For
communication with TCP/IP, the IP address and a port number are always required, in order
to address a recipient unambiguously.
System variable: Variable that is based on the system driver; these variables contain
information about the project and/or hardware.
Network dongle: Hardware on which a certain number of usable software licenses are
saved at the same time. Access is gained via the network.
Exercises 147

16
Exercises

Exercise 1: Switch with its own text


Create a new BOOL variable on the internal driver with the name "Switch_Exercise".
Configure a switch with two different texts.
When a switch is activated, "On" with a green background should be visible.
If the switch is not activated, "Off" with a gray background color should be visible.

Exercise 2: Counter
Create a new INT variable on the internal driver with the name "Counter".
Configure two write set value functions, "+1" which counts up and "-1" which counts down.
Draw a counter value element and two buttons on which you can link the functions.
The counter element is for display only. Only set values from -1 to +1 can be written.

Exercise 3: Pump display


Structure data type and variable:
Create a structure data type with the name "Pump" with the following elements:
• Temperature (°C); SINT data type
• Speed (rpm); UINT data type
• Throughflow rate (m³/h); UINT data type
• Power consumption (A); INT data type
148 Exercises

Create three internal variables, Pump_01, Pump_02 and Pump_03, which are based on
this structure data type.
Structure data type:

Structure variable:

Symbol:
Create a pump symbol (circle and line vector elements) and visualize the variables of the
Pump_01 with the dynamic elements.
Create a symbol from all the elements and give it the name "Pump". Add the symbol to the
symbol library project.
Use the "Pump" symbol in a screen with the three variables "Pump_01", "Pump_02" and
"Pump_03".

Expand symbol:
Expand the symbol by clicking an on/off switch
To do this, add a new BOOL "on/off" structure element to the structure data type. The pump
symbol should get a color surround between the gray and green.
Exercises 149

Exercise 5: Automatic language switching with user logged


in
The language should be automatically switched by the logging in of a certain user. A switch
to the defaultlanguage should made automatically when the user logs out.

Exercise 6: Language switching with a button


The language is to be changed by clicking on a button. The original language is activated
again when the same button is clicked on again.
Addition: The country flag symbols of the respective language should be used for switching
instead of a button. Therefore, when actively using German the English flag should be
shown, when actively using English the German flag should be shown.

Exercise 7: Close a screen yourself


A pop-up screen is to be opened by clicking on a button. This screen should close again
independently after 10 seconds or the button to close should only be displayed after this
time.

Exercise 8: Monitoring of safety shut-off mats


In an equipment layout of a conveyor system, the monitoring of safety shut-off mats is to
be displayed. In doing so, polygons are to be created for the areas to be monitored. When
activating a safety shut-off mat, (BOOL variable "Safety shut-off mat 001" to "Safety shut-off
mat 004), these polygons are to be colored red.
This display of safety shut-off mats is monitored in terms of time. An alarm is triggered if
one of the monitoring variables for these safety shut-off mats is longer than 10 seconds.

Further information
Project support
You can receive support for all real projects you may have from our Support team. Contact via
email at [email protected].

General help
If you cannot find any information you require in this help chapter or can think of anything that
you would like added, contact via email at [email protected].

Licenses and modules


If you find that you need other modules or licenses, contact www.abb.com/zenon or
[email protected].

Document library on the Internet


You can find manuals and other product documents in PDF format on the Internet at
www.abb.com/zenon.
For more information, please contact
your local ABB representative or visit

[email protected]
[email protected]
www.abb.com/zenon
3AXD50000558421 v.8.10 Rev A (EN) EFFECTIVE 2019-12-09

© 2019 ABB Oy. All rights reserved. Printed under license of Ing. Punzenberger COPA-DATA GmbH.Distribution and/or reproduction of this document or
parts thereof in any form are permitted solely with the written permission of the company COPA-DATA. Technical data is only used for product description
and are not guaranteed qualities in the legal sense. Subject to change, technical or otherwise.

You might also like