Professional Documents
Culture Documents
ARsim
or
Hardware
X20 CPU with ETAL611.1T10-1
www.br-automation.com/eta-system
Table of contents
1 Introduction........................................................................................................................................... 5
1.1 Learning objectives................................................................................................................. 6
1.2 Symbols and safety notices....................................................................................................6
1.3 B&R Tutorial Portal................................................................................................................. 7
2 mapp View concept..............................................................................................................................8
2.1 Installing the mapp View Technology Package...................................................................... 9
2.2 Licensing............................................................................................................................... 10
2.3 Organization of an HMI application...................................................................................... 11
3 mapp View HMI application............................................................................................................... 12
3.1 .vis file................................................................................................................................... 12
3.2 .mappViewConfig file............................................................................................................ 14
4 Creating pages................................................................................................................................... 15
4.1 Packages in the Logical View...............................................................................................15
4.2 Layout....................................................................................................................................16
4.3 Areas..................................................................................................................................... 17
4.4 Content.................................................................................................................................. 18
4.5 Page...................................................................................................................................... 20
4.6 HMI application in the browser............................................................................................. 22
5 Navigation...........................................................................................................................................23
5.1 Manual navigation................................................................................................................. 23
5.2 Automatic navigation.............................................................................................................24
5.3 Using manual navigation...................................................................................................... 25
6 Visual appearance - Styling............................................................................................................... 29
6.1 Styleable property................................................................................................................. 29
6.2 Style.......................................................................................................................................30
6.3 Theme................................................................................................................................... 31
6.4 Default style.......................................................................................................................... 33
7 Data binding....................................................................................................................................... 35
7.1 Binding...................................................................................................................................35
7.2 OPC UA................................................................................................................................ 36
7.3 Using data binding................................................................................................................ 37
8 Media files.......................................................................................................................................... 46
8.1 Image widget.........................................................................................................................46
8.2 SVG icon library....................................................................................................................48
9 User role system................................................................................................................................ 49
9.1 RBAC concept.......................................................................................................................49
9.2 Using the user role system...................................................................................................50
10 Localization.......................................................................................................................................57
10.1 Text system......................................................................................................................... 57
1 Introduction
mapp Technology
mapp View
With mapp View, automation engineers have all the tools they need
to create powerful, intuitive, web-enabled HMI screens. There is no
need to deal with the underlying web technology. These technolo-
gies are encapsulated in widgets, which are simply dragged and
dropped into place and configured.
Figure 3: B&R mapp View logo
This training module shows the first steps for creating an HMI application. In exercises, typical use cases
are shown and the functions required for them are explained.
• Participants will learn the basic concepts of mapp View and gain a better understanding of the
characteristics of these concepts.
• Participants will be able to add a new mapp View visualization object to an Automation Studio
project and configure it.
• Participants will be able create layouts and use them to organize HMI pages.
• Participants will be able to use widgets to manage mapp View HMI application content.
• Participants will become familiar with the different ways of navigating between HMI pages and
will be able to configure manual navigation.
• Participants will be able to include process data from the control application in a mapp View
HMI application.
• Participants will be able to implement images to organize the visual design in a mapp View
HMI application.
• Participants will learn how the user role system is used to configure the properties of a mapp
View HMI application depending on the logged in user.
• Participants will become familiar with the text system functions and will be able to configure
language switching.
• Participants will become familiar with the system of units and will be able to configure unit con-
version.
• Participants will learn how to configure triggering specific actions when events occur.
• Participants will learn about events and actions and be able to configure the connection be-
tween a triggering event and the subsequent action.
Unless otherwise specified, the symbol descriptions and safety notices listed in "TM210 - Working with
Automation Studio" apply.
The B&R Tutorial Portal provides tutorials on a wide range of subjects. Because
the tutorials are interactive, they allow content to be learned effectively. To make
it easier for you to find the tutorials you need, they are organized according to the
structure of our modular training content.
Login required: Follow the link and you will be redirected to the B&R Tutorial Portal. Use the same
access data as for the B&R website to log in.
Platform-independent
mapp View is built on the globally accepted web standards HTML5, CSS3 and JavaScript. Unlike pro-
prietary platforms, these standards are updated continually and remain usable for decades – ensuring
maximum return on investment.
Seamlessly integrated
HMI projects are developed in B&R's development environment, Automation Studio. Pages and other
resources are managed in the Logical View. The Toolbox provides an excellent overview of all available
widgets.
2.2 Licensing
A mapp View HMI application can be used in ARsim without restrictions or licenses. A license is required
for hardware-based target systems.
If the necessary licenses are missing, a corresponding entry is made in the logbook.
The elements of a mapp View HMI application are configured and managed in Automation Studio.
HMI pages, texts and image files are managed in the Logical View.
The Configuration View is where one or more HMI applications are "assembled" in the active configura-
tion from the elements in the Logical View. In this way, there is a clear separation between the source
files for HMI elements and the necessary HMI for a machine configuration.
Logical View
In the Logical View, elements of an HMI application (pages, pieces of content, texts, media files, etc.)
are managed in a mapp View package.
Configuration View
The Configuration View is where one or more HMI applications are configured and managed. This is
also where binding information between a widget and variable is managed.
Toolbar
The toolbar in the visual editor provides tools for working with widgets during the design phase.
Widget Catalog
When a piece of content is opened (graphically or in XML form), widgets can be added from the catalog
and configured.
Properties window
Elements of an HMI application are configured in the Properties window. Depending on the property (of
a widget, for example), different dialog boxes are available for editing.
A mapp View HMI application consists of elements in the Logical View and in the Configuration View.
This chapter provides a detailed explanation of the files that are added to the Configuration View.
The mapp View visualization object (.vis) defines which visualization components in the Logical View
and Configuration View are involved in displaying pages on the client. Each configuration can contain
1-n visualization objects (.vis).
We recommend closing the .vis file when not in use so referencing can be entered in the back-
ground when working on the HMI application.
Visualization ID
The "Visualization ID" element determines how the HMI application is launched from the client.
autoUpdate
The attribute "autoUpdate" in the HMI application defines whether HMI elements are automatically en-
tered into the .vis file (true by default) or not (false).
It must be ensured that attribute "autoUpdate" is set to "true". This will automatically include all HMI
elements added in the Logical or Configuration View in the HMI application.
The first page added in the Logical View is also used as "StartPage".
Attribute "autoUpdate" is available starting with mapp View 5.17. With mapp View 5.18, the
default value = true. If an existing HMI application is opened and new elements are added, they
are not automatically applied. The attribute must be entered manually here.
2) If necessary, download and install the mapp View version and select it in the project
Result:
In this exercise, the name of the visualization object is changed to "Training".
Figure 10: The visualization object name "Training" is entered for the visualization ID
This static configuration makes it possible to configure various settings for the mapp View server e.g.
maximum client connections.
The visualization ID can be entered under "Client configuration". This has the advantage that the HMI
application is opened directly in the browser - even without specifying the visualization ID in the URL.
1) In the "mapp View" node, add the "mapp View configuration" ("Config.mappviewcfg") from the Ob-
ject Catalog
2) Enter the ID of the HMI application ("Training") in field "ID of default visualization"
Result:
The name of the HMI application is entered in field "ID of default visualization".
Figure 11: The mapp View server configuration is added and the Visualization ID is configured
Redirect configuration
In the mapp View node, a "Redirect configuration" can also be added. Redirect rules are used to assign
a defined HMI application to the client based on certain properties. This is especially useful when there
are multiple HMI applications.
4 Creating pages
After the necessary files (.vis and .mappViewConfig) have been added into the Configuration View, the
mapp View package and the Visualization package from the Object Catalog are added in the Logical
View.
Visualization \ mapp View \ Engineering \ Organization of the HMI application \ Logical View
• mapp View package
• The mapp View visualization package
Result:
The packages named "mapp View" and "Visualiza-
tion" are located in the Logical View of the Automa-
tion Studio project.
4.2 Layout
If possible, the same layout should be used for the most frequently used pages of the HMI
application. This is because changing the layout during a page change triggers a complete
rebuild of the page.
Result:
The layout is created and a set size has been specified.
Figure 14: In the Logical View, "MyLayout.layout" is added and graphically edited
4.3 Areas
An area with the name (ID) "area1" already exists after being added and can be reused. A new area is
added via the corresponding icon in the toolbar or by double-clicking on an empty area of the layout.
Visualization \ mapp View \ Engineering \ Layout and areas \ Add layout \ Edit layout (graphi-
cally) \ Configure areas
Result:
The finished layout consists of three areas: "AreaTop", "AreaLeft" and "AreaMain".
4.4 Content
Content refers to a piece of content that can be displayed in an HMI application. A piece of content is
identified using a globally unique "ID" and its size ("width" and "height").
A piece of content that is used on several pages can be added to package "AreaContents".
1) In the Logical View under "mapp View \ Visualization \ Pages", click on "AreaContents"
2) Add the page content file twice from the Object Catalog
Result:
The figure shows the two pieces of content added
in the "AreaContents" folder.
Both files each have a filename and an ID. The file-
name is primarily used to make the project clearer
and to identify the piece of content at first glance.
4.5 Page
An HMI page defines the content that can be displayed in the visible space of an HMI application client.
The page is identified using a globally unique ID. The page defines which layout will be used to structure
the areas and which content will be assigned to the individual areas.
Visualization \ mapp View \ Engineering \ Pages \ Adding pages \ Editing a page (graphically)
PageID LayoutID
MainPage MyLayout
refID backColor
AreaTop ContentTop rgba(255,133,0,1)
AreaLeft ContentLeft rgba(102,53,0,1)
6) Double click on "AreaMain" and enter "ContentMainPage" as the name of the piece of content
Result:
The file "MainPage.page" is created and directly below it is the file "ContentMainPage.content".
The HMI page has a layout with three areas and the pieces of content are referenced to the
areas.
The HMI application can be tested with a browser from the point at which the first HMI application pages
(.page) were referenced in the visualization object (.vis).
After this is successfully built and transferred to ARsim, the HMI application is provided to the browser
(Google Chrome or Microsoft Edge) with the URL:
localhost:81/index.html
Visualization \ mapp View \ Guides \ Getting started \ Testing the HMI application
Result:
The HMI application can be displayed using the following URL:
http://127.0.0.1:81/index.html
Figure 21: HMI application containing a layout with three areas shown in browser
5 Navigation
More often than not, an HMI application consists of more than one page. A system of navigation is
needed in order to switch between these HMI pages.
This system determines how these pages are navigated in the HMI application.
Two options are available for navigation in an HMI application: Manual and automatic navigation. Both
types of navigation can be combined.
Manual navigation is implemented using an individual NavigationButton widget. In this case, a Naviga-
tionButton widget must be placed and configured for each page that can be navigated to from the current
page.
Manual navigation is well-suited to situations where the same NavigationButton widgets can be used
for all pages. In this case, they have to be positioned in a piece of content and configured there. This
navigation content can then be reused (referenced) on each page.
One drawback of manual navigation is that it is context-independent. The placement and configuration
of the NavigationButton widget is the same on every page. If the placement and configuration of the
NavigationButton widgets should vary depending on the page, you will have to create different pieces of
content for navigation and reference them individually on the corresponding pages.
Automation navigation relies on the definition of a navigation structure. This is used to define the different
navigation paths, i.e. which pages can be navigated to from which other pages. mapp View takes care
of placing the corresponding NavigationButton widgets on each page at runtime.
Each page only displays the target pages for which a navigation path from the current page has been
defined. Displaying the NavigationButton widget is context-sensitive.
Important: If pages are copied, the IDs of the individual components must remain unique!
refID backColor
AreaMain ContentServicePage rgba(240,240,240,1)
refID backColor
AreaMain ContentAlarmPage rgba(240,240,240,1)
1) "Open "ContentLeft"
Result:
Properties "childPositioning", "Position" and "Size" of the NavigationBar widget are adjusted.
The "NavigationButton" widget is used to navigate between the different HMI pages.
The text displayed on the navigation button is specified by the "Appearance/text" property.
The unique name of the NavigationButton is defined in property "Common \ Name".
The page to be navigated to when the NavigationButton is pressed is selected using property "Data \
pageID".
2) Add the NavigationButton widget three times from the Object Catalog
Result:
Properties "Text", "Name", "pageID", "Margin" and "Size" of the three NavigationButton widgets
are adjusted.
Result:
The HMI application can be displayed using the following URL:
http://127.0.0.1:81/index.html
Styling refers to the ability to design the appearance of an HMI application without affecting how it actually
functions.
The way an HMI application looks in its entirety as well as the appearance of its individual elements is
determined using styleable properties, styles and themes.
If a widget is used more than once, the styleable properties must be changed for each individual widget
instance. This approach results in increased effort and the susceptibility to errors is disproportionately
high. To change the appearance of a larger number of widget instances, the use of styles is a better
option.
backColor
MainPageButton rgba(255, 255, 192, 1)
AlarmPageButton rgba(192, 255, 192, 1)
ServicePageButton rgba(192, 255, 192, 1)
Result:
The "ServicePage" page is displayed.
The active navigation button shows the default color for the pressed state since the property
"backColor" is only used for the "not pressed" state.
Figure 29: HMI application in the browser with changed "backColor" for the navigation buttons
6.2 Style
A style combines the values of all its styleable properties for a type of a HMI element. There can be
several styles for each type of a HMI element.
The style of a button widget (button style) has a concrete value for each of the widget's styleable prop-
erties. There can be multiple styles for the button widget, e.g. Command, Operate, Default.
6.3 Theme
B&R provides themes that make it possible to quickly and easily give an appealing appearance to an
HMI application. In it, styles are predefined for different types of HMI elements, which can be applied
using their style name.
A typical use case for themes involves toggling between day/night display in HMI applications where
natural light plays a role. The night theme shows widgets with dark background colors and bright text
fonts while daylight styles include bright background colors and dark text fonts.
3) Open "ContentMainPage"
4) Add two button widgets next to each other from the Object Catalog
5) Click on the "Editor Theme" icon in the toolbar and select "BuRThemeFlat1"
6) Change the properties of the left button: "Appearance \ Style \ Default" = "Command1",
"Size" = 100; 60
7) Change the properties of the right button: "Appearance \ Style \ Default" = "Operate1",
"Size" = 100; 60
8) Open "ContentLeft" and change "backColor" for the three NavigationButtons to rg-
ba(255,255,255,1)
Result:
The theme is part of the project and two button widgets have the styles "Command1" and "Op-
erate1" applied to them.
Figure 31: Theme package is added, the theme is applied to the HMI application and two button widgets have a style
The content editor is displayed with a white background by default. If widgets that are predom-
inantly white are added, an editor background can be set via the designer settings. This is
opened in the content editor toolbar.
Each widget has a default style that is used automatically whenever a style called "default" is included
in a theme.
Example:
In theme package "BuRThemeFlat1", a default style is defined for each widget. This style is
applied when no styleable properties are set for the widget. Since the styleable properties of the
NavigationButton widgets have been reset, the default style for the NavigationButton widgets
is now loaded.
To ensure that the font size for all widgets used in the training is sufficiently large (e.g. on a
T50), the default font sizes (fontSize) for the following widgets must be adjusted:
• Label: fontSize = 16 px
• NumericOutput: fontSize = 18 px
• NumericInput: fontSize = 18 px
Result:
In theme "B&RThemeFlat1", style "default" is adjusted for the NavigationButton widget.
Figure 35: HMI application in the browser with changed default style for the NavigationButton
7 Data binding
7.1 Binding
Data is displayed in an HMI application and entered by users. In mapp View, this connection is imple-
mented using what is known as binding (data binding).
A binding is a configuration-specific definition that defines the connection between a source (e.g. OPC
UA variable) and a target (e.g. widget property) and its read/write direction (binding mode).
In mapp View, there are different types of bindings for different purposes:
• "Value binding" for binding simple values
• "Node binding" for binding OPC UA nodes with a unit and limits
• "Array binding" for binding arrays
• "List binding" for selecting variables from a list
• "Structure list binding" for selecting structure variables from a list
• "Complex binding" for binding structures
Only the binding types "value binding" and "node binding" will be included in this training module.
Binding modes
Specifying the binding mode defines the direction in which data should flow.
If the name (ID) of a piece of content or a widget is subsequently changed, this is not automat-
ically adjusted in the binding.
7.2 OPC UA
OPC Unified Architecture (OPC UA) is a standard for interoperability that ensures secure and reliable
data exchange in industrial automation. OPC UA is platform-independent and can be used to seamlessly
exchange data between devices from different vendors.
OPC UA node
If a process variable is made available via the OPC UA system, it can be read or written from OPC
UA clients as an OPC UA node. Properties such as engineering unit or EU range can be added to an
OPC UA node.
Engineering unit
The engineering unit for an OPC UA node specifies the physical unit to be used when interpreting the
value. Automation Studio provides 1,400 engineering units for seven physical quantities: length, mass,
time, current, temperature, material amount and luminosity as well as derived physical quantities (e.g.
speed, force, pressure, acceleration).
EU range
The EU range (engineering unit range) determines the valid range of values for an OPC UA node. The
EU range is defined by a lower and upper limit value.
2) "Exercise: Node binding between NumericOutput widget and global variable" on page 38
3) "Exercise: Value binding between NumericOutput widget and global variable" on page 39
5) "Exercise: Node binding between NumericInput widget and global variable" on page 41
6) "Exercise: Value binding between NumericInput widget and global variable" on page 42
3) Add the file "OPC UA Default View File" from the Object Catalog and open it
4) Right-click on the global variables "CurrentTemperature" and "SetTemperature" and click "Enable
Tag"
Result:
The OPC UA node for variables "CurrentTemperature" and "SetTemperature" is enabled. The
font for the entries is no longer grayed out.
Figure 37: Enabling the global process variables in the OPC UA default view
1) Open "ContentMainPage"
4) In the properties window under "Data \ Value", click on the "Binding" field and open the selection
dialog box
Result:
The NumericOutput widget has node binding to the "CurrentTemperature" variable.
Figure 38: NumericOutput widget shows "CurrentTemperature", Binding art = Node binding
1) Open "ContentMainPage"
4) In the properties window under "Data \ Value", click on the "Binding" field and open the selection
dialog box
Result:
The NumericOutput widget has value binding to the "CurrentTemperature" variable.
Figure 39: NumericOutput widget shows "CurrentTemperature", Binding art = Value binding
1) Open "ContentMainPage"
2) From the Object Catalog, add two Label widgets next to the NumericOutput widgets
3) Change the properties of the top Label widget: "Appearance \ text" = Node binding
4) Change the properties of the bottom Label widget: "Appearance \ text" = Value binding
5) From the Object Catalog, add a Label widget above the NumericOutput widgets
6) Change the properties of the Label widget: "Appearance \ text" = Current temperature
Result:
So far, you can't see any difference between node binding and value binding in the HMI appli-
cation. After the unit configuration in chapter 10.3 "System of units", you will be able to see a
difference.
Figure 40: HMI application in the browser with NumericOutput widget and different binding types
1) Open "ContentMainPage"
4) In the properties window under "Data \ Value", click on the "Binding" field and open the selection
dialog box
Result:
The NumericInput widget has node binding to the "SetTemperature" variable.
Figure 41: NumericInput widget shows "SetTemperature", Binding art = Node binding
1) Open "ContentMainPage"
4) In the properties window under "Data \ Value", click on the "Binding" field and open the selection
dialog box
Result:
The NumericInput widget has value binding to the "SetTemperature" variable.
Figure 42: NumericInput widget shows "SetTemperature", Binding art = Value binding
1) Open "ContentMainPage"
2) From the Object Catalog, add a Label widget above the NumericInput widgets
3) Change the properties of the Label widget: "Appearance \ text" = Set temperature
Result:
As a user, you can click on the NumericInput widgets in the HMI application.
If you click on node binding, you have a different available range of values as an input option
than if you click on value binding.
Figure 43: HMI application in the browser with NumericInput widget and different binding types
Up to now, the temperature setpoint ("SetTemperature") in node binding can be set to any value.
This is not always useful. To prevent a user from entering impermissible values, the EU range
(limits low/high values) of the OPC UA node is defined.
For additional information, see chapter 7.3.3 "Defining the range of values".
3) Set the following parameters in the properties window under "Value range" (EU range):
Result:
Figure 44: The range of values for "SetTemperature" is defined in the OPC UA default view
Limits for NumericInput widget node binding: Lower limit = 25, Upper limit = 50
Figure 45: Range of values for NumericInput widget with node binding
Limits for NumericInput widget value binding: Lower limit = 0, Upper limit = 100
This range of values is set for the NumericInput widget.
Figure 46: Range of values for NumericInput widget with value binding
8 Media files
Media files can be added to mapp View in order to improve the appearance of an HMI application.
When the mapp View package is added into the Logical View, the Media package is automatically cre-
ated. This is used for logical management of graphics in the HMI application. All files stored in the Media
package are transferred to the target system.
The Image widget supports the following image formats: .png, .jpg, .svg, .gif and .bmp.
Visualization \ mapp View \Engineering \ Organization of the HMI application \ Logical View \
mapp View media package
Example:
The path used to reference images always starts with the package name "Media". This is fol-
lowed by the name of the sub-package, if any, and the file name of the image at the end.
Example for the image "Test.png", which is stored directly in the Media package:
URL= "Media/Test.png"
Example for the image "Test.png", which is stored in the "SmallPictures" sub-package in the
Media package:
URL = "Media/SmallPictures/Test.png"
Position Size
20; 20 100; 60
6) In the properties window under "Appearance \ Image", click on the Default field and open the se-
lection dialog box
Result:
Figure 47: Images folder in the Media package, Image widget in "ContentTop"
Since the size of the "Image" widget has already been adjusted and the default property setting
is "sizeMode"="contain", the "Image" widget is completely filled by the image.
The possible options for the "sizeMode" property of this widget are described in Automation Help.
Figure 48: Displaying the HMI application in the browser with a B&R logo added
mapp View provides an extensive SVG symbol library for free use.
2) Add the file "SVG Symbols Package" from the Object Catalog
This is a good time to start up the HMI application on a terminal. This is done, for example, by
adding a Power Panel T50 to the hardware configuration. Next, the configuration is transferred
to the terminal using a USB flash drive. Now the HMI application can be operated directly on
the terminal.
See
• "Putting the mapp View client into operation on a T50" on page 78
Automation Studio provides a user role system that is used by mapp View. This system implements role-
based access control (RBAC) as per ANSI standard 359-2004.
Role-based access control deals with users, roles and rights. Rights are assigned to roles and roles
are associated with users. Users can have several roles at once. Users are not assigned permissions
directly because this has proven to be complex and error-prone in practical situations.
In the system, a user is a real person, who is identified by first and last name, etc. A user also incorporates
information used for authentication in the system. With this authentication, a natural person can prove to
the system that they are who they claim to be. The most commonly used authentication method consists
of a unique identification of the user (User ID) and a secret password that only the natural person and
the system should know.
A role describes how a user interacts with a system to carry out specific tasks. Examples of roles can be:
administrator, service engineer, machine operator. Different permissions are usually required to perform
different exercises. For this purpose, rights are assigned to roles. If the task area of a natural person
changes, it is only necessary to change the assignment of the corresponding user to the new roles in
order to provide this person with the rights required for the new task.
In a new Automation Studio project, the roles "Administrators" and "Everyone" and the user
"Everyone" are already created by default.
The Everyone role and the Anonymous user is not permitted to be deleted or renamed.
4) "Exercise: Extending the range of values for the "Service" role" on page 55
Programming \ Access & Security \ User role system \ Configuration \ Automation Studio con-
figuration
• Editing roles in the user role system
• Editing users in the user role system
1) Open the file "Role.role" in the Configuration View under "AccessAndSecurity \ UserRoleSystem"
4) Open the file "User.user" in the Configuration View under "AccessAndSecurity \ UserRoleSystem"
Result:
In the user role system, there are now four roles and three users.
Figure 51: New roles "Operator" and "Service" and new users "John" and "Dave"
OPC UA configuration
The default permissions are set for the "Default view" node. These permissions apply to all underlying
variables as long as nothing else is set for them. The permissions for each role can be defined by adding
the various roles.
Before granting write permissions, check whether the OPC UA write permissions should be
restricted only for a few OPC UA variables or for the majority of the variables.
If the write permission restriction should only apply to a few OPC UA variables, it is easiest to
select these variables and restrict the write permissions there.
If a user is not authenticated, the system assumes that user "Anonymous" is interacting with it.
The rights given to all roles assigned to user "Anonymous" are valid during non-authenticated
use of the system. By default, user "Anonymous" is assigned role "Everyone".
1) Open the file "OpcUaMap.uad" in the Configuration View under "Connectivity \ OpcUA"
3) In the properties window under "Authorization", click on the field "Rights / Roles" and add all roles
4) In the "Write" row, enable all checkboxes
In this training course, the write permission is restricted only to OPC UA variable "SetTem-
perature". I.e. the higher level node "Default View" is where write permission is enabled
for all roles.
6) In the properties window under "Authorization", click the "Inherit from parent" field and select "In-
herit none"
7) In the properties window under "Authorization \ Rights / Roles", click on the "Write" row
Result:
In the default view, all roles receive write permission.
Figure 52: Defining the write permission for all roles in the OPC UA default view
"Inherit none" only gives write permission for the "SetTemperature" variable to the "Service" and
"Administrator" roles.
Figure 53: Defining write permissions for the OPC UA variable "SetTemperature" only to the roles "Service" and
"Administrator"
If a logged in user is logged out using the "LogoutButton" widget, the rights assigned to user
"Anonymous" are once again valid.
1) Open "ContentTop"
2) Add and configure the following widgets from the Object Catalog:
3) Open "ContentServicePage"
4) Add and configure the following widget from the Object Catalog:
Result:
After logging in as the user "Dave", entries can be made in the "NumericInput" widget on the
MainPage. For all other users, input is automatically deactivated due to the lack of write permis-
sion on the OPC UA node.
EU range violation
The EU range violation response is the behavior that should occur when you enter a value outside of
the range of values.
The following EU range violations responses exist:
1) Open the file "OpcUaMap.uad" in the Configuration View under "Connectivity \ OpcUA"
3) In the properties window, click on Range of values and add the "Service" role
4) Configure the following under Range of values:
Result:
The range of values for the "Service" role is extended.
When "Dave" logs in, he can use the range of values for the "Service" role (20 to 60).
Figure 56: HMI application in the browser with the user "Dave" logged in and "NumericInput" selected
10 Localization
With mapp View, localization means adapting the content of an HMI application to the local language
and local cultural norms. mapp View allows texts and units to be adapted at runtime for localization of
the HMI application.
The text system is used for localization of texts and the unit system is used to adjust the units.
Automation Studio provides the text system for the localization of texts. The various languages are
managed in the text system. The representation of the text system is two-dimensional as can be seen
in the following table.
One dimension lists semantic meanings that are represented by a unique identifier, and the other di-
mension is formed by all languages with a text-based representation of the semantic information.
Each line corresponds to a semantic meaning with texts in the respective languages.
Each column represents the texts in a specific language with the various semantic meanings.
Each cell is thus a text for the semantic meaning (identifier in the first column) in the language that this
table column represents.
Example:
The example in the table shows the semantic meanings of "Cancel", "Yes" and "No" in different
languages. These semantic meanings are clearly designated using identifiers "Text_Cancel",
"Text_Yes" and "Text_No".
For semantic meaning "cancel", there is text in German ("Abbrechen"), English ("Cancel"),
French ("Annuler") and Spanish ("Cancelar").
Identifier DE EN FR ES
Text_Cancel Cancel Cancel Annuler Cancelar
Text_Yes Yes Yes Oui Si
Text_No No No Non No
Table 3: Example of a schematic representation of localized texts
If text statements are used in a system with localizable text, identifiers for the semantic meanings of
these textual statements must be used. If the system is used in linguistic context "German", the system
replaces the identifier for the semantic meanings with the German language texts. Here, the texts from
the table column "de" are used for the identifier. If the same system is used in linguistic context "English",
the system replaces the identifier for the semantic meanings with the English language texts (table
column "en").
10.1.1 Identifier
An identifier is a semantic statement that is represented as text in different languages. Because a large
quantity of semantic statements can be contained in an automation system, it is necessary to be able to
structure them in order to prevent having the same identifier assigned to different semantic statements.
This is particularly important because semantic statements can be defined by different people indepen-
dently of each other. For example, the developer of the automation application can define semantic
statements for use within logger entries and, independent of this, the developer of the HMI application
can define semantic statements that are used in HMI elements.
The text system provides the ability to structure identifiers for semantic statements in namespaces. An
identifier for a semantic statement is composed of several parts:
Identifier = Namespace+NamespaceSeparator+Text_ID
A namespace can in turn also be part of a different namespace. Namespaces can therefore be structured
hierarchically. The following applies for a namespace:
Namespace = NamespaceName [ + NamespaceSeparator+Namespace]
Identifiers are also referred to as fully qualified Text_IDs. For Text_IDs and NamespaceName, there are
rules described in detail in Automation Help. The NamespaceSeparator is a single character, which is
also described in Automation Help.
Example:
A few identifier examples are shown below (fully qualified Text_IDs).
1) Texts/AppEvents/Internal/FatalError
2) Texts/Alarms/Alarm1
3) Texts/Program/Alarms/AlarmID1
For all examples, the NamespaceSeparator is the character "/". The Text_IDs in the examples
are "Fatal Error", "Alarm1" and "AlarmID1". The first example contains a namespace called
"Texts", which includes another namespace called "AppEvents" and this namespace also in-
cludes another namespace called "Internal".
In an Automation Studio project, it is necessary to define which languages can have texts specified for the
semantic statements. In addition to specifying the project languages that should be provided, the "design
language" must also be defined. The design language defines the language used when displaying the
texts in Automation Studio during configuration.
From the languages configured in the Automation Studio project, it is possible for the languages that
should be transferred to the target system for this specific configuration to be defined for each project
configuration.
The "system language" and "fallback language" are also defined. The "system language" determines the
language used to display the texts on the target by default. The "fallback language" defines the language
used to display the texts if no texts are available in the "system language".
In mapp View, localized texts from the text system can be used. Text files are used in order to be able
to make your own texts in mapp View. If your own texts are entered in the system using text files, they
will be made available for use by the text system.
Your own localized texts and the text system are the basis used to allow mapp View HMI applications
to be displayed in different languages. mapp View provides the capability to switch languages for an
HMI application.
Namespace "IAT" must be entered for the text file in order to use it in a mapp View HMI appli-
cation. This namespace is reserved for mapp View and is required at runtime for reading the
HMI application texts from the text system. This enables faster image or text changes.
3) "Exercise: Adding a text system configuration file and LanguageSelector widget" on page 62
10.2.2 "Texts for other widgets"
4) "Exercise: Language switching for Label widget and LogoutButton widget" on page 64
3) Open "Project.language"
4) Delete the "fr" entry
Result:
For manual navigation, the button texts are defined in German and English.
Figure 57: mapp View Localizable Text file with defined texts
1) "Open "ContentLeft"
2) Click on "MainPageButton"
3) In the properties window under "Appearance \ text", click on the "Default" field and open the selec-
tion dialog box
Result:
The texts are linked to the NavigationButton widgets.
Figure 58: Assigning the localized texts to the NavigationButton widgets via the selection dialog box
LanguageSelector widget
The LanguageSelector widget is used to select the language in the HMI application. The "LanguageS-
elector" widget that has been added makes languages available in a drop-down list.
2) Add the text system configuration file from the Object Catalog
System language Fallback language Target languages TMX files for target
EN EN EN mappView.Resources.Texts.Vi-
DE sualizationTexts.tmx
4) Open "ContentServicePage"
Result:
Due to referencing of the text files in "TC.textconfig", the texts are loaded onto the target system
at runtime.
The LanguageSelector widget can be used to choose between the project languages.
Figure 60: HMI application in the browser with localized texts for manual navigation
Result:
In the file "VisualizationTexts.tmx", all other texts for the HMI application are entered in German
and English. The widgets are linked to the appropriate texts.
Figure 61: Localized texts for the Label widget and the LogoutButton widget
Automation Studio provides users with an integrated unit system with automatic unit conversion. For
localization of units, users have the "metric", "imperial" and "imperial-us" systems of measurement and
more than 1400 units available to them.
With an OPC UA node, the engineering unit can be configured in addition to the range of values. The
engineering unit for a node specifies the physical unit to be used when interpreting the value.
With a widget, the unit used to display the value for a bound OPC UA node can be defined for the selected
system of measurement. Automation Help lists all units and common codes (e.g. degrees Celsius =
CEL). The common code is required in the widget properties. If you change the measurement system in
the HMI application, the value and the unit will be converted automatically.
10.4.1 Displaying a value with a unit and switching the system of measurement
HMI application \ mapp View \ Guides \ Getting started / Connecting widgets to data \ Displaying
values and units
Result:
The variables "SetTemperature" and "CurrentTemperature" have the engineering unit "degrees
Celsius".
Figure 62: Appending the degrees Celsius unit to OPC UA node "CurrentTemperature"
Example:
For our example, the unit string looks as follows after selection using the "Unit" dialog box:
{'metric':'CEL','imperial':'FAH','imperial-us':'FAH'}
1) Open "ContentMainPage"
3) In the properties window under "Appearance \ unit", click on the "Default" field and open the selec-
tion dialog box
5) Repeat steps 3 and 4 for the NumericOutput widget with node binding
Result:
For the NumericInput widget and the NumericOutput widget with node binding, the units are
defined for all three measurement systems.
Widget "MeasurementSystemSelector"
Widget "MeasurementSystemSelector" allows the user to select a system of measurement. The "Mea-
surementSystemSelector" widget that has been added makes system of measurement available in a
drop-down list.
1) Open "ContentServicePage"
Result:
The difference between value binding and node binding can now be seen because node binding
uses data forwarding (incl. value, unit and limits). The engineering unit is degrees Celsius, but
the configured units of measure allow switching between these various units.
mapp View provides events and actions to individually configure the behavior of an HMI application.
11.1 Events
An event is an occurrence that can be used to trigger a response. mapp View provides HMI application
developers with several types of events.
OPC UA events
mapp View defines events to provide information about changes to values in the automation application.
For this purpose, mapp View provides event type "opcUa.Event" with the name "ValueChanged".
Widget events
Widget events provide information about occurrences in specific widget instances. Different types of
widgets can provide information about different occurrences in the form of events. An example of this
is event Click for widget Button.
Session events
mapp View defines events in order to detect occurrences in a client session. Session events are handled
in TM671 e.g. ContentLoaded, KeyboardEvent.
11.2 Actions
An action is a response triggered by an event. Actions are grouped together by provider. The following
action providers exist in mapp View:
• OPC UA
• Session
• Client
• Widgets
OPC UA actions
For OPC UA, actions are made available that have an effect on OPC UA nodes. An example of this is
SetValue number.
Widget actions
For widgets, actions are available that have an effect on instances of widgets.
There are specific actions for each widget type. To find out more about actions available for a widget
type, see the documentation for that widget. An example of this is SetVisible.
Session actions
Actions for the client session can be defined in mapp View, e.g. SetValueNumber, TimerAction.Start.
1) "Exercise: Resetting the setpoint for the OPC UA node by clicking a button" on page 72
11.3.2 "Showing and hiding a widget"
Example:
The filename of the event binding file is "ContentMainPage.eventbinding". If you click in the
white area of the visual editor, you will see the ID of the event binding file; "ContentMain-
Page_eventbinding".
In the event binding file, there is an event binding with the ID "ContentMainPage.ButtonSet-
ToDefault.Click".
Note: With mapp View 5.10 the text-based event binding editor can be closed and opened
using the visual editor. The error messages displayed in the output window can be ignored.
The invalid action must be deleted in the event handler of the event binding.
Starting with mapp View 5.11, the visual event binding editor is opened automatically and an
action can be immediately configured for the displayed event.
Exercise: Resetting the setpoint for the OPC UA node by clicking a button
The purpose of this exercise is to specify the setpoint of OPC UA node "SetTemperature" as the default
value 35 by clicking on a button. For this, a click event is configured for an existing Button widget.
1) Open "ContentMainPage"
The new "ButtonSetToDefault" ID makes it easier to identify it in the event binding. Afterwards, the
text of the button can still be localized so it is possible to switch between German and English.
4) Click on the "Click" field and open the selection dialog box
8) Compile the project, transfer and display in HMI application and test it with different users
Result:
The value of "SetTemperature" will only be set if all defined parameters (OPC UA default view)
and permissions for the logged-in role/user are met.
Figure 68: HMI application in the browser with the user "Dave" logged in
1) Open "ContentMainPage"
2) Add/Configure Image widget:
3) Open "ContentMainPage.eventbinding"
Event refID
ValueChanged Select "SetTemperature" in the selection dialog box
7) Click on the action or execute and change the condition (event handler):
newValue ≥ 45
10) Click on the action or execute and change the condition (event handler):
newValue ≥ 45
12) Compile the project, transfer and display in HMI application and test it with different users
Result:
Figure 70: Event binding file with opened binding with one OPC UA event and two widget actions
As soon as "SetTemperature" is greater than or equal to 45, the warning triangle is displayed.
If the value drops below 45, the Image widget is invisible again.
This section briefly describes how the mapp View server is installed on the controller and how the mapp
View client is installed on a terminal.
12.1 Putting the mapp View server into operation on the controller
The Automation Studio status bar indicates when a CPU simulation is running.
Project installation
The project is then compiled and transferred to the controller.
A connection to the controller is established using the "Browse for target system" feature in Automation
Studio. This function searches the network for B&R controllers. The connection settings of the controllers
can be temporarily changed in the search dialog box.
Programming \ Building and transferring projects \ Establishing a connection to the target sys-
tem \ Ethernet connections \ Browse for targets
Automation Runtime can be transferred or onlineinstallation performed once the connection has been
established.
Programming \ Building and transferring projects \ Online services \ Transfer Automation Run-
time \ Transferring to SGx target systems \ Installing via an online connection
Project management \ Project installation \ Scenarios \ Online commissioning
For offline installation, Automation Studio is used to generate an installation medium (CompactFlash or
CFast card). This is then added to the target system. When the supply voltage is switched on, Automation
Runtime and the application are started.
Automation Runtime and the application software can be included in a project installation package and
transferred to the target system on a USB flash drive, CompactFlash card or via a DHCP server.
2) Compiling a project
The Power Panel T50 can be configured directly via the Service menu item or Automation Studio project.
The terminal is added in the Physical View via the Object Catalog on the Ethernet interface for the
controller.
Figure 73: Power Panel T50 in the Physical View and System Designer
The second step is to configure the device. All parameters are described in the configuration manual for
the respective device. The example configuration looks like this:
Figure 74: Setting required for connecting to the mapp View server
The configuration for the terminal is transferred in Automation Studio directly to the controller. In Au-
tomation Studio, the configuration can either be copied to a USB flash drive as a project installation
package or loaded directly onto the terminal from the controller.
Exercise: Putting a mapp View client into operation on a Power Panel T50
Now the terminal will be configured for accessing the mapp View HMI application.
When requesting a page from the terminal, each page is delivered from the mapp View server and set
up on the mapp View client. The loading time depends on the complexity of the page.
The mapp View server supports the "content caching" function so pages that are already loaded do not
have to be sent to the client again. Content that has already been loaded on the client is kept in memory
and can be re-used on demand. This improves performance significantly when changing pages.
The settings for content caching are made in the advanced mapp View server settings.
13 Summary
After completing all exercises in this training module, a mapp View HMI application with multiple HMI
pages can be created.
Navigation between the HMI pages can be configured for both manual and automatic navigation.
Displaying values from the automation application can also be configured as well as entering data. When
doing so, value range limits defined in the automation application can be automatically checked in the
HMI application. Value range limits defined differently for specific roles can also be checked.
To allow role-specific behavior of the HMI application, the user role system in Automation Studio can be
used for HMI user authentication.
Widgets and media can be modified using themes and styles in order to adapt the appearance of the
HMI application to individual needs. Texts and units can be adapted to linguistic and cultural conditions
via localization.
As a conclusion to this training module, the definition of actions as responses to events has been covered.
Automation Academy
B&R offers standard seminars at all B&R locations. Services include: Sem-
inar documentation, sustainable teaching methods and an automation diplo-
ma.
The abbreviation ETA stands for "Evaluation and Training for Automation".
B&R components are sometimes wired with sensors and actuators. This way,
they can be used as training hardware for seminars and in the laboratory.
Training modules provide the basis for both in-person seminars and self-
study. These compact modules follow a clear, uniform structure, where the
topics build on one another.
Would you like additional training? Are you interested in finding out what the B&R
Automation Academy has to offer? If so, this is the right place.
Access additional information here:
https://www.br-automation.com/de/academy/