Zenon Basic Training
Zenon Basic Training
Table of contents
© 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
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
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
11 Topic: Diagnosis
Information collection tool - SIC ................................................................ 131
Project analysis - CRL light ...................................................................... 131
Use of variables and functions in the project .............................................. 131
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
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
Hint:
• 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.
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.
• 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.
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.
■ 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
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
• 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.
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.
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:
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
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.
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
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.
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.
■ 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.
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.
Information
You can copy the created elements and link the new variable via drag&drop.
■ 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
■ 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.
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.
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.
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.
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.
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
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
■ 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.
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
• 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.
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.
Information
Topic: Visualization 71
In the language table, all key words are entered without the @ character. Existing
control characters are removed automatically.
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.
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.
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
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
• 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
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
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.
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.
• 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.
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.
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.
■ 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.
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.
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.
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.
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.
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.
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
The reaction matrix is now created and the dialog to define the numeric reaction matrix is
opened.
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
■ 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.
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.
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.
Information
You can set whether “as deleted marked entries” are shown or not and how the context list
is shown by default.
Attention
Because you cannot deleted entries in the context list, you should also create these
with forethought.
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
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:
Note:
The user name is used in Runtime for logging in, whilst the complete name is shown in
various lists.
Note:
Only administrators can edit, delete or create other users in Runtime.
• 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.
• 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
Note:
Here you can see the functionality of the temporary login.
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.
Note:
Because, even as an administrator you only gave authorization levels 1 to 10, you also
cannot approve other authorization levels for other users.
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,
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.
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.
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
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.
• 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
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.
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
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.
• 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.
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.
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.
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.
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.
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
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.
■ 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
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
■ 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.
■ 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
■ 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
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.
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.
11
Topic: Diagnosis
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.
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.
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
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.
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
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 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.
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
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].
[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.